1// Copyright 2020 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package dfareporting provides access to the DCM/DFA Reporting And Trafficking API.
8//
9// For product documentation, see: https://developers.google.com/doubleclick-advertisers/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/dfareporting/v2.7"
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/v2.7"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	htransport "google.golang.org/api/transport/http"
60)
61
62// Always reference these packages, just in case the auto-generated code
63// below doesn't.
64var _ = bytes.NewBuffer
65var _ = strconv.Itoa
66var _ = fmt.Sprintf
67var _ = json.NewDecoder
68var _ = io.Copy
69var _ = url.Parse
70var _ = gensupport.MarshalJSON
71var _ = googleapi.Version
72var _ = errors.New
73var _ = strings.Replace
74var _ = context.Canceled
75
76const apiId = "dfareporting:v2.7"
77const apiName = "dfareporting"
78const apiVersion = "v2.7"
79const basePath = "https://www.googleapis.com/dfareporting/v2.7/"
80
81// OAuth2 scopes used by this API.
82const (
83	// Manage DoubleClick Digital Marketing conversions
84	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
85
86	// View and manage DoubleClick for Advertisers reports
87	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
88
89	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
90	// campaigns
91	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
92)
93
94// NewService creates a new Service.
95func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
96	scopesOption := option.WithScopes(
97		"https://www.googleapis.com/auth/ddmconversions",
98		"https://www.googleapis.com/auth/dfareporting",
99		"https://www.googleapis.com/auth/dfatrafficking",
100	)
101	// NOTE: prepend, so we don't override user-specified scopes.
102	opts = append([]option.ClientOption{scopesOption}, opts...)
103	client, endpoint, err := htransport.NewClient(ctx, opts...)
104	if err != nil {
105		return nil, err
106	}
107	s, err := New(client)
108	if err != nil {
109		return nil, err
110	}
111	if endpoint != "" {
112		s.BasePath = endpoint
113	}
114	return s, nil
115}
116
117// New creates a new Service. It uses the provided http.Client for requests.
118//
119// Deprecated: please use NewService instead.
120// To provide a custom HTTP client, use option.WithHTTPClient.
121// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
122func New(client *http.Client) (*Service, error) {
123	if client == nil {
124		return nil, errors.New("client is nil")
125	}
126	s := &Service{client: client, BasePath: basePath}
127	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
128	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
129	s.AccountPermissions = NewAccountPermissionsService(s)
130	s.AccountUserProfiles = NewAccountUserProfilesService(s)
131	s.Accounts = NewAccountsService(s)
132	s.Ads = NewAdsService(s)
133	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
134	s.Advertisers = NewAdvertisersService(s)
135	s.Browsers = NewBrowsersService(s)
136	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
137	s.Campaigns = NewCampaignsService(s)
138	s.ChangeLogs = NewChangeLogsService(s)
139	s.Cities = NewCitiesService(s)
140	s.ConnectionTypes = NewConnectionTypesService(s)
141	s.ContentCategories = NewContentCategoriesService(s)
142	s.Conversions = NewConversionsService(s)
143	s.Countries = NewCountriesService(s)
144	s.CreativeAssets = NewCreativeAssetsService(s)
145	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
146	s.CreativeFields = NewCreativeFieldsService(s)
147	s.CreativeGroups = NewCreativeGroupsService(s)
148	s.Creatives = NewCreativesService(s)
149	s.DimensionValues = NewDimensionValuesService(s)
150	s.DirectorySiteContacts = NewDirectorySiteContactsService(s)
151	s.DirectorySites = NewDirectorySitesService(s)
152	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
153	s.EventTags = NewEventTagsService(s)
154	s.Files = NewFilesService(s)
155	s.FloodlightActivities = NewFloodlightActivitiesService(s)
156	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
157	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
158	s.InventoryItems = NewInventoryItemsService(s)
159	s.LandingPages = NewLandingPagesService(s)
160	s.Languages = NewLanguagesService(s)
161	s.Metros = NewMetrosService(s)
162	s.MobileCarriers = NewMobileCarriersService(s)
163	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
164	s.OperatingSystems = NewOperatingSystemsService(s)
165	s.OrderDocuments = NewOrderDocumentsService(s)
166	s.Orders = NewOrdersService(s)
167	s.PlacementGroups = NewPlacementGroupsService(s)
168	s.PlacementStrategies = NewPlacementStrategiesService(s)
169	s.Placements = NewPlacementsService(s)
170	s.PlatformTypes = NewPlatformTypesService(s)
171	s.PostalCodes = NewPostalCodesService(s)
172	s.Projects = NewProjectsService(s)
173	s.Regions = NewRegionsService(s)
174	s.RemarketingListShares = NewRemarketingListSharesService(s)
175	s.RemarketingLists = NewRemarketingListsService(s)
176	s.Reports = NewReportsService(s)
177	s.Sites = NewSitesService(s)
178	s.Sizes = NewSizesService(s)
179	s.Subaccounts = NewSubaccountsService(s)
180	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
181	s.TargetingTemplates = NewTargetingTemplatesService(s)
182	s.UserProfiles = NewUserProfilesService(s)
183	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
184	s.UserRolePermissions = NewUserRolePermissionsService(s)
185	s.UserRoles = NewUserRolesService(s)
186	s.VideoFormats = NewVideoFormatsService(s)
187	return s, nil
188}
189
190type Service struct {
191	client    *http.Client
192	BasePath  string // API endpoint base URL
193	UserAgent string // optional additional User-Agent fragment
194
195	AccountActiveAdSummaries *AccountActiveAdSummariesService
196
197	AccountPermissionGroups *AccountPermissionGroupsService
198
199	AccountPermissions *AccountPermissionsService
200
201	AccountUserProfiles *AccountUserProfilesService
202
203	Accounts *AccountsService
204
205	Ads *AdsService
206
207	AdvertiserGroups *AdvertiserGroupsService
208
209	Advertisers *AdvertisersService
210
211	Browsers *BrowsersService
212
213	CampaignCreativeAssociations *CampaignCreativeAssociationsService
214
215	Campaigns *CampaignsService
216
217	ChangeLogs *ChangeLogsService
218
219	Cities *CitiesService
220
221	ConnectionTypes *ConnectionTypesService
222
223	ContentCategories *ContentCategoriesService
224
225	Conversions *ConversionsService
226
227	Countries *CountriesService
228
229	CreativeAssets *CreativeAssetsService
230
231	CreativeFieldValues *CreativeFieldValuesService
232
233	CreativeFields *CreativeFieldsService
234
235	CreativeGroups *CreativeGroupsService
236
237	Creatives *CreativesService
238
239	DimensionValues *DimensionValuesService
240
241	DirectorySiteContacts *DirectorySiteContactsService
242
243	DirectorySites *DirectorySitesService
244
245	DynamicTargetingKeys *DynamicTargetingKeysService
246
247	EventTags *EventTagsService
248
249	Files *FilesService
250
251	FloodlightActivities *FloodlightActivitiesService
252
253	FloodlightActivityGroups *FloodlightActivityGroupsService
254
255	FloodlightConfigurations *FloodlightConfigurationsService
256
257	InventoryItems *InventoryItemsService
258
259	LandingPages *LandingPagesService
260
261	Languages *LanguagesService
262
263	Metros *MetrosService
264
265	MobileCarriers *MobileCarriersService
266
267	OperatingSystemVersions *OperatingSystemVersionsService
268
269	OperatingSystems *OperatingSystemsService
270
271	OrderDocuments *OrderDocumentsService
272
273	Orders *OrdersService
274
275	PlacementGroups *PlacementGroupsService
276
277	PlacementStrategies *PlacementStrategiesService
278
279	Placements *PlacementsService
280
281	PlatformTypes *PlatformTypesService
282
283	PostalCodes *PostalCodesService
284
285	Projects *ProjectsService
286
287	Regions *RegionsService
288
289	RemarketingListShares *RemarketingListSharesService
290
291	RemarketingLists *RemarketingListsService
292
293	Reports *ReportsService
294
295	Sites *SitesService
296
297	Sizes *SizesService
298
299	Subaccounts *SubaccountsService
300
301	TargetableRemarketingLists *TargetableRemarketingListsService
302
303	TargetingTemplates *TargetingTemplatesService
304
305	UserProfiles *UserProfilesService
306
307	UserRolePermissionGroups *UserRolePermissionGroupsService
308
309	UserRolePermissions *UserRolePermissionsService
310
311	UserRoles *UserRolesService
312
313	VideoFormats *VideoFormatsService
314}
315
316func (s *Service) userAgent() string {
317	if s.UserAgent == "" {
318		return googleapi.UserAgent
319	}
320	return googleapi.UserAgent + " " + s.UserAgent
321}
322
323func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
324	rs := &AccountActiveAdSummariesService{s: s}
325	return rs
326}
327
328type AccountActiveAdSummariesService struct {
329	s *Service
330}
331
332func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
333	rs := &AccountPermissionGroupsService{s: s}
334	return rs
335}
336
337type AccountPermissionGroupsService struct {
338	s *Service
339}
340
341func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
342	rs := &AccountPermissionsService{s: s}
343	return rs
344}
345
346type AccountPermissionsService struct {
347	s *Service
348}
349
350func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
351	rs := &AccountUserProfilesService{s: s}
352	return rs
353}
354
355type AccountUserProfilesService struct {
356	s *Service
357}
358
359func NewAccountsService(s *Service) *AccountsService {
360	rs := &AccountsService{s: s}
361	return rs
362}
363
364type AccountsService struct {
365	s *Service
366}
367
368func NewAdsService(s *Service) *AdsService {
369	rs := &AdsService{s: s}
370	return rs
371}
372
373type AdsService struct {
374	s *Service
375}
376
377func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
378	rs := &AdvertiserGroupsService{s: s}
379	return rs
380}
381
382type AdvertiserGroupsService struct {
383	s *Service
384}
385
386func NewAdvertisersService(s *Service) *AdvertisersService {
387	rs := &AdvertisersService{s: s}
388	return rs
389}
390
391type AdvertisersService struct {
392	s *Service
393}
394
395func NewBrowsersService(s *Service) *BrowsersService {
396	rs := &BrowsersService{s: s}
397	return rs
398}
399
400type BrowsersService struct {
401	s *Service
402}
403
404func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
405	rs := &CampaignCreativeAssociationsService{s: s}
406	return rs
407}
408
409type CampaignCreativeAssociationsService struct {
410	s *Service
411}
412
413func NewCampaignsService(s *Service) *CampaignsService {
414	rs := &CampaignsService{s: s}
415	return rs
416}
417
418type CampaignsService struct {
419	s *Service
420}
421
422func NewChangeLogsService(s *Service) *ChangeLogsService {
423	rs := &ChangeLogsService{s: s}
424	return rs
425}
426
427type ChangeLogsService struct {
428	s *Service
429}
430
431func NewCitiesService(s *Service) *CitiesService {
432	rs := &CitiesService{s: s}
433	return rs
434}
435
436type CitiesService struct {
437	s *Service
438}
439
440func NewConnectionTypesService(s *Service) *ConnectionTypesService {
441	rs := &ConnectionTypesService{s: s}
442	return rs
443}
444
445type ConnectionTypesService struct {
446	s *Service
447}
448
449func NewContentCategoriesService(s *Service) *ContentCategoriesService {
450	rs := &ContentCategoriesService{s: s}
451	return rs
452}
453
454type ContentCategoriesService struct {
455	s *Service
456}
457
458func NewConversionsService(s *Service) *ConversionsService {
459	rs := &ConversionsService{s: s}
460	return rs
461}
462
463type ConversionsService struct {
464	s *Service
465}
466
467func NewCountriesService(s *Service) *CountriesService {
468	rs := &CountriesService{s: s}
469	return rs
470}
471
472type CountriesService struct {
473	s *Service
474}
475
476func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
477	rs := &CreativeAssetsService{s: s}
478	return rs
479}
480
481type CreativeAssetsService struct {
482	s *Service
483}
484
485func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
486	rs := &CreativeFieldValuesService{s: s}
487	return rs
488}
489
490type CreativeFieldValuesService struct {
491	s *Service
492}
493
494func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
495	rs := &CreativeFieldsService{s: s}
496	return rs
497}
498
499type CreativeFieldsService struct {
500	s *Service
501}
502
503func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
504	rs := &CreativeGroupsService{s: s}
505	return rs
506}
507
508type CreativeGroupsService struct {
509	s *Service
510}
511
512func NewCreativesService(s *Service) *CreativesService {
513	rs := &CreativesService{s: s}
514	return rs
515}
516
517type CreativesService struct {
518	s *Service
519}
520
521func NewDimensionValuesService(s *Service) *DimensionValuesService {
522	rs := &DimensionValuesService{s: s}
523	return rs
524}
525
526type DimensionValuesService struct {
527	s *Service
528}
529
530func NewDirectorySiteContactsService(s *Service) *DirectorySiteContactsService {
531	rs := &DirectorySiteContactsService{s: s}
532	return rs
533}
534
535type DirectorySiteContactsService struct {
536	s *Service
537}
538
539func NewDirectorySitesService(s *Service) *DirectorySitesService {
540	rs := &DirectorySitesService{s: s}
541	return rs
542}
543
544type DirectorySitesService struct {
545	s *Service
546}
547
548func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
549	rs := &DynamicTargetingKeysService{s: s}
550	return rs
551}
552
553type DynamicTargetingKeysService struct {
554	s *Service
555}
556
557func NewEventTagsService(s *Service) *EventTagsService {
558	rs := &EventTagsService{s: s}
559	return rs
560}
561
562type EventTagsService struct {
563	s *Service
564}
565
566func NewFilesService(s *Service) *FilesService {
567	rs := &FilesService{s: s}
568	return rs
569}
570
571type FilesService struct {
572	s *Service
573}
574
575func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
576	rs := &FloodlightActivitiesService{s: s}
577	return rs
578}
579
580type FloodlightActivitiesService struct {
581	s *Service
582}
583
584func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
585	rs := &FloodlightActivityGroupsService{s: s}
586	return rs
587}
588
589type FloodlightActivityGroupsService struct {
590	s *Service
591}
592
593func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
594	rs := &FloodlightConfigurationsService{s: s}
595	return rs
596}
597
598type FloodlightConfigurationsService struct {
599	s *Service
600}
601
602func NewInventoryItemsService(s *Service) *InventoryItemsService {
603	rs := &InventoryItemsService{s: s}
604	return rs
605}
606
607type InventoryItemsService struct {
608	s *Service
609}
610
611func NewLandingPagesService(s *Service) *LandingPagesService {
612	rs := &LandingPagesService{s: s}
613	return rs
614}
615
616type LandingPagesService struct {
617	s *Service
618}
619
620func NewLanguagesService(s *Service) *LanguagesService {
621	rs := &LanguagesService{s: s}
622	return rs
623}
624
625type LanguagesService struct {
626	s *Service
627}
628
629func NewMetrosService(s *Service) *MetrosService {
630	rs := &MetrosService{s: s}
631	return rs
632}
633
634type MetrosService struct {
635	s *Service
636}
637
638func NewMobileCarriersService(s *Service) *MobileCarriersService {
639	rs := &MobileCarriersService{s: s}
640	return rs
641}
642
643type MobileCarriersService struct {
644	s *Service
645}
646
647func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
648	rs := &OperatingSystemVersionsService{s: s}
649	return rs
650}
651
652type OperatingSystemVersionsService struct {
653	s *Service
654}
655
656func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
657	rs := &OperatingSystemsService{s: s}
658	return rs
659}
660
661type OperatingSystemsService struct {
662	s *Service
663}
664
665func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
666	rs := &OrderDocumentsService{s: s}
667	return rs
668}
669
670type OrderDocumentsService struct {
671	s *Service
672}
673
674func NewOrdersService(s *Service) *OrdersService {
675	rs := &OrdersService{s: s}
676	return rs
677}
678
679type OrdersService struct {
680	s *Service
681}
682
683func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
684	rs := &PlacementGroupsService{s: s}
685	return rs
686}
687
688type PlacementGroupsService struct {
689	s *Service
690}
691
692func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
693	rs := &PlacementStrategiesService{s: s}
694	return rs
695}
696
697type PlacementStrategiesService struct {
698	s *Service
699}
700
701func NewPlacementsService(s *Service) *PlacementsService {
702	rs := &PlacementsService{s: s}
703	return rs
704}
705
706type PlacementsService struct {
707	s *Service
708}
709
710func NewPlatformTypesService(s *Service) *PlatformTypesService {
711	rs := &PlatformTypesService{s: s}
712	return rs
713}
714
715type PlatformTypesService struct {
716	s *Service
717}
718
719func NewPostalCodesService(s *Service) *PostalCodesService {
720	rs := &PostalCodesService{s: s}
721	return rs
722}
723
724type PostalCodesService struct {
725	s *Service
726}
727
728func NewProjectsService(s *Service) *ProjectsService {
729	rs := &ProjectsService{s: s}
730	return rs
731}
732
733type ProjectsService struct {
734	s *Service
735}
736
737func NewRegionsService(s *Service) *RegionsService {
738	rs := &RegionsService{s: s}
739	return rs
740}
741
742type RegionsService struct {
743	s *Service
744}
745
746func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
747	rs := &RemarketingListSharesService{s: s}
748	return rs
749}
750
751type RemarketingListSharesService struct {
752	s *Service
753}
754
755func NewRemarketingListsService(s *Service) *RemarketingListsService {
756	rs := &RemarketingListsService{s: s}
757	return rs
758}
759
760type RemarketingListsService struct {
761	s *Service
762}
763
764func NewReportsService(s *Service) *ReportsService {
765	rs := &ReportsService{s: s}
766	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
767	rs.Files = NewReportsFilesService(s)
768	return rs
769}
770
771type ReportsService struct {
772	s *Service
773
774	CompatibleFields *ReportsCompatibleFieldsService
775
776	Files *ReportsFilesService
777}
778
779func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
780	rs := &ReportsCompatibleFieldsService{s: s}
781	return rs
782}
783
784type ReportsCompatibleFieldsService struct {
785	s *Service
786}
787
788func NewReportsFilesService(s *Service) *ReportsFilesService {
789	rs := &ReportsFilesService{s: s}
790	return rs
791}
792
793type ReportsFilesService struct {
794	s *Service
795}
796
797func NewSitesService(s *Service) *SitesService {
798	rs := &SitesService{s: s}
799	return rs
800}
801
802type SitesService struct {
803	s *Service
804}
805
806func NewSizesService(s *Service) *SizesService {
807	rs := &SizesService{s: s}
808	return rs
809}
810
811type SizesService struct {
812	s *Service
813}
814
815func NewSubaccountsService(s *Service) *SubaccountsService {
816	rs := &SubaccountsService{s: s}
817	return rs
818}
819
820type SubaccountsService struct {
821	s *Service
822}
823
824func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
825	rs := &TargetableRemarketingListsService{s: s}
826	return rs
827}
828
829type TargetableRemarketingListsService struct {
830	s *Service
831}
832
833func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
834	rs := &TargetingTemplatesService{s: s}
835	return rs
836}
837
838type TargetingTemplatesService struct {
839	s *Service
840}
841
842func NewUserProfilesService(s *Service) *UserProfilesService {
843	rs := &UserProfilesService{s: s}
844	return rs
845}
846
847type UserProfilesService struct {
848	s *Service
849}
850
851func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
852	rs := &UserRolePermissionGroupsService{s: s}
853	return rs
854}
855
856type UserRolePermissionGroupsService struct {
857	s *Service
858}
859
860func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
861	rs := &UserRolePermissionsService{s: s}
862	return rs
863}
864
865type UserRolePermissionsService struct {
866	s *Service
867}
868
869func NewUserRolesService(s *Service) *UserRolesService {
870	rs := &UserRolesService{s: s}
871	return rs
872}
873
874type UserRolesService struct {
875	s *Service
876}
877
878func NewVideoFormatsService(s *Service) *VideoFormatsService {
879	rs := &VideoFormatsService{s: s}
880	return rs
881}
882
883type VideoFormatsService struct {
884	s *Service
885}
886
887// Account: Contains properties of a DCM account.
888type Account struct {
889	// AccountPermissionIds: Account permissions assigned to this account.
890	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
891
892	// AccountProfile: Profile for this account. This is a read-only field
893	// that can be left blank.
894	//
895	// Possible values:
896	//   "ACCOUNT_PROFILE_BASIC"
897	//   "ACCOUNT_PROFILE_STANDARD"
898	AccountProfile string `json:"accountProfile,omitempty"`
899
900	// Active: Whether this account is active.
901	Active bool `json:"active,omitempty"`
902
903	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
904	// account.
905	//
906	// Possible values:
907	//   "ACTIVE_ADS_TIER_100K"
908	//   "ACTIVE_ADS_TIER_1M"
909	//   "ACTIVE_ADS_TIER_200K"
910	//   "ACTIVE_ADS_TIER_300K"
911	//   "ACTIVE_ADS_TIER_40K"
912	//   "ACTIVE_ADS_TIER_500K"
913	//   "ACTIVE_ADS_TIER_750K"
914	//   "ACTIVE_ADS_TIER_75K"
915	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
916
917	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
918	// If disabled, viewability data will not be available for any
919	// impressions.
920	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
921
922	// AvailablePermissionIds: User role permissions available to the user
923	// roles of this account.
924	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
925
926	// CountryId: ID of the country associated with this account.
927	CountryId int64 `json:"countryId,omitempty,string"`
928
929	// CurrencyId: ID of currency associated with this account. This is a
930	// required field.
931	// Acceptable values are:
932	// - "1" for USD
933	// - "2" for GBP
934	// - "3" for ESP
935	// - "4" for SEK
936	// - "5" for CAD
937	// - "6" for JPY
938	// - "7" for DEM
939	// - "8" for AUD
940	// - "9" for FRF
941	// - "10" for ITL
942	// - "11" for DKK
943	// - "12" for NOK
944	// - "13" for FIM
945	// - "14" for ZAR
946	// - "15" for IEP
947	// - "16" for NLG
948	// - "17" for EUR
949	// - "18" for KRW
950	// - "19" for TWD
951	// - "20" for SGD
952	// - "21" for CNY
953	// - "22" for HKD
954	// - "23" for NZD
955	// - "24" for MYR
956	// - "25" for BRL
957	// - "26" for PTE
958	// - "27" for MXP
959	// - "28" for CLP
960	// - "29" for TRY
961	// - "30" for ARS
962	// - "31" for PEN
963	// - "32" for ILS
964	// - "33" for CHF
965	// - "34" for VEF
966	// - "35" for COP
967	// - "36" for GTQ
968	// - "37" for PLN
969	// - "39" for INR
970	// - "40" for THB
971	// - "41" for IDR
972	// - "42" for CZK
973	// - "43" for RON
974	// - "44" for HUF
975	// - "45" for RUB
976	// - "46" for AED
977	// - "47" for BGN
978	// - "48" for HRK
979	// - "49" for MXN
980	// - "50" for NGN
981	CurrencyId int64 `json:"currencyId,omitempty,string"`
982
983	// DefaultCreativeSizeId: Default placement dimensions for this account.
984	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
985
986	// Description: Description of this account.
987	Description string `json:"description,omitempty"`
988
989	// Id: ID of this account. This is a read-only, auto-generated field.
990	Id int64 `json:"id,omitempty,string"`
991
992	// Kind: Identifies what kind of resource this is. Value: the fixed
993	// string "dfareporting#account".
994	Kind string `json:"kind,omitempty"`
995
996	// Locale: Locale of this account.
997	// Acceptable values are:
998	// - "cs" (Czech)
999	// - "de" (German)
1000	// - "en" (English)
1001	// - "en-GB" (English United Kingdom)
1002	// - "es" (Spanish)
1003	// - "fr" (French)
1004	// - "it" (Italian)
1005	// - "ja" (Japanese)
1006	// - "ko" (Korean)
1007	// - "pl" (Polish)
1008	// - "pt-BR" (Portuguese Brazil)
1009	// - "ru" (Russian)
1010	// - "sv" (Swedish)
1011	// - "tr" (Turkish)
1012	// - "zh-CN" (Chinese Simplified)
1013	// - "zh-TW" (Chinese Traditional)
1014	Locale string `json:"locale,omitempty"`
1015
1016	// MaximumImageSize: Maximum image size allowed for this account, in
1017	// kilobytes. Value must be greater than or equal to 1.
1018	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
1019
1020	// Name: Name of this account. This is a required field, and must be
1021	// less than 128 characters long and be globally unique.
1022	Name string `json:"name,omitempty"`
1023
1024	// NielsenOcrEnabled: Whether campaigns created in this account will be
1025	// enabled for Nielsen OCR reach ratings by default.
1026	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
1027
1028	// ReportsConfiguration: Reporting configuration of this account.
1029	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
1030
1031	// ShareReportsWithTwitter: Share Path to Conversion reports with
1032	// Twitter.
1033	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
1034
1035	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
1036	// creatives. Acceptable values are 1 to 10240, inclusive.
1037	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
1038
1039	// ServerResponse contains the HTTP response code and headers from the
1040	// server.
1041	googleapi.ServerResponse `json:"-"`
1042
1043	// ForceSendFields is a list of field names (e.g.
1044	// "AccountPermissionIds") to unconditionally include in API requests.
1045	// By default, fields with empty values are omitted from API requests.
1046	// However, any non-pointer, non-interface field appearing in
1047	// ForceSendFields will be sent to the server regardless of whether the
1048	// field is empty or not. This may be used to include empty fields in
1049	// Patch requests.
1050	ForceSendFields []string `json:"-"`
1051
1052	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
1053	// include in API requests with the JSON null value. By default, fields
1054	// with empty values are omitted from API requests. However, any field
1055	// with an empty value appearing in NullFields will be sent to the
1056	// server as null. It is an error if a field in this list has a
1057	// non-empty value. This may be used to include null fields in Patch
1058	// requests.
1059	NullFields []string `json:"-"`
1060}
1061
1062func (s *Account) MarshalJSON() ([]byte, error) {
1063	type NoMethod Account
1064	raw := NoMethod(*s)
1065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1066}
1067
1068// AccountActiveAdSummary: Gets a summary of active ads in an account.
1069type AccountActiveAdSummary struct {
1070	// AccountId: ID of the account.
1071	AccountId int64 `json:"accountId,omitempty,string"`
1072
1073	// ActiveAds: Ads that have been activated for the account
1074	ActiveAds int64 `json:"activeAds,omitempty,string"`
1075
1076	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
1077	// account.
1078	//
1079	// Possible values:
1080	//   "ACTIVE_ADS_TIER_100K"
1081	//   "ACTIVE_ADS_TIER_1M"
1082	//   "ACTIVE_ADS_TIER_200K"
1083	//   "ACTIVE_ADS_TIER_300K"
1084	//   "ACTIVE_ADS_TIER_40K"
1085	//   "ACTIVE_ADS_TIER_500K"
1086	//   "ACTIVE_ADS_TIER_750K"
1087	//   "ACTIVE_ADS_TIER_75K"
1088	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
1089
1090	// AvailableAds: Ads that can be activated for the account.
1091	AvailableAds int64 `json:"availableAds,omitempty,string"`
1092
1093	// Kind: Identifies what kind of resource this is. Value: the fixed
1094	// string "dfareporting#accountActiveAdSummary".
1095	Kind string `json:"kind,omitempty"`
1096
1097	// ServerResponse contains the HTTP response code and headers from the
1098	// server.
1099	googleapi.ServerResponse `json:"-"`
1100
1101	// ForceSendFields is a list of field names (e.g. "AccountId") to
1102	// unconditionally include in API requests. By default, fields with
1103	// empty values are omitted from API requests. However, any non-pointer,
1104	// non-interface field appearing in ForceSendFields will be sent to the
1105	// server regardless of whether the field is empty or not. This may be
1106	// used to include empty fields in Patch requests.
1107	ForceSendFields []string `json:"-"`
1108
1109	// NullFields is a list of field names (e.g. "AccountId") to include in
1110	// API requests with the JSON null value. By default, fields with empty
1111	// values are omitted from API requests. However, any field with an
1112	// empty value appearing in NullFields will be sent to the server as
1113	// null. It is an error if a field in this list has a non-empty value.
1114	// This may be used to include null fields in Patch requests.
1115	NullFields []string `json:"-"`
1116}
1117
1118func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
1119	type NoMethod AccountActiveAdSummary
1120	raw := NoMethod(*s)
1121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1122}
1123
1124// AccountPermission: AccountPermissions contains information about a
1125// particular account permission. Some features of DCM require an
1126// account permission to be present in the account.
1127type AccountPermission struct {
1128	// AccountProfiles: Account profiles associated with this account
1129	// permission.
1130	//
1131	// Possible values are:
1132	// - "ACCOUNT_PROFILE_BASIC"
1133	// - "ACCOUNT_PROFILE_STANDARD"
1134	//
1135	// Possible values:
1136	//   "ACCOUNT_PROFILE_BASIC"
1137	//   "ACCOUNT_PROFILE_STANDARD"
1138	AccountProfiles []string `json:"accountProfiles,omitempty"`
1139
1140	// Id: ID of this account permission.
1141	Id int64 `json:"id,omitempty,string"`
1142
1143	// Kind: Identifies what kind of resource this is. Value: the fixed
1144	// string "dfareporting#accountPermission".
1145	Kind string `json:"kind,omitempty"`
1146
1147	// Level: Administrative level required to enable this account
1148	// permission.
1149	//
1150	// Possible values:
1151	//   "ADMINISTRATOR"
1152	//   "USER"
1153	Level string `json:"level,omitempty"`
1154
1155	// Name: Name of this account permission.
1156	Name string `json:"name,omitempty"`
1157
1158	// PermissionGroupId: Permission group of this account permission.
1159	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
1160
1161	// ServerResponse contains the HTTP response code and headers from the
1162	// server.
1163	googleapi.ServerResponse `json:"-"`
1164
1165	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
1166	// unconditionally include in API requests. By default, fields with
1167	// empty values are omitted from API requests. However, any non-pointer,
1168	// non-interface field appearing in ForceSendFields will be sent to the
1169	// server regardless of whether the field is empty or not. This may be
1170	// used to include empty fields in Patch requests.
1171	ForceSendFields []string `json:"-"`
1172
1173	// NullFields is a list of field names (e.g. "AccountProfiles") to
1174	// include in API requests with the JSON null value. By default, fields
1175	// with empty values are omitted from API requests. However, any field
1176	// with an empty value appearing in NullFields will be sent to the
1177	// server as null. It is an error if a field in this list has a
1178	// non-empty value. This may be used to include null fields in Patch
1179	// requests.
1180	NullFields []string `json:"-"`
1181}
1182
1183func (s *AccountPermission) MarshalJSON() ([]byte, error) {
1184	type NoMethod AccountPermission
1185	raw := NoMethod(*s)
1186	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1187}
1188
1189// AccountPermissionGroup: AccountPermissionGroups contains a mapping of
1190// permission group IDs to names. A permission group is a grouping of
1191// account permissions.
1192type AccountPermissionGroup struct {
1193	// Id: ID of this account permission group.
1194	Id int64 `json:"id,omitempty,string"`
1195
1196	// Kind: Identifies what kind of resource this is. Value: the fixed
1197	// string "dfareporting#accountPermissionGroup".
1198	Kind string `json:"kind,omitempty"`
1199
1200	// Name: Name of this account permission group.
1201	Name string `json:"name,omitempty"`
1202
1203	// ServerResponse contains the HTTP response code and headers from the
1204	// server.
1205	googleapi.ServerResponse `json:"-"`
1206
1207	// ForceSendFields is a list of field names (e.g. "Id") to
1208	// unconditionally include in API requests. By default, fields with
1209	// empty values are omitted from API requests. However, any non-pointer,
1210	// non-interface field appearing in ForceSendFields will be sent to the
1211	// server regardless of whether the field is empty or not. This may be
1212	// used to include empty fields in Patch requests.
1213	ForceSendFields []string `json:"-"`
1214
1215	// NullFields is a list of field names (e.g. "Id") to include in API
1216	// requests with the JSON null value. By default, fields with empty
1217	// values are omitted from API requests. However, any field with an
1218	// empty value appearing in NullFields will be sent to the server as
1219	// null. It is an error if a field in this list has a non-empty value.
1220	// This may be used to include null fields in Patch requests.
1221	NullFields []string `json:"-"`
1222}
1223
1224func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
1225	type NoMethod AccountPermissionGroup
1226	raw := NoMethod(*s)
1227	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1228}
1229
1230// AccountPermissionGroupsListResponse: Account Permission Group List
1231// Response
1232type AccountPermissionGroupsListResponse struct {
1233	// AccountPermissionGroups: Account permission group collection.
1234	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
1235
1236	// Kind: Identifies what kind of resource this is. Value: the fixed
1237	// string "dfareporting#accountPermissionGroupsListResponse".
1238	Kind string `json:"kind,omitempty"`
1239
1240	// ServerResponse contains the HTTP response code and headers from the
1241	// server.
1242	googleapi.ServerResponse `json:"-"`
1243
1244	// ForceSendFields is a list of field names (e.g.
1245	// "AccountPermissionGroups") to unconditionally include in API
1246	// requests. By default, fields with empty values are omitted from API
1247	// requests. However, any non-pointer, non-interface field appearing in
1248	// ForceSendFields will be sent to the server regardless of whether the
1249	// field is empty or not. This may be used to include empty fields in
1250	// Patch requests.
1251	ForceSendFields []string `json:"-"`
1252
1253	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
1254	// to include in API requests with the JSON null value. By default,
1255	// fields with empty values are omitted from API requests. However, any
1256	// field with an empty value appearing in NullFields will be sent to the
1257	// server as null. It is an error if a field in this list has a
1258	// non-empty value. This may be used to include null fields in Patch
1259	// requests.
1260	NullFields []string `json:"-"`
1261}
1262
1263func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
1264	type NoMethod AccountPermissionGroupsListResponse
1265	raw := NoMethod(*s)
1266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1267}
1268
1269// AccountPermissionsListResponse: Account Permission List Response
1270type AccountPermissionsListResponse struct {
1271	// AccountPermissions: Account permission collection.
1272	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
1273
1274	// Kind: Identifies what kind of resource this is. Value: the fixed
1275	// string "dfareporting#accountPermissionsListResponse".
1276	Kind string `json:"kind,omitempty"`
1277
1278	// ServerResponse contains the HTTP response code and headers from the
1279	// server.
1280	googleapi.ServerResponse `json:"-"`
1281
1282	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
1283	// to unconditionally include in API requests. By default, fields with
1284	// empty values are omitted from API requests. However, any non-pointer,
1285	// non-interface field appearing in ForceSendFields will be sent to the
1286	// server regardless of whether the field is empty or not. This may be
1287	// used to include empty fields in Patch requests.
1288	ForceSendFields []string `json:"-"`
1289
1290	// NullFields is a list of field names (e.g. "AccountPermissions") to
1291	// include in API requests with the JSON null value. By default, fields
1292	// with empty values are omitted from API requests. However, any field
1293	// with an empty value appearing in NullFields will be sent to the
1294	// server as null. It is an error if a field in this list has a
1295	// non-empty value. This may be used to include null fields in Patch
1296	// requests.
1297	NullFields []string `json:"-"`
1298}
1299
1300func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
1301	type NoMethod AccountPermissionsListResponse
1302	raw := NoMethod(*s)
1303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1304}
1305
1306// AccountUserProfile: AccountUserProfiles contains properties of a DCM
1307// user profile. This resource is specifically for managing user
1308// profiles, whereas UserProfiles is for accessing the API.
1309type AccountUserProfile struct {
1310	// AccountId: Account ID of the user profile. This is a read-only field
1311	// that can be left blank.
1312	AccountId int64 `json:"accountId,omitempty,string"`
1313
1314	// Active: Whether this user profile is active. This defaults to false,
1315	// and must be set true on insert for the user profile to be usable.
1316	Active bool `json:"active,omitempty"`
1317
1318	// AdvertiserFilter: Filter that describes which advertisers are visible
1319	// to the user profile.
1320	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
1321
1322	// CampaignFilter: Filter that describes which campaigns are visible to
1323	// the user profile.
1324	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
1325
1326	// Comments: Comments for this user profile.
1327	Comments string `json:"comments,omitempty"`
1328
1329	// Email: Email of the user profile. The email addresss must be linked
1330	// to a Google Account. This field is required on insertion and is
1331	// read-only after insertion.
1332	Email string `json:"email,omitempty"`
1333
1334	// Id: ID of the user profile. This is a read-only, auto-generated
1335	// field.
1336	Id int64 `json:"id,omitempty,string"`
1337
1338	// Kind: Identifies what kind of resource this is. Value: the fixed
1339	// string "dfareporting#accountUserProfile".
1340	Kind string `json:"kind,omitempty"`
1341
1342	// Locale: Locale of the user profile. This is a required
1343	// field.
1344	// Acceptable values are:
1345	// - "cs" (Czech)
1346	// - "de" (German)
1347	// - "en" (English)
1348	// - "en-GB" (English United Kingdom)
1349	// - "es" (Spanish)
1350	// - "fr" (French)
1351	// - "it" (Italian)
1352	// - "ja" (Japanese)
1353	// - "ko" (Korean)
1354	// - "pl" (Polish)
1355	// - "pt-BR" (Portuguese Brazil)
1356	// - "ru" (Russian)
1357	// - "sv" (Swedish)
1358	// - "tr" (Turkish)
1359	// - "zh-CN" (Chinese Simplified)
1360	// - "zh-TW" (Chinese Traditional)
1361	Locale string `json:"locale,omitempty"`
1362
1363	// Name: Name of the user profile. This is a required field. Must be
1364	// less than 64 characters long, must be globally unique, and cannot
1365	// contain whitespace or any of the following characters: "&;"#%,".
1366	Name string `json:"name,omitempty"`
1367
1368	// SiteFilter: Filter that describes which sites are visible to the user
1369	// profile.
1370	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
1371
1372	// SubaccountId: Subaccount ID of the user profile. This is a read-only
1373	// field that can be left blank.
1374	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1375
1376	// TraffickerType: Trafficker type of this user profile.
1377	//
1378	// Possible values:
1379	//   "EXTERNAL_TRAFFICKER"
1380	//   "INTERNAL_NON_TRAFFICKER"
1381	//   "INTERNAL_TRAFFICKER"
1382	TraffickerType string `json:"traffickerType,omitempty"`
1383
1384	// UserAccessType: User type of the user profile. This is a read-only
1385	// field that can be left blank.
1386	//
1387	// Possible values:
1388	//   "INTERNAL_ADMINISTRATOR"
1389	//   "NORMAL_USER"
1390	//   "READ_ONLY_SUPER_USER"
1391	//   "SUPER_USER"
1392	UserAccessType string `json:"userAccessType,omitempty"`
1393
1394	// UserRoleFilter: Filter that describes which user roles are visible to
1395	// the user profile.
1396	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
1397
1398	// UserRoleId: User role ID of the user profile. This is a required
1399	// field.
1400	UserRoleId int64 `json:"userRoleId,omitempty,string"`
1401
1402	// ServerResponse contains the HTTP response code and headers from the
1403	// server.
1404	googleapi.ServerResponse `json:"-"`
1405
1406	// ForceSendFields is a list of field names (e.g. "AccountId") to
1407	// unconditionally include in API requests. By default, fields with
1408	// empty values are omitted from API requests. However, any non-pointer,
1409	// non-interface field appearing in ForceSendFields will be sent to the
1410	// server regardless of whether the field is empty or not. This may be
1411	// used to include empty fields in Patch requests.
1412	ForceSendFields []string `json:"-"`
1413
1414	// NullFields is a list of field names (e.g. "AccountId") to include in
1415	// API requests with the JSON null value. By default, fields with empty
1416	// values are omitted from API requests. However, any field with an
1417	// empty value appearing in NullFields will be sent to the server as
1418	// null. It is an error if a field in this list has a non-empty value.
1419	// This may be used to include null fields in Patch requests.
1420	NullFields []string `json:"-"`
1421}
1422
1423func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
1424	type NoMethod AccountUserProfile
1425	raw := NoMethod(*s)
1426	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1427}
1428
1429// AccountUserProfilesListResponse: Account User Profile List Response
1430type AccountUserProfilesListResponse struct {
1431	// AccountUserProfiles: Account user profile collection.
1432	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
1433
1434	// Kind: Identifies what kind of resource this is. Value: the fixed
1435	// string "dfareporting#accountUserProfilesListResponse".
1436	Kind string `json:"kind,omitempty"`
1437
1438	// NextPageToken: Pagination token to be used for the next list
1439	// operation.
1440	NextPageToken string `json:"nextPageToken,omitempty"`
1441
1442	// ServerResponse contains the HTTP response code and headers from the
1443	// server.
1444	googleapi.ServerResponse `json:"-"`
1445
1446	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
1447	// to unconditionally include in API requests. By default, fields with
1448	// empty values are omitted from API requests. However, any non-pointer,
1449	// non-interface field appearing in ForceSendFields will be sent to the
1450	// server regardless of whether the field is empty or not. This may be
1451	// used to include empty fields in Patch requests.
1452	ForceSendFields []string `json:"-"`
1453
1454	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
1455	// include in API requests with the JSON null value. By default, fields
1456	// with empty values are omitted from API requests. However, any field
1457	// with an empty value appearing in NullFields will be sent to the
1458	// server as null. It is an error if a field in this list has a
1459	// non-empty value. This may be used to include null fields in Patch
1460	// requests.
1461	NullFields []string `json:"-"`
1462}
1463
1464func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
1465	type NoMethod AccountUserProfilesListResponse
1466	raw := NoMethod(*s)
1467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1468}
1469
1470// AccountsListResponse: Account List Response
1471type AccountsListResponse struct {
1472	// Accounts: Account collection.
1473	Accounts []*Account `json:"accounts,omitempty"`
1474
1475	// Kind: Identifies what kind of resource this is. Value: the fixed
1476	// string "dfareporting#accountsListResponse".
1477	Kind string `json:"kind,omitempty"`
1478
1479	// NextPageToken: Pagination token to be used for the next list
1480	// operation.
1481	NextPageToken string `json:"nextPageToken,omitempty"`
1482
1483	// ServerResponse contains the HTTP response code and headers from the
1484	// server.
1485	googleapi.ServerResponse `json:"-"`
1486
1487	// ForceSendFields is a list of field names (e.g. "Accounts") to
1488	// unconditionally include in API requests. By default, fields with
1489	// empty values are omitted from API requests. However, any non-pointer,
1490	// non-interface field appearing in ForceSendFields will be sent to the
1491	// server regardless of whether the field is empty or not. This may be
1492	// used to include empty fields in Patch requests.
1493	ForceSendFields []string `json:"-"`
1494
1495	// NullFields is a list of field names (e.g. "Accounts") to include in
1496	// API requests with the JSON null value. By default, fields with empty
1497	// values are omitted from API requests. However, any field with an
1498	// empty value appearing in NullFields will be sent to the server as
1499	// null. It is an error if a field in this list has a non-empty value.
1500	// This may be used to include null fields in Patch requests.
1501	NullFields []string `json:"-"`
1502}
1503
1504func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
1505	type NoMethod AccountsListResponse
1506	raw := NoMethod(*s)
1507	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1508}
1509
1510// Activities: Represents an activity group.
1511type Activities struct {
1512	// Filters: List of activity filters. The dimension values need to be
1513	// all either of type "dfa:activity" or "dfa:activityGroup".
1514	Filters []*DimensionValue `json:"filters,omitempty"`
1515
1516	// Kind: The kind of resource this is, in this case
1517	// dfareporting#activities.
1518	Kind string `json:"kind,omitempty"`
1519
1520	// MetricNames: List of names of floodlight activity metrics.
1521	MetricNames []string `json:"metricNames,omitempty"`
1522
1523	// ForceSendFields is a list of field names (e.g. "Filters") to
1524	// unconditionally include in API requests. By default, fields with
1525	// empty values are omitted from API requests. However, any non-pointer,
1526	// non-interface field appearing in ForceSendFields will be sent to the
1527	// server regardless of whether the field is empty or not. This may be
1528	// used to include empty fields in Patch requests.
1529	ForceSendFields []string `json:"-"`
1530
1531	// NullFields is a list of field names (e.g. "Filters") to include in
1532	// API requests with the JSON null value. By default, fields with empty
1533	// values are omitted from API requests. However, any field with an
1534	// empty value appearing in NullFields will be sent to the server as
1535	// null. It is an error if a field in this list has a non-empty value.
1536	// This may be used to include null fields in Patch requests.
1537	NullFields []string `json:"-"`
1538}
1539
1540func (s *Activities) MarshalJSON() ([]byte, error) {
1541	type NoMethod Activities
1542	raw := NoMethod(*s)
1543	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1544}
1545
1546// Ad: Contains properties of a DCM ad.
1547type Ad struct {
1548	// AccountId: Account ID of this ad. This is a read-only field that can
1549	// be left blank.
1550	AccountId int64 `json:"accountId,omitempty,string"`
1551
1552	// Active: Whether this ad is active. When true, archived must be false.
1553	Active bool `json:"active,omitempty"`
1554
1555	// AdvertiserId: Advertiser ID of this ad. This is a required field on
1556	// insertion.
1557	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1558
1559	// AdvertiserIdDimensionValue: Dimension value for the ID of the
1560	// advertiser. This is a read-only, auto-generated field.
1561	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
1562
1563	// Archived: Whether this ad is archived. When true, active must be
1564	// false.
1565	Archived bool `json:"archived,omitempty"`
1566
1567	// AudienceSegmentId: Audience segment ID that is being targeted for
1568	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
1569	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
1570
1571	// CampaignId: Campaign ID of this ad. This is a required field on
1572	// insertion.
1573	CampaignId int64 `json:"campaignId,omitempty,string"`
1574
1575	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
1576	// This is a read-only, auto-generated field.
1577	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
1578
1579	// ClickThroughUrl: Click-through URL for this ad. This is a required
1580	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
1581	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
1582
1583	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
1584	// for this ad. Applies to the URL in the ad or (if overriding ad
1585	// properties) the URL in the creative.
1586	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
1587
1588	// Comments: Comments for this ad.
1589	Comments string `json:"comments,omitempty"`
1590
1591	// Compatibility: Compatibility of this ad. Applicable when type is
1592	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
1593	// either rendering on desktop or on mobile devices or in mobile apps
1594	// for regular or interstitial ads, respectively. APP and
1595	// APP_INTERSTITIAL are only used for existing default ads. New mobile
1596	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
1597	// default ads created for those placements will be limited to those
1598	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
1599	// video ads developed with the VAST standard.
1600	//
1601	// Possible values:
1602	//   "APP"
1603	//   "APP_INTERSTITIAL"
1604	//   "DISPLAY"
1605	//   "DISPLAY_INTERSTITIAL"
1606	//   "IN_STREAM_VIDEO"
1607	Compatibility string `json:"compatibility,omitempty"`
1608
1609	// CreateInfo: Information about the creation of this ad. This is a
1610	// read-only field.
1611	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
1612
1613	// CreativeGroupAssignments: Creative group assignments for this ad.
1614	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
1615	// per creative group number is allowed for a maximum of two
1616	// assignments.
1617	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
1618
1619	// CreativeRotation: Creative rotation for this ad. Applicable when type
1620	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
1621	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
1622	// should have exactly one creativeAssignment.
1623	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
1624
1625	// DayPartTargeting: Time and day targeting information for this ad.
1626	// This field must be left blank if the ad is using a targeting
1627	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1628	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
1629
1630	// DefaultClickThroughEventTagProperties: Default click-through event
1631	// tag properties for this ad.
1632	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
1633
1634	// DeliverySchedule: Delivery schedule information for this ad.
1635	// Applicable when type is AD_SERVING_STANDARD_AD or
1636	// AD_SERVING_TRACKING. This field along with subfields priority and
1637	// impressionRatio are required on insertion when type is
1638	// AD_SERVING_STANDARD_AD.
1639	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
1640
1641	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
1642	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
1643	// field on insert, and is read-only after insert.
1644	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
1645
1646	// EndTime: Date and time that this ad should stop serving. Must be
1647	// later than the start time. This is a required field on insertion.
1648	EndTime string `json:"endTime,omitempty"`
1649
1650	// EventTagOverrides: Event tag overrides for this ad.
1651	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
1652
1653	// GeoTargeting: Geographical targeting information for this ad. This
1654	// field must be left blank if the ad is using a targeting template.
1655	// Applicable when type is AD_SERVING_STANDARD_AD.
1656	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
1657
1658	// Id: ID of this ad. This is a read-only, auto-generated field.
1659	Id int64 `json:"id,omitempty,string"`
1660
1661	// IdDimensionValue: Dimension value for the ID of this ad. This is a
1662	// read-only, auto-generated field.
1663	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1664
1665	// KeyValueTargetingExpression: Key-value targeting information for this
1666	// ad. This field must be left blank if the ad is using a targeting
1667	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1668	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
1669
1670	// Kind: Identifies what kind of resource this is. Value: the fixed
1671	// string "dfareporting#ad".
1672	Kind string `json:"kind,omitempty"`
1673
1674	// LanguageTargeting: Language targeting information for this ad. This
1675	// field must be left blank if the ad is using a targeting template.
1676	// Applicable when type is AD_SERVING_STANDARD_AD.
1677	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
1678
1679	// LastModifiedInfo: Information about the most recent modification of
1680	// this ad. This is a read-only field.
1681	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
1682
1683	// Name: Name of this ad. This is a required field and must be less than
1684	// 256 characters long.
1685	Name string `json:"name,omitempty"`
1686
1687	// PlacementAssignments: Placement assignments for this ad.
1688	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
1689
1690	// RemarketingListExpression: Remarketing list targeting expression for
1691	// this ad. This field must be left blank if the ad is using a targeting
1692	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1693	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
1694
1695	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
1696	Size *Size `json:"size,omitempty"`
1697
1698	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
1699	// field that is auto-generated when the ad is inserted or updated.
1700	SslCompliant bool `json:"sslCompliant,omitempty"`
1701
1702	// SslRequired: Whether this ad requires ssl. This is a read-only field
1703	// that is auto-generated when the ad is inserted or updated.
1704	SslRequired bool `json:"sslRequired,omitempty"`
1705
1706	// StartTime: Date and time that this ad should start serving. If
1707	// creating an ad, this field must be a time in the future. This is a
1708	// required field on insertion.
1709	StartTime string `json:"startTime,omitempty"`
1710
1711	// SubaccountId: Subaccount ID of this ad. This is a read-only field
1712	// that can be left blank.
1713	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1714
1715	// TargetingTemplateId: Targeting template ID, used to apply
1716	// preconfigured targeting information to this ad. This cannot be set
1717	// while any of dayPartTargeting, geoTargeting,
1718	// keyValueTargetingExpression, languageTargeting,
1719	// remarketingListExpression, or technologyTargeting are set. Applicable
1720	// when type is AD_SERVING_STANDARD_AD.
1721	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
1722
1723	// TechnologyTargeting: Technology platform targeting information for
1724	// this ad. This field must be left blank if the ad is using a targeting
1725	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1726	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
1727
1728	// Type: Type of ad. This is a required field on insertion. Note that
1729	// default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see
1730	// Creative resource).
1731	//
1732	// Possible values:
1733	//   "AD_SERVING_CLICK_TRACKER"
1734	//   "AD_SERVING_DEFAULT_AD"
1735	//   "AD_SERVING_STANDARD_AD"
1736	//   "AD_SERVING_TRACKING"
1737	Type string `json:"type,omitempty"`
1738
1739	// ServerResponse contains the HTTP response code and headers from the
1740	// server.
1741	googleapi.ServerResponse `json:"-"`
1742
1743	// ForceSendFields is a list of field names (e.g. "AccountId") to
1744	// unconditionally include in API requests. By default, fields with
1745	// empty values are omitted from API requests. However, any non-pointer,
1746	// non-interface field appearing in ForceSendFields will be sent to the
1747	// server regardless of whether the field is empty or not. This may be
1748	// used to include empty fields in Patch requests.
1749	ForceSendFields []string `json:"-"`
1750
1751	// NullFields is a list of field names (e.g. "AccountId") to include in
1752	// API requests with the JSON null value. By default, fields with empty
1753	// values are omitted from API requests. However, any field with an
1754	// empty value appearing in NullFields will be sent to the server as
1755	// null. It is an error if a field in this list has a non-empty value.
1756	// This may be used to include null fields in Patch requests.
1757	NullFields []string `json:"-"`
1758}
1759
1760func (s *Ad) MarshalJSON() ([]byte, error) {
1761	type NoMethod Ad
1762	raw := NoMethod(*s)
1763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1764}
1765
1766// AdSlot: Ad Slot
1767type AdSlot struct {
1768	// Comment: Comment for this ad slot.
1769	Comment string `json:"comment,omitempty"`
1770
1771	// Compatibility: Ad slot compatibility. DISPLAY and
1772	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
1773	// devices or in mobile apps for regular or interstitial ads
1774	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
1775	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
1776	// developed with the VAST standard.
1777	//
1778	// Possible values:
1779	//   "APP"
1780	//   "APP_INTERSTITIAL"
1781	//   "DISPLAY"
1782	//   "DISPLAY_INTERSTITIAL"
1783	//   "IN_STREAM_VIDEO"
1784	Compatibility string `json:"compatibility,omitempty"`
1785
1786	// Height: Height of this ad slot.
1787	Height int64 `json:"height,omitempty,string"`
1788
1789	// LinkedPlacementId: ID of the placement from an external platform that
1790	// is linked to this ad slot.
1791	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
1792
1793	// Name: Name of this ad slot.
1794	Name string `json:"name,omitempty"`
1795
1796	// PaymentSourceType: Payment source type of this ad slot.
1797	//
1798	// Possible values:
1799	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
1800	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
1801	PaymentSourceType string `json:"paymentSourceType,omitempty"`
1802
1803	// Primary: Primary ad slot of a roadblock inventory item.
1804	Primary bool `json:"primary,omitempty"`
1805
1806	// Width: Width of this ad slot.
1807	Width int64 `json:"width,omitempty,string"`
1808
1809	// ForceSendFields is a list of field names (e.g. "Comment") to
1810	// unconditionally include in API requests. By default, fields with
1811	// empty values are omitted from API requests. However, any non-pointer,
1812	// non-interface field appearing in ForceSendFields will be sent to the
1813	// server regardless of whether the field is empty or not. This may be
1814	// used to include empty fields in Patch requests.
1815	ForceSendFields []string `json:"-"`
1816
1817	// NullFields is a list of field names (e.g. "Comment") to include in
1818	// API requests with the JSON null value. By default, fields with empty
1819	// values are omitted from API requests. However, any field with an
1820	// empty value appearing in NullFields will be sent to the server as
1821	// null. It is an error if a field in this list has a non-empty value.
1822	// This may be used to include null fields in Patch requests.
1823	NullFields []string `json:"-"`
1824}
1825
1826func (s *AdSlot) MarshalJSON() ([]byte, error) {
1827	type NoMethod AdSlot
1828	raw := NoMethod(*s)
1829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1830}
1831
1832// AdsListResponse: Ad List Response
1833type AdsListResponse struct {
1834	// Ads: Ad collection.
1835	Ads []*Ad `json:"ads,omitempty"`
1836
1837	// Kind: Identifies what kind of resource this is. Value: the fixed
1838	// string "dfareporting#adsListResponse".
1839	Kind string `json:"kind,omitempty"`
1840
1841	// NextPageToken: Pagination token to be used for the next list
1842	// operation.
1843	NextPageToken string `json:"nextPageToken,omitempty"`
1844
1845	// ServerResponse contains the HTTP response code and headers from the
1846	// server.
1847	googleapi.ServerResponse `json:"-"`
1848
1849	// ForceSendFields is a list of field names (e.g. "Ads") to
1850	// unconditionally include in API requests. By default, fields with
1851	// empty values are omitted from API requests. However, any non-pointer,
1852	// non-interface field appearing in ForceSendFields will be sent to the
1853	// server regardless of whether the field is empty or not. This may be
1854	// used to include empty fields in Patch requests.
1855	ForceSendFields []string `json:"-"`
1856
1857	// NullFields is a list of field names (e.g. "Ads") to include in API
1858	// requests with the JSON null value. By default, fields with empty
1859	// values are omitted from API requests. However, any field with an
1860	// empty value appearing in NullFields will be sent to the server as
1861	// null. It is an error if a field in this list has a non-empty value.
1862	// This may be used to include null fields in Patch requests.
1863	NullFields []string `json:"-"`
1864}
1865
1866func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
1867	type NoMethod AdsListResponse
1868	raw := NoMethod(*s)
1869	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1870}
1871
1872// Advertiser: Contains properties of a DCM advertiser.
1873type Advertiser struct {
1874	// AccountId: Account ID of this advertiser.This is a read-only field
1875	// that can be left blank.
1876	AccountId int64 `json:"accountId,omitempty,string"`
1877
1878	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
1879	// to. You can group advertisers for reporting purposes, allowing you to
1880	// see aggregated information for all advertisers in each group.
1881	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
1882
1883	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
1884	// creative associations under this advertiser. Must be less than 129
1885	// characters long.
1886	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
1887
1888	// DefaultClickThroughEventTagId: ID of the click-through event tag to
1889	// apply by default to the landing pages of this advertiser's campaigns.
1890	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
1891
1892	// DefaultEmail: Default email address used in sender field for tag
1893	// emails.
1894	DefaultEmail string `json:"defaultEmail,omitempty"`
1895
1896	// FloodlightConfigurationId: Floodlight configuration ID of this
1897	// advertiser. The floodlight configuration ID will be created
1898	// automatically, so on insert this field should be left blank. This
1899	// field can be set to another advertiser's floodlight configuration ID
1900	// in order to share that advertiser's floodlight configuration with
1901	// this advertiser, so long as:
1902	// - This advertiser's original floodlight configuration is not already
1903	// associated with floodlight activities or floodlight activity groups.
1904	//
1905	// - This advertiser's original floodlight configuration is not already
1906	// shared with another advertiser.
1907	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
1908
1909	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
1910	// of the floodlight configuration. This is a read-only, auto-generated
1911	// field.
1912	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
1913
1914	// Id: ID of this advertiser. This is a read-only, auto-generated field.
1915	Id int64 `json:"id,omitempty,string"`
1916
1917	// IdDimensionValue: Dimension value for the ID of this advertiser. This
1918	// is a read-only, auto-generated field.
1919	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1920
1921	// Kind: Identifies what kind of resource this is. Value: the fixed
1922	// string "dfareporting#advertiser".
1923	Kind string `json:"kind,omitempty"`
1924
1925	// Name: Name of this advertiser. This is a required field and must be
1926	// less than 256 characters long and unique among advertisers of the
1927	// same account.
1928	Name string `json:"name,omitempty"`
1929
1930	// OriginalFloodlightConfigurationId: Original floodlight configuration
1931	// before any sharing occurred. Set the floodlightConfigurationId of
1932	// this advertiser to originalFloodlightConfigurationId to unshare the
1933	// advertiser's current floodlight configuration. You cannot unshare an
1934	// advertiser's floodlight configuration if the shared configuration has
1935	// activities associated with any campaign or placement.
1936	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
1937
1938	// Status: Status of this advertiser.
1939	//
1940	// Possible values:
1941	//   "APPROVED"
1942	//   "ON_HOLD"
1943	Status string `json:"status,omitempty"`
1944
1945	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
1946	// field that can be left blank.
1947	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1948
1949	// Suspended: Suspension status of this advertiser.
1950	Suspended bool `json:"suspended,omitempty"`
1951
1952	// ServerResponse contains the HTTP response code and headers from the
1953	// server.
1954	googleapi.ServerResponse `json:"-"`
1955
1956	// ForceSendFields is a list of field names (e.g. "AccountId") to
1957	// unconditionally include in API requests. By default, fields with
1958	// empty values are omitted from API requests. However, any non-pointer,
1959	// non-interface field appearing in ForceSendFields will be sent to the
1960	// server regardless of whether the field is empty or not. This may be
1961	// used to include empty fields in Patch requests.
1962	ForceSendFields []string `json:"-"`
1963
1964	// NullFields is a list of field names (e.g. "AccountId") to include in
1965	// API requests with the JSON null value. By default, fields with empty
1966	// values are omitted from API requests. However, any field with an
1967	// empty value appearing in NullFields will be sent to the server as
1968	// null. It is an error if a field in this list has a non-empty value.
1969	// This may be used to include null fields in Patch requests.
1970	NullFields []string `json:"-"`
1971}
1972
1973func (s *Advertiser) MarshalJSON() ([]byte, error) {
1974	type NoMethod Advertiser
1975	raw := NoMethod(*s)
1976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1977}
1978
1979// AdvertiserGroup: Groups advertisers together so that reports can be
1980// generated for the entire group at once.
1981type AdvertiserGroup struct {
1982	// AccountId: Account ID of this advertiser group. This is a read-only
1983	// field that can be left blank.
1984	AccountId int64 `json:"accountId,omitempty,string"`
1985
1986	// Id: ID of this advertiser group. This is a read-only, auto-generated
1987	// field.
1988	Id int64 `json:"id,omitempty,string"`
1989
1990	// Kind: Identifies what kind of resource this is. Value: the fixed
1991	// string "dfareporting#advertiserGroup".
1992	Kind string `json:"kind,omitempty"`
1993
1994	// Name: Name of this advertiser group. This is a required field and
1995	// must be less than 256 characters long and unique among advertiser
1996	// groups of the same account.
1997	Name string `json:"name,omitempty"`
1998
1999	// ServerResponse contains the HTTP response code and headers from the
2000	// server.
2001	googleapi.ServerResponse `json:"-"`
2002
2003	// ForceSendFields is a list of field names (e.g. "AccountId") to
2004	// unconditionally include in API requests. By default, fields with
2005	// empty values are omitted from API requests. However, any non-pointer,
2006	// non-interface field appearing in ForceSendFields will be sent to the
2007	// server regardless of whether the field is empty or not. This may be
2008	// used to include empty fields in Patch requests.
2009	ForceSendFields []string `json:"-"`
2010
2011	// NullFields is a list of field names (e.g. "AccountId") to include in
2012	// API requests with the JSON null value. By default, fields with empty
2013	// values are omitted from API requests. However, any field with an
2014	// empty value appearing in NullFields will be sent to the server as
2015	// null. It is an error if a field in this list has a non-empty value.
2016	// This may be used to include null fields in Patch requests.
2017	NullFields []string `json:"-"`
2018}
2019
2020func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
2021	type NoMethod AdvertiserGroup
2022	raw := NoMethod(*s)
2023	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2024}
2025
2026// AdvertiserGroupsListResponse: Advertiser Group List Response
2027type AdvertiserGroupsListResponse struct {
2028	// AdvertiserGroups: Advertiser group collection.
2029	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
2030
2031	// Kind: Identifies what kind of resource this is. Value: the fixed
2032	// string "dfareporting#advertiserGroupsListResponse".
2033	Kind string `json:"kind,omitempty"`
2034
2035	// NextPageToken: Pagination token to be used for the next list
2036	// operation.
2037	NextPageToken string `json:"nextPageToken,omitempty"`
2038
2039	// ServerResponse contains the HTTP response code and headers from the
2040	// server.
2041	googleapi.ServerResponse `json:"-"`
2042
2043	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
2044	// unconditionally include in API requests. By default, fields with
2045	// empty values are omitted from API requests. However, any non-pointer,
2046	// non-interface field appearing in ForceSendFields will be sent to the
2047	// server regardless of whether the field is empty or not. This may be
2048	// used to include empty fields in Patch requests.
2049	ForceSendFields []string `json:"-"`
2050
2051	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
2052	// include in API requests with the JSON null value. By default, fields
2053	// with empty values are omitted from API requests. However, any field
2054	// with an empty value appearing in NullFields will be sent to the
2055	// server as null. It is an error if a field in this list has a
2056	// non-empty value. This may be used to include null fields in Patch
2057	// requests.
2058	NullFields []string `json:"-"`
2059}
2060
2061func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
2062	type NoMethod AdvertiserGroupsListResponse
2063	raw := NoMethod(*s)
2064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2065}
2066
2067// AdvertisersListResponse: Advertiser List Response
2068type AdvertisersListResponse struct {
2069	// Advertisers: Advertiser collection.
2070	Advertisers []*Advertiser `json:"advertisers,omitempty"`
2071
2072	// Kind: Identifies what kind of resource this is. Value: the fixed
2073	// string "dfareporting#advertisersListResponse".
2074	Kind string `json:"kind,omitempty"`
2075
2076	// NextPageToken: Pagination token to be used for the next list
2077	// operation.
2078	NextPageToken string `json:"nextPageToken,omitempty"`
2079
2080	// ServerResponse contains the HTTP response code and headers from the
2081	// server.
2082	googleapi.ServerResponse `json:"-"`
2083
2084	// ForceSendFields is a list of field names (e.g. "Advertisers") to
2085	// unconditionally include in API requests. By default, fields with
2086	// empty values are omitted from API requests. However, any non-pointer,
2087	// non-interface field appearing in ForceSendFields will be sent to the
2088	// server regardless of whether the field is empty or not. This may be
2089	// used to include empty fields in Patch requests.
2090	ForceSendFields []string `json:"-"`
2091
2092	// NullFields is a list of field names (e.g. "Advertisers") to include
2093	// in API requests with the JSON null value. By default, fields with
2094	// empty values are omitted from API requests. However, any field with
2095	// an empty value appearing in NullFields will be sent to the server as
2096	// null. It is an error if a field in this list has a non-empty value.
2097	// This may be used to include null fields in Patch requests.
2098	NullFields []string `json:"-"`
2099}
2100
2101func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
2102	type NoMethod AdvertisersListResponse
2103	raw := NoMethod(*s)
2104	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2105}
2106
2107// AudienceSegment: Audience Segment.
2108type AudienceSegment struct {
2109	// Allocation: Weight allocated to this segment. The weight assigned
2110	// will be understood in proportion to the weights assigned to other
2111	// segments in the same segment group. Acceptable values are 1 to 1000,
2112	// inclusive.
2113	Allocation int64 `json:"allocation,omitempty"`
2114
2115	// Id: ID of this audience segment. This is a read-only, auto-generated
2116	// field.
2117	Id int64 `json:"id,omitempty,string"`
2118
2119	// Name: Name of this audience segment. This is a required field and
2120	// must be less than 65 characters long.
2121	Name string `json:"name,omitempty"`
2122
2123	// ForceSendFields is a list of field names (e.g. "Allocation") to
2124	// unconditionally include in API requests. By default, fields with
2125	// empty values are omitted from API requests. However, any non-pointer,
2126	// non-interface field appearing in ForceSendFields will be sent to the
2127	// server regardless of whether the field is empty or not. This may be
2128	// used to include empty fields in Patch requests.
2129	ForceSendFields []string `json:"-"`
2130
2131	// NullFields is a list of field names (e.g. "Allocation") to include in
2132	// API requests with the JSON null value. By default, fields with empty
2133	// values are omitted from API requests. However, any field with an
2134	// empty value appearing in NullFields will be sent to the server as
2135	// null. It is an error if a field in this list has a non-empty value.
2136	// This may be used to include null fields in Patch requests.
2137	NullFields []string `json:"-"`
2138}
2139
2140func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
2141	type NoMethod AudienceSegment
2142	raw := NoMethod(*s)
2143	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2144}
2145
2146// AudienceSegmentGroup: Audience Segment Group.
2147type AudienceSegmentGroup struct {
2148	// AudienceSegments: Audience segments assigned to this group. The
2149	// number of segments must be between 2 and 100.
2150	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
2151
2152	// Id: ID of this audience segment group. This is a read-only,
2153	// auto-generated field.
2154	Id int64 `json:"id,omitempty,string"`
2155
2156	// Name: Name of this audience segment group. This is a required field
2157	// and must be less than 65 characters long.
2158	Name string `json:"name,omitempty"`
2159
2160	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
2161	// unconditionally include in API requests. By default, fields with
2162	// empty values are omitted from API requests. However, any non-pointer,
2163	// non-interface field appearing in ForceSendFields will be sent to the
2164	// server regardless of whether the field is empty or not. This may be
2165	// used to include empty fields in Patch requests.
2166	ForceSendFields []string `json:"-"`
2167
2168	// NullFields is a list of field names (e.g. "AudienceSegments") to
2169	// include in API requests with the JSON null value. By default, fields
2170	// with empty values are omitted from API requests. However, any field
2171	// with an empty value appearing in NullFields will be sent to the
2172	// server as null. It is an error if a field in this list has a
2173	// non-empty value. This may be used to include null fields in Patch
2174	// requests.
2175	NullFields []string `json:"-"`
2176}
2177
2178func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
2179	type NoMethod AudienceSegmentGroup
2180	raw := NoMethod(*s)
2181	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2182}
2183
2184// Browser: Contains information about a browser that can be targeted by
2185// ads.
2186type Browser struct {
2187	// BrowserVersionId: ID referring to this grouping of browser and
2188	// version numbers. This is the ID used for targeting.
2189	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
2190
2191	// DartId: DART ID of this browser. This is the ID used when generating
2192	// reports.
2193	DartId int64 `json:"dartId,omitempty,string"`
2194
2195	// Kind: Identifies what kind of resource this is. Value: the fixed
2196	// string "dfareporting#browser".
2197	Kind string `json:"kind,omitempty"`
2198
2199	// MajorVersion: Major version number (leftmost number) of this browser.
2200	// For example, for Chrome 5.0.376.86 beta, this field should be set to
2201	// 5. An asterisk (*) may be used to target any version number, and a
2202	// question mark (?) may be used to target cases where the version
2203	// number cannot be identified. For example, Chrome *.* targets any
2204	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2205	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2206	// server knows the browser is Firefox but can't tell which version it
2207	// is.
2208	MajorVersion string `json:"majorVersion,omitempty"`
2209
2210	// MinorVersion: Minor version number (number after first dot on left)
2211	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
2212	// should be set to 0. An asterisk (*) may be used to target any version
2213	// number, and a question mark (?) may be used to target cases where the
2214	// version number cannot be identified. For example, Chrome *.* targets
2215	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2216	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2217	// server knows the browser is Firefox but can't tell which version it
2218	// is.
2219	MinorVersion string `json:"minorVersion,omitempty"`
2220
2221	// Name: Name of this browser.
2222	Name string `json:"name,omitempty"`
2223
2224	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
2225	// unconditionally include in API requests. By default, fields with
2226	// empty values are omitted from API requests. However, any non-pointer,
2227	// non-interface field appearing in ForceSendFields will be sent to the
2228	// server regardless of whether the field is empty or not. This may be
2229	// used to include empty fields in Patch requests.
2230	ForceSendFields []string `json:"-"`
2231
2232	// NullFields is a list of field names (e.g. "BrowserVersionId") to
2233	// include in API requests with the JSON null value. By default, fields
2234	// with empty values are omitted from API requests. However, any field
2235	// with an empty value appearing in NullFields will be sent to the
2236	// server as null. It is an error if a field in this list has a
2237	// non-empty value. This may be used to include null fields in Patch
2238	// requests.
2239	NullFields []string `json:"-"`
2240}
2241
2242func (s *Browser) MarshalJSON() ([]byte, error) {
2243	type NoMethod Browser
2244	raw := NoMethod(*s)
2245	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2246}
2247
2248// BrowsersListResponse: Browser List Response
2249type BrowsersListResponse struct {
2250	// Browsers: Browser collection.
2251	Browsers []*Browser `json:"browsers,omitempty"`
2252
2253	// Kind: Identifies what kind of resource this is. Value: the fixed
2254	// string "dfareporting#browsersListResponse".
2255	Kind string `json:"kind,omitempty"`
2256
2257	// ServerResponse contains the HTTP response code and headers from the
2258	// server.
2259	googleapi.ServerResponse `json:"-"`
2260
2261	// ForceSendFields is a list of field names (e.g. "Browsers") to
2262	// unconditionally include in API requests. By default, fields with
2263	// empty values are omitted from API requests. However, any non-pointer,
2264	// non-interface field appearing in ForceSendFields will be sent to the
2265	// server regardless of whether the field is empty or not. This may be
2266	// used to include empty fields in Patch requests.
2267	ForceSendFields []string `json:"-"`
2268
2269	// NullFields is a list of field names (e.g. "Browsers") to include in
2270	// API requests with the JSON null value. By default, fields with empty
2271	// values are omitted from API requests. However, any field with an
2272	// empty value appearing in NullFields will be sent to the server as
2273	// null. It is an error if a field in this list has a non-empty value.
2274	// This may be used to include null fields in Patch requests.
2275	NullFields []string `json:"-"`
2276}
2277
2278func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
2279	type NoMethod BrowsersListResponse
2280	raw := NoMethod(*s)
2281	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2282}
2283
2284// Campaign: Contains properties of a DCM campaign.
2285type Campaign struct {
2286	// AccountId: Account ID of this campaign. This is a read-only field
2287	// that can be left blank.
2288	AccountId int64 `json:"accountId,omitempty,string"`
2289
2290	// AdditionalCreativeOptimizationConfigurations: Additional creative
2291	// optimization configurations for the campaign.
2292	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
2293
2294	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
2295	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
2296
2297	// AdvertiserId: Advertiser ID of this campaign. This is a required
2298	// field.
2299	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2300
2301	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
2302	// this campaign. This is a read-only, auto-generated field.
2303	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
2304
2305	// Archived: Whether this campaign has been archived.
2306	Archived bool `json:"archived,omitempty"`
2307
2308	// AudienceSegmentGroups: Audience segment groups assigned to this
2309	// campaign. Cannot have more than 300 segment groups.
2310	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
2311
2312	// BillingInvoiceCode: Billing invoice code included in the DCM client
2313	// billing invoices associated with the campaign.
2314	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
2315
2316	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
2317	// properties for this campaign.
2318	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
2319
2320	// Comment: Arbitrary comments about this campaign. Must be less than
2321	// 256 characters long.
2322	Comment string `json:"comment,omitempty"`
2323
2324	// CreateInfo: Information about the creation of this campaign. This is
2325	// a read-only field.
2326	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
2327
2328	// CreativeGroupIds: List of creative group IDs that are assigned to the
2329	// campaign.
2330	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
2331
2332	// CreativeOptimizationConfiguration: Creative optimization
2333	// configuration for the campaign.
2334	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
2335
2336	// DefaultClickThroughEventTagProperties: Click-through event tag ID
2337	// override properties for this campaign.
2338	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
2339
2340	// EndDate: Date on which the campaign will stop running. On insert, the
2341	// end date must be today or a future date. The end date must be later
2342	// than or be the same as the start date. If, for example, you set
2343	// 6/25/2015 as both the start and end dates, the effective campaign run
2344	// date is just that day only, 6/25/2015. The hours, minutes, and
2345	// seconds of the end date should not be set, as doing so will result in
2346	// an error. This is a required field.
2347	EndDate string `json:"endDate,omitempty"`
2348
2349	// EventTagOverrides: Overrides that can be used to activate or
2350	// deactivate advertiser event tags.
2351	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
2352
2353	// ExternalId: External ID for this campaign.
2354	ExternalId string `json:"externalId,omitempty"`
2355
2356	// Id: ID of this campaign. This is a read-only auto-generated field.
2357	Id int64 `json:"id,omitempty,string"`
2358
2359	// IdDimensionValue: Dimension value for the ID of this campaign. This
2360	// is a read-only, auto-generated field.
2361	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
2362
2363	// Kind: Identifies what kind of resource this is. Value: the fixed
2364	// string "dfareporting#campaign".
2365	Kind string `json:"kind,omitempty"`
2366
2367	// LastModifiedInfo: Information about the most recent modification of
2368	// this campaign. This is a read-only field.
2369	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
2370
2371	// LookbackConfiguration: Lookback window settings for the campaign.
2372	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
2373
2374	// Name: Name of this campaign. This is a required field and must be
2375	// less than 256 characters long and unique among campaigns of the same
2376	// advertiser.
2377	Name string `json:"name,omitempty"`
2378
2379	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
2380	// campaign.
2381	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
2382
2383	// StartDate: Date on which the campaign starts running. The start date
2384	// can be any date. The hours, minutes, and seconds of the start date
2385	// should not be set, as doing so will result in an error. This is a
2386	// required field.
2387	StartDate string `json:"startDate,omitempty"`
2388
2389	// SubaccountId: Subaccount ID of this campaign. This is a read-only
2390	// field that can be left blank.
2391	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2392
2393	// TraffickerEmails: Campaign trafficker contact emails.
2394	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
2395
2396	// ServerResponse contains the HTTP response code and headers from the
2397	// server.
2398	googleapi.ServerResponse `json:"-"`
2399
2400	// ForceSendFields is a list of field names (e.g. "AccountId") to
2401	// unconditionally include in API requests. By default, fields with
2402	// empty values are omitted from API requests. However, any non-pointer,
2403	// non-interface field appearing in ForceSendFields will be sent to the
2404	// server regardless of whether the field is empty or not. This may be
2405	// used to include empty fields in Patch requests.
2406	ForceSendFields []string `json:"-"`
2407
2408	// NullFields is a list of field names (e.g. "AccountId") to include in
2409	// API requests with the JSON null value. By default, fields with empty
2410	// values are omitted from API requests. However, any field with an
2411	// empty value appearing in NullFields will be sent to the server as
2412	// null. It is an error if a field in this list has a non-empty value.
2413	// This may be used to include null fields in Patch requests.
2414	NullFields []string `json:"-"`
2415}
2416
2417func (s *Campaign) MarshalJSON() ([]byte, error) {
2418	type NoMethod Campaign
2419	raw := NoMethod(*s)
2420	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2421}
2422
2423// CampaignCreativeAssociation: Identifies a creative which has been
2424// associated with a given campaign.
2425type CampaignCreativeAssociation struct {
2426	// CreativeId: ID of the creative associated with the campaign. This is
2427	// a required field.
2428	CreativeId int64 `json:"creativeId,omitempty,string"`
2429
2430	// Kind: Identifies what kind of resource this is. Value: the fixed
2431	// string "dfareporting#campaignCreativeAssociation".
2432	Kind string `json:"kind,omitempty"`
2433
2434	// ServerResponse contains the HTTP response code and headers from the
2435	// server.
2436	googleapi.ServerResponse `json:"-"`
2437
2438	// ForceSendFields is a list of field names (e.g. "CreativeId") to
2439	// unconditionally include in API requests. By default, fields with
2440	// empty values are omitted from API requests. However, any non-pointer,
2441	// non-interface field appearing in ForceSendFields will be sent to the
2442	// server regardless of whether the field is empty or not. This may be
2443	// used to include empty fields in Patch requests.
2444	ForceSendFields []string `json:"-"`
2445
2446	// NullFields is a list of field names (e.g. "CreativeId") to include in
2447	// API requests with the JSON null value. By default, fields with empty
2448	// values are omitted from API requests. However, any field with an
2449	// empty value appearing in NullFields will be sent to the server as
2450	// null. It is an error if a field in this list has a non-empty value.
2451	// This may be used to include null fields in Patch requests.
2452	NullFields []string `json:"-"`
2453}
2454
2455func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
2456	type NoMethod CampaignCreativeAssociation
2457	raw := NoMethod(*s)
2458	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2459}
2460
2461// CampaignCreativeAssociationsListResponse: Campaign Creative
2462// Association List Response
2463type CampaignCreativeAssociationsListResponse struct {
2464	// CampaignCreativeAssociations: Campaign creative association
2465	// collection
2466	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
2467
2468	// Kind: Identifies what kind of resource this is. Value: the fixed
2469	// string "dfareporting#campaignCreativeAssociationsListResponse".
2470	Kind string `json:"kind,omitempty"`
2471
2472	// NextPageToken: Pagination token to be used for the next list
2473	// operation.
2474	NextPageToken string `json:"nextPageToken,omitempty"`
2475
2476	// ServerResponse contains the HTTP response code and headers from the
2477	// server.
2478	googleapi.ServerResponse `json:"-"`
2479
2480	// ForceSendFields is a list of field names (e.g.
2481	// "CampaignCreativeAssociations") to unconditionally include in API
2482	// requests. By default, fields with empty values are omitted from API
2483	// requests. However, any non-pointer, non-interface field appearing in
2484	// ForceSendFields will be sent to the server regardless of whether the
2485	// field is empty or not. This may be used to include empty fields in
2486	// Patch requests.
2487	ForceSendFields []string `json:"-"`
2488
2489	// NullFields is a list of field names (e.g.
2490	// "CampaignCreativeAssociations") to include in API requests with the
2491	// JSON null value. By default, fields with empty values are omitted
2492	// from API requests. However, any field with an empty value appearing
2493	// in NullFields will be sent to the server as null. It is an error if a
2494	// field in this list has a non-empty value. This may be used to include
2495	// null fields in Patch requests.
2496	NullFields []string `json:"-"`
2497}
2498
2499func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
2500	type NoMethod CampaignCreativeAssociationsListResponse
2501	raw := NoMethod(*s)
2502	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2503}
2504
2505// CampaignsListResponse: Campaign List Response
2506type CampaignsListResponse struct {
2507	// Campaigns: Campaign collection.
2508	Campaigns []*Campaign `json:"campaigns,omitempty"`
2509
2510	// Kind: Identifies what kind of resource this is. Value: the fixed
2511	// string "dfareporting#campaignsListResponse".
2512	Kind string `json:"kind,omitempty"`
2513
2514	// NextPageToken: Pagination token to be used for the next list
2515	// operation.
2516	NextPageToken string `json:"nextPageToken,omitempty"`
2517
2518	// ServerResponse contains the HTTP response code and headers from the
2519	// server.
2520	googleapi.ServerResponse `json:"-"`
2521
2522	// ForceSendFields is a list of field names (e.g. "Campaigns") to
2523	// unconditionally include in API requests. By default, fields with
2524	// empty values are omitted from API requests. However, any non-pointer,
2525	// non-interface field appearing in ForceSendFields will be sent to the
2526	// server regardless of whether the field is empty or not. This may be
2527	// used to include empty fields in Patch requests.
2528	ForceSendFields []string `json:"-"`
2529
2530	// NullFields is a list of field names (e.g. "Campaigns") to include in
2531	// API requests with the JSON null value. By default, fields with empty
2532	// values are omitted from API requests. However, any field with an
2533	// empty value appearing in NullFields will be sent to the server as
2534	// null. It is an error if a field in this list has a non-empty value.
2535	// This may be used to include null fields in Patch requests.
2536	NullFields []string `json:"-"`
2537}
2538
2539func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
2540	type NoMethod CampaignsListResponse
2541	raw := NoMethod(*s)
2542	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2543}
2544
2545// ChangeLog: Describes a change that a user has made to a resource.
2546type ChangeLog struct {
2547	// AccountId: Account ID of the modified object.
2548	AccountId int64 `json:"accountId,omitempty,string"`
2549
2550	// Action: Action which caused the change.
2551	Action string `json:"action,omitempty"`
2552
2553	// ChangeTime: Time when the object was modified.
2554	ChangeTime string `json:"changeTime,omitempty"`
2555
2556	// FieldName: Field name of the object which changed.
2557	FieldName string `json:"fieldName,omitempty"`
2558
2559	// Id: ID of this change log.
2560	Id int64 `json:"id,omitempty,string"`
2561
2562	// Kind: Identifies what kind of resource this is. Value: the fixed
2563	// string "dfareporting#changeLog".
2564	Kind string `json:"kind,omitempty"`
2565
2566	// NewValue: New value of the object field.
2567	NewValue string `json:"newValue,omitempty"`
2568
2569	// ObjectId: ID of the object of this change log. The object could be a
2570	// campaign, placement, ad, or other type.
2571	ObjectId int64 `json:"objectId,omitempty,string"`
2572
2573	// ObjectType: Object type of the change log.
2574	ObjectType string `json:"objectType,omitempty"`
2575
2576	// OldValue: Old value of the object field.
2577	OldValue string `json:"oldValue,omitempty"`
2578
2579	// SubaccountId: Subaccount ID of the modified object.
2580	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2581
2582	// TransactionId: Transaction ID of this change log. When a single API
2583	// call results in many changes, each change will have a separate ID in
2584	// the change log but will share the same transactionId.
2585	TransactionId int64 `json:"transactionId,omitempty,string"`
2586
2587	// UserProfileId: ID of the user who modified the object.
2588	UserProfileId int64 `json:"userProfileId,omitempty,string"`
2589
2590	// UserProfileName: User profile name of the user who modified the
2591	// object.
2592	UserProfileName string `json:"userProfileName,omitempty"`
2593
2594	// ServerResponse contains the HTTP response code and headers from the
2595	// server.
2596	googleapi.ServerResponse `json:"-"`
2597
2598	// ForceSendFields is a list of field names (e.g. "AccountId") to
2599	// unconditionally include in API requests. By default, fields with
2600	// empty values are omitted from API requests. However, any non-pointer,
2601	// non-interface field appearing in ForceSendFields will be sent to the
2602	// server regardless of whether the field is empty or not. This may be
2603	// used to include empty fields in Patch requests.
2604	ForceSendFields []string `json:"-"`
2605
2606	// NullFields is a list of field names (e.g. "AccountId") to include in
2607	// API requests with the JSON null value. By default, fields with empty
2608	// values are omitted from API requests. However, any field with an
2609	// empty value appearing in NullFields will be sent to the server as
2610	// null. It is an error if a field in this list has a non-empty value.
2611	// This may be used to include null fields in Patch requests.
2612	NullFields []string `json:"-"`
2613}
2614
2615func (s *ChangeLog) MarshalJSON() ([]byte, error) {
2616	type NoMethod ChangeLog
2617	raw := NoMethod(*s)
2618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2619}
2620
2621// ChangeLogsListResponse: Change Log List Response
2622type ChangeLogsListResponse struct {
2623	// ChangeLogs: Change log collection.
2624	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
2625
2626	// Kind: Identifies what kind of resource this is. Value: the fixed
2627	// string "dfareporting#changeLogsListResponse".
2628	Kind string `json:"kind,omitempty"`
2629
2630	// NextPageToken: Pagination token to be used for the next list
2631	// operation.
2632	NextPageToken string `json:"nextPageToken,omitempty"`
2633
2634	// ServerResponse contains the HTTP response code and headers from the
2635	// server.
2636	googleapi.ServerResponse `json:"-"`
2637
2638	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
2639	// unconditionally include in API requests. By default, fields with
2640	// empty values are omitted from API requests. However, any non-pointer,
2641	// non-interface field appearing in ForceSendFields will be sent to the
2642	// server regardless of whether the field is empty or not. This may be
2643	// used to include empty fields in Patch requests.
2644	ForceSendFields []string `json:"-"`
2645
2646	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
2647	// API requests with the JSON null value. By default, fields with empty
2648	// values are omitted from API requests. However, any field with an
2649	// empty value appearing in NullFields will be sent to the server as
2650	// null. It is an error if a field in this list has a non-empty value.
2651	// This may be used to include null fields in Patch requests.
2652	NullFields []string `json:"-"`
2653}
2654
2655func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
2656	type NoMethod ChangeLogsListResponse
2657	raw := NoMethod(*s)
2658	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2659}
2660
2661// CitiesListResponse: City List Response
2662type CitiesListResponse struct {
2663	// Cities: City collection.
2664	Cities []*City `json:"cities,omitempty"`
2665
2666	// Kind: Identifies what kind of resource this is. Value: the fixed
2667	// string "dfareporting#citiesListResponse".
2668	Kind string `json:"kind,omitempty"`
2669
2670	// ServerResponse contains the HTTP response code and headers from the
2671	// server.
2672	googleapi.ServerResponse `json:"-"`
2673
2674	// ForceSendFields is a list of field names (e.g. "Cities") to
2675	// unconditionally include in API requests. By default, fields with
2676	// empty values are omitted from API requests. However, any non-pointer,
2677	// non-interface field appearing in ForceSendFields will be sent to the
2678	// server regardless of whether the field is empty or not. This may be
2679	// used to include empty fields in Patch requests.
2680	ForceSendFields []string `json:"-"`
2681
2682	// NullFields is a list of field names (e.g. "Cities") to include in API
2683	// requests with the JSON null value. By default, fields with empty
2684	// values are omitted from API requests. However, any field with an
2685	// empty value appearing in NullFields will be sent to the server as
2686	// null. It is an error if a field in this list has a non-empty value.
2687	// This may be used to include null fields in Patch requests.
2688	NullFields []string `json:"-"`
2689}
2690
2691func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
2692	type NoMethod CitiesListResponse
2693	raw := NoMethod(*s)
2694	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2695}
2696
2697// City: Contains information about a city that can be targeted by ads.
2698type City struct {
2699	// CountryCode: Country code of the country to which this city belongs.
2700	CountryCode string `json:"countryCode,omitempty"`
2701
2702	// CountryDartId: DART ID of the country to which this city belongs.
2703	CountryDartId int64 `json:"countryDartId,omitempty,string"`
2704
2705	// DartId: DART ID of this city. This is the ID used for targeting and
2706	// generating reports.
2707	DartId int64 `json:"dartId,omitempty,string"`
2708
2709	// Kind: Identifies what kind of resource this is. Value: the fixed
2710	// string "dfareporting#city".
2711	Kind string `json:"kind,omitempty"`
2712
2713	// MetroCode: Metro region code of the metro region (DMA) to which this
2714	// city belongs.
2715	MetroCode string `json:"metroCode,omitempty"`
2716
2717	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
2718	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
2719
2720	// Name: Name of this city.
2721	Name string `json:"name,omitempty"`
2722
2723	// RegionCode: Region code of the region to which this city belongs.
2724	RegionCode string `json:"regionCode,omitempty"`
2725
2726	// RegionDartId: DART ID of the region to which this city belongs.
2727	RegionDartId int64 `json:"regionDartId,omitempty,string"`
2728
2729	// ForceSendFields is a list of field names (e.g. "CountryCode") to
2730	// unconditionally include in API requests. By default, fields with
2731	// empty values are omitted from API requests. However, any non-pointer,
2732	// non-interface field appearing in ForceSendFields will be sent to the
2733	// server regardless of whether the field is empty or not. This may be
2734	// used to include empty fields in Patch requests.
2735	ForceSendFields []string `json:"-"`
2736
2737	// NullFields is a list of field names (e.g. "CountryCode") to include
2738	// in API requests with the JSON null value. By default, fields with
2739	// empty values are omitted from API requests. However, any field with
2740	// an empty value appearing in NullFields will be sent to the server as
2741	// null. It is an error if a field in this list has a non-empty value.
2742	// This may be used to include null fields in Patch requests.
2743	NullFields []string `json:"-"`
2744}
2745
2746func (s *City) MarshalJSON() ([]byte, error) {
2747	type NoMethod City
2748	raw := NoMethod(*s)
2749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2750}
2751
2752// ClickTag: Creative Click Tag.
2753type ClickTag struct {
2754	// EventName: Advertiser event name associated with the click tag. This
2755	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
2756	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
2757	EventName string `json:"eventName,omitempty"`
2758
2759	// Name: Parameter name for the specified click tag. For
2760	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
2761	// value of the creative asset's creativeAssetId.name field.
2762	Name string `json:"name,omitempty"`
2763
2764	// Value: Parameter value for the specified click tag. This field
2765	// contains a click-through url.
2766	Value string `json:"value,omitempty"`
2767
2768	// ForceSendFields is a list of field names (e.g. "EventName") to
2769	// unconditionally include in API requests. By default, fields with
2770	// empty values are omitted from API requests. However, any non-pointer,
2771	// non-interface field appearing in ForceSendFields will be sent to the
2772	// server regardless of whether the field is empty or not. This may be
2773	// used to include empty fields in Patch requests.
2774	ForceSendFields []string `json:"-"`
2775
2776	// NullFields is a list of field names (e.g. "EventName") to include in
2777	// API requests with the JSON null value. By default, fields with empty
2778	// values are omitted from API requests. However, any field with an
2779	// empty value appearing in NullFields will be sent to the server as
2780	// null. It is an error if a field in this list has a non-empty value.
2781	// This may be used to include null fields in Patch requests.
2782	NullFields []string `json:"-"`
2783}
2784
2785func (s *ClickTag) MarshalJSON() ([]byte, error) {
2786	type NoMethod ClickTag
2787	raw := NoMethod(*s)
2788	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2789}
2790
2791// ClickThroughUrl: Click-through URL
2792type ClickThroughUrl struct {
2793	// ComputedClickThroughUrl: Read-only convenience field representing the
2794	// actual URL that will be used for this click-through. The URL is
2795	// computed as follows:
2796	// - If defaultLandingPage is enabled then the campaign's default
2797	// landing page URL is assigned to this field.
2798	// - If defaultLandingPage is not enabled and a landingPageId is
2799	// specified then that landing page's URL is assigned to this field.
2800	// - If neither of the above cases apply, then the customClickThroughUrl
2801	// is assigned to this field.
2802	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
2803
2804	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
2805	// defaultLandingPage field is set to false and the landingPageId field
2806	// is left unset.
2807	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
2808
2809	// DefaultLandingPage: Whether the campaign default landing page is
2810	// used.
2811	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
2812
2813	// LandingPageId: ID of the landing page for the click-through URL.
2814	// Applicable if the defaultLandingPage field is set to false.
2815	LandingPageId int64 `json:"landingPageId,omitempty,string"`
2816
2817	// ForceSendFields is a list of field names (e.g.
2818	// "ComputedClickThroughUrl") to unconditionally include in API
2819	// requests. By default, fields with empty values are omitted from API
2820	// requests. However, any non-pointer, non-interface field appearing in
2821	// ForceSendFields will be sent to the server regardless of whether the
2822	// field is empty or not. This may be used to include empty fields in
2823	// Patch requests.
2824	ForceSendFields []string `json:"-"`
2825
2826	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
2827	// to include in API requests with the JSON null value. By default,
2828	// fields with empty values are omitted from API requests. However, any
2829	// field with an empty value appearing in NullFields will be sent to the
2830	// server as null. It is an error if a field in this list has a
2831	// non-empty value. This may be used to include null fields in Patch
2832	// requests.
2833	NullFields []string `json:"-"`
2834}
2835
2836func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
2837	type NoMethod ClickThroughUrl
2838	raw := NoMethod(*s)
2839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2840}
2841
2842// ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
2843type ClickThroughUrlSuffixProperties struct {
2844	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
2845	// in this entity's scope. Must be less than 128 characters long.
2846	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
2847
2848	// OverrideInheritedSuffix: Whether this entity should override the
2849	// inherited click-through URL suffix with its own defined value.
2850	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
2851
2852	// ForceSendFields is a list of field names (e.g.
2853	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
2854	// By default, fields with empty values are omitted from API requests.
2855	// However, any non-pointer, non-interface field appearing in
2856	// ForceSendFields will be sent to the server regardless of whether the
2857	// field is empty or not. This may be used to include empty fields in
2858	// Patch requests.
2859	ForceSendFields []string `json:"-"`
2860
2861	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
2862	// include in API requests with the JSON null value. By default, fields
2863	// with empty values are omitted from API requests. However, any field
2864	// with an empty value appearing in NullFields will be sent to the
2865	// server as null. It is an error if a field in this list has a
2866	// non-empty value. This may be used to include null fields in Patch
2867	// requests.
2868	NullFields []string `json:"-"`
2869}
2870
2871func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
2872	type NoMethod ClickThroughUrlSuffixProperties
2873	raw := NoMethod(*s)
2874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2875}
2876
2877// CompanionClickThroughOverride: Companion Click-through override.
2878type CompanionClickThroughOverride struct {
2879	// ClickThroughUrl: Click-through URL of this companion click-through
2880	// override.
2881	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
2882
2883	// CreativeId: ID of the creative for this companion click-through
2884	// override.
2885	CreativeId int64 `json:"creativeId,omitempty,string"`
2886
2887	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2888	// unconditionally include in API requests. By default, fields with
2889	// empty values are omitted from API requests. However, any non-pointer,
2890	// non-interface field appearing in ForceSendFields will be sent to the
2891	// server regardless of whether the field is empty or not. This may be
2892	// used to include empty fields in Patch requests.
2893	ForceSendFields []string `json:"-"`
2894
2895	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2896	// include in API requests with the JSON null value. By default, fields
2897	// with empty values are omitted from API requests. However, any field
2898	// with an empty value appearing in NullFields will be sent to the
2899	// server as null. It is an error if a field in this list has a
2900	// non-empty value. This may be used to include null fields in Patch
2901	// requests.
2902	NullFields []string `json:"-"`
2903}
2904
2905func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
2906	type NoMethod CompanionClickThroughOverride
2907	raw := NoMethod(*s)
2908	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2909}
2910
2911// CompanionSetting: Companion Settings
2912type CompanionSetting struct {
2913	// CompanionsDisabled: Whether companions are disabled for this
2914	// placement.
2915	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
2916
2917	// EnabledSizes: Whitelist of companion sizes to be served to this
2918	// placement. Set this list to null or empty to serve all companion
2919	// sizes.
2920	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
2921
2922	// ImageOnly: Whether to serve only static images as companions.
2923	ImageOnly bool `json:"imageOnly,omitempty"`
2924
2925	// Kind: Identifies what kind of resource this is. Value: the fixed
2926	// string "dfareporting#companionSetting".
2927	Kind string `json:"kind,omitempty"`
2928
2929	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
2930	// to unconditionally include in API requests. By default, fields with
2931	// empty values are omitted from API requests. However, any non-pointer,
2932	// non-interface field appearing in ForceSendFields will be sent to the
2933	// server regardless of whether the field is empty or not. This may be
2934	// used to include empty fields in Patch requests.
2935	ForceSendFields []string `json:"-"`
2936
2937	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
2938	// include in API requests with the JSON null value. By default, fields
2939	// with empty values are omitted from API requests. However, any field
2940	// with an empty value appearing in NullFields will be sent to the
2941	// server as null. It is an error if a field in this list has a
2942	// non-empty value. This may be used to include null fields in Patch
2943	// requests.
2944	NullFields []string `json:"-"`
2945}
2946
2947func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
2948	type NoMethod CompanionSetting
2949	raw := NoMethod(*s)
2950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2951}
2952
2953// CompatibleFields: Represents a response to the queryCompatibleFields
2954// method.
2955type CompatibleFields struct {
2956	// CrossDimensionReachReportCompatibleFields: Contains items that are
2957	// compatible to be selected for a report of type
2958	// "CROSS_DIMENSION_REACH".
2959	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
2960
2961	// FloodlightReportCompatibleFields: Contains items that are compatible
2962	// to be selected for a report of type "FLOODLIGHT".
2963	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
2964
2965	// Kind: The kind of resource this is, in this case
2966	// dfareporting#compatibleFields.
2967	Kind string `json:"kind,omitempty"`
2968
2969	// PathToConversionReportCompatibleFields: Contains items that are
2970	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
2971	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
2972
2973	// ReachReportCompatibleFields: Contains items that are compatible to be
2974	// selected for a report of type "REACH".
2975	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
2976
2977	// ReportCompatibleFields: Contains items that are compatible to be
2978	// selected for a report of type "STANDARD".
2979	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
2980
2981	// ServerResponse contains the HTTP response code and headers from the
2982	// server.
2983	googleapi.ServerResponse `json:"-"`
2984
2985	// ForceSendFields is a list of field names (e.g.
2986	// "CrossDimensionReachReportCompatibleFields") to unconditionally
2987	// include in API requests. By default, fields with empty values are
2988	// omitted from API requests. However, any non-pointer, non-interface
2989	// field appearing in ForceSendFields will be sent to the server
2990	// regardless of whether the field is empty or not. This may be used to
2991	// include empty fields in Patch requests.
2992	ForceSendFields []string `json:"-"`
2993
2994	// NullFields is a list of field names (e.g.
2995	// "CrossDimensionReachReportCompatibleFields") to include in API
2996	// requests with the JSON null value. By default, fields with empty
2997	// values are omitted from API requests. However, any field with an
2998	// empty value appearing in NullFields will be sent to the server as
2999	// null. It is an error if a field in this list has a non-empty value.
3000	// This may be used to include null fields in Patch requests.
3001	NullFields []string `json:"-"`
3002}
3003
3004func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
3005	type NoMethod CompatibleFields
3006	raw := NoMethod(*s)
3007	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3008}
3009
3010// ConnectionType: Contains information about an internet connection
3011// type that can be targeted by ads. Clients can use the connection type
3012// to target mobile vs. broadband users.
3013type ConnectionType struct {
3014	// Id: ID of this connection type.
3015	Id int64 `json:"id,omitempty,string"`
3016
3017	// Kind: Identifies what kind of resource this is. Value: the fixed
3018	// string "dfareporting#connectionType".
3019	Kind string `json:"kind,omitempty"`
3020
3021	// Name: Name of this connection type.
3022	Name string `json:"name,omitempty"`
3023
3024	// ServerResponse contains the HTTP response code and headers from the
3025	// server.
3026	googleapi.ServerResponse `json:"-"`
3027
3028	// ForceSendFields is a list of field names (e.g. "Id") to
3029	// unconditionally include in API requests. By default, fields with
3030	// empty values are omitted from API requests. However, any non-pointer,
3031	// non-interface field appearing in ForceSendFields will be sent to the
3032	// server regardless of whether the field is empty or not. This may be
3033	// used to include empty fields in Patch requests.
3034	ForceSendFields []string `json:"-"`
3035
3036	// NullFields is a list of field names (e.g. "Id") to include in API
3037	// requests with the JSON null value. By default, fields with empty
3038	// values are omitted from API requests. However, any field with an
3039	// empty value appearing in NullFields will be sent to the server as
3040	// null. It is an error if a field in this list has a non-empty value.
3041	// This may be used to include null fields in Patch requests.
3042	NullFields []string `json:"-"`
3043}
3044
3045func (s *ConnectionType) MarshalJSON() ([]byte, error) {
3046	type NoMethod ConnectionType
3047	raw := NoMethod(*s)
3048	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3049}
3050
3051// ConnectionTypesListResponse: Connection Type List Response
3052type ConnectionTypesListResponse struct {
3053	// ConnectionTypes: Collection of connection types such as broadband and
3054	// mobile.
3055	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
3056
3057	// Kind: Identifies what kind of resource this is. Value: the fixed
3058	// string "dfareporting#connectionTypesListResponse".
3059	Kind string `json:"kind,omitempty"`
3060
3061	// ServerResponse contains the HTTP response code and headers from the
3062	// server.
3063	googleapi.ServerResponse `json:"-"`
3064
3065	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
3066	// unconditionally include in API requests. By default, fields with
3067	// empty values are omitted from API requests. However, any non-pointer,
3068	// non-interface field appearing in ForceSendFields will be sent to the
3069	// server regardless of whether the field is empty or not. This may be
3070	// used to include empty fields in Patch requests.
3071	ForceSendFields []string `json:"-"`
3072
3073	// NullFields is a list of field names (e.g. "ConnectionTypes") to
3074	// include in API requests with the JSON null value. By default, fields
3075	// with empty values are omitted from API requests. However, any field
3076	// with an empty value appearing in NullFields will be sent to the
3077	// server as null. It is an error if a field in this list has a
3078	// non-empty value. This may be used to include null fields in Patch
3079	// requests.
3080	NullFields []string `json:"-"`
3081}
3082
3083func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
3084	type NoMethod ConnectionTypesListResponse
3085	raw := NoMethod(*s)
3086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3087}
3088
3089// ContentCategoriesListResponse: Content Category List Response
3090type ContentCategoriesListResponse struct {
3091	// ContentCategories: Content category collection.
3092	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
3093
3094	// Kind: Identifies what kind of resource this is. Value: the fixed
3095	// string "dfareporting#contentCategoriesListResponse".
3096	Kind string `json:"kind,omitempty"`
3097
3098	// NextPageToken: Pagination token to be used for the next list
3099	// operation.
3100	NextPageToken string `json:"nextPageToken,omitempty"`
3101
3102	// ServerResponse contains the HTTP response code and headers from the
3103	// server.
3104	googleapi.ServerResponse `json:"-"`
3105
3106	// ForceSendFields is a list of field names (e.g. "ContentCategories")
3107	// to unconditionally include in API requests. By default, fields with
3108	// empty values are omitted from API requests. However, any non-pointer,
3109	// non-interface field appearing in ForceSendFields will be sent to the
3110	// server regardless of whether the field is empty or not. This may be
3111	// used to include empty fields in Patch requests.
3112	ForceSendFields []string `json:"-"`
3113
3114	// NullFields is a list of field names (e.g. "ContentCategories") to
3115	// include in API requests with the JSON null value. By default, fields
3116	// with empty values are omitted from API requests. However, any field
3117	// with an empty value appearing in NullFields will be sent to the
3118	// server as null. It is an error if a field in this list has a
3119	// non-empty value. This may be used to include null fields in Patch
3120	// requests.
3121	NullFields []string `json:"-"`
3122}
3123
3124func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
3125	type NoMethod ContentCategoriesListResponse
3126	raw := NoMethod(*s)
3127	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3128}
3129
3130// ContentCategory: Organizes placements according to the contents of
3131// their associated webpages.
3132type ContentCategory struct {
3133	// AccountId: Account ID of this content category. This is a read-only
3134	// field that can be left blank.
3135	AccountId int64 `json:"accountId,omitempty,string"`
3136
3137	// Id: ID of this content category. This is a read-only, auto-generated
3138	// field.
3139	Id int64 `json:"id,omitempty,string"`
3140
3141	// Kind: Identifies what kind of resource this is. Value: the fixed
3142	// string "dfareporting#contentCategory".
3143	Kind string `json:"kind,omitempty"`
3144
3145	// Name: Name of this content category. This is a required field and
3146	// must be less than 256 characters long and unique among content
3147	// categories of the same account.
3148	Name string `json:"name,omitempty"`
3149
3150	// ServerResponse contains the HTTP response code and headers from the
3151	// server.
3152	googleapi.ServerResponse `json:"-"`
3153
3154	// ForceSendFields is a list of field names (e.g. "AccountId") to
3155	// unconditionally include in API requests. By default, fields with
3156	// empty values are omitted from API requests. However, any non-pointer,
3157	// non-interface field appearing in ForceSendFields will be sent to the
3158	// server regardless of whether the field is empty or not. This may be
3159	// used to include empty fields in Patch requests.
3160	ForceSendFields []string `json:"-"`
3161
3162	// NullFields is a list of field names (e.g. "AccountId") to include in
3163	// API requests with the JSON null value. By default, fields with empty
3164	// values are omitted from API requests. However, any field with an
3165	// empty value appearing in NullFields will be sent to the server as
3166	// null. It is an error if a field in this list has a non-empty value.
3167	// This may be used to include null fields in Patch requests.
3168	NullFields []string `json:"-"`
3169}
3170
3171func (s *ContentCategory) MarshalJSON() ([]byte, error) {
3172	type NoMethod ContentCategory
3173	raw := NoMethod(*s)
3174	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3175}
3176
3177// Conversion: A Conversion represents when a user successfully performs
3178// a desired action after seeing an ad.
3179type Conversion struct {
3180	// ChildDirectedTreatment: Whether the conversion was directed toward
3181	// children.
3182	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
3183
3184	// CustomVariables: Custom floodlight variables.
3185	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
3186
3187	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
3188	// encryptionInfo should also be specified. This field is mutually
3189	// exclusive with encryptedUserIdCandidates[] and mobileDeviceId. This
3190	// or encryptedUserIdCandidates[] or mobileDeviceId is a required field.
3191	EncryptedUserId string `json:"encryptedUserId,omitempty"`
3192
3193	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
3194	// IDs. Any user ID with exposure prior to the conversion timestamp will
3195	// be used in the inserted conversion. If no such user ID is found then
3196	// the conversion will be rejected with NO_COOKIE_MATCH_FOUND error.
3197	// When set, encryptionInfo should also be specified. This field should
3198	// only be used when calling conversions.batchinsert. This field is
3199	// mutually exclusive with encryptedUserId and mobileDeviceId. This or
3200	// encryptedUserId or mobileDeviceId is a required field.
3201	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
3202
3203	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
3204	// is a required field.
3205	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
3206
3207	// FloodlightConfigurationId: Floodlight Configuration ID of this
3208	// conversion. This is a required field.
3209	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
3210
3211	// Kind: Identifies what kind of resource this is. Value: the fixed
3212	// string "dfareporting#conversion".
3213	Kind string `json:"kind,omitempty"`
3214
3215	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
3216	// true, the conversion will be used for reporting but not targeting.
3217	// This will prevent remarketing.
3218	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
3219
3220	// MobileDeviceId: The mobile device ID. This field is mutually
3221	// exclusive with encryptedUserId and encryptedUserIdCandidates[]. This
3222	// or encryptedUserId or encryptedUserIdCandidates[] is a required
3223	// field.
3224	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
3225
3226	// Ordinal: The ordinal of the conversion. Use this field to control how
3227	// conversions of the same user and day are de-duplicated. This is a
3228	// required field.
3229	Ordinal string `json:"ordinal,omitempty"`
3230
3231	// Quantity: The quantity of the conversion.
3232	Quantity int64 `json:"quantity,omitempty,string"`
3233
3234	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
3235	// This is a required field.
3236	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
3237
3238	// Value: The value of the conversion.
3239	Value float64 `json:"value,omitempty"`
3240
3241	// ForceSendFields is a list of field names (e.g.
3242	// "ChildDirectedTreatment") to unconditionally include in API requests.
3243	// By default, fields with empty values are omitted from API requests.
3244	// However, any non-pointer, non-interface field appearing in
3245	// ForceSendFields will be sent to the server regardless of whether the
3246	// field is empty or not. This may be used to include empty fields in
3247	// Patch requests.
3248	ForceSendFields []string `json:"-"`
3249
3250	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
3251	// to include in API requests with the JSON null value. By default,
3252	// fields with empty values are omitted from API requests. However, any
3253	// field with an empty value appearing in NullFields will be sent to the
3254	// server as null. It is an error if a field in this list has a
3255	// non-empty value. This may be used to include null fields in Patch
3256	// requests.
3257	NullFields []string `json:"-"`
3258}
3259
3260func (s *Conversion) MarshalJSON() ([]byte, error) {
3261	type NoMethod Conversion
3262	raw := NoMethod(*s)
3263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3264}
3265
3266func (s *Conversion) UnmarshalJSON(data []byte) error {
3267	type NoMethod Conversion
3268	var s1 struct {
3269		Value gensupport.JSONFloat64 `json:"value"`
3270		*NoMethod
3271	}
3272	s1.NoMethod = (*NoMethod)(s)
3273	if err := json.Unmarshal(data, &s1); err != nil {
3274		return err
3275	}
3276	s.Value = float64(s1.Value)
3277	return nil
3278}
3279
3280// ConversionError: The error code and description for a conversion that
3281// failed to insert or update.
3282type ConversionError struct {
3283	// Code: The error code.
3284	//
3285	// Possible values:
3286	//   "INTERNAL"
3287	//   "INVALID_ARGUMENT"
3288	//   "NOT_FOUND"
3289	//   "PERMISSION_DENIED"
3290	Code string `json:"code,omitempty"`
3291
3292	// Kind: Identifies what kind of resource this is. Value: the fixed
3293	// string "dfareporting#conversionError".
3294	Kind string `json:"kind,omitempty"`
3295
3296	// Message: A description of the error.
3297	Message string `json:"message,omitempty"`
3298
3299	// ForceSendFields is a list of field names (e.g. "Code") to
3300	// unconditionally include in API requests. By default, fields with
3301	// empty values are omitted from API requests. However, any non-pointer,
3302	// non-interface field appearing in ForceSendFields will be sent to the
3303	// server regardless of whether the field is empty or not. This may be
3304	// used to include empty fields in Patch requests.
3305	ForceSendFields []string `json:"-"`
3306
3307	// NullFields is a list of field names (e.g. "Code") to include in API
3308	// requests with the JSON null value. By default, fields with empty
3309	// values are omitted from API requests. However, any field with an
3310	// empty value appearing in NullFields will be sent to the server as
3311	// null. It is an error if a field in this list has a non-empty value.
3312	// This may be used to include null fields in Patch requests.
3313	NullFields []string `json:"-"`
3314}
3315
3316func (s *ConversionError) MarshalJSON() ([]byte, error) {
3317	type NoMethod ConversionError
3318	raw := NoMethod(*s)
3319	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3320}
3321
3322// ConversionStatus: The original conversion that was inserted or
3323// updated and whether there were any errors.
3324type ConversionStatus struct {
3325	// Conversion: The original conversion that was inserted or updated.
3326	Conversion *Conversion `json:"conversion,omitempty"`
3327
3328	// Errors: A list of errors related to this conversion.
3329	Errors []*ConversionError `json:"errors,omitempty"`
3330
3331	// Kind: Identifies what kind of resource this is. Value: the fixed
3332	// string "dfareporting#conversionStatus".
3333	Kind string `json:"kind,omitempty"`
3334
3335	// ForceSendFields is a list of field names (e.g. "Conversion") to
3336	// unconditionally include in API requests. By default, fields with
3337	// empty values are omitted from API requests. However, any non-pointer,
3338	// non-interface field appearing in ForceSendFields will be sent to the
3339	// server regardless of whether the field is empty or not. This may be
3340	// used to include empty fields in Patch requests.
3341	ForceSendFields []string `json:"-"`
3342
3343	// NullFields is a list of field names (e.g. "Conversion") to include in
3344	// API requests with the JSON null value. By default, fields with empty
3345	// values are omitted from API requests. However, any field with an
3346	// empty value appearing in NullFields will be sent to the server as
3347	// null. It is an error if a field in this list has a non-empty value.
3348	// This may be used to include null fields in Patch requests.
3349	NullFields []string `json:"-"`
3350}
3351
3352func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
3353	type NoMethod ConversionStatus
3354	raw := NoMethod(*s)
3355	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3356}
3357
3358// ConversionsBatchInsertRequest: Insert Conversions Request.
3359type ConversionsBatchInsertRequest struct {
3360	// Conversions: The set of conversions to insert.
3361	Conversions []*Conversion `json:"conversions,omitempty"`
3362
3363	// EncryptionInfo: Describes how encryptedUserId or
3364	// encryptedUserIdCandidates[] is encrypted. This is a required field if
3365	// encryptedUserId or encryptedUserIdCandidates[] is used.
3366	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3367
3368	// Kind: Identifies what kind of resource this is. Value: the fixed
3369	// string "dfareporting#conversionsBatchInsertRequest".
3370	Kind string `json:"kind,omitempty"`
3371
3372	// ForceSendFields is a list of field names (e.g. "Conversions") to
3373	// unconditionally include in API requests. By default, fields with
3374	// empty values are omitted from API requests. However, any non-pointer,
3375	// non-interface field appearing in ForceSendFields will be sent to the
3376	// server regardless of whether the field is empty or not. This may be
3377	// used to include empty fields in Patch requests.
3378	ForceSendFields []string `json:"-"`
3379
3380	// NullFields is a list of field names (e.g. "Conversions") to include
3381	// in API requests with the JSON null value. By default, fields with
3382	// empty values are omitted from API requests. However, any field with
3383	// an empty value appearing in NullFields will be sent to the server as
3384	// null. It is an error if a field in this list has a non-empty value.
3385	// This may be used to include null fields in Patch requests.
3386	NullFields []string `json:"-"`
3387}
3388
3389func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
3390	type NoMethod ConversionsBatchInsertRequest
3391	raw := NoMethod(*s)
3392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3393}
3394
3395// ConversionsBatchInsertResponse: Insert Conversions Response.
3396type ConversionsBatchInsertResponse struct {
3397	// HasFailures: Indicates that some or all conversions failed to insert.
3398	HasFailures bool `json:"hasFailures,omitempty"`
3399
3400	// Kind: Identifies what kind of resource this is. Value: the fixed
3401	// string "dfareporting#conversionsBatchInsertResponse".
3402	Kind string `json:"kind,omitempty"`
3403
3404	// Status: The insert status of each conversion. Statuses are returned
3405	// in the same order that conversions are inserted.
3406	Status []*ConversionStatus `json:"status,omitempty"`
3407
3408	// ServerResponse contains the HTTP response code and headers from the
3409	// server.
3410	googleapi.ServerResponse `json:"-"`
3411
3412	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3413	// unconditionally include in API requests. By default, fields with
3414	// empty values are omitted from API requests. However, any non-pointer,
3415	// non-interface field appearing in ForceSendFields will be sent to the
3416	// server regardless of whether the field is empty or not. This may be
3417	// used to include empty fields in Patch requests.
3418	ForceSendFields []string `json:"-"`
3419
3420	// NullFields is a list of field names (e.g. "HasFailures") to include
3421	// in API requests with the JSON null value. By default, fields with
3422	// empty values are omitted from API requests. However, any field with
3423	// an empty value appearing in NullFields will be sent to the server as
3424	// null. It is an error if a field in this list has a non-empty value.
3425	// This may be used to include null fields in Patch requests.
3426	NullFields []string `json:"-"`
3427}
3428
3429func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
3430	type NoMethod ConversionsBatchInsertResponse
3431	raw := NoMethod(*s)
3432	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3433}
3434
3435// CountriesListResponse: Country List Response
3436type CountriesListResponse struct {
3437	// Countries: Country collection.
3438	Countries []*Country `json:"countries,omitempty"`
3439
3440	// Kind: Identifies what kind of resource this is. Value: the fixed
3441	// string "dfareporting#countriesListResponse".
3442	Kind string `json:"kind,omitempty"`
3443
3444	// ServerResponse contains the HTTP response code and headers from the
3445	// server.
3446	googleapi.ServerResponse `json:"-"`
3447
3448	// ForceSendFields is a list of field names (e.g. "Countries") to
3449	// unconditionally include in API requests. By default, fields with
3450	// empty values are omitted from API requests. However, any non-pointer,
3451	// non-interface field appearing in ForceSendFields will be sent to the
3452	// server regardless of whether the field is empty or not. This may be
3453	// used to include empty fields in Patch requests.
3454	ForceSendFields []string `json:"-"`
3455
3456	// NullFields is a list of field names (e.g. "Countries") to include in
3457	// API requests with the JSON null value. By default, fields with empty
3458	// values are omitted from API requests. However, any field with an
3459	// empty value appearing in NullFields will be sent to the server as
3460	// null. It is an error if a field in this list has a non-empty value.
3461	// This may be used to include null fields in Patch requests.
3462	NullFields []string `json:"-"`
3463}
3464
3465func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
3466	type NoMethod CountriesListResponse
3467	raw := NoMethod(*s)
3468	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3469}
3470
3471// Country: Contains information about a country that can be targeted by
3472// ads.
3473type Country struct {
3474	// CountryCode: Country code.
3475	CountryCode string `json:"countryCode,omitempty"`
3476
3477	// DartId: DART ID of this country. This is the ID used for targeting
3478	// and generating reports.
3479	DartId int64 `json:"dartId,omitempty,string"`
3480
3481	// Kind: Identifies what kind of resource this is. Value: the fixed
3482	// string "dfareporting#country".
3483	Kind string `json:"kind,omitempty"`
3484
3485	// Name: Name of this country.
3486	Name string `json:"name,omitempty"`
3487
3488	// SslEnabled: Whether ad serving supports secure servers in this
3489	// country.
3490	SslEnabled bool `json:"sslEnabled,omitempty"`
3491
3492	// ServerResponse contains the HTTP response code and headers from the
3493	// server.
3494	googleapi.ServerResponse `json:"-"`
3495
3496	// ForceSendFields is a list of field names (e.g. "CountryCode") to
3497	// unconditionally include in API requests. By default, fields with
3498	// empty values are omitted from API requests. However, any non-pointer,
3499	// non-interface field appearing in ForceSendFields will be sent to the
3500	// server regardless of whether the field is empty or not. This may be
3501	// used to include empty fields in Patch requests.
3502	ForceSendFields []string `json:"-"`
3503
3504	// NullFields is a list of field names (e.g. "CountryCode") to include
3505	// in API requests with the JSON null value. By default, fields with
3506	// empty values are omitted from API requests. However, any field with
3507	// an empty value appearing in NullFields will be sent to the server as
3508	// null. It is an error if a field in this list has a non-empty value.
3509	// This may be used to include null fields in Patch requests.
3510	NullFields []string `json:"-"`
3511}
3512
3513func (s *Country) MarshalJSON() ([]byte, error) {
3514	type NoMethod Country
3515	raw := NoMethod(*s)
3516	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3517}
3518
3519// Creative: Contains properties of a Creative.
3520type Creative struct {
3521	// AccountId: Account ID of this creative. This field, if left unset,
3522	// will be auto-generated for both insert and update operations.
3523	// Applicable to all creative types.
3524	AccountId int64 `json:"accountId,omitempty,string"`
3525
3526	// Active: Whether the creative is active. Applicable to all creative
3527	// types.
3528	Active bool `json:"active,omitempty"`
3529
3530	// AdParameters: Ad parameters user for VPAID creative. This is a
3531	// read-only field. Applicable to the following creative types: all
3532	// VPAID.
3533	AdParameters string `json:"adParameters,omitempty"`
3534
3535	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
3536	// customize the creative settings of a Rich Media ad running on your
3537	// site without having to contact the advertiser. You can use keywords
3538	// to dynamically change the look or functionality of a creative.
3539	// Applicable to the following creative types: all RICH_MEDIA, and all
3540	// VPAID.
3541	AdTagKeys []string `json:"adTagKeys,omitempty"`
3542
3543	// AdvertiserId: Advertiser ID of this creative. This is a required
3544	// field. Applicable to all creative types.
3545	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3546
3547	// AllowScriptAccess: Whether script access is allowed for this
3548	// creative. This is a read-only and deprecated field which will
3549	// automatically be set to true on update. Applicable to the following
3550	// creative types: FLASH_INPAGE.
3551	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
3552
3553	// Archived: Whether the creative is archived. Applicable to all
3554	// creative types.
3555	Archived bool `json:"archived,omitempty"`
3556
3557	// ArtworkType: Type of artwork used for the creative. This is a
3558	// read-only field. Applicable to the following creative types: all
3559	// RICH_MEDIA, and all VPAID.
3560	//
3561	// Possible values:
3562	//   "ARTWORK_TYPE_FLASH"
3563	//   "ARTWORK_TYPE_HTML5"
3564	//   "ARTWORK_TYPE_IMAGE"
3565	//   "ARTWORK_TYPE_MIXED"
3566	ArtworkType string `json:"artworkType,omitempty"`
3567
3568	// AuthoringSource: Source application where creative was authored.
3569	// Presently, only DBM authored creatives will have this field set.
3570	// Applicable to all creative types.
3571	//
3572	// Possible values:
3573	//   "CREATIVE_AUTHORING_SOURCE_DBM"
3574	//   "CREATIVE_AUTHORING_SOURCE_DCM"
3575	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
3576	AuthoringSource string `json:"authoringSource,omitempty"`
3577
3578	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
3579	// read-only field. Applicable to the following creative types:
3580	// HTML5_BANNER.
3581	//
3582	// Possible values:
3583	//   "NINJA"
3584	//   "SWIFFY"
3585	AuthoringTool string `json:"authoringTool,omitempty"`
3586
3587	// AutoAdvanceImages: Whether images are automatically advanced for
3588	// image gallery creatives. Applicable to the following creative types:
3589	// DISPLAY_IMAGE_GALLERY.
3590	AutoAdvanceImages bool `json:"auto_advance_images,omitempty"`
3591
3592	// BackgroundColor: The 6-character HTML color code, beginning with #,
3593	// for the background of the window area where the Flash file is
3594	// displayed. Default is white. Applicable to the following creative
3595	// types: FLASH_INPAGE.
3596	BackgroundColor string `json:"backgroundColor,omitempty"`
3597
3598	// BackupImageClickThroughUrl: Click-through URL for backup image.
3599	// Applicable to the following creative types: FLASH_INPAGE, and
3600	// HTML5_BANNER. Applicable to DISPLAY when the primary asset type is
3601	// not HTML_IMAGE.
3602	BackupImageClickThroughUrl string `json:"backupImageClickThroughUrl,omitempty"`
3603
3604	// BackupImageFeatures: List of feature dependencies that will cause a
3605	// backup image to be served if the browser that serves the ad does not
3606	// support them. Feature dependencies are features that a browser must
3607	// be able to support in order to render your HTML5 creative asset
3608	// correctly. This field is initially auto-generated to contain all
3609	// features detected by DCM for all the assets of this creative and can
3610	// then be modified by the client. To reset this field, copy over all
3611	// the creativeAssets' detected features. Applicable to the following
3612	// creative types: HTML5_BANNER. Applicable to DISPLAY when the primary
3613	// asset type is not HTML_IMAGE.
3614	//
3615	// Possible values:
3616	//   "APPLICATION_CACHE"
3617	//   "AUDIO"
3618	//   "CANVAS"
3619	//   "CANVAS_TEXT"
3620	//   "CSS_ANIMATIONS"
3621	//   "CSS_BACKGROUND_SIZE"
3622	//   "CSS_BORDER_IMAGE"
3623	//   "CSS_BORDER_RADIUS"
3624	//   "CSS_BOX_SHADOW"
3625	//   "CSS_COLUMNS"
3626	//   "CSS_FLEX_BOX"
3627	//   "CSS_FONT_FACE"
3628	//   "CSS_GENERATED_CONTENT"
3629	//   "CSS_GRADIENTS"
3630	//   "CSS_HSLA"
3631	//   "CSS_MULTIPLE_BGS"
3632	//   "CSS_OPACITY"
3633	//   "CSS_REFLECTIONS"
3634	//   "CSS_RGBA"
3635	//   "CSS_TEXT_SHADOW"
3636	//   "CSS_TRANSFORMS"
3637	//   "CSS_TRANSFORMS3D"
3638	//   "CSS_TRANSITIONS"
3639	//   "DRAG_AND_DROP"
3640	//   "GEO_LOCATION"
3641	//   "HASH_CHANGE"
3642	//   "HISTORY"
3643	//   "INDEXED_DB"
3644	//   "INLINE_SVG"
3645	//   "INPUT_ATTR_AUTOCOMPLETE"
3646	//   "INPUT_ATTR_AUTOFOCUS"
3647	//   "INPUT_ATTR_LIST"
3648	//   "INPUT_ATTR_MAX"
3649	//   "INPUT_ATTR_MIN"
3650	//   "INPUT_ATTR_MULTIPLE"
3651	//   "INPUT_ATTR_PATTERN"
3652	//   "INPUT_ATTR_PLACEHOLDER"
3653	//   "INPUT_ATTR_REQUIRED"
3654	//   "INPUT_ATTR_STEP"
3655	//   "INPUT_TYPE_COLOR"
3656	//   "INPUT_TYPE_DATE"
3657	//   "INPUT_TYPE_DATETIME"
3658	//   "INPUT_TYPE_DATETIME_LOCAL"
3659	//   "INPUT_TYPE_EMAIL"
3660	//   "INPUT_TYPE_MONTH"
3661	//   "INPUT_TYPE_NUMBER"
3662	//   "INPUT_TYPE_RANGE"
3663	//   "INPUT_TYPE_SEARCH"
3664	//   "INPUT_TYPE_TEL"
3665	//   "INPUT_TYPE_TIME"
3666	//   "INPUT_TYPE_URL"
3667	//   "INPUT_TYPE_WEEK"
3668	//   "LOCAL_STORAGE"
3669	//   "POST_MESSAGE"
3670	//   "SESSION_STORAGE"
3671	//   "SMIL"
3672	//   "SVG_CLIP_PATHS"
3673	//   "SVG_FE_IMAGE"
3674	//   "SVG_FILTERS"
3675	//   "SVG_HREF"
3676	//   "TOUCH"
3677	//   "VIDEO"
3678	//   "WEBGL"
3679	//   "WEB_SOCKETS"
3680	//   "WEB_SQL_DATABASE"
3681	//   "WEB_WORKERS"
3682	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
3683
3684	// BackupImageReportingLabel: Reporting label used for HTML5 banner
3685	// backup image. Applicable to the following creative types: DISPLAY
3686	// when the primary asset type is not HTML_IMAGE.
3687	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
3688
3689	// BackupImageTargetWindow: Target window for backup image. Applicable
3690	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
3691	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
3692	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
3693
3694	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
3695	// HTML5_BANNER creatives, this is a subset of detected click tags for
3696	// the assets associated with this creative. After creating a flash
3697	// asset, detected click tags will be returned in the
3698	// creativeAssetMetadata. When inserting the creative, populate the
3699	// creative clickTags field using the creativeAssetMetadata.clickTags
3700	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
3701	// one entry in this list for each image creative asset. A click tag is
3702	// matched with a corresponding creative asset by matching the
3703	// clickTag.name field with the creativeAsset.assetIdentifier.name
3704	// field. Applicable to the following creative types:
3705	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
3706	// DISPLAY when the primary asset type is not HTML_IMAGE.
3707	ClickTags []*ClickTag `json:"clickTags,omitempty"`
3708
3709	// CommercialId: Industry standard ID assigned to creative for reach and
3710	// frequency. Applicable to the following creative types: all
3711	// INSTREAM_VIDEO and all VPAID.
3712	CommercialId string `json:"commercialId,omitempty"`
3713
3714	// CompanionCreatives: List of companion creatives assigned to an
3715	// in-Stream videocreative. Acceptable values include IDs of existing
3716	// flash and image creatives. Applicable to the following creative
3717	// types: all VPAID and all INSTREAM_VIDEO with dynamicAssetSelection
3718	// set to false.
3719	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
3720
3721	// Compatibility: Compatibilities associated with this creative. This is
3722	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
3723	// rendering either on desktop or on mobile devices or in mobile apps
3724	// for regular or interstitial ads, respectively. APP and
3725	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
3726	// creatives may have these compatibilities since new creatives will
3727	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
3728	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
3729	// with the VAST standard. Applicable to all creative types.
3730	//
3731	// Acceptable values are:
3732	// - "APP"
3733	// - "APP_INTERSTITIAL"
3734	// - "IN_STREAM_VIDEO"
3735	// - "DISPLAY"
3736	// - "DISPLAY_INTERSTITIAL"
3737	//
3738	// Possible values:
3739	//   "APP"
3740	//   "APP_INTERSTITIAL"
3741	//   "DISPLAY"
3742	//   "DISPLAY_INTERSTITIAL"
3743	//   "IN_STREAM_VIDEO"
3744	Compatibility []string `json:"compatibility,omitempty"`
3745
3746	// ConvertFlashToHtml5: Whether Flash assets associated with the
3747	// creative need to be automatically converted to HTML5. This flag is
3748	// enabled by default and users can choose to disable it if they don't
3749	// want the system to generate and use HTML5 asset for this creative.
3750	// Applicable to the following creative type: FLASH_INPAGE. Applicable
3751	// to DISPLAY when the primary asset type is not HTML_IMAGE.
3752	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
3753
3754	// CounterCustomEvents: List of counter events configured for the
3755	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
3756	// and auto-generated from clickTags. Applicable to the following
3757	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
3758	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
3759
3760	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
3761	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
3762
3763	// CreativeAssets: Assets associated with a creative. Applicable to all
3764	// but the following creative types: INTERNAL_REDIRECT,
3765	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
3766	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
3767
3768	// CreativeFieldAssignments: Creative field assignments for this
3769	// creative. Applicable to all creative types.
3770	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
3771
3772	// CustomKeyValues: Custom key-values for a Rich Media creative.
3773	// Key-values let you customize the creative settings of a Rich Media ad
3774	// running on your site without having to contact the advertiser. You
3775	// can use key-values to dynamically change the look or functionality of
3776	// a creative. Applicable to the following creative types: all
3777	// RICH_MEDIA, and all VPAID.
3778	CustomKeyValues []string `json:"customKeyValues,omitempty"`
3779
3780	// DynamicAssetSelection: Set this to true to enable the use of rules to
3781	// target individual assets in this creative. When set to true
3782	// creativeAssetSelection must be set. This also controls asset-level
3783	// companions. When this is true, companion creatives should be assigned
3784	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
3785	// creatives.
3786	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
3787
3788	// ExitCustomEvents: List of exit events configured for the creative.
3789	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
3790	// and auto-generated from clickTags, For DISPLAY, an event is also
3791	// created from the backupImageReportingLabel. Applicable to the
3792	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
3793	// all VPAID. Applicable to DISPLAY when the primary asset type is not
3794	// HTML_IMAGE.
3795	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
3796
3797	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
3798	// file communicate with either Flash Player or the program hosting
3799	// Flash Player, such as a web browser. This is only triggered if
3800	// allowScriptAccess field is true. Applicable to the following creative
3801	// types: FLASH_INPAGE.
3802	FsCommand *FsCommand `json:"fsCommand,omitempty"`
3803
3804	// HtmlCode: HTML code for the creative. This is a required field when
3805	// applicable. This field is ignored if htmlCodeLocked is true.
3806	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
3807	// and HTML5_BANNER, and all RICH_MEDIA.
3808	HtmlCode string `json:"htmlCode,omitempty"`
3809
3810	// HtmlCodeLocked: Whether HTML code is DCM-generated or manually
3811	// entered. Set to true to ignore changes to htmlCode. Applicable to the
3812	// following creative types: FLASH_INPAGE and HTML5_BANNER.
3813	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
3814
3815	// Id: ID of this creative. This is a read-only, auto-generated field.
3816	// Applicable to all creative types.
3817	Id int64 `json:"id,omitempty,string"`
3818
3819	// IdDimensionValue: Dimension value for the ID of this creative. This
3820	// is a read-only field. Applicable to all creative types.
3821	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
3822
3823	// Kind: Identifies what kind of resource this is. Value: the fixed
3824	// string "dfareporting#creative".
3825	Kind string `json:"kind,omitempty"`
3826
3827	// LastModifiedInfo: Creative last modification information. This is a
3828	// read-only field. Applicable to all creative types.
3829	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
3830
3831	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
3832	// associated with rich media and VPAID creatives. This is a read-only
3833	// field. Applicable to the following creative types: all RICH_MEDIA,
3834	// and all VPAID.
3835	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
3836
3837	// Name: Name of the creative. This is a required field and must be less
3838	// than 256 characters long. Applicable to all creative types.
3839	Name string `json:"name,omitempty"`
3840
3841	// OverrideCss: Override CSS value for rich media creatives. Applicable
3842	// to the following creative types: all RICH_MEDIA.
3843	OverrideCss string `json:"overrideCss,omitempty"`
3844
3845	// ProgressOffset: Amount of time to play the video before counting a
3846	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
3847	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
3848
3849	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
3850	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
3851	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
3852	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
3853	// This is a required field when applicable. Applicable to the following
3854	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
3855	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
3856	RedirectUrl string `json:"redirectUrl,omitempty"`
3857
3858	// RenderingId: ID of current rendering version. This is a read-only
3859	// field. Applicable to all creative types.
3860	RenderingId int64 `json:"renderingId,omitempty,string"`
3861
3862	// RenderingIdDimensionValue: Dimension value for the rendering ID of
3863	// this creative. This is a read-only field. Applicable to all creative
3864	// types.
3865	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
3866
3867	// RequiredFlashPluginVersion: The minimum required Flash plugin version
3868	// for this creative. For example, 11.2.202.235. This is a read-only
3869	// field. Applicable to the following creative types: all RICH_MEDIA,
3870	// and all VPAID.
3871	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
3872
3873	// RequiredFlashVersion: The internal Flash version for this creative as
3874	// calculated by DoubleClick Studio. This is a read-only field.
3875	// Applicable to the following creative types: FLASH_INPAGE all
3876	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
3877	// asset type is not HTML_IMAGE.
3878	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
3879
3880	// Size: Size associated with this creative. When inserting or updating
3881	// a creative either the size ID field or size width and height fields
3882	// can be used. This is a required field when applicable; however for
3883	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
3884	// primary asset of type HTML_IMAGE, if left blank, this field will be
3885	// automatically set using the actual size of the associated image
3886	// assets. Applicable to the following creative types: DISPLAY,
3887	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
3888	// RICH_MEDIA.
3889	Size *Size `json:"size,omitempty"`
3890
3891	// SkipOffset: Amount of time to play the video before the skip button
3892	// appears. Applicable to the following creative types: all
3893	// INSTREAM_VIDEO.
3894	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
3895
3896	// Skippable: Whether the user can choose to skip the creative.
3897	// Applicable to the following creative types: all INSTREAM_VIDEO and
3898	// all VPAID.
3899	Skippable bool `json:"skippable,omitempty"`
3900
3901	// SslCompliant: Whether the creative is SSL-compliant. This is a
3902	// read-only field. Applicable to all creative types.
3903	SslCompliant bool `json:"sslCompliant,omitempty"`
3904
3905	// SslOverride: Whether creative should be treated as SSL compliant even
3906	// if the system scan shows it's not. Applicable to all creative types.
3907	SslOverride bool `json:"sslOverride,omitempty"`
3908
3909	// StudioAdvertiserId: Studio advertiser ID associated with rich media
3910	// and VPAID creatives. This is a read-only field. Applicable to the
3911	// following creative types: all RICH_MEDIA, and all VPAID.
3912	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
3913
3914	// StudioCreativeId: Studio creative ID associated with rich media and
3915	// VPAID creatives. This is a read-only field. Applicable to the
3916	// following creative types: all RICH_MEDIA, and all VPAID.
3917	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
3918
3919	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
3920	// with rich media and VPAID creatives. This is a read-only field.
3921	// Applicable to the following creative types: all RICH_MEDIA, and all
3922	// VPAID.
3923	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
3924
3925	// SubaccountId: Subaccount ID of this creative. This field, if left
3926	// unset, will be auto-generated for both insert and update operations.
3927	// Applicable to all creative types.
3928	SubaccountId int64 `json:"subaccountId,omitempty,string"`
3929
3930	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
3931	// backup image impressions. Applicable to the following creative types:
3932	// all RICH_MEDIA.
3933	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
3934
3935	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
3936	// rich media impressions. Applicable to the following creative types:
3937	// all RICH_MEDIA.
3938	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
3939
3940	// ThirdPartyUrls: Third-party URLs for tracking in-stream video
3941	// creative events. Applicable to the following creative types: all
3942	// INSTREAM_VIDEO and all VPAID.
3943	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
3944
3945	// TimerCustomEvents: List of timer events configured for the creative.
3946	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
3947	// auto-generated from clickTags. Applicable to the following creative
3948	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
3949	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
3950	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
3951
3952	// TotalFileSize: Combined size of all creative assets. This is a
3953	// read-only field. Applicable to the following creative types: all
3954	// RICH_MEDIA, and all VPAID.
3955	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
3956
3957	// Type: Type of this creative. This is a required field. Applicable to
3958	// all creative types.
3959	//
3960	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
3961	// existing creatives. New creatives should use DISPLAY as a replacement
3962	// for these types.
3963	//
3964	// Possible values:
3965	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
3966	//   "CUSTOM_DISPLAY"
3967	//   "CUSTOM_DISPLAY_INTERSTITIAL"
3968	//   "DISPLAY"
3969	//   "DISPLAY_IMAGE_GALLERY"
3970	//   "DISPLAY_REDIRECT"
3971	//   "FLASH_INPAGE"
3972	//   "HTML5_BANNER"
3973	//   "IMAGE"
3974	//   "INSTREAM_VIDEO"
3975	//   "INSTREAM_VIDEO_REDIRECT"
3976	//   "INTERNAL_REDIRECT"
3977	//   "INTERSTITIAL_INTERNAL_REDIRECT"
3978	//   "RICH_MEDIA_DISPLAY_BANNER"
3979	//   "RICH_MEDIA_DISPLAY_EXPANDING"
3980	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
3981	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
3982	//   "RICH_MEDIA_IM_EXPAND"
3983	//   "RICH_MEDIA_INPAGE_FLOATING"
3984	//   "RICH_MEDIA_MOBILE_IN_APP"
3985	//   "RICH_MEDIA_PEEL_DOWN"
3986	//   "TRACKING_TEXT"
3987	//   "VPAID_LINEAR_VIDEO"
3988	//   "VPAID_NON_LINEAR_VIDEO"
3989	Type string `json:"type,omitempty"`
3990
3991	// Version: The version number helps you keep track of multiple versions
3992	// of your creative in your reports. The version number will always be
3993	// auto-generated during insert operations to start at 1. For tracking
3994	// creatives the version cannot be incremented and will always remain at
3995	// 1. For all other creative types the version can be incremented only
3996	// by 1 during update operations. In addition, the version will be
3997	// automatically incremented by 1 when undergoing Rich Media creative
3998	// merging. Applicable to all creative types.
3999	Version int64 `json:"version,omitempty"`
4000
4001	// VideoDescription: Description of the video ad. Applicable to the
4002	// following creative types: all INSTREAM_VIDEO and all VPAID.
4003	VideoDescription string `json:"videoDescription,omitempty"`
4004
4005	// VideoDuration: Creative video duration in seconds. This is a
4006	// read-only field. Applicable to the following creative types:
4007	// INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
4008	VideoDuration float64 `json:"videoDuration,omitempty"`
4009
4010	// ServerResponse contains the HTTP response code and headers from the
4011	// server.
4012	googleapi.ServerResponse `json:"-"`
4013
4014	// ForceSendFields is a list of field names (e.g. "AccountId") to
4015	// unconditionally include in API requests. By default, fields with
4016	// empty values are omitted from API requests. However, any non-pointer,
4017	// non-interface field appearing in ForceSendFields will be sent to the
4018	// server regardless of whether the field is empty or not. This may be
4019	// used to include empty fields in Patch requests.
4020	ForceSendFields []string `json:"-"`
4021
4022	// NullFields is a list of field names (e.g. "AccountId") to include in
4023	// API requests with the JSON null value. By default, fields with empty
4024	// values are omitted from API requests. However, any field with an
4025	// empty value appearing in NullFields will be sent to the server as
4026	// null. It is an error if a field in this list has a non-empty value.
4027	// This may be used to include null fields in Patch requests.
4028	NullFields []string `json:"-"`
4029}
4030
4031func (s *Creative) MarshalJSON() ([]byte, error) {
4032	type NoMethod Creative
4033	raw := NoMethod(*s)
4034	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4035}
4036
4037func (s *Creative) UnmarshalJSON(data []byte) error {
4038	type NoMethod Creative
4039	var s1 struct {
4040		VideoDuration gensupport.JSONFloat64 `json:"videoDuration"`
4041		*NoMethod
4042	}
4043	s1.NoMethod = (*NoMethod)(s)
4044	if err := json.Unmarshal(data, &s1); err != nil {
4045		return err
4046	}
4047	s.VideoDuration = float64(s1.VideoDuration)
4048	return nil
4049}
4050
4051// CreativeAsset: Creative Asset.
4052type CreativeAsset struct {
4053	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
4054	// This is a read-only field. Applicable to the following creative type:
4055	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
4056	// not HTML_IMAGE.
4057	ActionScript3 bool `json:"actionScript3,omitempty"`
4058
4059	// Active: Whether the video asset is active. This is a read-only field
4060	// for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following
4061	// creative types: INSTREAM_VIDEO and all VPAID.
4062	Active bool `json:"active,omitempty"`
4063
4064	// Alignment: Possible alignments for an asset. This is a read-only
4065	// field. Applicable to the following creative types:
4066	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
4067	//
4068	// Possible values:
4069	//   "ALIGNMENT_BOTTOM"
4070	//   "ALIGNMENT_LEFT"
4071	//   "ALIGNMENT_RIGHT"
4072	//   "ALIGNMENT_TOP"
4073	Alignment string `json:"alignment,omitempty"`
4074
4075	// ArtworkType: Artwork type of rich media creative. This is a read-only
4076	// field. Applicable to the following creative types: all RICH_MEDIA.
4077	//
4078	// Possible values:
4079	//   "ARTWORK_TYPE_FLASH"
4080	//   "ARTWORK_TYPE_HTML5"
4081	//   "ARTWORK_TYPE_IMAGE"
4082	//   "ARTWORK_TYPE_MIXED"
4083	ArtworkType string `json:"artworkType,omitempty"`
4084
4085	// AssetIdentifier: Identifier of this asset. This is the same
4086	// identifier returned during creative asset insert operation. This is a
4087	// required field. Applicable to all but the following creative types:
4088	// all REDIRECT and TRACKING_TEXT.
4089	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4090
4091	// BackupImageExit: Exit event configured for the backup image.
4092	// Applicable to the following creative types: all RICH_MEDIA.
4093	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
4094
4095	// BitRate: Detected bit-rate for video asset. This is a read-only
4096	// field. Applicable to the following creative types: INSTREAM_VIDEO and
4097	// all VPAID.
4098	BitRate int64 `json:"bitRate,omitempty"`
4099
4100	// ChildAssetType: Rich media child asset type. This is a read-only
4101	// field. Applicable to the following creative types: all VPAID.
4102	//
4103	// Possible values:
4104	//   "CHILD_ASSET_TYPE_DATA"
4105	//   "CHILD_ASSET_TYPE_FLASH"
4106	//   "CHILD_ASSET_TYPE_IMAGE"
4107	//   "CHILD_ASSET_TYPE_VIDEO"
4108	ChildAssetType string `json:"childAssetType,omitempty"`
4109
4110	// CollapsedSize: Size of an asset when collapsed. This is a read-only
4111	// field. Applicable to the following creative types: all RICH_MEDIA and
4112	// all VPAID. Additionally, applicable to assets whose displayType is
4113	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
4114	CollapsedSize *Size `json:"collapsedSize,omitempty"`
4115
4116	// CompanionCreativeIds: List of companion creatives assigned to an
4117	// in-stream video creative asset. Acceptable values include IDs of
4118	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
4119	// creative type with dynamicAssetSelection set to true.
4120	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4121
4122	// CustomStartTimeValue: Custom start time in seconds for making the
4123	// asset visible. Applicable to the following creative types: all
4124	// RICH_MEDIA. Value must be greater than or equal to 0.
4125	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
4126
4127	// DetectedFeatures: List of feature dependencies for the creative asset
4128	// that are detected by DCM. Feature dependencies are features that a
4129	// browser must be able to support in order to render your HTML5
4130	// creative correctly. This is a read-only, auto-generated field.
4131	// Applicable to the following creative types: HTML5_BANNER. Applicable
4132	// to DISPLAY when the primary asset type is not HTML_IMAGE.
4133	//
4134	// Possible values:
4135	//   "APPLICATION_CACHE"
4136	//   "AUDIO"
4137	//   "CANVAS"
4138	//   "CANVAS_TEXT"
4139	//   "CSS_ANIMATIONS"
4140	//   "CSS_BACKGROUND_SIZE"
4141	//   "CSS_BORDER_IMAGE"
4142	//   "CSS_BORDER_RADIUS"
4143	//   "CSS_BOX_SHADOW"
4144	//   "CSS_COLUMNS"
4145	//   "CSS_FLEX_BOX"
4146	//   "CSS_FONT_FACE"
4147	//   "CSS_GENERATED_CONTENT"
4148	//   "CSS_GRADIENTS"
4149	//   "CSS_HSLA"
4150	//   "CSS_MULTIPLE_BGS"
4151	//   "CSS_OPACITY"
4152	//   "CSS_REFLECTIONS"
4153	//   "CSS_RGBA"
4154	//   "CSS_TEXT_SHADOW"
4155	//   "CSS_TRANSFORMS"
4156	//   "CSS_TRANSFORMS3D"
4157	//   "CSS_TRANSITIONS"
4158	//   "DRAG_AND_DROP"
4159	//   "GEO_LOCATION"
4160	//   "HASH_CHANGE"
4161	//   "HISTORY"
4162	//   "INDEXED_DB"
4163	//   "INLINE_SVG"
4164	//   "INPUT_ATTR_AUTOCOMPLETE"
4165	//   "INPUT_ATTR_AUTOFOCUS"
4166	//   "INPUT_ATTR_LIST"
4167	//   "INPUT_ATTR_MAX"
4168	//   "INPUT_ATTR_MIN"
4169	//   "INPUT_ATTR_MULTIPLE"
4170	//   "INPUT_ATTR_PATTERN"
4171	//   "INPUT_ATTR_PLACEHOLDER"
4172	//   "INPUT_ATTR_REQUIRED"
4173	//   "INPUT_ATTR_STEP"
4174	//   "INPUT_TYPE_COLOR"
4175	//   "INPUT_TYPE_DATE"
4176	//   "INPUT_TYPE_DATETIME"
4177	//   "INPUT_TYPE_DATETIME_LOCAL"
4178	//   "INPUT_TYPE_EMAIL"
4179	//   "INPUT_TYPE_MONTH"
4180	//   "INPUT_TYPE_NUMBER"
4181	//   "INPUT_TYPE_RANGE"
4182	//   "INPUT_TYPE_SEARCH"
4183	//   "INPUT_TYPE_TEL"
4184	//   "INPUT_TYPE_TIME"
4185	//   "INPUT_TYPE_URL"
4186	//   "INPUT_TYPE_WEEK"
4187	//   "LOCAL_STORAGE"
4188	//   "POST_MESSAGE"
4189	//   "SESSION_STORAGE"
4190	//   "SMIL"
4191	//   "SVG_CLIP_PATHS"
4192	//   "SVG_FE_IMAGE"
4193	//   "SVG_FILTERS"
4194	//   "SVG_HREF"
4195	//   "TOUCH"
4196	//   "VIDEO"
4197	//   "WEBGL"
4198	//   "WEB_SOCKETS"
4199	//   "WEB_SQL_DATABASE"
4200	//   "WEB_WORKERS"
4201	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4202
4203	// DisplayType: Type of rich media asset. This is a read-only field.
4204	// Applicable to the following creative types: all RICH_MEDIA.
4205	//
4206	// Possible values:
4207	//   "ASSET_DISPLAY_TYPE_BACKDROP"
4208	//   "ASSET_DISPLAY_TYPE_EXPANDING"
4209	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
4210	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
4211	//   "ASSET_DISPLAY_TYPE_FLOATING"
4212	//   "ASSET_DISPLAY_TYPE_INPAGE"
4213	//   "ASSET_DISPLAY_TYPE_OVERLAY"
4214	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
4215	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
4216	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
4217	DisplayType string `json:"displayType,omitempty"`
4218
4219	// Duration: Duration in seconds for which an asset will be displayed.
4220	// Applicable to the following creative types: INSTREAM_VIDEO and
4221	// VPAID_LINEAR_VIDEO. Value must be greater than or equal to 1.
4222	Duration int64 `json:"duration,omitempty"`
4223
4224	// DurationType: Duration type for which an asset will be displayed.
4225	// Applicable to the following creative types: all RICH_MEDIA.
4226	//
4227	// Possible values:
4228	//   "ASSET_DURATION_TYPE_AUTO"
4229	//   "ASSET_DURATION_TYPE_CUSTOM"
4230	//   "ASSET_DURATION_TYPE_NONE"
4231	DurationType string `json:"durationType,omitempty"`
4232
4233	// ExpandedDimension: Detected expanded dimension for video asset. This
4234	// is a read-only field. Applicable to the following creative types:
4235	// INSTREAM_VIDEO and all VPAID.
4236	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
4237
4238	// FileSize: File size associated with this creative asset. This is a
4239	// read-only field. Applicable to all but the following creative types:
4240	// all REDIRECT and TRACKING_TEXT.
4241	FileSize int64 `json:"fileSize,omitempty,string"`
4242
4243	// FlashVersion: Flash version of the asset. This is a read-only field.
4244	// Applicable to the following creative types: FLASH_INPAGE, all
4245	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
4246	// asset type is not HTML_IMAGE.
4247	FlashVersion int64 `json:"flashVersion,omitempty"`
4248
4249	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
4250	// Applicable to the following creative types: all RICH_MEDIA.
4251	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
4252
4253	// HideSelectionBoxes: Whether to hide selection boxes flag for an
4254	// asset. Applicable to the following creative types: all RICH_MEDIA.
4255	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
4256
4257	// HorizontallyLocked: Whether the asset is horizontally locked. This is
4258	// a read-only field. Applicable to the following creative types: all
4259	// RICH_MEDIA.
4260	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
4261
4262	// Id: Numeric ID of this creative asset. This is a required field and
4263	// should not be modified. Applicable to all but the following creative
4264	// types: all REDIRECT and TRACKING_TEXT.
4265	Id int64 `json:"id,omitempty,string"`
4266
4267	// IdDimensionValue: Dimension value for the ID of the asset. This is a
4268	// read-only, auto-generated field.
4269	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4270
4271	// MimeType: Detected MIME type for video asset. This is a read-only
4272	// field. Applicable to the following creative types: INSTREAM_VIDEO and
4273	// all VPAID.
4274	MimeType string `json:"mimeType,omitempty"`
4275
4276	// Offset: Offset position for an asset in collapsed mode. This is a
4277	// read-only field. Applicable to the following creative types: all
4278	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
4279	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
4280	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
4281	Offset *OffsetPosition `json:"offset,omitempty"`
4282
4283	// OriginalBackup: Whether the backup asset is original or changed by
4284	// the user in DCM. Applicable to the following creative types: all
4285	// RICH_MEDIA.
4286	OriginalBackup bool `json:"originalBackup,omitempty"`
4287
4288	// Position: Offset position for an asset. Applicable to the following
4289	// creative types: all RICH_MEDIA.
4290	Position *OffsetPosition `json:"position,omitempty"`
4291
4292	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
4293	// field. Applicable to the following creative types: all RICH_MEDIA.
4294	//
4295	// Possible values:
4296	//   "OFFSET_UNIT_PERCENT"
4297	//   "OFFSET_UNIT_PIXEL"
4298	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4299	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
4300
4301	// PositionTopUnit: Offset top unit for an asset. This is a read-only
4302	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
4303	// Applicable to the following creative types: all RICH_MEDIA.
4304	//
4305	// Possible values:
4306	//   "OFFSET_UNIT_PERCENT"
4307	//   "OFFSET_UNIT_PIXEL"
4308	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4309	PositionTopUnit string `json:"positionTopUnit,omitempty"`
4310
4311	// ProgressiveServingUrl: Progressive URL for video asset. This is a
4312	// read-only field. Applicable to the following creative types:
4313	// INSTREAM_VIDEO and all VPAID.
4314	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
4315
4316	// Pushdown: Whether the asset pushes down other content. Applicable to
4317	// the following creative types: all RICH_MEDIA. Additionally, only
4318	// applicable when the asset offsets are 0, the collapsedSize.width
4319	// matches size.width, and the collapsedSize.height is less than
4320	// size.height.
4321	Pushdown bool `json:"pushdown,omitempty"`
4322
4323	// PushdownDuration: Pushdown duration in seconds for an asset.
4324	// Applicable to the following creative types: all
4325	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
4326	// field is true, the offsets are 0, the collapsedSize.width matches
4327	// size.width, and the collapsedSize.height is less than size.height.
4328	// Acceptable values are 0 to 9.99, inclusive.
4329	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
4330
4331	// Role: Role of the asset in relation to creative. Applicable to all
4332	// but the following creative types: all REDIRECT and TRACKING_TEXT.
4333	// This is a required field.
4334	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
4335	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
4336	// primary assets), and all VPAID creatives.
4337	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
4338	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
4339	// type is not HTML_IMAGE.
4340	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
4341	// creatives.
4342	// OTHER refers to assets from sources other than DCM, such as Studio
4343	// uploaded assets, applicable to all RICH_MEDIA and all VPAID
4344	// creatives.
4345	// PARENT_VIDEO refers to videos uploaded by the user in DCM and is
4346	// applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
4347	// creatives.
4348	// TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO
4349	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
4350	// creatives.
4351	// ALTERNATE_VIDEO refers to the DCM representation of child asset
4352	// videos from Studio, and is applicable to VPAID_LINEAR_VIDEO
4353	// creatives. These cannot be added or removed within DCM.
4354	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
4355	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
4356	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
4357	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
4358	// creative.
4359	//
4360	// Possible values:
4361	//   "ADDITIONAL_FLASH"
4362	//   "ADDITIONAL_IMAGE"
4363	//   "ALTERNATE_VIDEO"
4364	//   "BACKUP_IMAGE"
4365	//   "OTHER"
4366	//   "PARENT_VIDEO"
4367	//   "PRIMARY"
4368	//   "TRANSCODED_VIDEO"
4369	Role string `json:"role,omitempty"`
4370
4371	// Size: Size associated with this creative asset. This is a required
4372	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
4373	// if left blank, this field will be automatically set using the actual
4374	// size of the associated image asset. Applicable to the following
4375	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
4376	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
4377	// asset type is not HTML_IMAGE.
4378	Size *Size `json:"size,omitempty"`
4379
4380	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
4381	// field. Applicable to all but the following creative types: all
4382	// REDIRECT and TRACKING_TEXT.
4383	SslCompliant bool `json:"sslCompliant,omitempty"`
4384
4385	// StartTimeType: Initial wait time type before making the asset
4386	// visible. Applicable to the following creative types: all RICH_MEDIA.
4387	//
4388	// Possible values:
4389	//   "ASSET_START_TIME_TYPE_CUSTOM"
4390	//   "ASSET_START_TIME_TYPE_NONE"
4391	StartTimeType string `json:"startTimeType,omitempty"`
4392
4393	// StreamingServingUrl: Streaming URL for video asset. This is a
4394	// read-only field. Applicable to the following creative types:
4395	// INSTREAM_VIDEO and all VPAID.
4396	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
4397
4398	// Transparency: Whether the asset is transparent. Applicable to the
4399	// following creative types: all RICH_MEDIA. Additionally, only
4400	// applicable to HTML5 assets.
4401	Transparency bool `json:"transparency,omitempty"`
4402
4403	// VerticallyLocked: Whether the asset is vertically locked. This is a
4404	// read-only field. Applicable to the following creative types: all
4405	// RICH_MEDIA.
4406	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
4407
4408	// VideoDuration: Detected video duration for video asset. This is a
4409	// read-only field. Applicable to the following creative types:
4410	// INSTREAM_VIDEO and all VPAID.
4411	VideoDuration float64 `json:"videoDuration,omitempty"`
4412
4413	// WindowMode: Window mode options for flash assets. Applicable to the
4414	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
4415	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
4416	// RICH_MEDIA_INPAGE_FLOATING.
4417	//
4418	// Possible values:
4419	//   "OPAQUE"
4420	//   "TRANSPARENT"
4421	//   "WINDOW"
4422	WindowMode string `json:"windowMode,omitempty"`
4423
4424	// ZIndex: zIndex value of an asset. Applicable to the following
4425	// creative types: all RICH_MEDIA.Additionally, only applicable to
4426	// assets whose displayType is NOT one of the following types:
4427	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
4428	// values are -999999999 to 999999999, inclusive.
4429	ZIndex int64 `json:"zIndex,omitempty"`
4430
4431	// ZipFilename: File name of zip file. This is a read-only field.
4432	// Applicable to the following creative types: HTML5_BANNER.
4433	ZipFilename string `json:"zipFilename,omitempty"`
4434
4435	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
4436	// to the following creative types: HTML5_BANNER.
4437	ZipFilesize string `json:"zipFilesize,omitempty"`
4438
4439	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
4440	// unconditionally include in API requests. By default, fields with
4441	// empty values are omitted from API requests. However, any non-pointer,
4442	// non-interface field appearing in ForceSendFields will be sent to the
4443	// server regardless of whether the field is empty or not. This may be
4444	// used to include empty fields in Patch requests.
4445	ForceSendFields []string `json:"-"`
4446
4447	// NullFields is a list of field names (e.g. "ActionScript3") to include
4448	// in API requests with the JSON null value. By default, fields with
4449	// empty values are omitted from API requests. However, any field with
4450	// an empty value appearing in NullFields will be sent to the server as
4451	// null. It is an error if a field in this list has a non-empty value.
4452	// This may be used to include null fields in Patch requests.
4453	NullFields []string `json:"-"`
4454}
4455
4456func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
4457	type NoMethod CreativeAsset
4458	raw := NoMethod(*s)
4459	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4460}
4461
4462func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
4463	type NoMethod CreativeAsset
4464	var s1 struct {
4465		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
4466		VideoDuration    gensupport.JSONFloat64 `json:"videoDuration"`
4467		*NoMethod
4468	}
4469	s1.NoMethod = (*NoMethod)(s)
4470	if err := json.Unmarshal(data, &s1); err != nil {
4471		return err
4472	}
4473	s.PushdownDuration = float64(s1.PushdownDuration)
4474	s.VideoDuration = float64(s1.VideoDuration)
4475	return nil
4476}
4477
4478// CreativeAssetId: Creative Asset ID.
4479type CreativeAssetId struct {
4480	// Name: Name of the creative asset. This is a required field while
4481	// inserting an asset. After insertion, this assetIdentifier is used to
4482	// identify the uploaded asset. Characters in the name must be
4483	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
4484	Name string `json:"name,omitempty"`
4485
4486	// Type: Type of asset to upload. This is a required field. FLASH and
4487	// IMAGE are no longer supported for new uploads. All image assets
4488	// should use HTML_IMAGE.
4489	//
4490	// Possible values:
4491	//   "FLASH"
4492	//   "HTML"
4493	//   "HTML_IMAGE"
4494	//   "IMAGE"
4495	//   "VIDEO"
4496	Type string `json:"type,omitempty"`
4497
4498	// ForceSendFields is a list of field names (e.g. "Name") to
4499	// unconditionally include in API requests. By default, fields with
4500	// empty values are omitted from API requests. However, any non-pointer,
4501	// non-interface field appearing in ForceSendFields will be sent to the
4502	// server regardless of whether the field is empty or not. This may be
4503	// used to include empty fields in Patch requests.
4504	ForceSendFields []string `json:"-"`
4505
4506	// NullFields is a list of field names (e.g. "Name") to include in API
4507	// requests with the JSON null value. By default, fields with empty
4508	// values are omitted from API requests. However, any field with an
4509	// empty value appearing in NullFields will be sent to the server as
4510	// null. It is an error if a field in this list has a non-empty value.
4511	// This may be used to include null fields in Patch requests.
4512	NullFields []string `json:"-"`
4513}
4514
4515func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
4516	type NoMethod CreativeAssetId
4517	raw := NoMethod(*s)
4518	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4519}
4520
4521// CreativeAssetMetadata: CreativeAssets contains properties of a
4522// creative asset file which will be uploaded or has already been
4523// uploaded. Refer to the creative sample code for how to upload assets
4524// and insert a creative.
4525type CreativeAssetMetadata struct {
4526	// AssetIdentifier: ID of the creative asset. This is a required field.
4527	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4528
4529	// ClickTags: List of detected click tags for assets. This is a
4530	// read-only auto-generated field.
4531	ClickTags []*ClickTag `json:"clickTags,omitempty"`
4532
4533	// DetectedFeatures: List of feature dependencies for the creative asset
4534	// that are detected by DCM. Feature dependencies are features that a
4535	// browser must be able to support in order to render your HTML5
4536	// creative correctly. This is a read-only, auto-generated field.
4537	//
4538	// Possible values:
4539	//   "APPLICATION_CACHE"
4540	//   "AUDIO"
4541	//   "CANVAS"
4542	//   "CANVAS_TEXT"
4543	//   "CSS_ANIMATIONS"
4544	//   "CSS_BACKGROUND_SIZE"
4545	//   "CSS_BORDER_IMAGE"
4546	//   "CSS_BORDER_RADIUS"
4547	//   "CSS_BOX_SHADOW"
4548	//   "CSS_COLUMNS"
4549	//   "CSS_FLEX_BOX"
4550	//   "CSS_FONT_FACE"
4551	//   "CSS_GENERATED_CONTENT"
4552	//   "CSS_GRADIENTS"
4553	//   "CSS_HSLA"
4554	//   "CSS_MULTIPLE_BGS"
4555	//   "CSS_OPACITY"
4556	//   "CSS_REFLECTIONS"
4557	//   "CSS_RGBA"
4558	//   "CSS_TEXT_SHADOW"
4559	//   "CSS_TRANSFORMS"
4560	//   "CSS_TRANSFORMS3D"
4561	//   "CSS_TRANSITIONS"
4562	//   "DRAG_AND_DROP"
4563	//   "GEO_LOCATION"
4564	//   "HASH_CHANGE"
4565	//   "HISTORY"
4566	//   "INDEXED_DB"
4567	//   "INLINE_SVG"
4568	//   "INPUT_ATTR_AUTOCOMPLETE"
4569	//   "INPUT_ATTR_AUTOFOCUS"
4570	//   "INPUT_ATTR_LIST"
4571	//   "INPUT_ATTR_MAX"
4572	//   "INPUT_ATTR_MIN"
4573	//   "INPUT_ATTR_MULTIPLE"
4574	//   "INPUT_ATTR_PATTERN"
4575	//   "INPUT_ATTR_PLACEHOLDER"
4576	//   "INPUT_ATTR_REQUIRED"
4577	//   "INPUT_ATTR_STEP"
4578	//   "INPUT_TYPE_COLOR"
4579	//   "INPUT_TYPE_DATE"
4580	//   "INPUT_TYPE_DATETIME"
4581	//   "INPUT_TYPE_DATETIME_LOCAL"
4582	//   "INPUT_TYPE_EMAIL"
4583	//   "INPUT_TYPE_MONTH"
4584	//   "INPUT_TYPE_NUMBER"
4585	//   "INPUT_TYPE_RANGE"
4586	//   "INPUT_TYPE_SEARCH"
4587	//   "INPUT_TYPE_TEL"
4588	//   "INPUT_TYPE_TIME"
4589	//   "INPUT_TYPE_URL"
4590	//   "INPUT_TYPE_WEEK"
4591	//   "LOCAL_STORAGE"
4592	//   "POST_MESSAGE"
4593	//   "SESSION_STORAGE"
4594	//   "SMIL"
4595	//   "SVG_CLIP_PATHS"
4596	//   "SVG_FE_IMAGE"
4597	//   "SVG_FILTERS"
4598	//   "SVG_HREF"
4599	//   "TOUCH"
4600	//   "VIDEO"
4601	//   "WEBGL"
4602	//   "WEB_SOCKETS"
4603	//   "WEB_SQL_DATABASE"
4604	//   "WEB_WORKERS"
4605	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4606
4607	// Id: Numeric ID of the asset. This is a read-only, auto-generated
4608	// field.
4609	Id int64 `json:"id,omitempty,string"`
4610
4611	// IdDimensionValue: Dimension value for the numeric ID of the asset.
4612	// This is a read-only, auto-generated field.
4613	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4614
4615	// Kind: Identifies what kind of resource this is. Value: the fixed
4616	// string "dfareporting#creativeAssetMetadata".
4617	Kind string `json:"kind,omitempty"`
4618
4619	// WarnedValidationRules: Rules validated during code generation that
4620	// generated a warning. This is a read-only, auto-generated
4621	// field.
4622	//
4623	// Possible values are:
4624	// - "ADMOB_REFERENCED"
4625	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
4626	// - "ASSET_INVALID"
4627	// - "CLICK_TAG_HARD_CODED"
4628	// - "CLICK_TAG_INVALID"
4629	// - "CLICK_TAG_IN_GWD"
4630	// - "CLICK_TAG_MISSING"
4631	// - "CLICK_TAG_MORE_THAN_ONE"
4632	// - "CLICK_TAG_NON_TOP_LEVEL"
4633	// - "COMPONENT_UNSUPPORTED_DCM"
4634	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
4635	// - "EXTERNAL_FILE_REFERENCED"
4636	// - "FILE_DETAIL_EMPTY"
4637	// - "FILE_TYPE_INVALID"
4638	// - "GWD_PROPERTIES_INVALID"
4639	// - "HTML5_FEATURE_UNSUPPORTED"
4640	// - "LINKED_FILE_NOT_FOUND"
4641	// - "MAX_FLASH_VERSION_11"
4642	// - "MRAID_REFERENCED"
4643	// - "NOT_SSL_COMPLIANT"
4644	// - "ORPHANED_ASSET"
4645	// - "PRIMARY_HTML_MISSING"
4646	// - "SVG_INVALID"
4647	// - "ZIP_INVALID"
4648	//
4649	// Possible values:
4650	//   "ADMOB_REFERENCED"
4651	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
4652	//   "ASSET_INVALID"
4653	//   "CLICK_TAG_HARD_CODED"
4654	//   "CLICK_TAG_INVALID"
4655	//   "CLICK_TAG_IN_GWD"
4656	//   "CLICK_TAG_MISSING"
4657	//   "CLICK_TAG_MORE_THAN_ONE"
4658	//   "CLICK_TAG_NON_TOP_LEVEL"
4659	//   "COMPONENT_UNSUPPORTED_DCM"
4660	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
4661	//   "EXTERNAL_FILE_REFERENCED"
4662	//   "FILE_DETAIL_EMPTY"
4663	//   "FILE_TYPE_INVALID"
4664	//   "GWD_PROPERTIES_INVALID"
4665	//   "HTML5_FEATURE_UNSUPPORTED"
4666	//   "LINKED_FILE_NOT_FOUND"
4667	//   "MAX_FLASH_VERSION_11"
4668	//   "MRAID_REFERENCED"
4669	//   "NOT_SSL_COMPLIANT"
4670	//   "ORPHANED_ASSET"
4671	//   "PRIMARY_HTML_MISSING"
4672	//   "SVG_INVALID"
4673	//   "ZIP_INVALID"
4674	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
4675
4676	// ServerResponse contains the HTTP response code and headers from the
4677	// server.
4678	googleapi.ServerResponse `json:"-"`
4679
4680	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
4681	// unconditionally include in API requests. By default, fields with
4682	// empty values are omitted from API requests. However, any non-pointer,
4683	// non-interface field appearing in ForceSendFields will be sent to the
4684	// server regardless of whether the field is empty or not. This may be
4685	// used to include empty fields in Patch requests.
4686	ForceSendFields []string `json:"-"`
4687
4688	// NullFields is a list of field names (e.g. "AssetIdentifier") to
4689	// include in API requests with the JSON null value. By default, fields
4690	// with empty values are omitted from API requests. However, any field
4691	// with an empty value appearing in NullFields will be sent to the
4692	// server as null. It is an error if a field in this list has a
4693	// non-empty value. This may be used to include null fields in Patch
4694	// requests.
4695	NullFields []string `json:"-"`
4696}
4697
4698func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
4699	type NoMethod CreativeAssetMetadata
4700	raw := NoMethod(*s)
4701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4702}
4703
4704// CreativeAssetSelection: Encapsulates the list of rules for asset
4705// selection and a default asset in case none of the rules match.
4706// Applicable to INSTREAM_VIDEO creatives.
4707type CreativeAssetSelection struct {
4708	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
4709	// the parent assets in this creative, and will be served if none of the
4710	// rules match. This is a required field.
4711	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
4712
4713	// Rules: Rules determine which asset will be served to a viewer. Rules
4714	// will be evaluated in the order in which they are stored in this list.
4715	// This list must contain at least one rule. Applicable to
4716	// INSTREAM_VIDEO creatives.
4717	Rules []*Rule `json:"rules,omitempty"`
4718
4719	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
4720	// unconditionally include in API requests. By default, fields with
4721	// empty values are omitted from API requests. However, any non-pointer,
4722	// non-interface field appearing in ForceSendFields will be sent to the
4723	// server regardless of whether the field is empty or not. This may be
4724	// used to include empty fields in Patch requests.
4725	ForceSendFields []string `json:"-"`
4726
4727	// NullFields is a list of field names (e.g. "DefaultAssetId") to
4728	// include in API requests with the JSON null value. By default, fields
4729	// with empty values are omitted from API requests. However, any field
4730	// with an empty value appearing in NullFields will be sent to the
4731	// server as null. It is an error if a field in this list has a
4732	// non-empty value. This may be used to include null fields in Patch
4733	// requests.
4734	NullFields []string `json:"-"`
4735}
4736
4737func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
4738	type NoMethod CreativeAssetSelection
4739	raw := NoMethod(*s)
4740	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4741}
4742
4743// CreativeAssignment: Creative Assignment.
4744type CreativeAssignment struct {
4745	// Active: Whether this creative assignment is active. When true, the
4746	// creative will be included in the ad's rotation.
4747	Active bool `json:"active,omitempty"`
4748
4749	// ApplyEventTags: Whether applicable event tags should fire when this
4750	// creative assignment is rendered. If this value is unset when the ad
4751	// is inserted or updated, it will default to true for all creative
4752	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
4753	// and INSTREAM_VIDEO.
4754	ApplyEventTags bool `json:"applyEventTags,omitempty"`
4755
4756	// ClickThroughUrl: Click-through URL of the creative assignment.
4757	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
4758
4759	// CompanionCreativeOverrides: Companion creative overrides for this
4760	// creative assignment. Applicable to video ads.
4761	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
4762
4763	// CreativeGroupAssignments: Creative group assignments for this
4764	// creative assignment. Only one assignment per creative group number is
4765	// allowed for a maximum of two assignments.
4766	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
4767
4768	// CreativeId: ID of the creative to be assigned. This is a required
4769	// field.
4770	CreativeId int64 `json:"creativeId,omitempty,string"`
4771
4772	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
4773	// This is a read-only, auto-generated field.
4774	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
4775
4776	// EndTime: Date and time that the assigned creative should stop
4777	// serving. Must be later than the start time.
4778	EndTime string `json:"endTime,omitempty"`
4779
4780	// RichMediaExitOverrides: Rich media exit overrides for this creative
4781	// assignment.
4782	// Applicable when the creative type is any of the following:
4783	// - DISPLAY
4784	// - RICH_MEDIA_INPAGE
4785	// - RICH_MEDIA_INPAGE_FLOATING
4786	// - RICH_MEDIA_IM_EXPAND
4787	// - RICH_MEDIA_EXPANDING
4788	// - RICH_MEDIA_INTERSTITIAL_FLOAT
4789	// - RICH_MEDIA_MOBILE_IN_APP
4790	// - RICH_MEDIA_MULTI_FLOATING
4791	// - RICH_MEDIA_PEEL_DOWN
4792	// - VPAID_LINEAR
4793	// - VPAID_NON_LINEAR
4794	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
4795
4796	// Sequence: Sequence number of the creative assignment, applicable when
4797	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
4798	// values are 1 to 65535, inclusive.
4799	Sequence int64 `json:"sequence,omitempty"`
4800
4801	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
4802	// This is a read-only field that is auto-generated when the ad is
4803	// inserted or updated.
4804	SslCompliant bool `json:"sslCompliant,omitempty"`
4805
4806	// StartTime: Date and time that the assigned creative should start
4807	// serving.
4808	StartTime string `json:"startTime,omitempty"`
4809
4810	// Weight: Weight of the creative assignment, applicable when the
4811	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
4812	// than or equal to 1.
4813	Weight int64 `json:"weight,omitempty"`
4814
4815	// ForceSendFields is a list of field names (e.g. "Active") to
4816	// unconditionally include in API requests. By default, fields with
4817	// empty values are omitted from API requests. However, any non-pointer,
4818	// non-interface field appearing in ForceSendFields will be sent to the
4819	// server regardless of whether the field is empty or not. This may be
4820	// used to include empty fields in Patch requests.
4821	ForceSendFields []string `json:"-"`
4822
4823	// NullFields is a list of field names (e.g. "Active") to include in API
4824	// requests with the JSON null value. By default, fields with empty
4825	// values are omitted from API requests. However, any field with an
4826	// empty value appearing in NullFields will be sent to the server as
4827	// null. It is an error if a field in this list has a non-empty value.
4828	// This may be used to include null fields in Patch requests.
4829	NullFields []string `json:"-"`
4830}
4831
4832func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
4833	type NoMethod CreativeAssignment
4834	raw := NoMethod(*s)
4835	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4836}
4837
4838// CreativeCustomEvent: Creative Custom Event.
4839type CreativeCustomEvent struct {
4840	// AdvertiserCustomEventId: Unique ID of this event used by DDM
4841	// Reporting and Data Transfer. This is a read-only field.
4842	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
4843
4844	// AdvertiserCustomEventName: User-entered name for the event.
4845	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
4846
4847	// AdvertiserCustomEventType: Type of the event. This is a read-only
4848	// field.
4849	//
4850	// Possible values:
4851	//   "ADVERTISER_EVENT_COUNTER"
4852	//   "ADVERTISER_EVENT_EXIT"
4853	//   "ADVERTISER_EVENT_TIMER"
4854	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
4855
4856	// ArtworkLabel: Artwork label column, used to link events in DCM back
4857	// to events in Studio. This is a required field and should not be
4858	// modified after insertion.
4859	ArtworkLabel string `json:"artworkLabel,omitempty"`
4860
4861	// ArtworkType: Artwork type used by the creative.This is a read-only
4862	// field.
4863	//
4864	// Possible values:
4865	//   "ARTWORK_TYPE_FLASH"
4866	//   "ARTWORK_TYPE_HTML5"
4867	//   "ARTWORK_TYPE_IMAGE"
4868	//   "ARTWORK_TYPE_MIXED"
4869	ArtworkType string `json:"artworkType,omitempty"`
4870
4871	// ExitUrl: Exit URL of the event. This field is used only for exit
4872	// events.
4873	ExitUrl string `json:"exitUrl,omitempty"`
4874
4875	// Id: ID of this event. This is a required field and should not be
4876	// modified after insertion.
4877	Id int64 `json:"id,omitempty,string"`
4878
4879	// PopupWindowProperties: Properties for rich media popup windows. This
4880	// field is used only for exit events.
4881	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
4882
4883	// TargetType: Target type used by the event.
4884	//
4885	// Possible values:
4886	//   "TARGET_BLANK"
4887	//   "TARGET_PARENT"
4888	//   "TARGET_POPUP"
4889	//   "TARGET_SELF"
4890	//   "TARGET_TOP"
4891	TargetType string `json:"targetType,omitempty"`
4892
4893	// VideoReportingId: Video reporting ID, used to differentiate multiple
4894	// videos in a single creative. This is a read-only field.
4895	VideoReportingId string `json:"videoReportingId,omitempty"`
4896
4897	// ForceSendFields is a list of field names (e.g.
4898	// "AdvertiserCustomEventId") to unconditionally include in API
4899	// requests. By default, fields with empty values are omitted from API
4900	// requests. However, any non-pointer, non-interface field appearing in
4901	// ForceSendFields will be sent to the server regardless of whether the
4902	// field is empty or not. This may be used to include empty fields in
4903	// Patch requests.
4904	ForceSendFields []string `json:"-"`
4905
4906	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
4907	// to include in API requests with the JSON null value. By default,
4908	// fields with empty values are omitted from API requests. However, any
4909	// field with an empty value appearing in NullFields will be sent to the
4910	// server as null. It is an error if a field in this list has a
4911	// non-empty value. This may be used to include null fields in Patch
4912	// requests.
4913	NullFields []string `json:"-"`
4914}
4915
4916func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
4917	type NoMethod CreativeCustomEvent
4918	raw := NoMethod(*s)
4919	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4920}
4921
4922// CreativeField: Contains properties of a creative field.
4923type CreativeField struct {
4924	// AccountId: Account ID of this creative field. This is a read-only
4925	// field that can be left blank.
4926	AccountId int64 `json:"accountId,omitempty,string"`
4927
4928	// AdvertiserId: Advertiser ID of this creative field. This is a
4929	// required field on insertion.
4930	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4931
4932	// AdvertiserIdDimensionValue: Dimension value for the ID of the
4933	// advertiser. This is a read-only, auto-generated field.
4934	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
4935
4936	// Id: ID of this creative field. This is a read-only, auto-generated
4937	// field.
4938	Id int64 `json:"id,omitempty,string"`
4939
4940	// Kind: Identifies what kind of resource this is. Value: the fixed
4941	// string "dfareporting#creativeField".
4942	Kind string `json:"kind,omitempty"`
4943
4944	// Name: Name of this creative field. This is a required field and must
4945	// be less than 256 characters long and unique among creative fields of
4946	// the same advertiser.
4947	Name string `json:"name,omitempty"`
4948
4949	// SubaccountId: Subaccount ID of this creative field. This is a
4950	// read-only field that can be left blank.
4951	SubaccountId int64 `json:"subaccountId,omitempty,string"`
4952
4953	// ServerResponse contains the HTTP response code and headers from the
4954	// server.
4955	googleapi.ServerResponse `json:"-"`
4956
4957	// ForceSendFields is a list of field names (e.g. "AccountId") to
4958	// unconditionally include in API requests. By default, fields with
4959	// empty values are omitted from API requests. However, any non-pointer,
4960	// non-interface field appearing in ForceSendFields will be sent to the
4961	// server regardless of whether the field is empty or not. This may be
4962	// used to include empty fields in Patch requests.
4963	ForceSendFields []string `json:"-"`
4964
4965	// NullFields is a list of field names (e.g. "AccountId") to include in
4966	// API requests with the JSON null value. By default, fields with empty
4967	// values are omitted from API requests. However, any field with an
4968	// empty value appearing in NullFields will be sent to the server as
4969	// null. It is an error if a field in this list has a non-empty value.
4970	// This may be used to include null fields in Patch requests.
4971	NullFields []string `json:"-"`
4972}
4973
4974func (s *CreativeField) MarshalJSON() ([]byte, error) {
4975	type NoMethod CreativeField
4976	raw := NoMethod(*s)
4977	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4978}
4979
4980// CreativeFieldAssignment: Creative Field Assignment.
4981type CreativeFieldAssignment struct {
4982	// CreativeFieldId: ID of the creative field.
4983	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
4984
4985	// CreativeFieldValueId: ID of the creative field value.
4986	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
4987
4988	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
4989	// unconditionally include in API requests. By default, fields with
4990	// empty values are omitted from API requests. However, any non-pointer,
4991	// non-interface field appearing in ForceSendFields will be sent to the
4992	// server regardless of whether the field is empty or not. This may be
4993	// used to include empty fields in Patch requests.
4994	ForceSendFields []string `json:"-"`
4995
4996	// NullFields is a list of field names (e.g. "CreativeFieldId") to
4997	// include in API requests with the JSON null value. By default, fields
4998	// with empty values are omitted from API requests. However, any field
4999	// with an empty value appearing in NullFields will be sent to the
5000	// server as null. It is an error if a field in this list has a
5001	// non-empty value. This may be used to include null fields in Patch
5002	// requests.
5003	NullFields []string `json:"-"`
5004}
5005
5006func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
5007	type NoMethod CreativeFieldAssignment
5008	raw := NoMethod(*s)
5009	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5010}
5011
5012// CreativeFieldValue: Contains properties of a creative field value.
5013type CreativeFieldValue struct {
5014	// Id: ID of this creative field value. This is a read-only,
5015	// auto-generated field.
5016	Id int64 `json:"id,omitempty,string"`
5017
5018	// Kind: Identifies what kind of resource this is. Value: the fixed
5019	// string "dfareporting#creativeFieldValue".
5020	Kind string `json:"kind,omitempty"`
5021
5022	// Value: Value of this creative field value. It needs to be less than
5023	// 256 characters in length and unique per creative field.
5024	Value string `json:"value,omitempty"`
5025
5026	// ServerResponse contains the HTTP response code and headers from the
5027	// server.
5028	googleapi.ServerResponse `json:"-"`
5029
5030	// ForceSendFields is a list of field names (e.g. "Id") to
5031	// unconditionally include in API requests. By default, fields with
5032	// empty values are omitted from API requests. However, any non-pointer,
5033	// non-interface field appearing in ForceSendFields will be sent to the
5034	// server regardless of whether the field is empty or not. This may be
5035	// used to include empty fields in Patch requests.
5036	ForceSendFields []string `json:"-"`
5037
5038	// NullFields is a list of field names (e.g. "Id") to include in API
5039	// requests with the JSON null value. By default, fields with empty
5040	// values are omitted from API requests. However, any field with an
5041	// empty value appearing in NullFields will be sent to the server as
5042	// null. It is an error if a field in this list has a non-empty value.
5043	// This may be used to include null fields in Patch requests.
5044	NullFields []string `json:"-"`
5045}
5046
5047func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
5048	type NoMethod CreativeFieldValue
5049	raw := NoMethod(*s)
5050	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5051}
5052
5053// CreativeFieldValuesListResponse: Creative Field Value List Response
5054type CreativeFieldValuesListResponse struct {
5055	// CreativeFieldValues: Creative field value collection.
5056	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
5057
5058	// Kind: Identifies what kind of resource this is. Value: the fixed
5059	// string "dfareporting#creativeFieldValuesListResponse".
5060	Kind string `json:"kind,omitempty"`
5061
5062	// NextPageToken: Pagination token to be used for the next list
5063	// operation.
5064	NextPageToken string `json:"nextPageToken,omitempty"`
5065
5066	// ServerResponse contains the HTTP response code and headers from the
5067	// server.
5068	googleapi.ServerResponse `json:"-"`
5069
5070	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
5071	// to unconditionally include in API requests. By default, fields with
5072	// empty values are omitted from API requests. However, any non-pointer,
5073	// non-interface field appearing in ForceSendFields will be sent to the
5074	// server regardless of whether the field is empty or not. This may be
5075	// used to include empty fields in Patch requests.
5076	ForceSendFields []string `json:"-"`
5077
5078	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
5079	// include in API requests with the JSON null value. By default, fields
5080	// with empty values are omitted from API requests. However, any field
5081	// with an empty value appearing in NullFields will be sent to the
5082	// server as null. It is an error if a field in this list has a
5083	// non-empty value. This may be used to include null fields in Patch
5084	// requests.
5085	NullFields []string `json:"-"`
5086}
5087
5088func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
5089	type NoMethod CreativeFieldValuesListResponse
5090	raw := NoMethod(*s)
5091	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5092}
5093
5094// CreativeFieldsListResponse: Creative Field List Response
5095type CreativeFieldsListResponse struct {
5096	// CreativeFields: Creative field collection.
5097	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
5098
5099	// Kind: Identifies what kind of resource this is. Value: the fixed
5100	// string "dfareporting#creativeFieldsListResponse".
5101	Kind string `json:"kind,omitempty"`
5102
5103	// NextPageToken: Pagination token to be used for the next list
5104	// operation.
5105	NextPageToken string `json:"nextPageToken,omitempty"`
5106
5107	// ServerResponse contains the HTTP response code and headers from the
5108	// server.
5109	googleapi.ServerResponse `json:"-"`
5110
5111	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
5112	// unconditionally include in API requests. By default, fields with
5113	// empty values are omitted from API requests. However, any non-pointer,
5114	// non-interface field appearing in ForceSendFields will be sent to the
5115	// server regardless of whether the field is empty or not. This may be
5116	// used to include empty fields in Patch requests.
5117	ForceSendFields []string `json:"-"`
5118
5119	// NullFields is a list of field names (e.g. "CreativeFields") to
5120	// include in API requests with the JSON null value. By default, fields
5121	// with empty values are omitted from API requests. However, any field
5122	// with an empty value appearing in NullFields will be sent to the
5123	// server as null. It is an error if a field in this list has a
5124	// non-empty value. This may be used to include null fields in Patch
5125	// requests.
5126	NullFields []string `json:"-"`
5127}
5128
5129func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
5130	type NoMethod CreativeFieldsListResponse
5131	raw := NoMethod(*s)
5132	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5133}
5134
5135// CreativeGroup: Contains properties of a creative group.
5136type CreativeGroup struct {
5137	// AccountId: Account ID of this creative group. This is a read-only
5138	// field that can be left blank.
5139	AccountId int64 `json:"accountId,omitempty,string"`
5140
5141	// AdvertiserId: Advertiser ID of this creative group. This is a
5142	// required field on insertion.
5143	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5144
5145	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5146	// advertiser. This is a read-only, auto-generated field.
5147	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5148
5149	// GroupNumber: Subgroup of the creative group. Assign your creative
5150	// groups to a subgroup in order to filter or manage them more easily.
5151	// This field is required on insertion and is read-only after insertion.
5152	// Acceptable values are 1 to 2, inclusive.
5153	GroupNumber int64 `json:"groupNumber,omitempty"`
5154
5155	// Id: ID of this creative group. This is a read-only, auto-generated
5156	// field.
5157	Id int64 `json:"id,omitempty,string"`
5158
5159	// Kind: Identifies what kind of resource this is. Value: the fixed
5160	// string "dfareporting#creativeGroup".
5161	Kind string `json:"kind,omitempty"`
5162
5163	// Name: Name of this creative group. This is a required field and must
5164	// be less than 256 characters long and unique among creative groups of
5165	// the same advertiser.
5166	Name string `json:"name,omitempty"`
5167
5168	// SubaccountId: Subaccount ID of this creative group. This is a
5169	// read-only field that can be left blank.
5170	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5171
5172	// ServerResponse contains the HTTP response code and headers from the
5173	// server.
5174	googleapi.ServerResponse `json:"-"`
5175
5176	// ForceSendFields is a list of field names (e.g. "AccountId") to
5177	// unconditionally include in API requests. By default, fields with
5178	// empty values are omitted from API requests. However, any non-pointer,
5179	// non-interface field appearing in ForceSendFields will be sent to the
5180	// server regardless of whether the field is empty or not. This may be
5181	// used to include empty fields in Patch requests.
5182	ForceSendFields []string `json:"-"`
5183
5184	// NullFields is a list of field names (e.g. "AccountId") to include in
5185	// API requests with the JSON null value. By default, fields with empty
5186	// values are omitted from API requests. However, any field with an
5187	// empty value appearing in NullFields will be sent to the server as
5188	// null. It is an error if a field in this list has a non-empty value.
5189	// This may be used to include null fields in Patch requests.
5190	NullFields []string `json:"-"`
5191}
5192
5193func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
5194	type NoMethod CreativeGroup
5195	raw := NoMethod(*s)
5196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5197}
5198
5199// CreativeGroupAssignment: Creative Group Assignment.
5200type CreativeGroupAssignment struct {
5201	// CreativeGroupId: ID of the creative group to be assigned.
5202	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
5203
5204	// CreativeGroupNumber: Creative group number of the creative group
5205	// assignment.
5206	//
5207	// Possible values:
5208	//   "CREATIVE_GROUP_ONE"
5209	//   "CREATIVE_GROUP_TWO"
5210	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
5211
5212	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
5213	// unconditionally include in API requests. By default, fields with
5214	// empty values are omitted from API requests. However, any non-pointer,
5215	// non-interface field appearing in ForceSendFields will be sent to the
5216	// server regardless of whether the field is empty or not. This may be
5217	// used to include empty fields in Patch requests.
5218	ForceSendFields []string `json:"-"`
5219
5220	// NullFields is a list of field names (e.g. "CreativeGroupId") to
5221	// include in API requests with the JSON null value. By default, fields
5222	// with empty values are omitted from API requests. However, any field
5223	// with an empty value appearing in NullFields will be sent to the
5224	// server as null. It is an error if a field in this list has a
5225	// non-empty value. This may be used to include null fields in Patch
5226	// requests.
5227	NullFields []string `json:"-"`
5228}
5229
5230func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
5231	type NoMethod CreativeGroupAssignment
5232	raw := NoMethod(*s)
5233	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5234}
5235
5236// CreativeGroupsListResponse: Creative Group List Response
5237type CreativeGroupsListResponse struct {
5238	// CreativeGroups: Creative group collection.
5239	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
5240
5241	// Kind: Identifies what kind of resource this is. Value: the fixed
5242	// string "dfareporting#creativeGroupsListResponse".
5243	Kind string `json:"kind,omitempty"`
5244
5245	// NextPageToken: Pagination token to be used for the next list
5246	// operation.
5247	NextPageToken string `json:"nextPageToken,omitempty"`
5248
5249	// ServerResponse contains the HTTP response code and headers from the
5250	// server.
5251	googleapi.ServerResponse `json:"-"`
5252
5253	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
5254	// unconditionally include in API requests. By default, fields with
5255	// empty values are omitted from API requests. However, any non-pointer,
5256	// non-interface field appearing in ForceSendFields will be sent to the
5257	// server regardless of whether the field is empty or not. This may be
5258	// used to include empty fields in Patch requests.
5259	ForceSendFields []string `json:"-"`
5260
5261	// NullFields is a list of field names (e.g. "CreativeGroups") to
5262	// include in API requests with the JSON null value. By default, fields
5263	// with empty values are omitted from API requests. However, any field
5264	// with an empty value appearing in NullFields will be sent to the
5265	// server as null. It is an error if a field in this list has a
5266	// non-empty value. This may be used to include null fields in Patch
5267	// requests.
5268	NullFields []string `json:"-"`
5269}
5270
5271func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
5272	type NoMethod CreativeGroupsListResponse
5273	raw := NoMethod(*s)
5274	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5275}
5276
5277// CreativeOptimizationConfiguration: Creative optimization settings.
5278type CreativeOptimizationConfiguration struct {
5279	// Id: ID of this creative optimization config. This field is
5280	// auto-generated when the campaign is inserted or updated. It can be
5281	// null for existing campaigns.
5282	Id int64 `json:"id,omitempty,string"`
5283
5284	// Name: Name of this creative optimization config. This is a required
5285	// field and must be less than 129 characters long.
5286	Name string `json:"name,omitempty"`
5287
5288	// OptimizationActivitys: List of optimization activities associated
5289	// with this configuration.
5290	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
5291
5292	// OptimizationModel: Optimization model for this configuration.
5293	//
5294	// Possible values:
5295	//   "CLICK"
5296	//   "POST_CLICK"
5297	//   "POST_CLICK_AND_IMPRESSION"
5298	//   "POST_IMPRESSION"
5299	//   "VIDEO_COMPLETION"
5300	OptimizationModel string `json:"optimizationModel,omitempty"`
5301
5302	// ForceSendFields is a list of field names (e.g. "Id") to
5303	// unconditionally include in API requests. By default, fields with
5304	// empty values are omitted from API requests. However, any non-pointer,
5305	// non-interface field appearing in ForceSendFields will be sent to the
5306	// server regardless of whether the field is empty or not. This may be
5307	// used to include empty fields in Patch requests.
5308	ForceSendFields []string `json:"-"`
5309
5310	// NullFields is a list of field names (e.g. "Id") to include in API
5311	// requests with the JSON null value. By default, fields with empty
5312	// values are omitted from API requests. However, any field with an
5313	// empty value appearing in NullFields will be sent to the server as
5314	// null. It is an error if a field in this list has a non-empty value.
5315	// This may be used to include null fields in Patch requests.
5316	NullFields []string `json:"-"`
5317}
5318
5319func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
5320	type NoMethod CreativeOptimizationConfiguration
5321	raw := NoMethod(*s)
5322	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5323}
5324
5325// CreativeRotation: Creative Rotation.
5326type CreativeRotation struct {
5327	// CreativeAssignments: Creative assignments in this creative rotation.
5328	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
5329
5330	// CreativeOptimizationConfigurationId: Creative optimization
5331	// configuration that is used by this ad. It should refer to one of the
5332	// existing optimization configurations in the ad's campaign. If it is
5333	// unset or set to 0, then the campaign's default optimization
5334	// configuration will be used for this ad.
5335	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
5336
5337	// Type: Type of creative rotation. Can be used to specify whether to
5338	// use sequential or random rotation.
5339	//
5340	// Possible values:
5341	//   "CREATIVE_ROTATION_TYPE_RANDOM"
5342	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
5343	Type string `json:"type,omitempty"`
5344
5345	// WeightCalculationStrategy: Strategy for calculating weights. Used
5346	// with CREATIVE_ROTATION_TYPE_RANDOM.
5347	//
5348	// Possible values:
5349	//   "WEIGHT_STRATEGY_CUSTOM"
5350	//   "WEIGHT_STRATEGY_EQUAL"
5351	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
5352	//   "WEIGHT_STRATEGY_OPTIMIZED"
5353	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
5354
5355	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
5356	// to unconditionally include in API requests. By default, fields with
5357	// empty values are omitted from API requests. However, any non-pointer,
5358	// non-interface field appearing in ForceSendFields will be sent to the
5359	// server regardless of whether the field is empty or not. This may be
5360	// used to include empty fields in Patch requests.
5361	ForceSendFields []string `json:"-"`
5362
5363	// NullFields is a list of field names (e.g. "CreativeAssignments") to
5364	// include in API requests with the JSON null value. By default, fields
5365	// with empty values are omitted from API requests. However, any field
5366	// with an empty value appearing in NullFields will be sent to the
5367	// server as null. It is an error if a field in this list has a
5368	// non-empty value. This may be used to include null fields in Patch
5369	// requests.
5370	NullFields []string `json:"-"`
5371}
5372
5373func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
5374	type NoMethod CreativeRotation
5375	raw := NoMethod(*s)
5376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5377}
5378
5379// CreativeSettings: Creative Settings
5380type CreativeSettings struct {
5381	// IFrameFooter: Header text for iFrames for this site. Must be less
5382	// than or equal to 2000 characters long.
5383	IFrameFooter string `json:"iFrameFooter,omitempty"`
5384
5385	// IFrameHeader: Header text for iFrames for this site. Must be less
5386	// than or equal to 2000 characters long.
5387	IFrameHeader string `json:"iFrameHeader,omitempty"`
5388
5389	// ForceSendFields is a list of field names (e.g. "IFrameFooter") to
5390	// unconditionally include in API requests. By default, fields with
5391	// empty values are omitted from API requests. However, any non-pointer,
5392	// non-interface field appearing in ForceSendFields will be sent to the
5393	// server regardless of whether the field is empty or not. This may be
5394	// used to include empty fields in Patch requests.
5395	ForceSendFields []string `json:"-"`
5396
5397	// NullFields is a list of field names (e.g. "IFrameFooter") to include
5398	// in API requests with the JSON null value. By default, fields with
5399	// empty values are omitted from API requests. However, any field with
5400	// an empty value appearing in NullFields will be sent to the server as
5401	// null. It is an error if a field in this list has a non-empty value.
5402	// This may be used to include null fields in Patch requests.
5403	NullFields []string `json:"-"`
5404}
5405
5406func (s *CreativeSettings) MarshalJSON() ([]byte, error) {
5407	type NoMethod CreativeSettings
5408	raw := NoMethod(*s)
5409	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5410}
5411
5412// CreativesListResponse: Creative List Response
5413type CreativesListResponse struct {
5414	// Creatives: Creative collection.
5415	Creatives []*Creative `json:"creatives,omitempty"`
5416
5417	// Kind: Identifies what kind of resource this is. Value: the fixed
5418	// string "dfareporting#creativesListResponse".
5419	Kind string `json:"kind,omitempty"`
5420
5421	// NextPageToken: Pagination token to be used for the next list
5422	// operation.
5423	NextPageToken string `json:"nextPageToken,omitempty"`
5424
5425	// ServerResponse contains the HTTP response code and headers from the
5426	// server.
5427	googleapi.ServerResponse `json:"-"`
5428
5429	// ForceSendFields is a list of field names (e.g. "Creatives") to
5430	// unconditionally include in API requests. By default, fields with
5431	// empty values are omitted from API requests. However, any non-pointer,
5432	// non-interface field appearing in ForceSendFields will be sent to the
5433	// server regardless of whether the field is empty or not. This may be
5434	// used to include empty fields in Patch requests.
5435	ForceSendFields []string `json:"-"`
5436
5437	// NullFields is a list of field names (e.g. "Creatives") to include in
5438	// API requests with the JSON null value. By default, fields with empty
5439	// values are omitted from API requests. However, any field with an
5440	// empty value appearing in NullFields will be sent to the server as
5441	// null. It is an error if a field in this list has a non-empty value.
5442	// This may be used to include null fields in Patch requests.
5443	NullFields []string `json:"-"`
5444}
5445
5446func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
5447	type NoMethod CreativesListResponse
5448	raw := NoMethod(*s)
5449	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5450}
5451
5452// CrossDimensionReachReportCompatibleFields: Represents fields that are
5453// compatible to be selected for a report of type
5454// "CROSS_DIMENSION_REACH".
5455type CrossDimensionReachReportCompatibleFields struct {
5456	// Breakdown: Dimensions which are compatible to be selected in the
5457	// "breakdown" section of the report.
5458	Breakdown []*Dimension `json:"breakdown,omitempty"`
5459
5460	// DimensionFilters: Dimensions which are compatible to be selected in
5461	// the "dimensionFilters" section of the report.
5462	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
5463
5464	// Kind: The kind of resource this is, in this case
5465	// dfareporting#crossDimensionReachReportCompatibleFields.
5466	Kind string `json:"kind,omitempty"`
5467
5468	// Metrics: Metrics which are compatible to be selected in the
5469	// "metricNames" section of the report.
5470	Metrics []*Metric `json:"metrics,omitempty"`
5471
5472	// OverlapMetrics: Metrics which are compatible to be selected in the
5473	// "overlapMetricNames" section of the report.
5474	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
5475
5476	// ForceSendFields is a list of field names (e.g. "Breakdown") to
5477	// unconditionally include in API requests. By default, fields with
5478	// empty values are omitted from API requests. However, any non-pointer,
5479	// non-interface field appearing in ForceSendFields will be sent to the
5480	// server regardless of whether the field is empty or not. This may be
5481	// used to include empty fields in Patch requests.
5482	ForceSendFields []string `json:"-"`
5483
5484	// NullFields is a list of field names (e.g. "Breakdown") to include in
5485	// API requests with the JSON null value. By default, fields with empty
5486	// values are omitted from API requests. However, any field with an
5487	// empty value appearing in NullFields will be sent to the server as
5488	// null. It is an error if a field in this list has a non-empty value.
5489	// This may be used to include null fields in Patch requests.
5490	NullFields []string `json:"-"`
5491}
5492
5493func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
5494	type NoMethod CrossDimensionReachReportCompatibleFields
5495	raw := NoMethod(*s)
5496	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5497}
5498
5499// CustomFloodlightVariable: A custom floodlight variable.
5500type CustomFloodlightVariable struct {
5501	// Kind: Identifies what kind of resource this is. Value: the fixed
5502	// string "dfareporting#customFloodlightVariable".
5503	Kind string `json:"kind,omitempty"`
5504
5505	// Type: The type of custom floodlight variable to supply a value for.
5506	// These map to the "u[1-20]=" in the tags.
5507	//
5508	// Possible values:
5509	//   "U1"
5510	//   "U10"
5511	//   "U100"
5512	//   "U11"
5513	//   "U12"
5514	//   "U13"
5515	//   "U14"
5516	//   "U15"
5517	//   "U16"
5518	//   "U17"
5519	//   "U18"
5520	//   "U19"
5521	//   "U2"
5522	//   "U20"
5523	//   "U21"
5524	//   "U22"
5525	//   "U23"
5526	//   "U24"
5527	//   "U25"
5528	//   "U26"
5529	//   "U27"
5530	//   "U28"
5531	//   "U29"
5532	//   "U3"
5533	//   "U30"
5534	//   "U31"
5535	//   "U32"
5536	//   "U33"
5537	//   "U34"
5538	//   "U35"
5539	//   "U36"
5540	//   "U37"
5541	//   "U38"
5542	//   "U39"
5543	//   "U4"
5544	//   "U40"
5545	//   "U41"
5546	//   "U42"
5547	//   "U43"
5548	//   "U44"
5549	//   "U45"
5550	//   "U46"
5551	//   "U47"
5552	//   "U48"
5553	//   "U49"
5554	//   "U5"
5555	//   "U50"
5556	//   "U51"
5557	//   "U52"
5558	//   "U53"
5559	//   "U54"
5560	//   "U55"
5561	//   "U56"
5562	//   "U57"
5563	//   "U58"
5564	//   "U59"
5565	//   "U6"
5566	//   "U60"
5567	//   "U61"
5568	//   "U62"
5569	//   "U63"
5570	//   "U64"
5571	//   "U65"
5572	//   "U66"
5573	//   "U67"
5574	//   "U68"
5575	//   "U69"
5576	//   "U7"
5577	//   "U70"
5578	//   "U71"
5579	//   "U72"
5580	//   "U73"
5581	//   "U74"
5582	//   "U75"
5583	//   "U76"
5584	//   "U77"
5585	//   "U78"
5586	//   "U79"
5587	//   "U8"
5588	//   "U80"
5589	//   "U81"
5590	//   "U82"
5591	//   "U83"
5592	//   "U84"
5593	//   "U85"
5594	//   "U86"
5595	//   "U87"
5596	//   "U88"
5597	//   "U89"
5598	//   "U9"
5599	//   "U90"
5600	//   "U91"
5601	//   "U92"
5602	//   "U93"
5603	//   "U94"
5604	//   "U95"
5605	//   "U96"
5606	//   "U97"
5607	//   "U98"
5608	//   "U99"
5609	Type string `json:"type,omitempty"`
5610
5611	// Value: The value of the custom floodlight variable. The length of
5612	// string must not exceed 50 characters.
5613	Value string `json:"value,omitempty"`
5614
5615	// ForceSendFields is a list of field names (e.g. "Kind") to
5616	// unconditionally include in API requests. By default, fields with
5617	// empty values are omitted from API requests. However, any non-pointer,
5618	// non-interface field appearing in ForceSendFields will be sent to the
5619	// server regardless of whether the field is empty or not. This may be
5620	// used to include empty fields in Patch requests.
5621	ForceSendFields []string `json:"-"`
5622
5623	// NullFields is a list of field names (e.g. "Kind") to include in API
5624	// requests with the JSON null value. By default, fields with empty
5625	// values are omitted from API requests. However, any field with an
5626	// empty value appearing in NullFields will be sent to the server as
5627	// null. It is an error if a field in this list has a non-empty value.
5628	// This may be used to include null fields in Patch requests.
5629	NullFields []string `json:"-"`
5630}
5631
5632func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
5633	type NoMethod CustomFloodlightVariable
5634	raw := NoMethod(*s)
5635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5636}
5637
5638// CustomRichMediaEvents: Represents a Custom Rich Media Events group.
5639type CustomRichMediaEvents struct {
5640	// FilteredEventIds: List of custom rich media event IDs. Dimension
5641	// values must be all of type dfa:richMediaEventTypeIdAndName.
5642	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
5643
5644	// Kind: The kind of resource this is, in this case
5645	// dfareporting#customRichMediaEvents.
5646	Kind string `json:"kind,omitempty"`
5647
5648	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
5649	// unconditionally include in API requests. By default, fields with
5650	// empty values are omitted from API requests. However, any non-pointer,
5651	// non-interface field appearing in ForceSendFields will be sent to the
5652	// server regardless of whether the field is empty or not. This may be
5653	// used to include empty fields in Patch requests.
5654	ForceSendFields []string `json:"-"`
5655
5656	// NullFields is a list of field names (e.g. "FilteredEventIds") to
5657	// include in API requests with the JSON null value. By default, fields
5658	// with empty values are omitted from API requests. However, any field
5659	// with an empty value appearing in NullFields will be sent to the
5660	// server as null. It is an error if a field in this list has a
5661	// non-empty value. This may be used to include null fields in Patch
5662	// requests.
5663	NullFields []string `json:"-"`
5664}
5665
5666func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
5667	type NoMethod CustomRichMediaEvents
5668	raw := NoMethod(*s)
5669	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5670}
5671
5672// DateRange: Represents a date range.
5673type DateRange struct {
5674	// EndDate: The end date of the date range, inclusive. A string of the
5675	// format: "yyyy-MM-dd".
5676	EndDate string `json:"endDate,omitempty"`
5677
5678	// Kind: The kind of resource this is, in this case
5679	// dfareporting#dateRange.
5680	Kind string `json:"kind,omitempty"`
5681
5682	// RelativeDateRange: The date range relative to the date of when the
5683	// report is run.
5684	//
5685	// Possible values:
5686	//   "LAST_24_MONTHS"
5687	//   "LAST_30_DAYS"
5688	//   "LAST_365_DAYS"
5689	//   "LAST_7_DAYS"
5690	//   "LAST_90_DAYS"
5691	//   "MONTH_TO_DATE"
5692	//   "PREVIOUS_MONTH"
5693	//   "PREVIOUS_QUARTER"
5694	//   "PREVIOUS_WEEK"
5695	//   "PREVIOUS_YEAR"
5696	//   "QUARTER_TO_DATE"
5697	//   "TODAY"
5698	//   "WEEK_TO_DATE"
5699	//   "YEAR_TO_DATE"
5700	//   "YESTERDAY"
5701	RelativeDateRange string `json:"relativeDateRange,omitempty"`
5702
5703	// StartDate: The start date of the date range, inclusive. A string of
5704	// the format: "yyyy-MM-dd".
5705	StartDate string `json:"startDate,omitempty"`
5706
5707	// ForceSendFields is a list of field names (e.g. "EndDate") to
5708	// unconditionally include in API requests. By default, fields with
5709	// empty values are omitted from API requests. However, any non-pointer,
5710	// non-interface field appearing in ForceSendFields will be sent to the
5711	// server regardless of whether the field is empty or not. This may be
5712	// used to include empty fields in Patch requests.
5713	ForceSendFields []string `json:"-"`
5714
5715	// NullFields is a list of field names (e.g. "EndDate") to include in
5716	// API requests with the JSON null value. By default, fields with empty
5717	// values are omitted from API requests. However, any field with an
5718	// empty value appearing in NullFields will be sent to the server as
5719	// null. It is an error if a field in this list has a non-empty value.
5720	// This may be used to include null fields in Patch requests.
5721	NullFields []string `json:"-"`
5722}
5723
5724func (s *DateRange) MarshalJSON() ([]byte, error) {
5725	type NoMethod DateRange
5726	raw := NoMethod(*s)
5727	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5728}
5729
5730// DayPartTargeting: Day Part Targeting.
5731type DayPartTargeting struct {
5732	// DaysOfWeek: Days of the week when the ad will serve.
5733	//
5734	// Acceptable values are:
5735	// - "SUNDAY"
5736	// - "MONDAY"
5737	// - "TUESDAY"
5738	// - "WEDNESDAY"
5739	// - "THURSDAY"
5740	// - "FRIDAY"
5741	// - "SATURDAY"
5742	//
5743	// Possible values:
5744	//   "FRIDAY"
5745	//   "MONDAY"
5746	//   "SATURDAY"
5747	//   "SUNDAY"
5748	//   "THURSDAY"
5749	//   "TUESDAY"
5750	//   "WEDNESDAY"
5751	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
5752
5753	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
5754	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
5755	// days of week, in which case the ad would serve during these hours on
5756	// the specified days. For example if Monday, Wednesday, Friday are the
5757	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
5758	// specified, the ad would serve Monday, Wednesdays, and Fridays at
5759	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
5760	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
5761
5762	// UserLocalTime: Whether or not to use the user's local time. If false,
5763	// the America/New York time zone applies.
5764	UserLocalTime bool `json:"userLocalTime,omitempty"`
5765
5766	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
5767	// unconditionally include in API requests. By default, fields with
5768	// empty values are omitted from API requests. However, any non-pointer,
5769	// non-interface field appearing in ForceSendFields will be sent to the
5770	// server regardless of whether the field is empty or not. This may be
5771	// used to include empty fields in Patch requests.
5772	ForceSendFields []string `json:"-"`
5773
5774	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
5775	// API requests with the JSON null value. By default, fields with empty
5776	// values are omitted from API requests. However, any field with an
5777	// empty value appearing in NullFields will be sent to the server as
5778	// null. It is an error if a field in this list has a non-empty value.
5779	// This may be used to include null fields in Patch requests.
5780	NullFields []string `json:"-"`
5781}
5782
5783func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
5784	type NoMethod DayPartTargeting
5785	raw := NoMethod(*s)
5786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5787}
5788
5789// DefaultClickThroughEventTagProperties: Properties of inheriting and
5790// overriding the default click-through event tag. A campaign may
5791// override the event tag defined at the advertiser level, and an ad may
5792// also override the campaign's setting further.
5793type DefaultClickThroughEventTagProperties struct {
5794	// DefaultClickThroughEventTagId: ID of the click-through event tag to
5795	// apply to all ads in this entity's scope.
5796	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
5797
5798	// OverrideInheritedEventTag: Whether this entity should override the
5799	// inherited default click-through event tag with its own defined value.
5800	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
5801
5802	// ForceSendFields is a list of field names (e.g.
5803	// "DefaultClickThroughEventTagId") to unconditionally include in API
5804	// requests. By default, fields with empty values are omitted from API
5805	// requests. However, any non-pointer, non-interface field appearing in
5806	// ForceSendFields will be sent to the server regardless of whether the
5807	// field is empty or not. This may be used to include empty fields in
5808	// Patch requests.
5809	ForceSendFields []string `json:"-"`
5810
5811	// NullFields is a list of field names (e.g.
5812	// "DefaultClickThroughEventTagId") to include in API requests with the
5813	// JSON null value. By default, fields with empty values are omitted
5814	// from API requests. However, any field with an empty value appearing
5815	// in NullFields will be sent to the server as null. It is an error if a
5816	// field in this list has a non-empty value. This may be used to include
5817	// null fields in Patch requests.
5818	NullFields []string `json:"-"`
5819}
5820
5821func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
5822	type NoMethod DefaultClickThroughEventTagProperties
5823	raw := NoMethod(*s)
5824	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5825}
5826
5827// DeliverySchedule: Delivery Schedule.
5828type DeliverySchedule struct {
5829	// FrequencyCap: Limit on the number of times an individual user can be
5830	// served the ad within a specified period of time.
5831	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
5832
5833	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
5834	// will not serve after the end date and time. Otherwise the ad will
5835	// continue to be served until it has reached its delivery goals.
5836	HardCutoff bool `json:"hardCutoff,omitempty"`
5837
5838	// ImpressionRatio: Impression ratio for this ad. This ratio determines
5839	// how often each ad is served relative to the others. For example, if
5840	// ad A has an impression ratio of 1 and ad B has an impression ratio of
5841	// 3, then DCM will serve ad B three times as often as ad A. Acceptable
5842	// values are 1 to 10, inclusive.
5843	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
5844
5845	// Priority: Serving priority of an ad, with respect to other ads. The
5846	// lower the priority number, the greater the priority with which it is
5847	// served.
5848	//
5849	// Possible values:
5850	//   "AD_PRIORITY_01"
5851	//   "AD_PRIORITY_02"
5852	//   "AD_PRIORITY_03"
5853	//   "AD_PRIORITY_04"
5854	//   "AD_PRIORITY_05"
5855	//   "AD_PRIORITY_06"
5856	//   "AD_PRIORITY_07"
5857	//   "AD_PRIORITY_08"
5858	//   "AD_PRIORITY_09"
5859	//   "AD_PRIORITY_10"
5860	//   "AD_PRIORITY_11"
5861	//   "AD_PRIORITY_12"
5862	//   "AD_PRIORITY_13"
5863	//   "AD_PRIORITY_14"
5864	//   "AD_PRIORITY_15"
5865	//   "AD_PRIORITY_16"
5866	Priority string `json:"priority,omitempty"`
5867
5868	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
5869	// unconditionally include in API requests. By default, fields with
5870	// empty values are omitted from API requests. However, any non-pointer,
5871	// non-interface field appearing in ForceSendFields will be sent to the
5872	// server regardless of whether the field is empty or not. This may be
5873	// used to include empty fields in Patch requests.
5874	ForceSendFields []string `json:"-"`
5875
5876	// NullFields is a list of field names (e.g. "FrequencyCap") to include
5877	// in API requests with the JSON null value. By default, fields with
5878	// empty values are omitted from API requests. However, any field with
5879	// an empty value appearing in NullFields will be sent to the server as
5880	// null. It is an error if a field in this list has a non-empty value.
5881	// This may be used to include null fields in Patch requests.
5882	NullFields []string `json:"-"`
5883}
5884
5885func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
5886	type NoMethod DeliverySchedule
5887	raw := NoMethod(*s)
5888	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5889}
5890
5891// DfpSettings: DFP Settings
5892type DfpSettings struct {
5893	// DfpNetworkCode: DFP network code for this directory site.
5894	DfpNetworkCode string `json:"dfp_network_code,omitempty"`
5895
5896	// DfpNetworkName: DFP network name for this directory site.
5897	DfpNetworkName string `json:"dfp_network_name,omitempty"`
5898
5899	// ProgrammaticPlacementAccepted: Whether this directory site accepts
5900	// programmatic placements.
5901	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
5902
5903	// PubPaidPlacementAccepted: Whether this directory site accepts
5904	// publisher-paid tags.
5905	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
5906
5907	// PublisherPortalOnly: Whether this directory site is available only
5908	// via DoubleClick Publisher Portal.
5909	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
5910
5911	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
5912	// unconditionally include in API requests. By default, fields with
5913	// empty values are omitted from API requests. However, any non-pointer,
5914	// non-interface field appearing in ForceSendFields will be sent to the
5915	// server regardless of whether the field is empty or not. This may be
5916	// used to include empty fields in Patch requests.
5917	ForceSendFields []string `json:"-"`
5918
5919	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
5920	// include in API requests with the JSON null value. By default, fields
5921	// with empty values are omitted from API requests. However, any field
5922	// with an empty value appearing in NullFields will be sent to the
5923	// server as null. It is an error if a field in this list has a
5924	// non-empty value. This may be used to include null fields in Patch
5925	// requests.
5926	NullFields []string `json:"-"`
5927}
5928
5929func (s *DfpSettings) MarshalJSON() ([]byte, error) {
5930	type NoMethod DfpSettings
5931	raw := NoMethod(*s)
5932	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5933}
5934
5935// Dimension: Represents a dimension.
5936type Dimension struct {
5937	// Kind: The kind of resource this is, in this case
5938	// dfareporting#dimension.
5939	Kind string `json:"kind,omitempty"`
5940
5941	// Name: The dimension name, e.g. dfa:advertiser
5942	Name string `json:"name,omitempty"`
5943
5944	// ForceSendFields is a list of field names (e.g. "Kind") to
5945	// unconditionally include in API requests. By default, fields with
5946	// empty values are omitted from API requests. However, any non-pointer,
5947	// non-interface field appearing in ForceSendFields will be sent to the
5948	// server regardless of whether the field is empty or not. This may be
5949	// used to include empty fields in Patch requests.
5950	ForceSendFields []string `json:"-"`
5951
5952	// NullFields is a list of field names (e.g. "Kind") to include in API
5953	// requests with the JSON null value. By default, fields with empty
5954	// values are omitted from API requests. However, any field with an
5955	// empty value appearing in NullFields will be sent to the server as
5956	// null. It is an error if a field in this list has a non-empty value.
5957	// This may be used to include null fields in Patch requests.
5958	NullFields []string `json:"-"`
5959}
5960
5961func (s *Dimension) MarshalJSON() ([]byte, error) {
5962	type NoMethod Dimension
5963	raw := NoMethod(*s)
5964	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5965}
5966
5967// DimensionFilter: Represents a dimension filter.
5968type DimensionFilter struct {
5969	// DimensionName: The name of the dimension to filter.
5970	DimensionName string `json:"dimensionName,omitempty"`
5971
5972	// Kind: The kind of resource this is, in this case
5973	// dfareporting#dimensionFilter.
5974	Kind string `json:"kind,omitempty"`
5975
5976	// Value: The value of the dimension to filter.
5977	Value string `json:"value,omitempty"`
5978
5979	// ForceSendFields is a list of field names (e.g. "DimensionName") to
5980	// unconditionally include in API requests. By default, fields with
5981	// empty values are omitted from API requests. However, any non-pointer,
5982	// non-interface field appearing in ForceSendFields will be sent to the
5983	// server regardless of whether the field is empty or not. This may be
5984	// used to include empty fields in Patch requests.
5985	ForceSendFields []string `json:"-"`
5986
5987	// NullFields is a list of field names (e.g. "DimensionName") to include
5988	// in API requests with the JSON null value. By default, fields with
5989	// empty values are omitted from API requests. However, any field with
5990	// an empty value appearing in NullFields will be sent to the server as
5991	// null. It is an error if a field in this list has a non-empty value.
5992	// This may be used to include null fields in Patch requests.
5993	NullFields []string `json:"-"`
5994}
5995
5996func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
5997	type NoMethod DimensionFilter
5998	raw := NoMethod(*s)
5999	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6000}
6001
6002// DimensionValue: Represents a DimensionValue resource.
6003type DimensionValue struct {
6004	// DimensionName: The name of the dimension.
6005	DimensionName string `json:"dimensionName,omitempty"`
6006
6007	// Etag: The eTag of this response for caching purposes.
6008	Etag string `json:"etag,omitempty"`
6009
6010	// Id: The ID associated with the value if available.
6011	Id string `json:"id,omitempty"`
6012
6013	// Kind: The kind of resource this is, in this case
6014	// dfareporting#dimensionValue.
6015	Kind string `json:"kind,omitempty"`
6016
6017	// MatchType: Determines how the 'value' field is matched when
6018	// filtering. If not specified, defaults to EXACT. If set to
6019	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
6020	// length character sequences, and it can be escaped with a backslash.
6021	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
6022	// matchType other than EXACT.
6023	//
6024	// Possible values:
6025	//   "BEGINS_WITH"
6026	//   "CONTAINS"
6027	//   "EXACT"
6028	//   "WILDCARD_EXPRESSION"
6029	MatchType string `json:"matchType,omitempty"`
6030
6031	// Value: The value of the dimension.
6032	Value string `json:"value,omitempty"`
6033
6034	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6035	// unconditionally include in API requests. By default, fields with
6036	// empty values are omitted from API requests. However, any non-pointer,
6037	// non-interface field appearing in ForceSendFields will be sent to the
6038	// server regardless of whether the field is empty or not. This may be
6039	// used to include empty fields in Patch requests.
6040	ForceSendFields []string `json:"-"`
6041
6042	// NullFields is a list of field names (e.g. "DimensionName") to include
6043	// in API requests with the JSON null value. By default, fields with
6044	// empty values are omitted from API requests. However, any field with
6045	// an empty value appearing in NullFields will be sent to the server as
6046	// null. It is an error if a field in this list has a non-empty value.
6047	// This may be used to include null fields in Patch requests.
6048	NullFields []string `json:"-"`
6049}
6050
6051func (s *DimensionValue) MarshalJSON() ([]byte, error) {
6052	type NoMethod DimensionValue
6053	raw := NoMethod(*s)
6054	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6055}
6056
6057// DimensionValueList: Represents the list of DimensionValue resources.
6058type DimensionValueList struct {
6059	// Etag: The eTag of this response for caching purposes.
6060	Etag string `json:"etag,omitempty"`
6061
6062	// Items: The dimension values returned in this response.
6063	Items []*DimensionValue `json:"items,omitempty"`
6064
6065	// Kind: The kind of list this is, in this case
6066	// dfareporting#dimensionValueList.
6067	Kind string `json:"kind,omitempty"`
6068
6069	// NextPageToken: Continuation token used to page through dimension
6070	// values. To retrieve the next page of results, set the next request's
6071	// "pageToken" to the value of this field. The page token is only valid
6072	// for a limited amount of time and should not be persisted.
6073	NextPageToken string `json:"nextPageToken,omitempty"`
6074
6075	// ServerResponse contains the HTTP response code and headers from the
6076	// server.
6077	googleapi.ServerResponse `json:"-"`
6078
6079	// ForceSendFields is a list of field names (e.g. "Etag") to
6080	// unconditionally include in API requests. By default, fields with
6081	// empty values are omitted from API requests. However, any non-pointer,
6082	// non-interface field appearing in ForceSendFields will be sent to the
6083	// server regardless of whether the field is empty or not. This may be
6084	// used to include empty fields in Patch requests.
6085	ForceSendFields []string `json:"-"`
6086
6087	// NullFields is a list of field names (e.g. "Etag") to include in API
6088	// requests with the JSON null value. By default, fields with empty
6089	// values are omitted from API requests. However, any field with an
6090	// empty value appearing in NullFields will be sent to the server as
6091	// null. It is an error if a field in this list has a non-empty value.
6092	// This may be used to include null fields in Patch requests.
6093	NullFields []string `json:"-"`
6094}
6095
6096func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
6097	type NoMethod DimensionValueList
6098	raw := NoMethod(*s)
6099	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6100}
6101
6102// DimensionValueRequest: Represents a DimensionValuesRequest.
6103type DimensionValueRequest struct {
6104	// DimensionName: The name of the dimension for which values should be
6105	// requested.
6106	DimensionName string `json:"dimensionName,omitempty"`
6107
6108	// EndDate: The end date of the date range for which to retrieve
6109	// dimension values. A string of the format "yyyy-MM-dd".
6110	EndDate string `json:"endDate,omitempty"`
6111
6112	// Filters: The list of filters by which to filter values. The filters
6113	// are ANDed.
6114	Filters []*DimensionFilter `json:"filters,omitempty"`
6115
6116	// Kind: The kind of request this is, in this case
6117	// dfareporting#dimensionValueRequest.
6118	Kind string `json:"kind,omitempty"`
6119
6120	// StartDate: The start date of the date range for which to retrieve
6121	// dimension values. A string of the format "yyyy-MM-dd".
6122	StartDate string `json:"startDate,omitempty"`
6123
6124	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6125	// unconditionally include in API requests. By default, fields with
6126	// empty values are omitted from API requests. However, any non-pointer,
6127	// non-interface field appearing in ForceSendFields will be sent to the
6128	// server regardless of whether the field is empty or not. This may be
6129	// used to include empty fields in Patch requests.
6130	ForceSendFields []string `json:"-"`
6131
6132	// NullFields is a list of field names (e.g. "DimensionName") to include
6133	// in API requests with the JSON null value. By default, fields with
6134	// empty values are omitted from API requests. However, any field with
6135	// an empty value appearing in NullFields will be sent to the server as
6136	// null. It is an error if a field in this list has a non-empty value.
6137	// This may be used to include null fields in Patch requests.
6138	NullFields []string `json:"-"`
6139}
6140
6141func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
6142	type NoMethod DimensionValueRequest
6143	raw := NoMethod(*s)
6144	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6145}
6146
6147// DirectorySite: DirectorySites contains properties of a website from
6148// the Site Directory. Sites need to be added to an account via the
6149// Sites resource before they can be assigned to a placement.
6150type DirectorySite struct {
6151	// Active: Whether this directory site is active.
6152	Active bool `json:"active,omitempty"`
6153
6154	// ContactAssignments: Directory site contacts.
6155	ContactAssignments []*DirectorySiteContactAssignment `json:"contactAssignments,omitempty"`
6156
6157	// CountryId: Country ID of this directory site. This is a read-only
6158	// field.
6159	CountryId int64 `json:"countryId,omitempty,string"`
6160
6161	// CurrencyId: Currency ID of this directory site. This is a read-only
6162	// field.
6163	// Possible values are:
6164	// - "1" for USD
6165	// - "2" for GBP
6166	// - "3" for ESP
6167	// - "4" for SEK
6168	// - "5" for CAD
6169	// - "6" for JPY
6170	// - "7" for DEM
6171	// - "8" for AUD
6172	// - "9" for FRF
6173	// - "10" for ITL
6174	// - "11" for DKK
6175	// - "12" for NOK
6176	// - "13" for FIM
6177	// - "14" for ZAR
6178	// - "15" for IEP
6179	// - "16" for NLG
6180	// - "17" for EUR
6181	// - "18" for KRW
6182	// - "19" for TWD
6183	// - "20" for SGD
6184	// - "21" for CNY
6185	// - "22" for HKD
6186	// - "23" for NZD
6187	// - "24" for MYR
6188	// - "25" for BRL
6189	// - "26" for PTE
6190	// - "27" for MXP
6191	// - "28" for CLP
6192	// - "29" for TRY
6193	// - "30" for ARS
6194	// - "31" for PEN
6195	// - "32" for ILS
6196	// - "33" for CHF
6197	// - "34" for VEF
6198	// - "35" for COP
6199	// - "36" for GTQ
6200	// - "37" for PLN
6201	// - "39" for INR
6202	// - "40" for THB
6203	// - "41" for IDR
6204	// - "42" for CZK
6205	// - "43" for RON
6206	// - "44" for HUF
6207	// - "45" for RUB
6208	// - "46" for AED
6209	// - "47" for BGN
6210	// - "48" for HRK
6211	// - "49" for MXN
6212	// - "50" for NGN
6213	CurrencyId int64 `json:"currencyId,omitempty,string"`
6214
6215	// Description: Description of this directory site. This is a read-only
6216	// field.
6217	Description string `json:"description,omitempty"`
6218
6219	// Id: ID of this directory site. This is a read-only, auto-generated
6220	// field.
6221	Id int64 `json:"id,omitempty,string"`
6222
6223	// IdDimensionValue: Dimension value for the ID of this directory site.
6224	// This is a read-only, auto-generated field.
6225	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
6226
6227	// InpageTagFormats: Tag types for regular placements.
6228	//
6229	// Acceptable values are:
6230	// - "STANDARD"
6231	// - "IFRAME_JAVASCRIPT_INPAGE"
6232	// - "INTERNAL_REDIRECT_INPAGE"
6233	// - "JAVASCRIPT_INPAGE"
6234	//
6235	// Possible values:
6236	//   "IFRAME_JAVASCRIPT_INPAGE"
6237	//   "INTERNAL_REDIRECT_INPAGE"
6238	//   "JAVASCRIPT_INPAGE"
6239	//   "STANDARD"
6240	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
6241
6242	// InterstitialTagFormats: Tag types for interstitial
6243	// placements.
6244	//
6245	// Acceptable values are:
6246	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
6247	// - "INTERNAL_REDIRECT_INTERSTITIAL"
6248	// - "JAVASCRIPT_INTERSTITIAL"
6249	//
6250	// Possible values:
6251	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
6252	//   "INTERNAL_REDIRECT_INTERSTITIAL"
6253	//   "JAVASCRIPT_INTERSTITIAL"
6254	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
6255
6256	// Kind: Identifies what kind of resource this is. Value: the fixed
6257	// string "dfareporting#directorySite".
6258	Kind string `json:"kind,omitempty"`
6259
6260	// Name: Name of this directory site.
6261	Name string `json:"name,omitempty"`
6262
6263	// ParentId: Parent directory site ID.
6264	ParentId int64 `json:"parentId,omitempty,string"`
6265
6266	// Settings: Directory site settings.
6267	Settings *DirectorySiteSettings `json:"settings,omitempty"`
6268
6269	// Url: URL of this directory site.
6270	Url string `json:"url,omitempty"`
6271
6272	// ServerResponse contains the HTTP response code and headers from the
6273	// server.
6274	googleapi.ServerResponse `json:"-"`
6275
6276	// ForceSendFields is a list of field names (e.g. "Active") to
6277	// unconditionally include in API requests. By default, fields with
6278	// empty values are omitted from API requests. However, any non-pointer,
6279	// non-interface field appearing in ForceSendFields will be sent to the
6280	// server regardless of whether the field is empty or not. This may be
6281	// used to include empty fields in Patch requests.
6282	ForceSendFields []string `json:"-"`
6283
6284	// NullFields is a list of field names (e.g. "Active") to include in API
6285	// requests with the JSON null value. By default, fields with empty
6286	// values are omitted from API requests. However, any field with an
6287	// empty value appearing in NullFields will be sent to the server as
6288	// null. It is an error if a field in this list has a non-empty value.
6289	// This may be used to include null fields in Patch requests.
6290	NullFields []string `json:"-"`
6291}
6292
6293func (s *DirectorySite) MarshalJSON() ([]byte, error) {
6294	type NoMethod DirectorySite
6295	raw := NoMethod(*s)
6296	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6297}
6298
6299// DirectorySiteContact: Contains properties of a Site Directory
6300// contact.
6301type DirectorySiteContact struct {
6302	// Address: Address of this directory site contact.
6303	Address string `json:"address,omitempty"`
6304
6305	// Email: Email address of this directory site contact.
6306	Email string `json:"email,omitempty"`
6307
6308	// FirstName: First name of this directory site contact.
6309	FirstName string `json:"firstName,omitempty"`
6310
6311	// Id: ID of this directory site contact. This is a read-only,
6312	// auto-generated field.
6313	Id int64 `json:"id,omitempty,string"`
6314
6315	// Kind: Identifies what kind of resource this is. Value: the fixed
6316	// string "dfareporting#directorySiteContact".
6317	Kind string `json:"kind,omitempty"`
6318
6319	// LastName: Last name of this directory site contact.
6320	LastName string `json:"lastName,omitempty"`
6321
6322	// Phone: Phone number of this directory site contact.
6323	Phone string `json:"phone,omitempty"`
6324
6325	// Role: Directory site contact role.
6326	//
6327	// Possible values:
6328	//   "ADMIN"
6329	//   "EDIT"
6330	//   "VIEW"
6331	Role string `json:"role,omitempty"`
6332
6333	// Title: Title or designation of this directory site contact.
6334	Title string `json:"title,omitempty"`
6335
6336	// Type: Directory site contact type.
6337	//
6338	// Possible values:
6339	//   "BILLING"
6340	//   "OTHER"
6341	//   "SALES"
6342	//   "TECHNICAL"
6343	Type string `json:"type,omitempty"`
6344
6345	// ServerResponse contains the HTTP response code and headers from the
6346	// server.
6347	googleapi.ServerResponse `json:"-"`
6348
6349	// ForceSendFields is a list of field names (e.g. "Address") to
6350	// unconditionally include in API requests. By default, fields with
6351	// empty values are omitted from API requests. However, any non-pointer,
6352	// non-interface field appearing in ForceSendFields will be sent to the
6353	// server regardless of whether the field is empty or not. This may be
6354	// used to include empty fields in Patch requests.
6355	ForceSendFields []string `json:"-"`
6356
6357	// NullFields is a list of field names (e.g. "Address") to include in
6358	// API requests with the JSON null value. By default, fields with empty
6359	// values are omitted from API requests. However, any field with an
6360	// empty value appearing in NullFields will be sent to the server as
6361	// null. It is an error if a field in this list has a non-empty value.
6362	// This may be used to include null fields in Patch requests.
6363	NullFields []string `json:"-"`
6364}
6365
6366func (s *DirectorySiteContact) MarshalJSON() ([]byte, error) {
6367	type NoMethod DirectorySiteContact
6368	raw := NoMethod(*s)
6369	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6370}
6371
6372// DirectorySiteContactAssignment: Directory Site Contact Assignment
6373type DirectorySiteContactAssignment struct {
6374	// ContactId: ID of this directory site contact. This is a read-only,
6375	// auto-generated field.
6376	ContactId int64 `json:"contactId,omitempty,string"`
6377
6378	// Visibility: Visibility of this directory site contact assignment.
6379	// When set to PUBLIC this contact assignment is visible to all account
6380	// and agency users; when set to PRIVATE it is visible only to the site.
6381	//
6382	// Possible values:
6383	//   "PRIVATE"
6384	//   "PUBLIC"
6385	Visibility string `json:"visibility,omitempty"`
6386
6387	// ForceSendFields is a list of field names (e.g. "ContactId") to
6388	// unconditionally include in API requests. By default, fields with
6389	// empty values are omitted from API requests. However, any non-pointer,
6390	// non-interface field appearing in ForceSendFields will be sent to the
6391	// server regardless of whether the field is empty or not. This may be
6392	// used to include empty fields in Patch requests.
6393	ForceSendFields []string `json:"-"`
6394
6395	// NullFields is a list of field names (e.g. "ContactId") to include in
6396	// API requests with the JSON null value. By default, fields with empty
6397	// values are omitted from API requests. However, any field with an
6398	// empty value appearing in NullFields will be sent to the server as
6399	// null. It is an error if a field in this list has a non-empty value.
6400	// This may be used to include null fields in Patch requests.
6401	NullFields []string `json:"-"`
6402}
6403
6404func (s *DirectorySiteContactAssignment) MarshalJSON() ([]byte, error) {
6405	type NoMethod DirectorySiteContactAssignment
6406	raw := NoMethod(*s)
6407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6408}
6409
6410// DirectorySiteContactsListResponse: Directory Site Contact List
6411// Response
6412type DirectorySiteContactsListResponse struct {
6413	// DirectorySiteContacts: Directory site contact collection
6414	DirectorySiteContacts []*DirectorySiteContact `json:"directorySiteContacts,omitempty"`
6415
6416	// Kind: Identifies what kind of resource this is. Value: the fixed
6417	// string "dfareporting#directorySiteContactsListResponse".
6418	Kind string `json:"kind,omitempty"`
6419
6420	// NextPageToken: Pagination token to be used for the next list
6421	// operation.
6422	NextPageToken string `json:"nextPageToken,omitempty"`
6423
6424	// ServerResponse contains the HTTP response code and headers from the
6425	// server.
6426	googleapi.ServerResponse `json:"-"`
6427
6428	// ForceSendFields is a list of field names (e.g.
6429	// "DirectorySiteContacts") to unconditionally include in API requests.
6430	// By default, fields with empty values are omitted from API requests.
6431	// However, any non-pointer, non-interface field appearing in
6432	// ForceSendFields will be sent to the server regardless of whether the
6433	// field is empty or not. This may be used to include empty fields in
6434	// Patch requests.
6435	ForceSendFields []string `json:"-"`
6436
6437	// NullFields is a list of field names (e.g. "DirectorySiteContacts") to
6438	// include in API requests with the JSON null value. By default, fields
6439	// with empty values are omitted from API requests. However, any field
6440	// with an empty value appearing in NullFields will be sent to the
6441	// server as null. It is an error if a field in this list has a
6442	// non-empty value. This may be used to include null fields in Patch
6443	// requests.
6444	NullFields []string `json:"-"`
6445}
6446
6447func (s *DirectorySiteContactsListResponse) MarshalJSON() ([]byte, error) {
6448	type NoMethod DirectorySiteContactsListResponse
6449	raw := NoMethod(*s)
6450	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6451}
6452
6453// DirectorySiteSettings: Directory Site Settings
6454type DirectorySiteSettings struct {
6455	// ActiveViewOptOut: Whether this directory site has disabled active
6456	// view creatives.
6457	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
6458
6459	// DfpSettings: Directory site DFP settings.
6460	DfpSettings *DfpSettings `json:"dfp_settings,omitempty"`
6461
6462	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
6463	// video ads.
6464	InstreamVideoPlacementAccepted bool `json:"instream_video_placement_accepted,omitempty"`
6465
6466	// InterstitialPlacementAccepted: Whether this site accepts interstitial
6467	// ads.
6468	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
6469
6470	// NielsenOcrOptOut: Whether this directory site has disabled Nielsen
6471	// OCR reach ratings.
6472	NielsenOcrOptOut bool `json:"nielsenOcrOptOut,omitempty"`
6473
6474	// VerificationTagOptOut: Whether this directory site has disabled
6475	// generation of Verification ins tags.
6476	VerificationTagOptOut bool `json:"verificationTagOptOut,omitempty"`
6477
6478	// VideoActiveViewOptOut: Whether this directory site has disabled
6479	// active view for in-stream video creatives. This is a read-only field.
6480	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
6481
6482	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
6483	// unconditionally include in API requests. By default, fields with
6484	// empty values are omitted from API requests. However, any non-pointer,
6485	// non-interface field appearing in ForceSendFields will be sent to the
6486	// server regardless of whether the field is empty or not. This may be
6487	// used to include empty fields in Patch requests.
6488	ForceSendFields []string `json:"-"`
6489
6490	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
6491	// include in API requests with the JSON null value. By default, fields
6492	// with empty values are omitted from API requests. However, any field
6493	// with an empty value appearing in NullFields will be sent to the
6494	// server as null. It is an error if a field in this list has a
6495	// non-empty value. This may be used to include null fields in Patch
6496	// requests.
6497	NullFields []string `json:"-"`
6498}
6499
6500func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
6501	type NoMethod DirectorySiteSettings
6502	raw := NoMethod(*s)
6503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6504}
6505
6506// DirectorySitesListResponse: Directory Site List Response
6507type DirectorySitesListResponse struct {
6508	// DirectorySites: Directory site collection.
6509	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
6510
6511	// Kind: Identifies what kind of resource this is. Value: the fixed
6512	// string "dfareporting#directorySitesListResponse".
6513	Kind string `json:"kind,omitempty"`
6514
6515	// NextPageToken: Pagination token to be used for the next list
6516	// operation.
6517	NextPageToken string `json:"nextPageToken,omitempty"`
6518
6519	// ServerResponse contains the HTTP response code and headers from the
6520	// server.
6521	googleapi.ServerResponse `json:"-"`
6522
6523	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
6524	// unconditionally include in API requests. By default, fields with
6525	// empty values are omitted from API requests. However, any non-pointer,
6526	// non-interface field appearing in ForceSendFields will be sent to the
6527	// server regardless of whether the field is empty or not. This may be
6528	// used to include empty fields in Patch requests.
6529	ForceSendFields []string `json:"-"`
6530
6531	// NullFields is a list of field names (e.g. "DirectorySites") to
6532	// include in API requests with the JSON null value. By default, fields
6533	// with empty values are omitted from API requests. However, any field
6534	// with an empty value appearing in NullFields will be sent to the
6535	// server as null. It is an error if a field in this list has a
6536	// non-empty value. This may be used to include null fields in Patch
6537	// requests.
6538	NullFields []string `json:"-"`
6539}
6540
6541func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
6542	type NoMethod DirectorySitesListResponse
6543	raw := NoMethod(*s)
6544	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6545}
6546
6547// DynamicTargetingKey: Contains properties of a dynamic targeting key.
6548// Dynamic targeting keys are unique, user-friendly labels, created at
6549// the advertiser level in DCM, that can be assigned to ads, creatives,
6550// and placements and used for targeting with DoubleClick Studio dynamic
6551// creatives. Use these labels instead of numeric DCM IDs (such as
6552// placement IDs) to save time and avoid errors in your dynamic feeds.
6553type DynamicTargetingKey struct {
6554	// Kind: Identifies what kind of resource this is. Value: the fixed
6555	// string "dfareporting#dynamicTargetingKey".
6556	Kind string `json:"kind,omitempty"`
6557
6558	// Name: Name of this dynamic targeting key. This is a required field.
6559	// Must be less than 256 characters long and cannot contain commas. All
6560	// characters are converted to lowercase.
6561	Name string `json:"name,omitempty"`
6562
6563	// ObjectId: ID of the object of this dynamic targeting key. This is a
6564	// required field.
6565	ObjectId int64 `json:"objectId,omitempty,string"`
6566
6567	// ObjectType: Type of the object of this dynamic targeting key. This is
6568	// a required field.
6569	//
6570	// Possible values:
6571	//   "OBJECT_AD"
6572	//   "OBJECT_ADVERTISER"
6573	//   "OBJECT_CREATIVE"
6574	//   "OBJECT_PLACEMENT"
6575	ObjectType string `json:"objectType,omitempty"`
6576
6577	// ServerResponse contains the HTTP response code and headers from the
6578	// server.
6579	googleapi.ServerResponse `json:"-"`
6580
6581	// ForceSendFields is a list of field names (e.g. "Kind") to
6582	// unconditionally include in API requests. By default, fields with
6583	// empty values are omitted from API requests. However, any non-pointer,
6584	// non-interface field appearing in ForceSendFields will be sent to the
6585	// server regardless of whether the field is empty or not. This may be
6586	// used to include empty fields in Patch requests.
6587	ForceSendFields []string `json:"-"`
6588
6589	// NullFields is a list of field names (e.g. "Kind") to include in API
6590	// requests with the JSON null value. By default, fields with empty
6591	// values are omitted from API requests. However, any field with an
6592	// empty value appearing in NullFields will be sent to the server as
6593	// null. It is an error if a field in this list has a non-empty value.
6594	// This may be used to include null fields in Patch requests.
6595	NullFields []string `json:"-"`
6596}
6597
6598func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
6599	type NoMethod DynamicTargetingKey
6600	raw := NoMethod(*s)
6601	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6602}
6603
6604// DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
6605type DynamicTargetingKeysListResponse struct {
6606	// DynamicTargetingKeys: Dynamic targeting key collection.
6607	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
6608
6609	// Kind: Identifies what kind of resource this is. Value: the fixed
6610	// string "dfareporting#dynamicTargetingKeysListResponse".
6611	Kind string `json:"kind,omitempty"`
6612
6613	// ServerResponse contains the HTTP response code and headers from the
6614	// server.
6615	googleapi.ServerResponse `json:"-"`
6616
6617	// ForceSendFields is a list of field names (e.g.
6618	// "DynamicTargetingKeys") to unconditionally include in API requests.
6619	// By default, fields with empty values are omitted from API requests.
6620	// However, any non-pointer, non-interface field appearing in
6621	// ForceSendFields will be sent to the server regardless of whether the
6622	// field is empty or not. This may be used to include empty fields in
6623	// Patch requests.
6624	ForceSendFields []string `json:"-"`
6625
6626	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
6627	// include in API requests with the JSON null value. By default, fields
6628	// with empty values are omitted from API requests. However, any field
6629	// with an empty value appearing in NullFields will be sent to the
6630	// server as null. It is an error if a field in this list has a
6631	// non-empty value. This may be used to include null fields in Patch
6632	// requests.
6633	NullFields []string `json:"-"`
6634}
6635
6636func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
6637	type NoMethod DynamicTargetingKeysListResponse
6638	raw := NoMethod(*s)
6639	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6640}
6641
6642// EncryptionInfo: A description of how user IDs are encrypted.
6643type EncryptionInfo struct {
6644	// EncryptionEntityId: The encryption entity ID. This should match the
6645	// encryption configuration for ad serving or Data Transfer.
6646	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
6647
6648	// EncryptionEntityType: The encryption entity type. This should match
6649	// the encryption configuration for ad serving or Data Transfer.
6650	//
6651	// Possible values:
6652	//   "ADWORDS_CUSTOMER"
6653	//   "DBM_ADVERTISER"
6654	//   "DBM_PARTNER"
6655	//   "DCM_ACCOUNT"
6656	//   "DCM_ADVERTISER"
6657	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
6658	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
6659
6660	// EncryptionSource: Describes whether the encrypted cookie was received
6661	// from ad serving (the %m macro) or from Data Transfer.
6662	//
6663	// Possible values:
6664	//   "AD_SERVING"
6665	//   "DATA_TRANSFER"
6666	//   "ENCRYPTION_SCOPE_UNKNOWN"
6667	EncryptionSource string `json:"encryptionSource,omitempty"`
6668
6669	// Kind: Identifies what kind of resource this is. Value: the fixed
6670	// string "dfareporting#encryptionInfo".
6671	Kind string `json:"kind,omitempty"`
6672
6673	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
6674	// to unconditionally include in API requests. By default, fields with
6675	// empty values are omitted from API requests. However, any non-pointer,
6676	// non-interface field appearing in ForceSendFields will be sent to the
6677	// server regardless of whether the field is empty or not. This may be
6678	// used to include empty fields in Patch requests.
6679	ForceSendFields []string `json:"-"`
6680
6681	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
6682	// include in API requests with the JSON null value. By default, fields
6683	// with empty values are omitted from API requests. However, any field
6684	// with an empty value appearing in NullFields will be sent to the
6685	// server as null. It is an error if a field in this list has a
6686	// non-empty value. This may be used to include null fields in Patch
6687	// requests.
6688	NullFields []string `json:"-"`
6689}
6690
6691func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
6692	type NoMethod EncryptionInfo
6693	raw := NoMethod(*s)
6694	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6695}
6696
6697// EventTag: Contains properties of an event tag.
6698type EventTag struct {
6699	// AccountId: Account ID of this event tag. This is a read-only field
6700	// that can be left blank.
6701	AccountId int64 `json:"accountId,omitempty,string"`
6702
6703	// AdvertiserId: Advertiser ID of this event tag. This field or the
6704	// campaignId field is required on insertion.
6705	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
6706
6707	// AdvertiserIdDimensionValue: Dimension value for the ID of the
6708	// advertiser. This is a read-only, auto-generated field.
6709	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
6710
6711	// CampaignId: Campaign ID of this event tag. This field or the
6712	// advertiserId field is required on insertion.
6713	CampaignId int64 `json:"campaignId,omitempty,string"`
6714
6715	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
6716	// This is a read-only, auto-generated field.
6717	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
6718
6719	// EnabledByDefault: Whether this event tag should be automatically
6720	// enabled for all of the advertiser's campaigns and ads.
6721	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
6722
6723	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
6724	// that are trafficked through DoubleClick Bid Manager to Ad Exchange.
6725	// This may be useful if the event tag uses a pixel that is unapproved
6726	// for Ad Exchange bids on one or more networks, such as the Google
6727	// Display Network.
6728	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
6729
6730	// Id: ID of this event tag. This is a read-only, auto-generated field.
6731	Id int64 `json:"id,omitempty,string"`
6732
6733	// Kind: Identifies what kind of resource this is. Value: the fixed
6734	// string "dfareporting#eventTag".
6735	Kind string `json:"kind,omitempty"`
6736
6737	// Name: Name of this event tag. This is a required field and must be
6738	// less than 256 characters long.
6739	Name string `json:"name,omitempty"`
6740
6741	// SiteFilterType: Site filter type for this event tag. If no type is
6742	// specified then the event tag will be applied to all sites.
6743	//
6744	// Possible values:
6745	//   "BLACKLIST"
6746	//   "WHITELIST"
6747	SiteFilterType string `json:"siteFilterType,omitempty"`
6748
6749	// SiteIds: Filter list of site IDs associated with this event tag. The
6750	// siteFilterType determines whether this is a whitelist or blacklist
6751	// filter.
6752	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
6753
6754	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
6755	// read-only field.
6756	SslCompliant bool `json:"sslCompliant,omitempty"`
6757
6758	// Status: Status of this event tag. Must be ENABLED for this event tag
6759	// to fire. This is a required field.
6760	//
6761	// Possible values:
6762	//   "DISABLED"
6763	//   "ENABLED"
6764	Status string `json:"status,omitempty"`
6765
6766	// SubaccountId: Subaccount ID of this event tag. This is a read-only
6767	// field that can be left blank.
6768	SubaccountId int64 `json:"subaccountId,omitempty,string"`
6769
6770	// Type: Event tag type. Can be used to specify whether to use a
6771	// third-party pixel, a third-party JavaScript URL, or a third-party
6772	// click-through URL for either impression or click tracking. This is a
6773	// required field.
6774	//
6775	// Possible values:
6776	//   "CLICK_THROUGH_EVENT_TAG"
6777	//   "IMPRESSION_IMAGE_EVENT_TAG"
6778	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
6779	Type string `json:"type,omitempty"`
6780
6781	// Url: Payload URL for this event tag. The URL on a click-through event
6782	// tag should have a landing page URL appended to the end of it. This
6783	// field is required on insertion.
6784	Url string `json:"url,omitempty"`
6785
6786	// UrlEscapeLevels: Number of times the landing page URL should be
6787	// URL-escaped before being appended to the click-through event tag URL.
6788	// Only applies to click-through event tags as specified by the event
6789	// tag type.
6790	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
6791
6792	// ServerResponse contains the HTTP response code and headers from the
6793	// server.
6794	googleapi.ServerResponse `json:"-"`
6795
6796	// ForceSendFields is a list of field names (e.g. "AccountId") to
6797	// unconditionally include in API requests. By default, fields with
6798	// empty values are omitted from API requests. However, any non-pointer,
6799	// non-interface field appearing in ForceSendFields will be sent to the
6800	// server regardless of whether the field is empty or not. This may be
6801	// used to include empty fields in Patch requests.
6802	ForceSendFields []string `json:"-"`
6803
6804	// NullFields is a list of field names (e.g. "AccountId") to include in
6805	// API requests with the JSON null value. By default, fields with empty
6806	// values are omitted from API requests. However, any field with an
6807	// empty value appearing in NullFields will be sent to the server as
6808	// null. It is an error if a field in this list has a non-empty value.
6809	// This may be used to include null fields in Patch requests.
6810	NullFields []string `json:"-"`
6811}
6812
6813func (s *EventTag) MarshalJSON() ([]byte, error) {
6814	type NoMethod EventTag
6815	raw := NoMethod(*s)
6816	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6817}
6818
6819// EventTagOverride: Event tag override information.
6820type EventTagOverride struct {
6821	// Enabled: Whether this override is enabled.
6822	Enabled bool `json:"enabled,omitempty"`
6823
6824	// Id: ID of this event tag override. This is a read-only,
6825	// auto-generated field.
6826	Id int64 `json:"id,omitempty,string"`
6827
6828	// ForceSendFields is a list of field names (e.g. "Enabled") to
6829	// unconditionally include in API requests. By default, fields with
6830	// empty values are omitted from API requests. However, any non-pointer,
6831	// non-interface field appearing in ForceSendFields will be sent to the
6832	// server regardless of whether the field is empty or not. This may be
6833	// used to include empty fields in Patch requests.
6834	ForceSendFields []string `json:"-"`
6835
6836	// NullFields is a list of field names (e.g. "Enabled") to include in
6837	// API requests with the JSON null value. By default, fields with empty
6838	// values are omitted from API requests. However, any field with an
6839	// empty value appearing in NullFields will be sent to the server as
6840	// null. It is an error if a field in this list has a non-empty value.
6841	// This may be used to include null fields in Patch requests.
6842	NullFields []string `json:"-"`
6843}
6844
6845func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
6846	type NoMethod EventTagOverride
6847	raw := NoMethod(*s)
6848	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6849}
6850
6851// EventTagsListResponse: Event Tag List Response
6852type EventTagsListResponse struct {
6853	// EventTags: Event tag collection.
6854	EventTags []*EventTag `json:"eventTags,omitempty"`
6855
6856	// Kind: Identifies what kind of resource this is. Value: the fixed
6857	// string "dfareporting#eventTagsListResponse".
6858	Kind string `json:"kind,omitempty"`
6859
6860	// ServerResponse contains the HTTP response code and headers from the
6861	// server.
6862	googleapi.ServerResponse `json:"-"`
6863
6864	// ForceSendFields is a list of field names (e.g. "EventTags") to
6865	// unconditionally include in API requests. By default, fields with
6866	// empty values are omitted from API requests. However, any non-pointer,
6867	// non-interface field appearing in ForceSendFields will be sent to the
6868	// server regardless of whether the field is empty or not. This may be
6869	// used to include empty fields in Patch requests.
6870	ForceSendFields []string `json:"-"`
6871
6872	// NullFields is a list of field names (e.g. "EventTags") to include in
6873	// API requests with the JSON null value. By default, fields with empty
6874	// values are omitted from API requests. However, any field with an
6875	// empty value appearing in NullFields will be sent to the server as
6876	// null. It is an error if a field in this list has a non-empty value.
6877	// This may be used to include null fields in Patch requests.
6878	NullFields []string `json:"-"`
6879}
6880
6881func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
6882	type NoMethod EventTagsListResponse
6883	raw := NoMethod(*s)
6884	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6885}
6886
6887// File: Represents a File resource. A file contains the metadata for a
6888// report run. It shows the status of the run and holds the URLs to the
6889// generated report data if the run is finished and the status is
6890// "REPORT_AVAILABLE".
6891type File struct {
6892	// DateRange: The date range for which the file has report data. The
6893	// date range will always be the absolute date range for which the
6894	// report is run.
6895	DateRange *DateRange `json:"dateRange,omitempty"`
6896
6897	// Etag: The eTag of this response for caching purposes.
6898	Etag string `json:"etag,omitempty"`
6899
6900	// FileName: The filename of the file.
6901	FileName string `json:"fileName,omitempty"`
6902
6903	// Format: The output format of the report. Only available once the file
6904	// is available.
6905	//
6906	// Possible values:
6907	//   "CSV"
6908	//   "EXCEL"
6909	Format string `json:"format,omitempty"`
6910
6911	// Id: The unique ID of this report file.
6912	Id int64 `json:"id,omitempty,string"`
6913
6914	// Kind: The kind of resource this is, in this case dfareporting#file.
6915	Kind string `json:"kind,omitempty"`
6916
6917	// LastModifiedTime: The timestamp in milliseconds since epoch when this
6918	// file was last modified.
6919	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
6920
6921	// ReportId: The ID of the report this file was generated from.
6922	ReportId int64 `json:"reportId,omitempty,string"`
6923
6924	// Status: The status of the report file.
6925	//
6926	// Possible values:
6927	//   "CANCELLED"
6928	//   "FAILED"
6929	//   "PROCESSING"
6930	//   "REPORT_AVAILABLE"
6931	Status string `json:"status,omitempty"`
6932
6933	// Urls: The URLs where the completed report file can be downloaded.
6934	Urls *FileUrls `json:"urls,omitempty"`
6935
6936	// ServerResponse contains the HTTP response code and headers from the
6937	// server.
6938	googleapi.ServerResponse `json:"-"`
6939
6940	// ForceSendFields is a list of field names (e.g. "DateRange") to
6941	// unconditionally include in API requests. By default, fields with
6942	// empty values are omitted from API requests. However, any non-pointer,
6943	// non-interface field appearing in ForceSendFields will be sent to the
6944	// server regardless of whether the field is empty or not. This may be
6945	// used to include empty fields in Patch requests.
6946	ForceSendFields []string `json:"-"`
6947
6948	// NullFields is a list of field names (e.g. "DateRange") to include in
6949	// API requests with the JSON null value. By default, fields with empty
6950	// values are omitted from API requests. However, any field with an
6951	// empty value appearing in NullFields will be sent to the server as
6952	// null. It is an error if a field in this list has a non-empty value.
6953	// This may be used to include null fields in Patch requests.
6954	NullFields []string `json:"-"`
6955}
6956
6957func (s *File) MarshalJSON() ([]byte, error) {
6958	type NoMethod File
6959	raw := NoMethod(*s)
6960	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6961}
6962
6963// FileUrls: The URLs where the completed report file can be downloaded.
6964type FileUrls struct {
6965	// ApiUrl: The URL for downloading the report data through the API.
6966	ApiUrl string `json:"apiUrl,omitempty"`
6967
6968	// BrowserUrl: The URL for downloading the report data through a
6969	// browser.
6970	BrowserUrl string `json:"browserUrl,omitempty"`
6971
6972	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
6973	// unconditionally include in API requests. By default, fields with
6974	// empty values are omitted from API requests. However, any non-pointer,
6975	// non-interface field appearing in ForceSendFields will be sent to the
6976	// server regardless of whether the field is empty or not. This may be
6977	// used to include empty fields in Patch requests.
6978	ForceSendFields []string `json:"-"`
6979
6980	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
6981	// requests with the JSON null value. By default, fields with empty
6982	// values are omitted from API requests. However, any field with an
6983	// empty value appearing in NullFields will be sent to the server as
6984	// null. It is an error if a field in this list has a non-empty value.
6985	// This may be used to include null fields in Patch requests.
6986	NullFields []string `json:"-"`
6987}
6988
6989func (s *FileUrls) MarshalJSON() ([]byte, error) {
6990	type NoMethod FileUrls
6991	raw := NoMethod(*s)
6992	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6993}
6994
6995// FileList: Represents the list of File resources.
6996type FileList struct {
6997	// Etag: The eTag of this response for caching purposes.
6998	Etag string `json:"etag,omitempty"`
6999
7000	// Items: The files returned in this response.
7001	Items []*File `json:"items,omitempty"`
7002
7003	// Kind: The kind of list this is, in this case dfareporting#fileList.
7004	Kind string `json:"kind,omitempty"`
7005
7006	// NextPageToken: Continuation token used to page through files. To
7007	// retrieve the next page of results, set the next request's "pageToken"
7008	// to the value of this field. The page token is only valid for a
7009	// limited amount of time and should not be persisted.
7010	NextPageToken string `json:"nextPageToken,omitempty"`
7011
7012	// ServerResponse contains the HTTP response code and headers from the
7013	// server.
7014	googleapi.ServerResponse `json:"-"`
7015
7016	// ForceSendFields is a list of field names (e.g. "Etag") to
7017	// unconditionally include in API requests. By default, fields with
7018	// empty values are omitted from API requests. However, any non-pointer,
7019	// non-interface field appearing in ForceSendFields will be sent to the
7020	// server regardless of whether the field is empty or not. This may be
7021	// used to include empty fields in Patch requests.
7022	ForceSendFields []string `json:"-"`
7023
7024	// NullFields is a list of field names (e.g. "Etag") to include in API
7025	// requests with the JSON null value. By default, fields with empty
7026	// values are omitted from API requests. However, any field with an
7027	// empty value appearing in NullFields will be sent to the server as
7028	// null. It is an error if a field in this list has a non-empty value.
7029	// This may be used to include null fields in Patch requests.
7030	NullFields []string `json:"-"`
7031}
7032
7033func (s *FileList) MarshalJSON() ([]byte, error) {
7034	type NoMethod FileList
7035	raw := NoMethod(*s)
7036	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7037}
7038
7039// Flight: Flight
7040type Flight struct {
7041	// EndDate: Inventory item flight end date.
7042	EndDate string `json:"endDate,omitempty"`
7043
7044	// RateOrCost: Rate or cost of this flight.
7045	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
7046
7047	// StartDate: Inventory item flight start date.
7048	StartDate string `json:"startDate,omitempty"`
7049
7050	// Units: Units of this flight.
7051	Units int64 `json:"units,omitempty,string"`
7052
7053	// ForceSendFields is a list of field names (e.g. "EndDate") to
7054	// unconditionally include in API requests. By default, fields with
7055	// empty values are omitted from API requests. However, any non-pointer,
7056	// non-interface field appearing in ForceSendFields will be sent to the
7057	// server regardless of whether the field is empty or not. This may be
7058	// used to include empty fields in Patch requests.
7059	ForceSendFields []string `json:"-"`
7060
7061	// NullFields is a list of field names (e.g. "EndDate") to include in
7062	// API requests with the JSON null value. By default, fields with empty
7063	// values are omitted from API requests. However, any field with an
7064	// empty value appearing in NullFields will be sent to the server as
7065	// null. It is an error if a field in this list has a non-empty value.
7066	// This may be used to include null fields in Patch requests.
7067	NullFields []string `json:"-"`
7068}
7069
7070func (s *Flight) MarshalJSON() ([]byte, error) {
7071	type NoMethod Flight
7072	raw := NoMethod(*s)
7073	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7074}
7075
7076// FloodlightActivitiesGenerateTagResponse: Floodlight Activity
7077// GenerateTag Response
7078type FloodlightActivitiesGenerateTagResponse struct {
7079	// FloodlightActivityTag: Generated tag for this Floodlight activity.
7080	// For global site tags, this is the event snippet.
7081	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
7082
7083	// Kind: Identifies what kind of resource this is. Value: the fixed
7084	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
7085	Kind string `json:"kind,omitempty"`
7086
7087	// ServerResponse contains the HTTP response code and headers from the
7088	// server.
7089	googleapi.ServerResponse `json:"-"`
7090
7091	// ForceSendFields is a list of field names (e.g.
7092	// "FloodlightActivityTag") to unconditionally include in API requests.
7093	// By default, fields with empty values are omitted from API requests.
7094	// However, any non-pointer, non-interface field appearing in
7095	// ForceSendFields will be sent to the server regardless of whether the
7096	// field is empty or not. This may be used to include empty fields in
7097	// Patch requests.
7098	ForceSendFields []string `json:"-"`
7099
7100	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
7101	// include in API requests with the JSON null value. By default, fields
7102	// with empty values are omitted from API requests. However, any field
7103	// with an empty value appearing in NullFields will be sent to the
7104	// server as null. It is an error if a field in this list has a
7105	// non-empty value. This may be used to include null fields in Patch
7106	// requests.
7107	NullFields []string `json:"-"`
7108}
7109
7110func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
7111	type NoMethod FloodlightActivitiesGenerateTagResponse
7112	raw := NoMethod(*s)
7113	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7114}
7115
7116// FloodlightActivitiesListResponse: Floodlight Activity List Response
7117type FloodlightActivitiesListResponse struct {
7118	// FloodlightActivities: Floodlight activity collection.
7119	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
7120
7121	// Kind: Identifies what kind of resource this is. Value: the fixed
7122	// string "dfareporting#floodlightActivitiesListResponse".
7123	Kind string `json:"kind,omitempty"`
7124
7125	// NextPageToken: Pagination token to be used for the next list
7126	// operation.
7127	NextPageToken string `json:"nextPageToken,omitempty"`
7128
7129	// ServerResponse contains the HTTP response code and headers from the
7130	// server.
7131	googleapi.ServerResponse `json:"-"`
7132
7133	// ForceSendFields is a list of field names (e.g.
7134	// "FloodlightActivities") to unconditionally include in API requests.
7135	// By default, fields with empty values are omitted from API requests.
7136	// However, any non-pointer, non-interface field appearing in
7137	// ForceSendFields will be sent to the server regardless of whether the
7138	// field is empty or not. This may be used to include empty fields in
7139	// Patch requests.
7140	ForceSendFields []string `json:"-"`
7141
7142	// NullFields is a list of field names (e.g. "FloodlightActivities") to
7143	// include in API requests with the JSON null value. By default, fields
7144	// with empty values are omitted from API requests. However, any field
7145	// with an empty value appearing in NullFields will be sent to the
7146	// server as null. It is an error if a field in this list has a
7147	// non-empty value. This may be used to include null fields in Patch
7148	// requests.
7149	NullFields []string `json:"-"`
7150}
7151
7152func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
7153	type NoMethod FloodlightActivitiesListResponse
7154	raw := NoMethod(*s)
7155	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7156}
7157
7158// FloodlightActivity: Contains properties of a Floodlight activity.
7159type FloodlightActivity struct {
7160	// AccountId: Account ID of this floodlight activity. This is a
7161	// read-only field that can be left blank.
7162	AccountId int64 `json:"accountId,omitempty,string"`
7163
7164	// AdvertiserId: Advertiser ID of this floodlight activity. If this
7165	// field is left blank, the value will be copied over either from the
7166	// activity group's advertiser or the existing activity's advertiser.
7167	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7168
7169	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7170	// advertiser. This is a read-only, auto-generated field.
7171	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7172
7173	// CacheBustingType: Code type used for cache busting in the generated
7174	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
7175	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
7176	//
7177	// Possible values:
7178	//   "ACTIVE_SERVER_PAGE"
7179	//   "COLD_FUSION"
7180	//   "JAVASCRIPT"
7181	//   "JSP"
7182	//   "PHP"
7183	CacheBustingType string `json:"cacheBustingType,omitempty"`
7184
7185	// CountingMethod: Counting method for conversions for this floodlight
7186	// activity. This is a required field.
7187	//
7188	// Possible values:
7189	//   "ITEMS_SOLD_COUNTING"
7190	//   "SESSION_COUNTING"
7191	//   "STANDARD_COUNTING"
7192	//   "TRANSACTIONS_COUNTING"
7193	//   "UNIQUE_COUNTING"
7194	CountingMethod string `json:"countingMethod,omitempty"`
7195
7196	// DefaultTags: Dynamic floodlight tags.
7197	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
7198
7199	// ExpectedUrl: URL where this tag will be deployed. If specified, must
7200	// be less than 256 characters long.
7201	ExpectedUrl string `json:"expectedUrl,omitempty"`
7202
7203	// FloodlightActivityGroupId: Floodlight activity group ID of this
7204	// floodlight activity. This is a required field.
7205	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
7206
7207	// FloodlightActivityGroupName: Name of the associated floodlight
7208	// activity group. This is a read-only field.
7209	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
7210
7211	// FloodlightActivityGroupTagString: Tag string of the associated
7212	// floodlight activity group. This is a read-only field.
7213	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
7214
7215	// FloodlightActivityGroupType: Type of the associated floodlight
7216	// activity group. This is a read-only field.
7217	//
7218	// Possible values:
7219	//   "COUNTER"
7220	//   "SALE"
7221	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
7222
7223	// FloodlightConfigurationId: Floodlight configuration ID of this
7224	// floodlight activity. If this field is left blank, the value will be
7225	// copied over either from the activity group's floodlight configuration
7226	// or from the existing activity's floodlight configuration.
7227	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7228
7229	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7230	// of the floodlight configuration. This is a read-only, auto-generated
7231	// field.
7232	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7233
7234	// Hidden: Whether this activity is archived.
7235	Hidden bool `json:"hidden,omitempty"`
7236
7237	// Id: ID of this floodlight activity. This is a read-only,
7238	// auto-generated field.
7239	Id int64 `json:"id,omitempty,string"`
7240
7241	// IdDimensionValue: Dimension value for the ID of this floodlight
7242	// activity. This is a read-only, auto-generated field.
7243	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7244
7245	// ImageTagEnabled: Whether the image tag is enabled for this activity.
7246	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
7247
7248	// Kind: Identifies what kind of resource this is. Value: the fixed
7249	// string "dfareporting#floodlightActivity".
7250	Kind string `json:"kind,omitempty"`
7251
7252	// Name: Name of this floodlight activity. This is a required field.
7253	// Must be less than 129 characters long and cannot contain quotes.
7254	Name string `json:"name,omitempty"`
7255
7256	// Notes: General notes or implementation instructions for the tag.
7257	Notes string `json:"notes,omitempty"`
7258
7259	// PublisherTags: Publisher dynamic floodlight tags.
7260	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
7261
7262	// Secure: Whether this tag should use SSL.
7263	Secure bool `json:"secure,omitempty"`
7264
7265	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
7266	// is a read-only field, its value detected by the system from the
7267	// floodlight tags.
7268	SslCompliant bool `json:"sslCompliant,omitempty"`
7269
7270	// SslRequired: Whether this floodlight activity must be SSL-compliant.
7271	SslRequired bool `json:"sslRequired,omitempty"`
7272
7273	// SubaccountId: Subaccount ID of this floodlight activity. This is a
7274	// read-only field that can be left blank.
7275	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7276
7277	// TagFormat: Tag format type for the floodlight activity. If left
7278	// blank, the tag format will default to HTML.
7279	//
7280	// Possible values:
7281	//   "HTML"
7282	//   "XHTML"
7283	TagFormat string `json:"tagFormat,omitempty"`
7284
7285	// TagString: Value of the cat= parameter in the floodlight tag, which
7286	// the ad servers use to identify the activity. This is optional: if
7287	// empty, a new tag string will be generated for you. This string must
7288	// be 1 to 8 characters long, with valid characters being
7289	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
7290	// activities of the same activity group. This field is read-only after
7291	// insertion.
7292	TagString string `json:"tagString,omitempty"`
7293
7294	// UserDefinedVariableTypes: List of the user-defined variables used by
7295	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
7296	// of these can have a user defined type.
7297	// Acceptable values are U1 to U100, inclusive.
7298	//
7299	// Possible values:
7300	//   "U1"
7301	//   "U10"
7302	//   "U100"
7303	//   "U11"
7304	//   "U12"
7305	//   "U13"
7306	//   "U14"
7307	//   "U15"
7308	//   "U16"
7309	//   "U17"
7310	//   "U18"
7311	//   "U19"
7312	//   "U2"
7313	//   "U20"
7314	//   "U21"
7315	//   "U22"
7316	//   "U23"
7317	//   "U24"
7318	//   "U25"
7319	//   "U26"
7320	//   "U27"
7321	//   "U28"
7322	//   "U29"
7323	//   "U3"
7324	//   "U30"
7325	//   "U31"
7326	//   "U32"
7327	//   "U33"
7328	//   "U34"
7329	//   "U35"
7330	//   "U36"
7331	//   "U37"
7332	//   "U38"
7333	//   "U39"
7334	//   "U4"
7335	//   "U40"
7336	//   "U41"
7337	//   "U42"
7338	//   "U43"
7339	//   "U44"
7340	//   "U45"
7341	//   "U46"
7342	//   "U47"
7343	//   "U48"
7344	//   "U49"
7345	//   "U5"
7346	//   "U50"
7347	//   "U51"
7348	//   "U52"
7349	//   "U53"
7350	//   "U54"
7351	//   "U55"
7352	//   "U56"
7353	//   "U57"
7354	//   "U58"
7355	//   "U59"
7356	//   "U6"
7357	//   "U60"
7358	//   "U61"
7359	//   "U62"
7360	//   "U63"
7361	//   "U64"
7362	//   "U65"
7363	//   "U66"
7364	//   "U67"
7365	//   "U68"
7366	//   "U69"
7367	//   "U7"
7368	//   "U70"
7369	//   "U71"
7370	//   "U72"
7371	//   "U73"
7372	//   "U74"
7373	//   "U75"
7374	//   "U76"
7375	//   "U77"
7376	//   "U78"
7377	//   "U79"
7378	//   "U8"
7379	//   "U80"
7380	//   "U81"
7381	//   "U82"
7382	//   "U83"
7383	//   "U84"
7384	//   "U85"
7385	//   "U86"
7386	//   "U87"
7387	//   "U88"
7388	//   "U89"
7389	//   "U9"
7390	//   "U90"
7391	//   "U91"
7392	//   "U92"
7393	//   "U93"
7394	//   "U94"
7395	//   "U95"
7396	//   "U96"
7397	//   "U97"
7398	//   "U98"
7399	//   "U99"
7400	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
7401
7402	// ServerResponse contains the HTTP response code and headers from the
7403	// server.
7404	googleapi.ServerResponse `json:"-"`
7405
7406	// ForceSendFields is a list of field names (e.g. "AccountId") to
7407	// unconditionally include in API requests. By default, fields with
7408	// empty values are omitted from API requests. However, any non-pointer,
7409	// non-interface field appearing in ForceSendFields will be sent to the
7410	// server regardless of whether the field is empty or not. This may be
7411	// used to include empty fields in Patch requests.
7412	ForceSendFields []string `json:"-"`
7413
7414	// NullFields is a list of field names (e.g. "AccountId") to include in
7415	// API requests with the JSON null value. By default, fields with empty
7416	// values are omitted from API requests. However, any field with an
7417	// empty value appearing in NullFields will be sent to the server as
7418	// null. It is an error if a field in this list has a non-empty value.
7419	// This may be used to include null fields in Patch requests.
7420	NullFields []string `json:"-"`
7421}
7422
7423func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
7424	type NoMethod FloodlightActivity
7425	raw := NoMethod(*s)
7426	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7427}
7428
7429// FloodlightActivityDynamicTag: Dynamic Tag
7430type FloodlightActivityDynamicTag struct {
7431	// Id: ID of this dynamic tag. This is a read-only, auto-generated
7432	// field.
7433	Id int64 `json:"id,omitempty,string"`
7434
7435	// Name: Name of this tag.
7436	Name string `json:"name,omitempty"`
7437
7438	// Tag: Tag code.
7439	Tag string `json:"tag,omitempty"`
7440
7441	// ForceSendFields is a list of field names (e.g. "Id") to
7442	// unconditionally include in API requests. By default, fields with
7443	// empty values are omitted from API requests. However, any non-pointer,
7444	// non-interface field appearing in ForceSendFields will be sent to the
7445	// server regardless of whether the field is empty or not. This may be
7446	// used to include empty fields in Patch requests.
7447	ForceSendFields []string `json:"-"`
7448
7449	// NullFields is a list of field names (e.g. "Id") to include in API
7450	// requests with the JSON null value. By default, fields with empty
7451	// values are omitted from API requests. However, any field with an
7452	// empty value appearing in NullFields will be sent to the server as
7453	// null. It is an error if a field in this list has a non-empty value.
7454	// This may be used to include null fields in Patch requests.
7455	NullFields []string `json:"-"`
7456}
7457
7458func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
7459	type NoMethod FloodlightActivityDynamicTag
7460	raw := NoMethod(*s)
7461	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7462}
7463
7464// FloodlightActivityGroup: Contains properties of a Floodlight activity
7465// group.
7466type FloodlightActivityGroup struct {
7467	// AccountId: Account ID of this floodlight activity group. This is a
7468	// read-only field that can be left blank.
7469	AccountId int64 `json:"accountId,omitempty,string"`
7470
7471	// AdvertiserId: Advertiser ID of this floodlight activity group. If
7472	// this field is left blank, the value will be copied over either from
7473	// the floodlight configuration's advertiser or from the existing
7474	// activity group's advertiser.
7475	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7476
7477	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7478	// advertiser. This is a read-only, auto-generated field.
7479	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7480
7481	// FloodlightConfigurationId: Floodlight configuration ID of this
7482	// floodlight activity group. This is a required field.
7483	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7484
7485	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7486	// of the floodlight configuration. This is a read-only, auto-generated
7487	// field.
7488	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7489
7490	// Id: ID of this floodlight activity group. This is a read-only,
7491	// auto-generated field.
7492	Id int64 `json:"id,omitempty,string"`
7493
7494	// IdDimensionValue: Dimension value for the ID of this floodlight
7495	// activity group. This is a read-only, auto-generated field.
7496	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7497
7498	// Kind: Identifies what kind of resource this is. Value: the fixed
7499	// string "dfareporting#floodlightActivityGroup".
7500	Kind string `json:"kind,omitempty"`
7501
7502	// Name: Name of this floodlight activity group. This is a required
7503	// field. Must be less than 65 characters long and cannot contain
7504	// quotes.
7505	Name string `json:"name,omitempty"`
7506
7507	// SubaccountId: Subaccount ID of this floodlight activity group. This
7508	// is a read-only field that can be left blank.
7509	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7510
7511	// TagString: Value of the type= parameter in the floodlight tag, which
7512	// the ad servers use to identify the activity group that the activity
7513	// belongs to. This is optional: if empty, a new tag string will be
7514	// generated for you. This string must be 1 to 8 characters long, with
7515	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
7516	// also be unique among activity groups of the same floodlight
7517	// configuration. This field is read-only after insertion.
7518	TagString string `json:"tagString,omitempty"`
7519
7520	// Type: Type of the floodlight activity group. This is a required field
7521	// that is read-only after insertion.
7522	//
7523	// Possible values:
7524	//   "COUNTER"
7525	//   "SALE"
7526	Type string `json:"type,omitempty"`
7527
7528	// ServerResponse contains the HTTP response code and headers from the
7529	// server.
7530	googleapi.ServerResponse `json:"-"`
7531
7532	// ForceSendFields is a list of field names (e.g. "AccountId") to
7533	// unconditionally include in API requests. By default, fields with
7534	// empty values are omitted from API requests. However, any non-pointer,
7535	// non-interface field appearing in ForceSendFields will be sent to the
7536	// server regardless of whether the field is empty or not. This may be
7537	// used to include empty fields in Patch requests.
7538	ForceSendFields []string `json:"-"`
7539
7540	// NullFields is a list of field names (e.g. "AccountId") to include in
7541	// API requests with the JSON null value. By default, fields with empty
7542	// values are omitted from API requests. However, any field with an
7543	// empty value appearing in NullFields will be sent to the server as
7544	// null. It is an error if a field in this list has a non-empty value.
7545	// This may be used to include null fields in Patch requests.
7546	NullFields []string `json:"-"`
7547}
7548
7549func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
7550	type NoMethod FloodlightActivityGroup
7551	raw := NoMethod(*s)
7552	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7553}
7554
7555// FloodlightActivityGroupsListResponse: Floodlight Activity Group List
7556// Response
7557type FloodlightActivityGroupsListResponse struct {
7558	// FloodlightActivityGroups: Floodlight activity group collection.
7559	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
7560
7561	// Kind: Identifies what kind of resource this is. Value: the fixed
7562	// string "dfareporting#floodlightActivityGroupsListResponse".
7563	Kind string `json:"kind,omitempty"`
7564
7565	// NextPageToken: Pagination token to be used for the next list
7566	// operation.
7567	NextPageToken string `json:"nextPageToken,omitempty"`
7568
7569	// ServerResponse contains the HTTP response code and headers from the
7570	// server.
7571	googleapi.ServerResponse `json:"-"`
7572
7573	// ForceSendFields is a list of field names (e.g.
7574	// "FloodlightActivityGroups") to unconditionally include in API
7575	// requests. By default, fields with empty values are omitted from API
7576	// requests. However, any non-pointer, non-interface field appearing in
7577	// ForceSendFields will be sent to the server regardless of whether the
7578	// field is empty or not. This may be used to include empty fields in
7579	// Patch requests.
7580	ForceSendFields []string `json:"-"`
7581
7582	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
7583	// to include in API requests with the JSON null value. By default,
7584	// fields with empty values are omitted from API requests. However, any
7585	// field with an empty value appearing in NullFields will be sent to the
7586	// server as null. It is an error if a field in this list has a
7587	// non-empty value. This may be used to include null fields in Patch
7588	// requests.
7589	NullFields []string `json:"-"`
7590}
7591
7592func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
7593	type NoMethod FloodlightActivityGroupsListResponse
7594	raw := NoMethod(*s)
7595	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7596}
7597
7598// FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
7599type FloodlightActivityPublisherDynamicTag struct {
7600	// ClickThrough: Whether this tag is applicable only for click-throughs.
7601	ClickThrough bool `json:"clickThrough,omitempty"`
7602
7603	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
7604	// write-only field that can be used as an alternative to the siteId
7605	// field. When this resource is retrieved, only the siteId field will be
7606	// populated.
7607	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
7608
7609	// DynamicTag: Dynamic floodlight tag.
7610	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
7611
7612	// SiteId: Site ID of this dynamic tag.
7613	SiteId int64 `json:"siteId,omitempty,string"`
7614
7615	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
7616	// a read-only, auto-generated field.
7617	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
7618
7619	// ViewThrough: Whether this tag is applicable only for view-throughs.
7620	ViewThrough bool `json:"viewThrough,omitempty"`
7621
7622	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
7623	// unconditionally include in API requests. By default, fields with
7624	// empty values are omitted from API requests. However, any non-pointer,
7625	// non-interface field appearing in ForceSendFields will be sent to the
7626	// server regardless of whether the field is empty or not. This may be
7627	// used to include empty fields in Patch requests.
7628	ForceSendFields []string `json:"-"`
7629
7630	// NullFields is a list of field names (e.g. "ClickThrough") to include
7631	// in API requests with the JSON null value. By default, fields with
7632	// empty values are omitted from API requests. However, any field with
7633	// an empty value appearing in NullFields will be sent to the server as
7634	// null. It is an error if a field in this list has a non-empty value.
7635	// This may be used to include null fields in Patch requests.
7636	NullFields []string `json:"-"`
7637}
7638
7639func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
7640	type NoMethod FloodlightActivityPublisherDynamicTag
7641	raw := NoMethod(*s)
7642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7643}
7644
7645// FloodlightConfiguration: Contains properties of a Floodlight
7646// configuration.
7647type FloodlightConfiguration struct {
7648	// AccountId: Account ID of this floodlight configuration. This is a
7649	// read-only field that can be left blank.
7650	AccountId int64 `json:"accountId,omitempty,string"`
7651
7652	// AdvertiserId: Advertiser ID of the parent advertiser of this
7653	// floodlight configuration.
7654	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7655
7656	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7657	// advertiser. This is a read-only, auto-generated field.
7658	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7659
7660	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
7661	// Google Analytics.
7662	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
7663
7664	// ExposureToConversionEnabled: Whether the exposure-to-conversion
7665	// report is enabled. This report shows detailed pathway information on
7666	// up to 10 of the most recent ad exposures seen by a user before
7667	// converting.
7668	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
7669
7670	// FirstDayOfWeek: Day that will be counted as the first day of the week
7671	// in reports. This is a required field.
7672	//
7673	// Possible values:
7674	//   "MONDAY"
7675	//   "SUNDAY"
7676	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
7677
7678	// Id: ID of this floodlight configuration. This is a read-only,
7679	// auto-generated field.
7680	Id int64 `json:"id,omitempty,string"`
7681
7682	// IdDimensionValue: Dimension value for the ID of this floodlight
7683	// configuration. This is a read-only, auto-generated field.
7684	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7685
7686	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
7687	// is enabled.
7688	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
7689
7690	// Kind: Identifies what kind of resource this is. Value: the fixed
7691	// string "dfareporting#floodlightConfiguration".
7692	Kind string `json:"kind,omitempty"`
7693
7694	// LookbackConfiguration: Lookback window settings for this floodlight
7695	// configuration.
7696	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
7697
7698	// NaturalSearchConversionAttributionOption: Types of attribution
7699	// options for natural search conversions.
7700	//
7701	// Possible values:
7702	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7703	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7704	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
7705	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
7706
7707	// OmnitureSettings: Settings for DCM Omniture integration.
7708	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
7709
7710	// StandardVariableTypes: List of standard variables enabled for this
7711	// configuration.
7712	//
7713	// Acceptable values are:
7714	// - "ORD"
7715	// - "NUM"
7716	//
7717	// Possible values:
7718	//   "NUM"
7719	//   "ORD"
7720	//   "TRAN"
7721	//   "U"
7722	StandardVariableTypes []string `json:"standardVariableTypes,omitempty"`
7723
7724	// SubaccountId: Subaccount ID of this floodlight configuration. This is
7725	// a read-only field that can be left blank.
7726	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7727
7728	// TagSettings: Configuration settings for dynamic and image floodlight
7729	// tags.
7730	TagSettings *TagSettings `json:"tagSettings,omitempty"`
7731
7732	// ThirdPartyAuthenticationTokens: List of third-party authentication
7733	// tokens enabled for this configuration.
7734	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
7735
7736	// UserDefinedVariableConfigurations: List of user defined variables
7737	// enabled for this configuration.
7738	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
7739
7740	// ServerResponse contains the HTTP response code and headers from the
7741	// server.
7742	googleapi.ServerResponse `json:"-"`
7743
7744	// ForceSendFields is a list of field names (e.g. "AccountId") to
7745	// unconditionally include in API requests. By default, fields with
7746	// empty values are omitted from API requests. However, any non-pointer,
7747	// non-interface field appearing in ForceSendFields will be sent to the
7748	// server regardless of whether the field is empty or not. This may be
7749	// used to include empty fields in Patch requests.
7750	ForceSendFields []string `json:"-"`
7751
7752	// NullFields is a list of field names (e.g. "AccountId") to include in
7753	// API requests with the JSON null value. By default, fields with empty
7754	// values are omitted from API requests. However, any field with an
7755	// empty value appearing in NullFields will be sent to the server as
7756	// null. It is an error if a field in this list has a non-empty value.
7757	// This may be used to include null fields in Patch requests.
7758	NullFields []string `json:"-"`
7759}
7760
7761func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
7762	type NoMethod FloodlightConfiguration
7763	raw := NoMethod(*s)
7764	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7765}
7766
7767// FloodlightConfigurationsListResponse: Floodlight Configuration List
7768// Response
7769type FloodlightConfigurationsListResponse struct {
7770	// FloodlightConfigurations: Floodlight configuration collection.
7771	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
7772
7773	// Kind: Identifies what kind of resource this is. Value: the fixed
7774	// string "dfareporting#floodlightConfigurationsListResponse".
7775	Kind string `json:"kind,omitempty"`
7776
7777	// ServerResponse contains the HTTP response code and headers from the
7778	// server.
7779	googleapi.ServerResponse `json:"-"`
7780
7781	// ForceSendFields is a list of field names (e.g.
7782	// "FloodlightConfigurations") to unconditionally include in API
7783	// requests. By default, fields with empty values are omitted from API
7784	// requests. However, any non-pointer, non-interface field appearing in
7785	// ForceSendFields will be sent to the server regardless of whether the
7786	// field is empty or not. This may be used to include empty fields in
7787	// Patch requests.
7788	ForceSendFields []string `json:"-"`
7789
7790	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
7791	// to include in API requests with the JSON null value. By default,
7792	// fields with empty values are omitted from API requests. However, any
7793	// field with an empty value appearing in NullFields will be sent to the
7794	// server as null. It is an error if a field in this list has a
7795	// non-empty value. This may be used to include null fields in Patch
7796	// requests.
7797	NullFields []string `json:"-"`
7798}
7799
7800func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
7801	type NoMethod FloodlightConfigurationsListResponse
7802	raw := NoMethod(*s)
7803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7804}
7805
7806// FloodlightReportCompatibleFields: Represents fields that are
7807// compatible to be selected for a report of type "FlOODLIGHT".
7808type FloodlightReportCompatibleFields struct {
7809	// DimensionFilters: Dimensions which are compatible to be selected in
7810	// the "dimensionFilters" section of the report.
7811	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
7812
7813	// Dimensions: Dimensions which are compatible to be selected in the
7814	// "dimensions" section of the report.
7815	Dimensions []*Dimension `json:"dimensions,omitempty"`
7816
7817	// Kind: The kind of resource this is, in this case
7818	// dfareporting#floodlightReportCompatibleFields.
7819	Kind string `json:"kind,omitempty"`
7820
7821	// Metrics: Metrics which are compatible to be selected in the
7822	// "metricNames" section of the report.
7823	Metrics []*Metric `json:"metrics,omitempty"`
7824
7825	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
7826	// unconditionally include in API requests. By default, fields with
7827	// empty values are omitted from API requests. However, any non-pointer,
7828	// non-interface field appearing in ForceSendFields will be sent to the
7829	// server regardless of whether the field is empty or not. This may be
7830	// used to include empty fields in Patch requests.
7831	ForceSendFields []string `json:"-"`
7832
7833	// NullFields is a list of field names (e.g. "DimensionFilters") to
7834	// include in API requests with the JSON null value. By default, fields
7835	// with empty values are omitted from API requests. However, any field
7836	// with an empty value appearing in NullFields will be sent to the
7837	// server as null. It is an error if a field in this list has a
7838	// non-empty value. This may be used to include null fields in Patch
7839	// requests.
7840	NullFields []string `json:"-"`
7841}
7842
7843func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
7844	type NoMethod FloodlightReportCompatibleFields
7845	raw := NoMethod(*s)
7846	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7847}
7848
7849// FrequencyCap: Frequency Cap.
7850type FrequencyCap struct {
7851	// Duration: Duration of time, in seconds, for this frequency cap. The
7852	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
7853	// inclusive.
7854	Duration int64 `json:"duration,omitempty,string"`
7855
7856	// Impressions: Number of times an individual user can be served the ad
7857	// within the specified duration. Acceptable values are 1 to 15,
7858	// inclusive.
7859	Impressions int64 `json:"impressions,omitempty,string"`
7860
7861	// ForceSendFields is a list of field names (e.g. "Duration") to
7862	// unconditionally include in API requests. By default, fields with
7863	// empty values are omitted from API requests. However, any non-pointer,
7864	// non-interface field appearing in ForceSendFields will be sent to the
7865	// server regardless of whether the field is empty or not. This may be
7866	// used to include empty fields in Patch requests.
7867	ForceSendFields []string `json:"-"`
7868
7869	// NullFields is a list of field names (e.g. "Duration") to include in
7870	// API requests with the JSON null value. By default, fields with empty
7871	// values are omitted from API requests. However, any field with an
7872	// empty value appearing in NullFields will be sent to the server as
7873	// null. It is an error if a field in this list has a non-empty value.
7874	// This may be used to include null fields in Patch requests.
7875	NullFields []string `json:"-"`
7876}
7877
7878func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
7879	type NoMethod FrequencyCap
7880	raw := NoMethod(*s)
7881	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7882}
7883
7884// FsCommand: FsCommand.
7885type FsCommand struct {
7886	// Left: Distance from the left of the browser.Applicable when
7887	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7888	Left int64 `json:"left,omitempty"`
7889
7890	// PositionOption: Position in the browser where the window will open.
7891	//
7892	// Possible values:
7893	//   "CENTERED"
7894	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
7895	PositionOption string `json:"positionOption,omitempty"`
7896
7897	// Top: Distance from the top of the browser. Applicable when
7898	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7899	Top int64 `json:"top,omitempty"`
7900
7901	// WindowHeight: Height of the window.
7902	WindowHeight int64 `json:"windowHeight,omitempty"`
7903
7904	// WindowWidth: Width of the window.
7905	WindowWidth int64 `json:"windowWidth,omitempty"`
7906
7907	// ForceSendFields is a list of field names (e.g. "Left") to
7908	// unconditionally include in API requests. By default, fields with
7909	// empty values are omitted from API requests. However, any non-pointer,
7910	// non-interface field appearing in ForceSendFields will be sent to the
7911	// server regardless of whether the field is empty or not. This may be
7912	// used to include empty fields in Patch requests.
7913	ForceSendFields []string `json:"-"`
7914
7915	// NullFields is a list of field names (e.g. "Left") to include in API
7916	// requests with the JSON null value. By default, fields with empty
7917	// values are omitted from API requests. However, any field with an
7918	// empty value appearing in NullFields will be sent to the server as
7919	// null. It is an error if a field in this list has a non-empty value.
7920	// This may be used to include null fields in Patch requests.
7921	NullFields []string `json:"-"`
7922}
7923
7924func (s *FsCommand) MarshalJSON() ([]byte, error) {
7925	type NoMethod FsCommand
7926	raw := NoMethod(*s)
7927	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7928}
7929
7930// GeoTargeting: Geographical Targeting.
7931type GeoTargeting struct {
7932	// Cities: Cities to be targeted. For each city only dartId is required.
7933	// The other fields are populated automatically when the ad is inserted
7934	// or updated. If targeting a city, do not target or exclude the country
7935	// of the city, and do not target the metro or region of the city.
7936	Cities []*City `json:"cities,omitempty"`
7937
7938	// Countries: Countries to be targeted or excluded from targeting,
7939	// depending on the setting of the excludeCountries field. For each
7940	// country only dartId is required. The other fields are populated
7941	// automatically when the ad is inserted or updated. If targeting or
7942	// excluding a country, do not target regions, cities, metros, or postal
7943	// codes in the same country.
7944	Countries []*Country `json:"countries,omitempty"`
7945
7946	// ExcludeCountries: Whether or not to exclude the countries in the
7947	// countries field from targeting. If false, the countries field refers
7948	// to countries which will be targeted by the ad.
7949	ExcludeCountries bool `json:"excludeCountries,omitempty"`
7950
7951	// Metros: Metros to be targeted. For each metro only dmaId is required.
7952	// The other fields are populated automatically when the ad is inserted
7953	// or updated. If targeting a metro, do not target or exclude the
7954	// country of the metro.
7955	Metros []*Metro `json:"metros,omitempty"`
7956
7957	// PostalCodes: Postal codes to be targeted. For each postal code only
7958	// id is required. The other fields are populated automatically when the
7959	// ad is inserted or updated. If targeting a postal code, do not target
7960	// or exclude the country of the postal code.
7961	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
7962
7963	// Regions: Regions to be targeted. For each region only dartId is
7964	// required. The other fields are populated automatically when the ad is
7965	// inserted or updated. If targeting a region, do not target or exclude
7966	// the country of the region.
7967	Regions []*Region `json:"regions,omitempty"`
7968
7969	// ForceSendFields is a list of field names (e.g. "Cities") to
7970	// unconditionally include in API requests. By default, fields with
7971	// empty values are omitted from API requests. However, any non-pointer,
7972	// non-interface field appearing in ForceSendFields will be sent to the
7973	// server regardless of whether the field is empty or not. This may be
7974	// used to include empty fields in Patch requests.
7975	ForceSendFields []string `json:"-"`
7976
7977	// NullFields is a list of field names (e.g. "Cities") to include in API
7978	// requests with the JSON null value. By default, fields with empty
7979	// values are omitted from API requests. However, any field with an
7980	// empty value appearing in NullFields will be sent to the server as
7981	// null. It is an error if a field in this list has a non-empty value.
7982	// This may be used to include null fields in Patch requests.
7983	NullFields []string `json:"-"`
7984}
7985
7986func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
7987	type NoMethod GeoTargeting
7988	raw := NoMethod(*s)
7989	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7990}
7991
7992// InventoryItem: Represents a buy from the DoubleClick Planning
7993// inventory store.
7994type InventoryItem struct {
7995	// AccountId: Account ID of this inventory item.
7996	AccountId int64 `json:"accountId,omitempty,string"`
7997
7998	// AdSlots: Ad slots of this inventory item. If this inventory item
7999	// represents a standalone placement, there will be exactly one ad slot.
8000	// If this inventory item represents a placement group, there will be
8001	// more than one ad slot, each representing one child placement in that
8002	// placement group.
8003	AdSlots []*AdSlot `json:"adSlots,omitempty"`
8004
8005	// AdvertiserId: Advertiser ID of this inventory item.
8006	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8007
8008	// ContentCategoryId: Content category ID of this inventory item.
8009	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
8010
8011	// EstimatedClickThroughRate: Estimated click-through rate of this
8012	// inventory item.
8013	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
8014
8015	// EstimatedConversionRate: Estimated conversion rate of this inventory
8016	// item.
8017	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
8018
8019	// Id: ID of this inventory item.
8020	Id int64 `json:"id,omitempty,string"`
8021
8022	// InPlan: Whether this inventory item is in plan.
8023	InPlan bool `json:"inPlan,omitempty"`
8024
8025	// Kind: Identifies what kind of resource this is. Value: the fixed
8026	// string "dfareporting#inventoryItem".
8027	Kind string `json:"kind,omitempty"`
8028
8029	// LastModifiedInfo: Information about the most recent modification of
8030	// this inventory item.
8031	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
8032
8033	// Name: Name of this inventory item. For standalone inventory items,
8034	// this is the same name as that of its only ad slot. For group
8035	// inventory items, this can differ from the name of any of its ad
8036	// slots.
8037	Name string `json:"name,omitempty"`
8038
8039	// NegotiationChannelId: Negotiation channel ID of this inventory item.
8040	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
8041
8042	// OrderId: Order ID of this inventory item.
8043	OrderId int64 `json:"orderId,omitempty,string"`
8044
8045	// PlacementStrategyId: Placement strategy ID of this inventory item.
8046	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
8047
8048	// Pricing: Pricing of this inventory item.
8049	Pricing *Pricing `json:"pricing,omitempty"`
8050
8051	// ProjectId: Project ID of this inventory item.
8052	ProjectId int64 `json:"projectId,omitempty,string"`
8053
8054	// RfpId: RFP ID of this inventory item.
8055	RfpId int64 `json:"rfpId,omitempty,string"`
8056
8057	// SiteId: ID of the site this inventory item is associated with.
8058	SiteId int64 `json:"siteId,omitempty,string"`
8059
8060	// SubaccountId: Subaccount ID of this inventory item.
8061	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8062
8063	// Type: Type of inventory item.
8064	//
8065	// Possible values:
8066	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
8067	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
8068	Type string `json:"type,omitempty"`
8069
8070	// ServerResponse contains the HTTP response code and headers from the
8071	// server.
8072	googleapi.ServerResponse `json:"-"`
8073
8074	// ForceSendFields is a list of field names (e.g. "AccountId") to
8075	// unconditionally include in API requests. By default, fields with
8076	// empty values are omitted from API requests. However, any non-pointer,
8077	// non-interface field appearing in ForceSendFields will be sent to the
8078	// server regardless of whether the field is empty or not. This may be
8079	// used to include empty fields in Patch requests.
8080	ForceSendFields []string `json:"-"`
8081
8082	// NullFields is a list of field names (e.g. "AccountId") to include in
8083	// API requests with the JSON null value. By default, fields with empty
8084	// values are omitted from API requests. However, any field with an
8085	// empty value appearing in NullFields will be sent to the server as
8086	// null. It is an error if a field in this list has a non-empty value.
8087	// This may be used to include null fields in Patch requests.
8088	NullFields []string `json:"-"`
8089}
8090
8091func (s *InventoryItem) MarshalJSON() ([]byte, error) {
8092	type NoMethod InventoryItem
8093	raw := NoMethod(*s)
8094	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8095}
8096
8097// InventoryItemsListResponse: Inventory item List Response
8098type InventoryItemsListResponse struct {
8099	// InventoryItems: Inventory item collection
8100	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
8101
8102	// Kind: Identifies what kind of resource this is. Value: the fixed
8103	// string "dfareporting#inventoryItemsListResponse".
8104	Kind string `json:"kind,omitempty"`
8105
8106	// NextPageToken: Pagination token to be used for the next list
8107	// operation.
8108	NextPageToken string `json:"nextPageToken,omitempty"`
8109
8110	// ServerResponse contains the HTTP response code and headers from the
8111	// server.
8112	googleapi.ServerResponse `json:"-"`
8113
8114	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
8115	// unconditionally include in API requests. By default, fields with
8116	// empty values are omitted from API requests. However, any non-pointer,
8117	// non-interface field appearing in ForceSendFields will be sent to the
8118	// server regardless of whether the field is empty or not. This may be
8119	// used to include empty fields in Patch requests.
8120	ForceSendFields []string `json:"-"`
8121
8122	// NullFields is a list of field names (e.g. "InventoryItems") to
8123	// include in API requests with the JSON null value. By default, fields
8124	// with empty values are omitted from API requests. However, any field
8125	// with an empty value appearing in NullFields will be sent to the
8126	// server as null. It is an error if a field in this list has a
8127	// non-empty value. This may be used to include null fields in Patch
8128	// requests.
8129	NullFields []string `json:"-"`
8130}
8131
8132func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
8133	type NoMethod InventoryItemsListResponse
8134	raw := NoMethod(*s)
8135	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8136}
8137
8138// KeyValueTargetingExpression: Key Value Targeting Expression.
8139type KeyValueTargetingExpression struct {
8140	// Expression: Keyword expression being targeted by the ad.
8141	Expression string `json:"expression,omitempty"`
8142
8143	// ForceSendFields is a list of field names (e.g. "Expression") to
8144	// unconditionally include in API requests. By default, fields with
8145	// empty values are omitted from API requests. However, any non-pointer,
8146	// non-interface field appearing in ForceSendFields will be sent to the
8147	// server regardless of whether the field is empty or not. This may be
8148	// used to include empty fields in Patch requests.
8149	ForceSendFields []string `json:"-"`
8150
8151	// NullFields is a list of field names (e.g. "Expression") to include in
8152	// API requests with the JSON null value. By default, fields with empty
8153	// values are omitted from API requests. However, any field with an
8154	// empty value appearing in NullFields will be sent to the server as
8155	// null. It is an error if a field in this list has a non-empty value.
8156	// This may be used to include null fields in Patch requests.
8157	NullFields []string `json:"-"`
8158}
8159
8160func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
8161	type NoMethod KeyValueTargetingExpression
8162	raw := NoMethod(*s)
8163	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8164}
8165
8166// LandingPage: Contains information about where a user's browser is
8167// taken after the user clicks an ad.
8168type LandingPage struct {
8169	// Default: Whether or not this landing page will be assigned to any ads
8170	// or creatives that do not have a landing page assigned explicitly.
8171	// Only one default landing page is allowed per campaign.
8172	Default bool `json:"default,omitempty"`
8173
8174	// Id: ID of this landing page. This is a read-only, auto-generated
8175	// field.
8176	Id int64 `json:"id,omitempty,string"`
8177
8178	// Kind: Identifies what kind of resource this is. Value: the fixed
8179	// string "dfareporting#landingPage".
8180	Kind string `json:"kind,omitempty"`
8181
8182	// Name: Name of this landing page. This is a required field. It must be
8183	// less than 256 characters long, and must be unique among landing pages
8184	// of the same campaign.
8185	Name string `json:"name,omitempty"`
8186
8187	// Url: URL of this landing page. This is a required field.
8188	Url string `json:"url,omitempty"`
8189
8190	// ServerResponse contains the HTTP response code and headers from the
8191	// server.
8192	googleapi.ServerResponse `json:"-"`
8193
8194	// ForceSendFields is a list of field names (e.g. "Default") to
8195	// unconditionally include in API requests. By default, fields with
8196	// empty values are omitted from API requests. However, any non-pointer,
8197	// non-interface field appearing in ForceSendFields will be sent to the
8198	// server regardless of whether the field is empty or not. This may be
8199	// used to include empty fields in Patch requests.
8200	ForceSendFields []string `json:"-"`
8201
8202	// NullFields is a list of field names (e.g. "Default") to include in
8203	// API requests with the JSON null value. By default, fields with empty
8204	// values are omitted from API requests. However, any field with an
8205	// empty value appearing in NullFields will be sent to the server as
8206	// null. It is an error if a field in this list has a non-empty value.
8207	// This may be used to include null fields in Patch requests.
8208	NullFields []string `json:"-"`
8209}
8210
8211func (s *LandingPage) MarshalJSON() ([]byte, error) {
8212	type NoMethod LandingPage
8213	raw := NoMethod(*s)
8214	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8215}
8216
8217// LandingPagesListResponse: Landing Page List Response
8218type LandingPagesListResponse struct {
8219	// Kind: Identifies what kind of resource this is. Value: the fixed
8220	// string "dfareporting#landingPagesListResponse".
8221	Kind string `json:"kind,omitempty"`
8222
8223	// LandingPages: Landing page collection
8224	LandingPages []*LandingPage `json:"landingPages,omitempty"`
8225
8226	// ServerResponse contains the HTTP response code and headers from the
8227	// server.
8228	googleapi.ServerResponse `json:"-"`
8229
8230	// ForceSendFields is a list of field names (e.g. "Kind") to
8231	// unconditionally include in API requests. By default, fields with
8232	// empty values are omitted from API requests. However, any non-pointer,
8233	// non-interface field appearing in ForceSendFields will be sent to the
8234	// server regardless of whether the field is empty or not. This may be
8235	// used to include empty fields in Patch requests.
8236	ForceSendFields []string `json:"-"`
8237
8238	// NullFields is a list of field names (e.g. "Kind") to include in API
8239	// requests with the JSON null value. By default, fields with empty
8240	// values are omitted from API requests. However, any field with an
8241	// empty value appearing in NullFields will be sent to the server as
8242	// null. It is an error if a field in this list has a non-empty value.
8243	// This may be used to include null fields in Patch requests.
8244	NullFields []string `json:"-"`
8245}
8246
8247func (s *LandingPagesListResponse) MarshalJSON() ([]byte, error) {
8248	type NoMethod LandingPagesListResponse
8249	raw := NoMethod(*s)
8250	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8251}
8252
8253// Language: Contains information about a language that can be targeted
8254// by ads.
8255type Language struct {
8256	// Id: Language ID of this language. This is the ID used for targeting
8257	// and generating reports.
8258	Id int64 `json:"id,omitempty,string"`
8259
8260	// Kind: Identifies what kind of resource this is. Value: the fixed
8261	// string "dfareporting#language".
8262	Kind string `json:"kind,omitempty"`
8263
8264	// LanguageCode: Format of language code is an ISO 639 two-letter
8265	// language code optionally followed by an underscore followed by an ISO
8266	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
8267	// Chinese.
8268	LanguageCode string `json:"languageCode,omitempty"`
8269
8270	// Name: Name of this language.
8271	Name string `json:"name,omitempty"`
8272
8273	// ForceSendFields is a list of field names (e.g. "Id") to
8274	// unconditionally include in API requests. By default, fields with
8275	// empty values are omitted from API requests. However, any non-pointer,
8276	// non-interface field appearing in ForceSendFields will be sent to the
8277	// server regardless of whether the field is empty or not. This may be
8278	// used to include empty fields in Patch requests.
8279	ForceSendFields []string `json:"-"`
8280
8281	// NullFields is a list of field names (e.g. "Id") to include in API
8282	// requests with the JSON null value. By default, fields with empty
8283	// values are omitted from API requests. However, any field with an
8284	// empty value appearing in NullFields will be sent to the server as
8285	// null. It is an error if a field in this list has a non-empty value.
8286	// This may be used to include null fields in Patch requests.
8287	NullFields []string `json:"-"`
8288}
8289
8290func (s *Language) MarshalJSON() ([]byte, error) {
8291	type NoMethod Language
8292	raw := NoMethod(*s)
8293	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8294}
8295
8296// LanguageTargeting: Language Targeting.
8297type LanguageTargeting struct {
8298	// Languages: Languages that this ad targets. For each language only
8299	// languageId is required. The other fields are populated automatically
8300	// when the ad is inserted or updated.
8301	Languages []*Language `json:"languages,omitempty"`
8302
8303	// ForceSendFields is a list of field names (e.g. "Languages") to
8304	// unconditionally include in API requests. By default, fields with
8305	// empty values are omitted from API requests. However, any non-pointer,
8306	// non-interface field appearing in ForceSendFields will be sent to the
8307	// server regardless of whether the field is empty or not. This may be
8308	// used to include empty fields in Patch requests.
8309	ForceSendFields []string `json:"-"`
8310
8311	// NullFields is a list of field names (e.g. "Languages") to include in
8312	// API requests with the JSON null value. By default, fields with empty
8313	// values are omitted from API requests. However, any field with an
8314	// empty value appearing in NullFields will be sent to the server as
8315	// null. It is an error if a field in this list has a non-empty value.
8316	// This may be used to include null fields in Patch requests.
8317	NullFields []string `json:"-"`
8318}
8319
8320func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
8321	type NoMethod LanguageTargeting
8322	raw := NoMethod(*s)
8323	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8324}
8325
8326// LanguagesListResponse: Language List Response
8327type LanguagesListResponse struct {
8328	// Kind: Identifies what kind of resource this is. Value: the fixed
8329	// string "dfareporting#languagesListResponse".
8330	Kind string `json:"kind,omitempty"`
8331
8332	// Languages: Language collection.
8333	Languages []*Language `json:"languages,omitempty"`
8334
8335	// ServerResponse contains the HTTP response code and headers from the
8336	// server.
8337	googleapi.ServerResponse `json:"-"`
8338
8339	// ForceSendFields is a list of field names (e.g. "Kind") to
8340	// unconditionally include in API requests. By default, fields with
8341	// empty values are omitted from API requests. However, any non-pointer,
8342	// non-interface field appearing in ForceSendFields will be sent to the
8343	// server regardless of whether the field is empty or not. This may be
8344	// used to include empty fields in Patch requests.
8345	ForceSendFields []string `json:"-"`
8346
8347	// NullFields is a list of field names (e.g. "Kind") to include in API
8348	// requests with the JSON null value. By default, fields with empty
8349	// values are omitted from API requests. However, any field with an
8350	// empty value appearing in NullFields will be sent to the server as
8351	// null. It is an error if a field in this list has a non-empty value.
8352	// This may be used to include null fields in Patch requests.
8353	NullFields []string `json:"-"`
8354}
8355
8356func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
8357	type NoMethod LanguagesListResponse
8358	raw := NoMethod(*s)
8359	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8360}
8361
8362// LastModifiedInfo: Modification timestamp.
8363type LastModifiedInfo struct {
8364	// Time: Timestamp of the last change in milliseconds since epoch.
8365	Time int64 `json:"time,omitempty,string"`
8366
8367	// ForceSendFields is a list of field names (e.g. "Time") to
8368	// unconditionally include in API requests. By default, fields with
8369	// empty values are omitted from API requests. However, any non-pointer,
8370	// non-interface field appearing in ForceSendFields will be sent to the
8371	// server regardless of whether the field is empty or not. This may be
8372	// used to include empty fields in Patch requests.
8373	ForceSendFields []string `json:"-"`
8374
8375	// NullFields is a list of field names (e.g. "Time") to include in API
8376	// requests with the JSON null value. By default, fields with empty
8377	// values are omitted from API requests. However, any field with an
8378	// empty value appearing in NullFields will be sent to the server as
8379	// null. It is an error if a field in this list has a non-empty value.
8380	// This may be used to include null fields in Patch requests.
8381	NullFields []string `json:"-"`
8382}
8383
8384func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
8385	type NoMethod LastModifiedInfo
8386	raw := NoMethod(*s)
8387	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8388}
8389
8390// ListPopulationClause: A group clause made up of list population terms
8391// representing constraints joined by ORs.
8392type ListPopulationClause struct {
8393	// Terms: Terms of this list population clause. Each clause is made up
8394	// of list population terms representing constraints and are joined by
8395	// ORs.
8396	Terms []*ListPopulationTerm `json:"terms,omitempty"`
8397
8398	// ForceSendFields is a list of field names (e.g. "Terms") to
8399	// unconditionally include in API requests. By default, fields with
8400	// empty values are omitted from API requests. However, any non-pointer,
8401	// non-interface field appearing in ForceSendFields will be sent to the
8402	// server regardless of whether the field is empty or not. This may be
8403	// used to include empty fields in Patch requests.
8404	ForceSendFields []string `json:"-"`
8405
8406	// NullFields is a list of field names (e.g. "Terms") to include in API
8407	// requests with the JSON null value. By default, fields with empty
8408	// values are omitted from API requests. However, any field with an
8409	// empty value appearing in NullFields will be sent to the server as
8410	// null. It is an error if a field in this list has a non-empty value.
8411	// This may be used to include null fields in Patch requests.
8412	NullFields []string `json:"-"`
8413}
8414
8415func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
8416	type NoMethod ListPopulationClause
8417	raw := NoMethod(*s)
8418	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8419}
8420
8421// ListPopulationRule: Remarketing List Population Rule.
8422type ListPopulationRule struct {
8423	// FloodlightActivityId: Floodlight activity ID associated with this
8424	// rule. This field can be left blank.
8425	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
8426
8427	// FloodlightActivityName: Name of floodlight activity associated with
8428	// this rule. This is a read-only, auto-generated field.
8429	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
8430
8431	// ListPopulationClauses: Clauses that make up this list population
8432	// rule. Clauses are joined by ANDs, and the clauses themselves are made
8433	// up of list population terms which are joined by ORs.
8434	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
8435
8436	// ForceSendFields is a list of field names (e.g.
8437	// "FloodlightActivityId") to unconditionally include in API requests.
8438	// By default, fields with empty values are omitted from API requests.
8439	// However, any non-pointer, non-interface field appearing in
8440	// ForceSendFields will be sent to the server regardless of whether the
8441	// field is empty or not. This may be used to include empty fields in
8442	// Patch requests.
8443	ForceSendFields []string `json:"-"`
8444
8445	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
8446	// include in API requests with the JSON null value. By default, fields
8447	// with empty values are omitted from API requests. However, any field
8448	// with an empty value appearing in NullFields will be sent to the
8449	// server as null. It is an error if a field in this list has a
8450	// non-empty value. This may be used to include null fields in Patch
8451	// requests.
8452	NullFields []string `json:"-"`
8453}
8454
8455func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
8456	type NoMethod ListPopulationRule
8457	raw := NoMethod(*s)
8458	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8459}
8460
8461// ListPopulationTerm: Remarketing List Population Rule Term.
8462type ListPopulationTerm struct {
8463	// Contains: Will be true if the term should check if the user is in the
8464	// list and false if the term should check if the user is not in the
8465	// list. This field is only relevant when type is set to
8466	// LIST_MEMBERSHIP_TERM. False by default.
8467	Contains bool `json:"contains,omitempty"`
8468
8469	// Negation: Whether to negate the comparison result of this term during
8470	// rule evaluation. This field is only relevant when type is left unset
8471	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8472	Negation bool `json:"negation,omitempty"`
8473
8474	// Operator: Comparison operator of this term. This field is only
8475	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8476	// REFERRER_TERM.
8477	//
8478	// Possible values:
8479	//   "NUM_EQUALS"
8480	//   "NUM_GREATER_THAN"
8481	//   "NUM_GREATER_THAN_EQUAL"
8482	//   "NUM_LESS_THAN"
8483	//   "NUM_LESS_THAN_EQUAL"
8484	//   "STRING_CONTAINS"
8485	//   "STRING_EQUALS"
8486	Operator string `json:"operator,omitempty"`
8487
8488	// RemarketingListId: ID of the list in question. This field is only
8489	// relevant when type is set to LIST_MEMBERSHIP_TERM.
8490	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
8491
8492	// Type: List population term type determines the applicable fields in
8493	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
8494	// variableName, variableFriendlyName, operator, value, and negation are
8495	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
8496	// contains are applicable. If set to REFERRER_TERM then operator,
8497	// value, and negation are applicable.
8498	//
8499	// Possible values:
8500	//   "CUSTOM_VARIABLE_TERM"
8501	//   "LIST_MEMBERSHIP_TERM"
8502	//   "REFERRER_TERM"
8503	Type string `json:"type,omitempty"`
8504
8505	// Value: Literal to compare the variable to. This field is only
8506	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8507	// REFERRER_TERM.
8508	Value string `json:"value,omitempty"`
8509
8510	// VariableFriendlyName: Friendly name of this term's variable. This is
8511	// a read-only, auto-generated field. This field is only relevant when
8512	// type is left unset or set to CUSTOM_VARIABLE_TERM.
8513	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
8514
8515	// VariableName: Name of the variable (U1, U2, etc.) being compared in
8516	// this term. This field is only relevant when type is set to null,
8517	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8518	VariableName string `json:"variableName,omitempty"`
8519
8520	// ForceSendFields is a list of field names (e.g. "Contains") to
8521	// unconditionally include in API requests. By default, fields with
8522	// empty values are omitted from API requests. However, any non-pointer,
8523	// non-interface field appearing in ForceSendFields will be sent to the
8524	// server regardless of whether the field is empty or not. This may be
8525	// used to include empty fields in Patch requests.
8526	ForceSendFields []string `json:"-"`
8527
8528	// NullFields is a list of field names (e.g. "Contains") to include in
8529	// API requests with the JSON null value. By default, fields with empty
8530	// values are omitted from API requests. However, any field with an
8531	// empty value appearing in NullFields will be sent to the server as
8532	// null. It is an error if a field in this list has a non-empty value.
8533	// This may be used to include null fields in Patch requests.
8534	NullFields []string `json:"-"`
8535}
8536
8537func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
8538	type NoMethod ListPopulationTerm
8539	raw := NoMethod(*s)
8540	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8541}
8542
8543// ListTargetingExpression: Remarketing List Targeting Expression.
8544type ListTargetingExpression struct {
8545	// Expression: Expression describing which lists are being targeted by
8546	// the ad.
8547	Expression string `json:"expression,omitempty"`
8548
8549	// ForceSendFields is a list of field names (e.g. "Expression") to
8550	// unconditionally include in API requests. By default, fields with
8551	// empty values are omitted from API requests. However, any non-pointer,
8552	// non-interface field appearing in ForceSendFields will be sent to the
8553	// server regardless of whether the field is empty or not. This may be
8554	// used to include empty fields in Patch requests.
8555	ForceSendFields []string `json:"-"`
8556
8557	// NullFields is a list of field names (e.g. "Expression") to include in
8558	// API requests with the JSON null value. By default, fields with empty
8559	// values are omitted from API requests. However, any field with an
8560	// empty value appearing in NullFields will be sent to the server as
8561	// null. It is an error if a field in this list has a non-empty value.
8562	// This may be used to include null fields in Patch requests.
8563	NullFields []string `json:"-"`
8564}
8565
8566func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
8567	type NoMethod ListTargetingExpression
8568	raw := NoMethod(*s)
8569	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8570}
8571
8572// LookbackConfiguration: Lookback configuration settings.
8573type LookbackConfiguration struct {
8574	// ClickDuration: Lookback window, in days, from the last time a given
8575	// user clicked on one of your ads. If you enter 0, clicks will not be
8576	// considered as triggering events for floodlight tracking. If you leave
8577	// this field blank, the default value for your account will be used.
8578	// Acceptable values are 0 to 90, inclusive.
8579	ClickDuration int64 `json:"clickDuration,omitempty"`
8580
8581	// PostImpressionActivitiesDuration: Lookback window, in days, from the
8582	// last time a given user viewed one of your ads. If you enter 0,
8583	// impressions will not be considered as triggering events for
8584	// floodlight tracking. If you leave this field blank, the default value
8585	// for your account will be used. Acceptable values are 0 to 90,
8586	// inclusive.
8587	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
8588
8589	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
8590	// unconditionally include in API requests. By default, fields with
8591	// empty values are omitted from API requests. However, any non-pointer,
8592	// non-interface field appearing in ForceSendFields will be sent to the
8593	// server regardless of whether the field is empty or not. This may be
8594	// used to include empty fields in Patch requests.
8595	ForceSendFields []string `json:"-"`
8596
8597	// NullFields is a list of field names (e.g. "ClickDuration") to include
8598	// in API requests with the JSON null value. By default, fields with
8599	// empty values are omitted from API requests. However, any field with
8600	// an empty value appearing in NullFields will be sent to the server as
8601	// null. It is an error if a field in this list has a non-empty value.
8602	// This may be used to include null fields in Patch requests.
8603	NullFields []string `json:"-"`
8604}
8605
8606func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
8607	type NoMethod LookbackConfiguration
8608	raw := NoMethod(*s)
8609	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8610}
8611
8612// Metric: Represents a metric.
8613type Metric struct {
8614	// Kind: The kind of resource this is, in this case dfareporting#metric.
8615	Kind string `json:"kind,omitempty"`
8616
8617	// Name: The metric name, e.g. dfa:impressions
8618	Name string `json:"name,omitempty"`
8619
8620	// ForceSendFields is a list of field names (e.g. "Kind") to
8621	// unconditionally include in API requests. By default, fields with
8622	// empty values are omitted from API requests. However, any non-pointer,
8623	// non-interface field appearing in ForceSendFields will be sent to the
8624	// server regardless of whether the field is empty or not. This may be
8625	// used to include empty fields in Patch requests.
8626	ForceSendFields []string `json:"-"`
8627
8628	// NullFields is a list of field names (e.g. "Kind") to include in API
8629	// requests with the JSON null value. By default, fields with empty
8630	// values are omitted from API requests. However, any field with an
8631	// empty value appearing in NullFields will be sent to the server as
8632	// null. It is an error if a field in this list has a non-empty value.
8633	// This may be used to include null fields in Patch requests.
8634	NullFields []string `json:"-"`
8635}
8636
8637func (s *Metric) MarshalJSON() ([]byte, error) {
8638	type NoMethod Metric
8639	raw := NoMethod(*s)
8640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8641}
8642
8643// Metro: Contains information about a metro region that can be targeted
8644// by ads.
8645type Metro struct {
8646	// CountryCode: Country code of the country to which this metro region
8647	// belongs.
8648	CountryCode string `json:"countryCode,omitempty"`
8649
8650	// CountryDartId: DART ID of the country to which this metro region
8651	// belongs.
8652	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8653
8654	// DartId: DART ID of this metro region.
8655	DartId int64 `json:"dartId,omitempty,string"`
8656
8657	// DmaId: DMA ID of this metro region. This is the ID used for targeting
8658	// and generating reports, and is equivalent to metro_code.
8659	DmaId int64 `json:"dmaId,omitempty,string"`
8660
8661	// Kind: Identifies what kind of resource this is. Value: the fixed
8662	// string "dfareporting#metro".
8663	Kind string `json:"kind,omitempty"`
8664
8665	// MetroCode: Metro code of this metro region. This is equivalent to
8666	// dma_id.
8667	MetroCode string `json:"metroCode,omitempty"`
8668
8669	// Name: Name of this metro region.
8670	Name string `json:"name,omitempty"`
8671
8672	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8673	// unconditionally include in API requests. By default, fields with
8674	// empty values are omitted from API requests. However, any non-pointer,
8675	// non-interface field appearing in ForceSendFields will be sent to the
8676	// server regardless of whether the field is empty or not. This may be
8677	// used to include empty fields in Patch requests.
8678	ForceSendFields []string `json:"-"`
8679
8680	// NullFields is a list of field names (e.g. "CountryCode") to include
8681	// in API requests with the JSON null value. By default, fields with
8682	// empty values are omitted from API requests. However, any field with
8683	// an empty value appearing in NullFields will be sent to the server as
8684	// null. It is an error if a field in this list has a non-empty value.
8685	// This may be used to include null fields in Patch requests.
8686	NullFields []string `json:"-"`
8687}
8688
8689func (s *Metro) MarshalJSON() ([]byte, error) {
8690	type NoMethod Metro
8691	raw := NoMethod(*s)
8692	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8693}
8694
8695// MetrosListResponse: Metro List Response
8696type MetrosListResponse struct {
8697	// Kind: Identifies what kind of resource this is. Value: the fixed
8698	// string "dfareporting#metrosListResponse".
8699	Kind string `json:"kind,omitempty"`
8700
8701	// Metros: Metro collection.
8702	Metros []*Metro `json:"metros,omitempty"`
8703
8704	// ServerResponse contains the HTTP response code and headers from the
8705	// server.
8706	googleapi.ServerResponse `json:"-"`
8707
8708	// ForceSendFields is a list of field names (e.g. "Kind") to
8709	// unconditionally include in API requests. By default, fields with
8710	// empty values are omitted from API requests. However, any non-pointer,
8711	// non-interface field appearing in ForceSendFields will be sent to the
8712	// server regardless of whether the field is empty or not. This may be
8713	// used to include empty fields in Patch requests.
8714	ForceSendFields []string `json:"-"`
8715
8716	// NullFields is a list of field names (e.g. "Kind") to include in API
8717	// requests with the JSON null value. By default, fields with empty
8718	// values are omitted from API requests. However, any field with an
8719	// empty value appearing in NullFields will be sent to the server as
8720	// null. It is an error if a field in this list has a non-empty value.
8721	// This may be used to include null fields in Patch requests.
8722	NullFields []string `json:"-"`
8723}
8724
8725func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
8726	type NoMethod MetrosListResponse
8727	raw := NoMethod(*s)
8728	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8729}
8730
8731// MobileCarrier: Contains information about a mobile carrier that can
8732// be targeted by ads.
8733type MobileCarrier struct {
8734	// CountryCode: Country code of the country to which this mobile carrier
8735	// belongs.
8736	CountryCode string `json:"countryCode,omitempty"`
8737
8738	// CountryDartId: DART ID of the country to which this mobile carrier
8739	// belongs.
8740	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8741
8742	// Id: ID of this mobile carrier.
8743	Id int64 `json:"id,omitempty,string"`
8744
8745	// Kind: Identifies what kind of resource this is. Value: the fixed
8746	// string "dfareporting#mobileCarrier".
8747	Kind string `json:"kind,omitempty"`
8748
8749	// Name: Name of this mobile carrier.
8750	Name string `json:"name,omitempty"`
8751
8752	// ServerResponse contains the HTTP response code and headers from the
8753	// server.
8754	googleapi.ServerResponse `json:"-"`
8755
8756	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8757	// unconditionally include in API requests. By default, fields with
8758	// empty values are omitted from API requests. However, any non-pointer,
8759	// non-interface field appearing in ForceSendFields will be sent to the
8760	// server regardless of whether the field is empty or not. This may be
8761	// used to include empty fields in Patch requests.
8762	ForceSendFields []string `json:"-"`
8763
8764	// NullFields is a list of field names (e.g. "CountryCode") to include
8765	// in API requests with the JSON null value. By default, fields with
8766	// empty values are omitted from API requests. However, any field with
8767	// an empty value appearing in NullFields will be sent to the server as
8768	// null. It is an error if a field in this list has a non-empty value.
8769	// This may be used to include null fields in Patch requests.
8770	NullFields []string `json:"-"`
8771}
8772
8773func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
8774	type NoMethod MobileCarrier
8775	raw := NoMethod(*s)
8776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8777}
8778
8779// MobileCarriersListResponse: Mobile Carrier List Response
8780type MobileCarriersListResponse struct {
8781	// Kind: Identifies what kind of resource this is. Value: the fixed
8782	// string "dfareporting#mobileCarriersListResponse".
8783	Kind string `json:"kind,omitempty"`
8784
8785	// MobileCarriers: Mobile carrier collection.
8786	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
8787
8788	// ServerResponse contains the HTTP response code and headers from the
8789	// server.
8790	googleapi.ServerResponse `json:"-"`
8791
8792	// ForceSendFields is a list of field names (e.g. "Kind") to
8793	// unconditionally include in API requests. By default, fields with
8794	// empty values are omitted from API requests. However, any non-pointer,
8795	// non-interface field appearing in ForceSendFields will be sent to the
8796	// server regardless of whether the field is empty or not. This may be
8797	// used to include empty fields in Patch requests.
8798	ForceSendFields []string `json:"-"`
8799
8800	// NullFields is a list of field names (e.g. "Kind") to include in API
8801	// requests with the JSON null value. By default, fields with empty
8802	// values are omitted from API requests. However, any field with an
8803	// empty value appearing in NullFields will be sent to the server as
8804	// null. It is an error if a field in this list has a non-empty value.
8805	// This may be used to include null fields in Patch requests.
8806	NullFields []string `json:"-"`
8807}
8808
8809func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
8810	type NoMethod MobileCarriersListResponse
8811	raw := NoMethod(*s)
8812	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8813}
8814
8815// ObjectFilter: Object Filter.
8816type ObjectFilter struct {
8817	// Kind: Identifies what kind of resource this is. Value: the fixed
8818	// string "dfareporting#objectFilter".
8819	Kind string `json:"kind,omitempty"`
8820
8821	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
8822	// objects with these object IDs.
8823	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
8824
8825	// Status: Status of the filter. NONE means the user has access to none
8826	// of the objects. ALL means the user has access to all objects.
8827	// ASSIGNED means the user has access to the objects with IDs in the
8828	// objectIds list.
8829	//
8830	// Possible values:
8831	//   "ALL"
8832	//   "ASSIGNED"
8833	//   "NONE"
8834	Status string `json:"status,omitempty"`
8835
8836	// ForceSendFields is a list of field names (e.g. "Kind") to
8837	// unconditionally include in API requests. By default, fields with
8838	// empty values are omitted from API requests. However, any non-pointer,
8839	// non-interface field appearing in ForceSendFields will be sent to the
8840	// server regardless of whether the field is empty or not. This may be
8841	// used to include empty fields in Patch requests.
8842	ForceSendFields []string `json:"-"`
8843
8844	// NullFields is a list of field names (e.g. "Kind") to include in API
8845	// requests with the JSON null value. By default, fields with empty
8846	// values are omitted from API requests. However, any field with an
8847	// empty value appearing in NullFields will be sent to the server as
8848	// null. It is an error if a field in this list has a non-empty value.
8849	// This may be used to include null fields in Patch requests.
8850	NullFields []string `json:"-"`
8851}
8852
8853func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
8854	type NoMethod ObjectFilter
8855	raw := NoMethod(*s)
8856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8857}
8858
8859// OffsetPosition: Offset Position.
8860type OffsetPosition struct {
8861	// Left: Offset distance from left side of an asset or a window.
8862	Left int64 `json:"left,omitempty"`
8863
8864	// Top: Offset distance from top side of an asset or a window.
8865	Top int64 `json:"top,omitempty"`
8866
8867	// ForceSendFields is a list of field names (e.g. "Left") 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. "Left") 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 *OffsetPosition) MarshalJSON() ([]byte, error) {
8885	type NoMethod OffsetPosition
8886	raw := NoMethod(*s)
8887	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8888}
8889
8890// OmnitureSettings: Omniture Integration Settings.
8891type OmnitureSettings struct {
8892	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
8893	// Omniture. This property can be enabled only if
8894	// omnitureIntegrationEnabled is true.
8895	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
8896
8897	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
8898	// This property can be enabled only when the "Advanced Ad Serving"
8899	// account setting is enabled.
8900	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
8901
8902	// ForceSendFields is a list of field names (e.g.
8903	// "OmnitureCostDataEnabled") to unconditionally include in API
8904	// requests. By default, fields with empty values are omitted from API
8905	// requests. However, any non-pointer, non-interface field appearing in
8906	// ForceSendFields will be sent to the server regardless of whether the
8907	// field is empty or not. This may be used to include empty fields in
8908	// Patch requests.
8909	ForceSendFields []string `json:"-"`
8910
8911	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
8912	// to include in API requests with the JSON null value. By default,
8913	// fields with empty values are omitted from API requests. However, any
8914	// field with an empty value appearing in NullFields will be sent to the
8915	// server as null. It is an error if a field in this list has a
8916	// non-empty value. This may be used to include null fields in Patch
8917	// requests.
8918	NullFields []string `json:"-"`
8919}
8920
8921func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
8922	type NoMethod OmnitureSettings
8923	raw := NoMethod(*s)
8924	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8925}
8926
8927// OperatingSystem: Contains information about an operating system that
8928// can be targeted by ads.
8929type OperatingSystem struct {
8930	// DartId: DART ID of this operating system. This is the ID used for
8931	// targeting.
8932	DartId int64 `json:"dartId,omitempty,string"`
8933
8934	// Desktop: Whether this operating system is for desktop.
8935	Desktop bool `json:"desktop,omitempty"`
8936
8937	// Kind: Identifies what kind of resource this is. Value: the fixed
8938	// string "dfareporting#operatingSystem".
8939	Kind string `json:"kind,omitempty"`
8940
8941	// Mobile: Whether this operating system is for mobile.
8942	Mobile bool `json:"mobile,omitempty"`
8943
8944	// Name: Name of this operating system.
8945	Name string `json:"name,omitempty"`
8946
8947	// ServerResponse contains the HTTP response code and headers from the
8948	// server.
8949	googleapi.ServerResponse `json:"-"`
8950
8951	// ForceSendFields is a list of field names (e.g. "DartId") to
8952	// unconditionally include in API requests. By default, fields with
8953	// empty values are omitted from API requests. However, any non-pointer,
8954	// non-interface field appearing in ForceSendFields will be sent to the
8955	// server regardless of whether the field is empty or not. This may be
8956	// used to include empty fields in Patch requests.
8957	ForceSendFields []string `json:"-"`
8958
8959	// NullFields is a list of field names (e.g. "DartId") to include in API
8960	// requests with the JSON null value. By default, fields with empty
8961	// values are omitted from API requests. However, any field with an
8962	// empty value appearing in NullFields will be sent to the server as
8963	// null. It is an error if a field in this list has a non-empty value.
8964	// This may be used to include null fields in Patch requests.
8965	NullFields []string `json:"-"`
8966}
8967
8968func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
8969	type NoMethod OperatingSystem
8970	raw := NoMethod(*s)
8971	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8972}
8973
8974// OperatingSystemVersion: Contains information about a particular
8975// version of an operating system that can be targeted by ads.
8976type OperatingSystemVersion struct {
8977	// Id: ID of this operating system version.
8978	Id int64 `json:"id,omitempty,string"`
8979
8980	// Kind: Identifies what kind of resource this is. Value: the fixed
8981	// string "dfareporting#operatingSystemVersion".
8982	Kind string `json:"kind,omitempty"`
8983
8984	// MajorVersion: Major version (leftmost number) of this operating
8985	// system version.
8986	MajorVersion string `json:"majorVersion,omitempty"`
8987
8988	// MinorVersion: Minor version (number after the first dot) of this
8989	// operating system version.
8990	MinorVersion string `json:"minorVersion,omitempty"`
8991
8992	// Name: Name of this operating system version.
8993	Name string `json:"name,omitempty"`
8994
8995	// OperatingSystem: Operating system of this operating system version.
8996	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
8997
8998	// ServerResponse contains the HTTP response code and headers from the
8999	// server.
9000	googleapi.ServerResponse `json:"-"`
9001
9002	// ForceSendFields is a list of field names (e.g. "Id") to
9003	// unconditionally include in API requests. By default, fields with
9004	// empty values are omitted from API requests. However, any non-pointer,
9005	// non-interface field appearing in ForceSendFields will be sent to the
9006	// server regardless of whether the field is empty or not. This may be
9007	// used to include empty fields in Patch requests.
9008	ForceSendFields []string `json:"-"`
9009
9010	// NullFields is a list of field names (e.g. "Id") to include in API
9011	// requests with the JSON null value. By default, fields with empty
9012	// values are omitted from API requests. However, any field with an
9013	// empty value appearing in NullFields will be sent to the server as
9014	// null. It is an error if a field in this list has a non-empty value.
9015	// This may be used to include null fields in Patch requests.
9016	NullFields []string `json:"-"`
9017}
9018
9019func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
9020	type NoMethod OperatingSystemVersion
9021	raw := NoMethod(*s)
9022	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9023}
9024
9025// OperatingSystemVersionsListResponse: Operating System Version List
9026// Response
9027type OperatingSystemVersionsListResponse struct {
9028	// Kind: Identifies what kind of resource this is. Value: the fixed
9029	// string "dfareporting#operatingSystemVersionsListResponse".
9030	Kind string `json:"kind,omitempty"`
9031
9032	// OperatingSystemVersions: Operating system version collection.
9033	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
9034
9035	// ServerResponse contains the HTTP response code and headers from the
9036	// server.
9037	googleapi.ServerResponse `json:"-"`
9038
9039	// ForceSendFields is a list of field names (e.g. "Kind") to
9040	// unconditionally include in API requests. By default, fields with
9041	// empty values are omitted from API requests. However, any non-pointer,
9042	// non-interface field appearing in ForceSendFields will be sent to the
9043	// server regardless of whether the field is empty or not. This may be
9044	// used to include empty fields in Patch requests.
9045	ForceSendFields []string `json:"-"`
9046
9047	// NullFields is a list of field names (e.g. "Kind") to include in API
9048	// requests with the JSON null value. By default, fields with empty
9049	// values are omitted from API requests. However, any field with an
9050	// empty value appearing in NullFields will be sent to the server as
9051	// null. It is an error if a field in this list has a non-empty value.
9052	// This may be used to include null fields in Patch requests.
9053	NullFields []string `json:"-"`
9054}
9055
9056func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
9057	type NoMethod OperatingSystemVersionsListResponse
9058	raw := NoMethod(*s)
9059	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9060}
9061
9062// OperatingSystemsListResponse: Operating System List Response
9063type OperatingSystemsListResponse struct {
9064	// Kind: Identifies what kind of resource this is. Value: the fixed
9065	// string "dfareporting#operatingSystemsListResponse".
9066	Kind string `json:"kind,omitempty"`
9067
9068	// OperatingSystems: Operating system collection.
9069	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
9070
9071	// ServerResponse contains the HTTP response code and headers from the
9072	// server.
9073	googleapi.ServerResponse `json:"-"`
9074
9075	// ForceSendFields is a list of field names (e.g. "Kind") to
9076	// unconditionally include in API requests. By default, fields with
9077	// empty values are omitted from API requests. However, any non-pointer,
9078	// non-interface field appearing in ForceSendFields will be sent to the
9079	// server regardless of whether the field is empty or not. This may be
9080	// used to include empty fields in Patch requests.
9081	ForceSendFields []string `json:"-"`
9082
9083	// NullFields is a list of field names (e.g. "Kind") to include in API
9084	// requests with the JSON null value. By default, fields with empty
9085	// values are omitted from API requests. However, any field with an
9086	// empty value appearing in NullFields will be sent to the server as
9087	// null. It is an error if a field in this list has a non-empty value.
9088	// This may be used to include null fields in Patch requests.
9089	NullFields []string `json:"-"`
9090}
9091
9092func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
9093	type NoMethod OperatingSystemsListResponse
9094	raw := NoMethod(*s)
9095	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9096}
9097
9098// OptimizationActivity: Creative optimization activity.
9099type OptimizationActivity struct {
9100	// FloodlightActivityId: Floodlight activity ID of this optimization
9101	// activity. This is a required field.
9102	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9103
9104	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
9105	// floodlight activity. This is a read-only, auto-generated field.
9106	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
9107
9108	// Weight: Weight associated with this optimization. The weight assigned
9109	// will be understood in proportion to the weights assigned to the other
9110	// optimization activities. Value must be greater than or equal to 1.
9111	Weight int64 `json:"weight,omitempty"`
9112
9113	// ForceSendFields is a list of field names (e.g.
9114	// "FloodlightActivityId") to unconditionally include in API requests.
9115	// By default, fields with empty values are omitted from API requests.
9116	// However, any non-pointer, non-interface field appearing in
9117	// ForceSendFields will be sent to the server regardless of whether the
9118	// field is empty or not. This may be used to include empty fields in
9119	// Patch requests.
9120	ForceSendFields []string `json:"-"`
9121
9122	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9123	// include in API requests with the JSON null value. By default, fields
9124	// with empty values are omitted from API requests. However, any field
9125	// with an empty value appearing in NullFields will be sent to the
9126	// server as null. It is an error if a field in this list has a
9127	// non-empty value. This may be used to include null fields in Patch
9128	// requests.
9129	NullFields []string `json:"-"`
9130}
9131
9132func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
9133	type NoMethod OptimizationActivity
9134	raw := NoMethod(*s)
9135	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9136}
9137
9138// Order: Describes properties of a DoubleClick Planning order.
9139type Order struct {
9140	// AccountId: Account ID of this order.
9141	AccountId int64 `json:"accountId,omitempty,string"`
9142
9143	// AdvertiserId: Advertiser ID of this order.
9144	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9145
9146	// ApproverUserProfileIds: IDs for users that have to approve documents
9147	// created for this order.
9148	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
9149
9150	// BuyerInvoiceId: Buyer invoice ID associated with this order.
9151	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
9152
9153	// BuyerOrganizationName: Name of the buyer organization.
9154	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
9155
9156	// Comments: Comments in this order.
9157	Comments string `json:"comments,omitempty"`
9158
9159	// Contacts: Contacts for this order.
9160	Contacts []*OrderContact `json:"contacts,omitempty"`
9161
9162	// Id: ID of this order. This is a read-only, auto-generated field.
9163	Id int64 `json:"id,omitempty,string"`
9164
9165	// Kind: Identifies what kind of resource this is. Value: the fixed
9166	// string "dfareporting#order".
9167	Kind string `json:"kind,omitempty"`
9168
9169	// LastModifiedInfo: Information about the most recent modification of
9170	// this order.
9171	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9172
9173	// Name: Name of this order.
9174	Name string `json:"name,omitempty"`
9175
9176	// Notes: Notes of this order.
9177	Notes string `json:"notes,omitempty"`
9178
9179	// PlanningTermId: ID of the terms and conditions template used in this
9180	// order.
9181	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
9182
9183	// ProjectId: Project ID of this order.
9184	ProjectId int64 `json:"projectId,omitempty,string"`
9185
9186	// SellerOrderId: Seller order ID associated with this order.
9187	SellerOrderId string `json:"sellerOrderId,omitempty"`
9188
9189	// SellerOrganizationName: Name of the seller organization.
9190	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
9191
9192	// SiteId: Site IDs this order is associated with.
9193	SiteId googleapi.Int64s `json:"siteId,omitempty"`
9194
9195	// SiteNames: Free-form site names this order is associated with.
9196	SiteNames []string `json:"siteNames,omitempty"`
9197
9198	// SubaccountId: Subaccount ID of this order.
9199	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9200
9201	// TermsAndConditions: Terms and conditions of this order.
9202	TermsAndConditions string `json:"termsAndConditions,omitempty"`
9203
9204	// ServerResponse contains the HTTP response code and headers from the
9205	// server.
9206	googleapi.ServerResponse `json:"-"`
9207
9208	// ForceSendFields is a list of field names (e.g. "AccountId") to
9209	// unconditionally include in API requests. By default, fields with
9210	// empty values are omitted from API requests. However, any non-pointer,
9211	// non-interface field appearing in ForceSendFields will be sent to the
9212	// server regardless of whether the field is empty or not. This may be
9213	// used to include empty fields in Patch requests.
9214	ForceSendFields []string `json:"-"`
9215
9216	// NullFields is a list of field names (e.g. "AccountId") to include in
9217	// API requests with the JSON null value. By default, fields with empty
9218	// values are omitted from API requests. However, any field with an
9219	// empty value appearing in NullFields will be sent to the server as
9220	// null. It is an error if a field in this list has a non-empty value.
9221	// This may be used to include null fields in Patch requests.
9222	NullFields []string `json:"-"`
9223}
9224
9225func (s *Order) MarshalJSON() ([]byte, error) {
9226	type NoMethod Order
9227	raw := NoMethod(*s)
9228	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9229}
9230
9231// OrderContact: Contact of an order.
9232type OrderContact struct {
9233	// ContactInfo: Free-form information about this contact. It could be
9234	// any information related to this contact in addition to type, title,
9235	// name, and signature user profile ID.
9236	ContactInfo string `json:"contactInfo,omitempty"`
9237
9238	// ContactName: Name of this contact.
9239	ContactName string `json:"contactName,omitempty"`
9240
9241	// ContactTitle: Title of this contact.
9242	ContactTitle string `json:"contactTitle,omitempty"`
9243
9244	// ContactType: Type of this contact.
9245	//
9246	// Possible values:
9247	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
9248	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
9249	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
9250	ContactType string `json:"contactType,omitempty"`
9251
9252	// SignatureUserProfileId: ID of the user profile containing the
9253	// signature that will be embedded into order documents.
9254	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
9255
9256	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
9257	// unconditionally include in API requests. By default, fields with
9258	// empty values are omitted from API requests. However, any non-pointer,
9259	// non-interface field appearing in ForceSendFields will be sent to the
9260	// server regardless of whether the field is empty or not. This may be
9261	// used to include empty fields in Patch requests.
9262	ForceSendFields []string `json:"-"`
9263
9264	// NullFields is a list of field names (e.g. "ContactInfo") to include
9265	// in API requests with the JSON null value. By default, fields with
9266	// empty values are omitted from API requests. However, any field with
9267	// an empty value appearing in NullFields will be sent to the server as
9268	// null. It is an error if a field in this list has a non-empty value.
9269	// This may be used to include null fields in Patch requests.
9270	NullFields []string `json:"-"`
9271}
9272
9273func (s *OrderContact) MarshalJSON() ([]byte, error) {
9274	type NoMethod OrderContact
9275	raw := NoMethod(*s)
9276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9277}
9278
9279// OrderDocument: Contains properties of a DoubleClick Planning order
9280// document.
9281type OrderDocument struct {
9282	// AccountId: Account ID of this order document.
9283	AccountId int64 `json:"accountId,omitempty,string"`
9284
9285	// AdvertiserId: Advertiser ID of this order document.
9286	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9287
9288	// AmendedOrderDocumentId: The amended order document ID of this order
9289	// document. An order document can be created by optionally amending
9290	// another order document so that the change history can be preserved.
9291	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
9292
9293	// ApprovedByUserProfileIds: IDs of users who have approved this order
9294	// document.
9295	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
9296
9297	// Cancelled: Whether this order document is cancelled.
9298	Cancelled bool `json:"cancelled,omitempty"`
9299
9300	// CreatedInfo: Information about the creation of this order document.
9301	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
9302
9303	// EffectiveDate: Effective date of this order document.
9304	EffectiveDate string `json:"effectiveDate,omitempty"`
9305
9306	// Id: ID of this order document.
9307	Id int64 `json:"id,omitempty,string"`
9308
9309	// Kind: Identifies what kind of resource this is. Value: the fixed
9310	// string "dfareporting#orderDocument".
9311	Kind string `json:"kind,omitempty"`
9312
9313	// LastSentRecipients: List of email addresses that received the last
9314	// sent document.
9315	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
9316
9317	// LastSentTime: Timestamp of the last email sent with this order
9318	// document.
9319	LastSentTime string `json:"lastSentTime,omitempty"`
9320
9321	// OrderId: ID of the order from which this order document is created.
9322	OrderId int64 `json:"orderId,omitempty,string"`
9323
9324	// ProjectId: Project ID of this order document.
9325	ProjectId int64 `json:"projectId,omitempty,string"`
9326
9327	// Signed: Whether this order document has been signed.
9328	Signed bool `json:"signed,omitempty"`
9329
9330	// SubaccountId: Subaccount ID of this order document.
9331	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9332
9333	// Title: Title of this order document.
9334	Title string `json:"title,omitempty"`
9335
9336	// Type: Type of this order document
9337	//
9338	// Possible values:
9339	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
9340	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
9341	Type string `json:"type,omitempty"`
9342
9343	// ServerResponse contains the HTTP response code and headers from the
9344	// server.
9345	googleapi.ServerResponse `json:"-"`
9346
9347	// ForceSendFields is a list of field names (e.g. "AccountId") to
9348	// unconditionally include in API requests. By default, fields with
9349	// empty values are omitted from API requests. However, any non-pointer,
9350	// non-interface field appearing in ForceSendFields will be sent to the
9351	// server regardless of whether the field is empty or not. This may be
9352	// used to include empty fields in Patch requests.
9353	ForceSendFields []string `json:"-"`
9354
9355	// NullFields is a list of field names (e.g. "AccountId") to include in
9356	// API requests with the JSON null value. By default, fields with empty
9357	// values are omitted from API requests. However, any field with an
9358	// empty value appearing in NullFields will be sent to the server as
9359	// null. It is an error if a field in this list has a non-empty value.
9360	// This may be used to include null fields in Patch requests.
9361	NullFields []string `json:"-"`
9362}
9363
9364func (s *OrderDocument) MarshalJSON() ([]byte, error) {
9365	type NoMethod OrderDocument
9366	raw := NoMethod(*s)
9367	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9368}
9369
9370// OrderDocumentsListResponse: Order document List Response
9371type OrderDocumentsListResponse struct {
9372	// Kind: Identifies what kind of resource this is. Value: the fixed
9373	// string "dfareporting#orderDocumentsListResponse".
9374	Kind string `json:"kind,omitempty"`
9375
9376	// NextPageToken: Pagination token to be used for the next list
9377	// operation.
9378	NextPageToken string `json:"nextPageToken,omitempty"`
9379
9380	// OrderDocuments: Order document collection
9381	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
9382
9383	// ServerResponse contains the HTTP response code and headers from the
9384	// server.
9385	googleapi.ServerResponse `json:"-"`
9386
9387	// ForceSendFields is a list of field names (e.g. "Kind") to
9388	// unconditionally include in API requests. By default, fields with
9389	// empty values are omitted from API requests. However, any non-pointer,
9390	// non-interface field appearing in ForceSendFields will be sent to the
9391	// server regardless of whether the field is empty or not. This may be
9392	// used to include empty fields in Patch requests.
9393	ForceSendFields []string `json:"-"`
9394
9395	// NullFields is a list of field names (e.g. "Kind") to include in API
9396	// requests with the JSON null value. By default, fields with empty
9397	// values are omitted from API requests. However, any field with an
9398	// empty value appearing in NullFields will be sent to the server as
9399	// null. It is an error if a field in this list has a non-empty value.
9400	// This may be used to include null fields in Patch requests.
9401	NullFields []string `json:"-"`
9402}
9403
9404func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
9405	type NoMethod OrderDocumentsListResponse
9406	raw := NoMethod(*s)
9407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9408}
9409
9410// OrdersListResponse: Order List Response
9411type OrdersListResponse struct {
9412	// Kind: Identifies what kind of resource this is. Value: the fixed
9413	// string "dfareporting#ordersListResponse".
9414	Kind string `json:"kind,omitempty"`
9415
9416	// NextPageToken: Pagination token to be used for the next list
9417	// operation.
9418	NextPageToken string `json:"nextPageToken,omitempty"`
9419
9420	// Orders: Order collection.
9421	Orders []*Order `json:"orders,omitempty"`
9422
9423	// ServerResponse contains the HTTP response code and headers from the
9424	// server.
9425	googleapi.ServerResponse `json:"-"`
9426
9427	// ForceSendFields is a list of field names (e.g. "Kind") to
9428	// unconditionally include in API requests. By default, fields with
9429	// empty values are omitted from API requests. However, any non-pointer,
9430	// non-interface field appearing in ForceSendFields will be sent to the
9431	// server regardless of whether the field is empty or not. This may be
9432	// used to include empty fields in Patch requests.
9433	ForceSendFields []string `json:"-"`
9434
9435	// NullFields is a list of field names (e.g. "Kind") to include in API
9436	// requests with the JSON null value. By default, fields with empty
9437	// values are omitted from API requests. However, any field with an
9438	// empty value appearing in NullFields will be sent to the server as
9439	// null. It is an error if a field in this list has a non-empty value.
9440	// This may be used to include null fields in Patch requests.
9441	NullFields []string `json:"-"`
9442}
9443
9444func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
9445	type NoMethod OrdersListResponse
9446	raw := NoMethod(*s)
9447	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9448}
9449
9450// PathToConversionReportCompatibleFields: Represents fields that are
9451// compatible to be selected for a report of type "PATH_TO_CONVERSION".
9452type PathToConversionReportCompatibleFields struct {
9453	// ConversionDimensions: Conversion dimensions which are compatible to
9454	// be selected in the "conversionDimensions" section of the report.
9455	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
9456
9457	// CustomFloodlightVariables: Custom floodlight variables which are
9458	// compatible to be selected in the "customFloodlightVariables" section
9459	// of the report.
9460	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
9461
9462	// Kind: The kind of resource this is, in this case
9463	// dfareporting#pathToConversionReportCompatibleFields.
9464	Kind string `json:"kind,omitempty"`
9465
9466	// Metrics: Metrics which are compatible to be selected in the
9467	// "metricNames" section of the report.
9468	Metrics []*Metric `json:"metrics,omitempty"`
9469
9470	// PerInteractionDimensions: Per-interaction dimensions which are
9471	// compatible to be selected in the "perInteractionDimensions" section
9472	// of the report.
9473	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
9474
9475	// ForceSendFields is a list of field names (e.g.
9476	// "ConversionDimensions") to unconditionally include in API requests.
9477	// By default, fields with empty values are omitted from API requests.
9478	// However, any non-pointer, non-interface field appearing in
9479	// ForceSendFields will be sent to the server regardless of whether the
9480	// field is empty or not. This may be used to include empty fields in
9481	// Patch requests.
9482	ForceSendFields []string `json:"-"`
9483
9484	// NullFields is a list of field names (e.g. "ConversionDimensions") to
9485	// include in API requests with the JSON null value. By default, fields
9486	// with empty values are omitted from API requests. However, any field
9487	// with an empty value appearing in NullFields will be sent to the
9488	// server as null. It is an error if a field in this list has a
9489	// non-empty value. This may be used to include null fields in Patch
9490	// requests.
9491	NullFields []string `json:"-"`
9492}
9493
9494func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
9495	type NoMethod PathToConversionReportCompatibleFields
9496	raw := NoMethod(*s)
9497	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9498}
9499
9500// Placement: Contains properties of a placement.
9501type Placement struct {
9502	// AccountId: Account ID of this placement. This field can be left
9503	// blank.
9504	AccountId int64 `json:"accountId,omitempty,string"`
9505
9506	// AdvertiserId: Advertiser ID of this placement. This field can be left
9507	// blank.
9508	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9509
9510	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9511	// advertiser. This is a read-only, auto-generated field.
9512	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9513
9514	// Archived: Whether this placement is archived.
9515	Archived bool `json:"archived,omitempty"`
9516
9517	// CampaignId: Campaign ID of this placement. This field is a required
9518	// field on insertion.
9519	CampaignId int64 `json:"campaignId,omitempty,string"`
9520
9521	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9522	// This is a read-only, auto-generated field.
9523	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9524
9525	// Comment: Comments for this placement.
9526	Comment string `json:"comment,omitempty"`
9527
9528	// Compatibility: Placement compatibility. DISPLAY and
9529	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
9530	// or in mobile apps for regular or interstitial ads respectively. APP
9531	// and APP_INTERSTITIAL are no longer allowed for new placement
9532	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
9533	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
9534	// with the VAST standard. This field is required on insertion.
9535	//
9536	// Possible values:
9537	//   "APP"
9538	//   "APP_INTERSTITIAL"
9539	//   "DISPLAY"
9540	//   "DISPLAY_INTERSTITIAL"
9541	//   "IN_STREAM_VIDEO"
9542	Compatibility string `json:"compatibility,omitempty"`
9543
9544	// ContentCategoryId: ID of the content category assigned to this
9545	// placement.
9546	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9547
9548	// CreateInfo: Information about the creation of this placement. This is
9549	// a read-only field.
9550	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9551
9552	// DirectorySiteId: Directory site ID of this placement. On insert, you
9553	// must set either this field or the siteId field to specify the site
9554	// associated with this placement. This is a required field that is
9555	// read-only after insertion.
9556	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9557
9558	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9559	// directory site. This is a read-only, auto-generated field.
9560	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9561
9562	// ExternalId: External ID for this placement.
9563	ExternalId string `json:"externalId,omitempty"`
9564
9565	// Id: ID of this placement. This is a read-only, auto-generated field.
9566	Id int64 `json:"id,omitempty,string"`
9567
9568	// IdDimensionValue: Dimension value for the ID of this placement. This
9569	// is a read-only, auto-generated field.
9570	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9571
9572	// KeyName: Key name of this placement. This is a read-only,
9573	// auto-generated field.
9574	KeyName string `json:"keyName,omitempty"`
9575
9576	// Kind: Identifies what kind of resource this is. Value: the fixed
9577	// string "dfareporting#placement".
9578	Kind string `json:"kind,omitempty"`
9579
9580	// LastModifiedInfo: Information about the most recent modification of
9581	// this placement. This is a read-only field.
9582	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9583
9584	// LookbackConfiguration: Lookback window settings for this placement.
9585	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
9586
9587	// Name: Name of this placement.This is a required field and must be
9588	// less than 256 characters long.
9589	Name string `json:"name,omitempty"`
9590
9591	// PaymentApproved: Whether payment was approved for this placement.
9592	// This is a read-only field relevant only to publisher-paid placements.
9593	PaymentApproved bool `json:"paymentApproved,omitempty"`
9594
9595	// PaymentSource: Payment source for this placement. This is a required
9596	// field that is read-only after insertion.
9597	//
9598	// Possible values:
9599	//   "PLACEMENT_AGENCY_PAID"
9600	//   "PLACEMENT_PUBLISHER_PAID"
9601	PaymentSource string `json:"paymentSource,omitempty"`
9602
9603	// PlacementGroupId: ID of this placement's group, if applicable.
9604	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
9605
9606	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
9607	// placement group. This is a read-only, auto-generated field.
9608	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
9609
9610	// PlacementStrategyId: ID of the placement strategy assigned to this
9611	// placement.
9612	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9613
9614	// PricingSchedule: Pricing schedule of this placement. This field is
9615	// required on insertion, specifically subfields startDate, endDate and
9616	// pricingType.
9617	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9618
9619	// Primary: Whether this placement is the primary placement of a
9620	// roadblock (placement group). You cannot change this field from true
9621	// to false. Setting this field to true will automatically set the
9622	// primary field on the original primary placement of the roadblock to
9623	// false, and it will automatically set the roadblock's
9624	// primaryPlacementId field to the ID of this placement.
9625	Primary bool `json:"primary,omitempty"`
9626
9627	// PublisherUpdateInfo: Information about the last publisher update.
9628	// This is a read-only field.
9629	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
9630
9631	// SiteId: Site ID associated with this placement. On insert, you must
9632	// set either this field or the directorySiteId field to specify the
9633	// site associated with this placement. This is a required field that is
9634	// read-only after insertion.
9635	SiteId int64 `json:"siteId,omitempty,string"`
9636
9637	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9638	// a read-only, auto-generated field.
9639	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9640
9641	// Size: Size associated with this placement. When inserting or updating
9642	// a placement, only the size ID field is used. This field is required
9643	// on insertion.
9644	Size *Size `json:"size,omitempty"`
9645
9646	// SslRequired: Whether creatives assigned to this placement must be
9647	// SSL-compliant.
9648	SslRequired bool `json:"sslRequired,omitempty"`
9649
9650	// Status: Third-party placement status.
9651	//
9652	// Possible values:
9653	//   "ACKNOWLEDGE_ACCEPTANCE"
9654	//   "ACKNOWLEDGE_REJECTION"
9655	//   "DRAFT"
9656	//   "PAYMENT_ACCEPTED"
9657	//   "PAYMENT_REJECTED"
9658	//   "PENDING_REVIEW"
9659	Status string `json:"status,omitempty"`
9660
9661	// SubaccountId: Subaccount ID of this placement. This field can be left
9662	// blank.
9663	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9664
9665	// TagFormats: Tag formats to generate for this placement. This field is
9666	// required on insertion.
9667	// Acceptable values are:
9668	// - "PLACEMENT_TAG_STANDARD"
9669	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
9670	// - "PLACEMENT_TAG_IFRAME_ILAYER"
9671	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
9672	// - "PLACEMENT_TAG_JAVASCRIPT"
9673	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
9674	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
9675	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
9676	// - "PLACEMENT_TAG_CLICK_COMMANDS"
9677	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
9678	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
9679	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
9680	// - "PLACEMENT_TAG_TRACKING"
9681	// - "PLACEMENT_TAG_TRACKING_IFRAME"
9682	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9683	//
9684	// Possible values:
9685	//   "PLACEMENT_TAG_CLICK_COMMANDS"
9686	//   "PLACEMENT_TAG_IFRAME_ILAYER"
9687	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
9688	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
9689	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
9690	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
9691	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
9692	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
9693	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
9694	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
9695	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
9696	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
9697	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
9698	//   "PLACEMENT_TAG_JAVASCRIPT"
9699	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
9700	//   "PLACEMENT_TAG_STANDARD"
9701	//   "PLACEMENT_TAG_TRACKING"
9702	//   "PLACEMENT_TAG_TRACKING_IFRAME"
9703	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9704	TagFormats []string `json:"tagFormats,omitempty"`
9705
9706	// TagSetting: Tag settings for this placement.
9707	TagSetting *TagSetting `json:"tagSetting,omitempty"`
9708
9709	// VideoActiveViewOptOut: Whether Verification and ActiveView are
9710	// disabled for in-stream video creatives for this placement. The same
9711	// setting videoActiveViewOptOut exists on the site level -- the opt out
9712	// occurs if either of these settings are true. These settings are
9713	// distinct from DirectorySites.settings.activeViewOptOut or
9714	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
9715	// However, Accounts.activeViewOptOut opts out both video traffic, as
9716	// well as display ads, from Verification and ActiveView.
9717	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
9718
9719	// VideoSettings: A collection of settings which affect video creatives
9720	// served through this placement. Applicable to placements with
9721	// IN_STREAM_VIDEO compatibility.
9722	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
9723
9724	// VpaidAdapterChoice: VPAID adapter setting for this placement.
9725	// Controls which VPAID format the measurement adapter will use for
9726	// in-stream video creatives assigned to this placement.
9727	//
9728	// Note: Flash is no longer supported. This field now defaults to HTML5
9729	// when the following values are provided: FLASH, BOTH.
9730	//
9731	// Possible values:
9732	//   "BOTH"
9733	//   "DEFAULT"
9734	//   "FLASH"
9735	//   "HTML5"
9736	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
9737
9738	// ServerResponse contains the HTTP response code and headers from the
9739	// server.
9740	googleapi.ServerResponse `json:"-"`
9741
9742	// ForceSendFields is a list of field names (e.g. "AccountId") to
9743	// unconditionally include in API requests. By default, fields with
9744	// empty values are omitted from API requests. However, any non-pointer,
9745	// non-interface field appearing in ForceSendFields will be sent to the
9746	// server regardless of whether the field is empty or not. This may be
9747	// used to include empty fields in Patch requests.
9748	ForceSendFields []string `json:"-"`
9749
9750	// NullFields is a list of field names (e.g. "AccountId") to include in
9751	// API requests with the JSON null value. By default, fields with empty
9752	// values are omitted from API requests. However, any field with an
9753	// empty value appearing in NullFields will be sent to the server as
9754	// null. It is an error if a field in this list has a non-empty value.
9755	// This may be used to include null fields in Patch requests.
9756	NullFields []string `json:"-"`
9757}
9758
9759func (s *Placement) MarshalJSON() ([]byte, error) {
9760	type NoMethod Placement
9761	raw := NoMethod(*s)
9762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9763}
9764
9765// PlacementAssignment: Placement Assignment.
9766type PlacementAssignment struct {
9767	// Active: Whether this placement assignment is active. When true, the
9768	// placement will be included in the ad's rotation.
9769	Active bool `json:"active,omitempty"`
9770
9771	// PlacementId: ID of the placement to be assigned. This is a required
9772	// field.
9773	PlacementId int64 `json:"placementId,omitempty,string"`
9774
9775	// PlacementIdDimensionValue: Dimension value for the ID of the
9776	// placement. This is a read-only, auto-generated field.
9777	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
9778
9779	// SslRequired: Whether the placement to be assigned requires SSL. This
9780	// is a read-only field that is auto-generated when the ad is inserted
9781	// or updated.
9782	SslRequired bool `json:"sslRequired,omitempty"`
9783
9784	// ForceSendFields is a list of field names (e.g. "Active") to
9785	// unconditionally include in API requests. By default, fields with
9786	// empty values are omitted from API requests. However, any non-pointer,
9787	// non-interface field appearing in ForceSendFields will be sent to the
9788	// server regardless of whether the field is empty or not. This may be
9789	// used to include empty fields in Patch requests.
9790	ForceSendFields []string `json:"-"`
9791
9792	// NullFields is a list of field names (e.g. "Active") to include in API
9793	// requests with the JSON null value. By default, fields with empty
9794	// values are omitted from API requests. However, any field with an
9795	// empty value appearing in NullFields will be sent to the server as
9796	// null. It is an error if a field in this list has a non-empty value.
9797	// This may be used to include null fields in Patch requests.
9798	NullFields []string `json:"-"`
9799}
9800
9801func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
9802	type NoMethod PlacementAssignment
9803	raw := NoMethod(*s)
9804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9805}
9806
9807// PlacementGroup: Contains properties of a package or roadblock.
9808type PlacementGroup struct {
9809	// AccountId: Account ID of this placement group. This is a read-only
9810	// field that can be left blank.
9811	AccountId int64 `json:"accountId,omitempty,string"`
9812
9813	// AdvertiserId: Advertiser ID of this placement group. This is a
9814	// required field on insertion.
9815	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9816
9817	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9818	// advertiser. This is a read-only, auto-generated field.
9819	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9820
9821	// Archived: Whether this placement group is archived.
9822	Archived bool `json:"archived,omitempty"`
9823
9824	// CampaignId: Campaign ID of this placement group. This field is
9825	// required on insertion.
9826	CampaignId int64 `json:"campaignId,omitempty,string"`
9827
9828	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9829	// This is a read-only, auto-generated field.
9830	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9831
9832	// ChildPlacementIds: IDs of placements which are assigned to this
9833	// placement group. This is a read-only, auto-generated field.
9834	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
9835
9836	// Comment: Comments for this placement group.
9837	Comment string `json:"comment,omitempty"`
9838
9839	// ContentCategoryId: ID of the content category assigned to this
9840	// placement group.
9841	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9842
9843	// CreateInfo: Information about the creation of this placement group.
9844	// This is a read-only field.
9845	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9846
9847	// DirectorySiteId: Directory site ID associated with this placement
9848	// group. On insert, you must set either this field or the site_id field
9849	// to specify the site associated with this placement group. This is a
9850	// required field that is read-only after insertion.
9851	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9852
9853	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9854	// directory site. This is a read-only, auto-generated field.
9855	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9856
9857	// ExternalId: External ID for this placement.
9858	ExternalId string `json:"externalId,omitempty"`
9859
9860	// Id: ID of this placement group. This is a read-only, auto-generated
9861	// field.
9862	Id int64 `json:"id,omitempty,string"`
9863
9864	// IdDimensionValue: Dimension value for the ID of this placement group.
9865	// This is a read-only, auto-generated field.
9866	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9867
9868	// Kind: Identifies what kind of resource this is. Value: the fixed
9869	// string "dfareporting#placementGroup".
9870	Kind string `json:"kind,omitempty"`
9871
9872	// LastModifiedInfo: Information about the most recent modification of
9873	// this placement group. This is a read-only field.
9874	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9875
9876	// Name: Name of this placement group. This is a required field and must
9877	// be less than 256 characters long.
9878	Name string `json:"name,omitempty"`
9879
9880	// PlacementGroupType: Type of this placement group. A package is a
9881	// simple group of placements that acts as a single pricing point for a
9882	// group of tags. A roadblock is a group of placements that not only
9883	// acts as a single pricing point, but also assumes that all the tags in
9884	// it will be served at the same time. A roadblock requires one of its
9885	// assigned placements to be marked as primary for reporting. This field
9886	// is required on insertion.
9887	//
9888	// Possible values:
9889	//   "PLACEMENT_PACKAGE"
9890	//   "PLACEMENT_ROADBLOCK"
9891	PlacementGroupType string `json:"placementGroupType,omitempty"`
9892
9893	// PlacementStrategyId: ID of the placement strategy assigned to this
9894	// placement group.
9895	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9896
9897	// PricingSchedule: Pricing schedule of this placement group. This field
9898	// is required on insertion.
9899	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9900
9901	// PrimaryPlacementId: ID of the primary placement, used to calculate
9902	// the media cost of a roadblock (placement group). Modifying this field
9903	// will automatically modify the primary field on all affected roadblock
9904	// child placements.
9905	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
9906
9907	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
9908	// primary placement. This is a read-only, auto-generated field.
9909	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
9910
9911	// SiteId: Site ID associated with this placement group. On insert, you
9912	// must set either this field or the directorySiteId field to specify
9913	// the site associated with this placement group. This is a required
9914	// field that is read-only after insertion.
9915	SiteId int64 `json:"siteId,omitempty,string"`
9916
9917	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9918	// a read-only, auto-generated field.
9919	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9920
9921	// SubaccountId: Subaccount ID of this placement group. This is a
9922	// read-only field that can be left blank.
9923	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9924
9925	// ServerResponse contains the HTTP response code and headers from the
9926	// server.
9927	googleapi.ServerResponse `json:"-"`
9928
9929	// ForceSendFields is a list of field names (e.g. "AccountId") to
9930	// unconditionally include in API requests. By default, fields with
9931	// empty values are omitted from API requests. However, any non-pointer,
9932	// non-interface field appearing in ForceSendFields will be sent to the
9933	// server regardless of whether the field is empty or not. This may be
9934	// used to include empty fields in Patch requests.
9935	ForceSendFields []string `json:"-"`
9936
9937	// NullFields is a list of field names (e.g. "AccountId") to include in
9938	// API requests with the JSON null value. By default, fields with empty
9939	// values are omitted from API requests. However, any field with an
9940	// empty value appearing in NullFields will be sent to the server as
9941	// null. It is an error if a field in this list has a non-empty value.
9942	// This may be used to include null fields in Patch requests.
9943	NullFields []string `json:"-"`
9944}
9945
9946func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
9947	type NoMethod PlacementGroup
9948	raw := NoMethod(*s)
9949	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9950}
9951
9952// PlacementGroupsListResponse: Placement Group List Response
9953type PlacementGroupsListResponse struct {
9954	// Kind: Identifies what kind of resource this is. Value: the fixed
9955	// string "dfareporting#placementGroupsListResponse".
9956	Kind string `json:"kind,omitempty"`
9957
9958	// NextPageToken: Pagination token to be used for the next list
9959	// operation.
9960	NextPageToken string `json:"nextPageToken,omitempty"`
9961
9962	// PlacementGroups: Placement group collection.
9963	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
9964
9965	// ServerResponse contains the HTTP response code and headers from the
9966	// server.
9967	googleapi.ServerResponse `json:"-"`
9968
9969	// ForceSendFields is a list of field names (e.g. "Kind") to
9970	// unconditionally include in API requests. By default, fields with
9971	// empty values are omitted from API requests. However, any non-pointer,
9972	// non-interface field appearing in ForceSendFields will be sent to the
9973	// server regardless of whether the field is empty or not. This may be
9974	// used to include empty fields in Patch requests.
9975	ForceSendFields []string `json:"-"`
9976
9977	// NullFields is a list of field names (e.g. "Kind") to include in API
9978	// requests with the JSON null value. By default, fields with empty
9979	// values are omitted from API requests. However, any field with an
9980	// empty value appearing in NullFields will be sent to the server as
9981	// null. It is an error if a field in this list has a non-empty value.
9982	// This may be used to include null fields in Patch requests.
9983	NullFields []string `json:"-"`
9984}
9985
9986func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
9987	type NoMethod PlacementGroupsListResponse
9988	raw := NoMethod(*s)
9989	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9990}
9991
9992// PlacementStrategiesListResponse: Placement Strategy List Response
9993type PlacementStrategiesListResponse struct {
9994	// Kind: Identifies what kind of resource this is. Value: the fixed
9995	// string "dfareporting#placementStrategiesListResponse".
9996	Kind string `json:"kind,omitempty"`
9997
9998	// NextPageToken: Pagination token to be used for the next list
9999	// operation.
10000	NextPageToken string `json:"nextPageToken,omitempty"`
10001
10002	// PlacementStrategies: Placement strategy collection.
10003	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
10004
10005	// ServerResponse contains the HTTP response code and headers from the
10006	// server.
10007	googleapi.ServerResponse `json:"-"`
10008
10009	// ForceSendFields is a list of field names (e.g. "Kind") to
10010	// unconditionally include in API requests. By default, fields with
10011	// empty values are omitted from API requests. However, any non-pointer,
10012	// non-interface field appearing in ForceSendFields will be sent to the
10013	// server regardless of whether the field is empty or not. This may be
10014	// used to include empty fields in Patch requests.
10015	ForceSendFields []string `json:"-"`
10016
10017	// NullFields is a list of field names (e.g. "Kind") to include in API
10018	// requests with the JSON null value. By default, fields with empty
10019	// values are omitted from API requests. However, any field with an
10020	// empty value appearing in NullFields will be sent to the server as
10021	// null. It is an error if a field in this list has a non-empty value.
10022	// This may be used to include null fields in Patch requests.
10023	NullFields []string `json:"-"`
10024}
10025
10026func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
10027	type NoMethod PlacementStrategiesListResponse
10028	raw := NoMethod(*s)
10029	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10030}
10031
10032// PlacementStrategy: Contains properties of a placement strategy.
10033type PlacementStrategy struct {
10034	// AccountId: Account ID of this placement strategy.This is a read-only
10035	// field that can be left blank.
10036	AccountId int64 `json:"accountId,omitempty,string"`
10037
10038	// Id: ID of this placement strategy. This is a read-only,
10039	// auto-generated field.
10040	Id int64 `json:"id,omitempty,string"`
10041
10042	// Kind: Identifies what kind of resource this is. Value: the fixed
10043	// string "dfareporting#placementStrategy".
10044	Kind string `json:"kind,omitempty"`
10045
10046	// Name: Name of this placement strategy. This is a required field. It
10047	// must be less than 256 characters long and unique among placement
10048	// strategies of the same account.
10049	Name string `json:"name,omitempty"`
10050
10051	// ServerResponse contains the HTTP response code and headers from the
10052	// server.
10053	googleapi.ServerResponse `json:"-"`
10054
10055	// ForceSendFields is a list of field names (e.g. "AccountId") to
10056	// unconditionally include in API requests. By default, fields with
10057	// empty values are omitted from API requests. However, any non-pointer,
10058	// non-interface field appearing in ForceSendFields will be sent to the
10059	// server regardless of whether the field is empty or not. This may be
10060	// used to include empty fields in Patch requests.
10061	ForceSendFields []string `json:"-"`
10062
10063	// NullFields is a list of field names (e.g. "AccountId") to include in
10064	// API requests with the JSON null value. By default, fields with empty
10065	// values are omitted from API requests. However, any field with an
10066	// empty value appearing in NullFields will be sent to the server as
10067	// null. It is an error if a field in this list has a non-empty value.
10068	// This may be used to include null fields in Patch requests.
10069	NullFields []string `json:"-"`
10070}
10071
10072func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
10073	type NoMethod PlacementStrategy
10074	raw := NoMethod(*s)
10075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10076}
10077
10078// PlacementTag: Placement Tag
10079type PlacementTag struct {
10080	// PlacementId: Placement ID
10081	PlacementId int64 `json:"placementId,omitempty,string"`
10082
10083	// TagDatas: Tags generated for this placement.
10084	TagDatas []*TagData `json:"tagDatas,omitempty"`
10085
10086	// ForceSendFields is a list of field names (e.g. "PlacementId") 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. "PlacementId") to include
10095	// in API requests with the JSON null value. By default, fields with
10096	// empty values are omitted from API requests. However, any field with
10097	// an 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 *PlacementTag) MarshalJSON() ([]byte, error) {
10104	type NoMethod PlacementTag
10105	raw := NoMethod(*s)
10106	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10107}
10108
10109// PlacementsGenerateTagsResponse: Placement GenerateTags Response
10110type PlacementsGenerateTagsResponse struct {
10111	// Kind: Identifies what kind of resource this is. Value: the fixed
10112	// string "dfareporting#placementsGenerateTagsResponse".
10113	Kind string `json:"kind,omitempty"`
10114
10115	// PlacementTags: Set of generated tags for the specified placements.
10116	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
10117
10118	// ServerResponse contains the HTTP response code and headers from the
10119	// server.
10120	googleapi.ServerResponse `json:"-"`
10121
10122	// ForceSendFields is a list of field names (e.g. "Kind") to
10123	// unconditionally include in API requests. By default, fields with
10124	// empty values are omitted from API requests. However, any non-pointer,
10125	// non-interface field appearing in ForceSendFields will be sent to the
10126	// server regardless of whether the field is empty or not. This may be
10127	// used to include empty fields in Patch requests.
10128	ForceSendFields []string `json:"-"`
10129
10130	// NullFields is a list of field names (e.g. "Kind") to include in API
10131	// requests with the JSON null value. By default, fields with empty
10132	// values are omitted from API requests. However, any field with an
10133	// empty value appearing in NullFields will be sent to the server as
10134	// null. It is an error if a field in this list has a non-empty value.
10135	// This may be used to include null fields in Patch requests.
10136	NullFields []string `json:"-"`
10137}
10138
10139func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
10140	type NoMethod PlacementsGenerateTagsResponse
10141	raw := NoMethod(*s)
10142	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10143}
10144
10145// PlacementsListResponse: Placement List Response
10146type PlacementsListResponse struct {
10147	// Kind: Identifies what kind of resource this is. Value: the fixed
10148	// string "dfareporting#placementsListResponse".
10149	Kind string `json:"kind,omitempty"`
10150
10151	// NextPageToken: Pagination token to be used for the next list
10152	// operation.
10153	NextPageToken string `json:"nextPageToken,omitempty"`
10154
10155	// Placements: Placement collection.
10156	Placements []*Placement `json:"placements,omitempty"`
10157
10158	// ServerResponse contains the HTTP response code and headers from the
10159	// server.
10160	googleapi.ServerResponse `json:"-"`
10161
10162	// ForceSendFields is a list of field names (e.g. "Kind") to
10163	// unconditionally include in API requests. By default, fields with
10164	// empty values are omitted from API requests. However, any non-pointer,
10165	// non-interface field appearing in ForceSendFields will be sent to the
10166	// server regardless of whether the field is empty or not. This may be
10167	// used to include empty fields in Patch requests.
10168	ForceSendFields []string `json:"-"`
10169
10170	// NullFields is a list of field names (e.g. "Kind") to include in API
10171	// requests with the JSON null value. By default, fields with empty
10172	// values are omitted from API requests. However, any field with an
10173	// empty value appearing in NullFields will be sent to the server as
10174	// null. It is an error if a field in this list has a non-empty value.
10175	// This may be used to include null fields in Patch requests.
10176	NullFields []string `json:"-"`
10177}
10178
10179func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
10180	type NoMethod PlacementsListResponse
10181	raw := NoMethod(*s)
10182	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10183}
10184
10185// PlatformType: Contains information about a platform type that can be
10186// targeted by ads.
10187type PlatformType struct {
10188	// Id: ID of this platform type.
10189	Id int64 `json:"id,omitempty,string"`
10190
10191	// Kind: Identifies what kind of resource this is. Value: the fixed
10192	// string "dfareporting#platformType".
10193	Kind string `json:"kind,omitempty"`
10194
10195	// Name: Name of this platform type.
10196	Name string `json:"name,omitempty"`
10197
10198	// ServerResponse contains the HTTP response code and headers from the
10199	// server.
10200	googleapi.ServerResponse `json:"-"`
10201
10202	// ForceSendFields is a list of field names (e.g. "Id") to
10203	// unconditionally include in API requests. By default, fields with
10204	// empty values are omitted from API requests. However, any non-pointer,
10205	// non-interface field appearing in ForceSendFields will be sent to the
10206	// server regardless of whether the field is empty or not. This may be
10207	// used to include empty fields in Patch requests.
10208	ForceSendFields []string `json:"-"`
10209
10210	// NullFields is a list of field names (e.g. "Id") to include in API
10211	// requests with the JSON null value. By default, fields with empty
10212	// values are omitted from API requests. However, any field with an
10213	// empty value appearing in NullFields will be sent to the server as
10214	// null. It is an error if a field in this list has a non-empty value.
10215	// This may be used to include null fields in Patch requests.
10216	NullFields []string `json:"-"`
10217}
10218
10219func (s *PlatformType) MarshalJSON() ([]byte, error) {
10220	type NoMethod PlatformType
10221	raw := NoMethod(*s)
10222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10223}
10224
10225// PlatformTypesListResponse: Platform Type List Response
10226type PlatformTypesListResponse struct {
10227	// Kind: Identifies what kind of resource this is. Value: the fixed
10228	// string "dfareporting#platformTypesListResponse".
10229	Kind string `json:"kind,omitempty"`
10230
10231	// PlatformTypes: Platform type collection.
10232	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
10233
10234	// ServerResponse contains the HTTP response code and headers from the
10235	// server.
10236	googleapi.ServerResponse `json:"-"`
10237
10238	// ForceSendFields is a list of field names (e.g. "Kind") to
10239	// unconditionally include in API requests. By default, fields with
10240	// empty values are omitted from API requests. However, any non-pointer,
10241	// non-interface field appearing in ForceSendFields will be sent to the
10242	// server regardless of whether the field is empty or not. This may be
10243	// used to include empty fields in Patch requests.
10244	ForceSendFields []string `json:"-"`
10245
10246	// NullFields is a list of field names (e.g. "Kind") to include in API
10247	// requests with the JSON null value. By default, fields with empty
10248	// values are omitted from API requests. However, any field with an
10249	// empty value appearing in NullFields will be sent to the server as
10250	// null. It is an error if a field in this list has a non-empty value.
10251	// This may be used to include null fields in Patch requests.
10252	NullFields []string `json:"-"`
10253}
10254
10255func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
10256	type NoMethod PlatformTypesListResponse
10257	raw := NoMethod(*s)
10258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10259}
10260
10261// PopupWindowProperties: Popup Window Properties.
10262type PopupWindowProperties struct {
10263	// Dimension: Popup dimension for a creative. This is a read-only field.
10264	// Applicable to the following creative types: all RICH_MEDIA and all
10265	// VPAID
10266	Dimension *Size `json:"dimension,omitempty"`
10267
10268	// Offset: Upper-left corner coordinates of the popup window. Applicable
10269	// if positionType is COORDINATES.
10270	Offset *OffsetPosition `json:"offset,omitempty"`
10271
10272	// PositionType: Popup window position either centered or at specific
10273	// coordinate.
10274	//
10275	// Possible values:
10276	//   "CENTER"
10277	//   "COORDINATES"
10278	PositionType string `json:"positionType,omitempty"`
10279
10280	// ShowAddressBar: Whether to display the browser address bar.
10281	ShowAddressBar bool `json:"showAddressBar,omitempty"`
10282
10283	// ShowMenuBar: Whether to display the browser menu bar.
10284	ShowMenuBar bool `json:"showMenuBar,omitempty"`
10285
10286	// ShowScrollBar: Whether to display the browser scroll bar.
10287	ShowScrollBar bool `json:"showScrollBar,omitempty"`
10288
10289	// ShowStatusBar: Whether to display the browser status bar.
10290	ShowStatusBar bool `json:"showStatusBar,omitempty"`
10291
10292	// ShowToolBar: Whether to display the browser tool bar.
10293	ShowToolBar bool `json:"showToolBar,omitempty"`
10294
10295	// Title: Title of popup window.
10296	Title string `json:"title,omitempty"`
10297
10298	// ForceSendFields is a list of field names (e.g. "Dimension") to
10299	// unconditionally include in API requests. By default, fields with
10300	// empty values are omitted from API requests. However, any non-pointer,
10301	// non-interface field appearing in ForceSendFields will be sent to the
10302	// server regardless of whether the field is empty or not. This may be
10303	// used to include empty fields in Patch requests.
10304	ForceSendFields []string `json:"-"`
10305
10306	// NullFields is a list of field names (e.g. "Dimension") to include in
10307	// API requests with the JSON null value. By default, fields with empty
10308	// values are omitted from API requests. However, any field with an
10309	// empty value appearing in NullFields will be sent to the server as
10310	// null. It is an error if a field in this list has a non-empty value.
10311	// This may be used to include null fields in Patch requests.
10312	NullFields []string `json:"-"`
10313}
10314
10315func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
10316	type NoMethod PopupWindowProperties
10317	raw := NoMethod(*s)
10318	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10319}
10320
10321// PostalCode: Contains information about a postal code that can be
10322// targeted by ads.
10323type PostalCode struct {
10324	// Code: Postal code. This is equivalent to the id field.
10325	Code string `json:"code,omitempty"`
10326
10327	// CountryCode: Country code of the country to which this postal code
10328	// belongs.
10329	CountryCode string `json:"countryCode,omitempty"`
10330
10331	// CountryDartId: DART ID of the country to which this postal code
10332	// belongs.
10333	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10334
10335	// Id: ID of this postal code.
10336	Id string `json:"id,omitempty"`
10337
10338	// Kind: Identifies what kind of resource this is. Value: the fixed
10339	// string "dfareporting#postalCode".
10340	Kind string `json:"kind,omitempty"`
10341
10342	// ServerResponse contains the HTTP response code and headers from the
10343	// server.
10344	googleapi.ServerResponse `json:"-"`
10345
10346	// ForceSendFields is a list of field names (e.g. "Code") to
10347	// unconditionally include in API requests. By default, fields with
10348	// empty values are omitted from API requests. However, any non-pointer,
10349	// non-interface field appearing in ForceSendFields will be sent to the
10350	// server regardless of whether the field is empty or not. This may be
10351	// used to include empty fields in Patch requests.
10352	ForceSendFields []string `json:"-"`
10353
10354	// NullFields is a list of field names (e.g. "Code") to include in API
10355	// requests with the JSON null value. By default, fields with empty
10356	// values are omitted from API requests. However, any field with an
10357	// empty value appearing in NullFields will be sent to the server as
10358	// null. It is an error if a field in this list has a non-empty value.
10359	// This may be used to include null fields in Patch requests.
10360	NullFields []string `json:"-"`
10361}
10362
10363func (s *PostalCode) MarshalJSON() ([]byte, error) {
10364	type NoMethod PostalCode
10365	raw := NoMethod(*s)
10366	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10367}
10368
10369// PostalCodesListResponse: Postal Code List Response
10370type PostalCodesListResponse struct {
10371	// Kind: Identifies what kind of resource this is. Value: the fixed
10372	// string "dfareporting#postalCodesListResponse".
10373	Kind string `json:"kind,omitempty"`
10374
10375	// PostalCodes: Postal code collection.
10376	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
10377
10378	// ServerResponse contains the HTTP response code and headers from the
10379	// server.
10380	googleapi.ServerResponse `json:"-"`
10381
10382	// ForceSendFields is a list of field names (e.g. "Kind") to
10383	// unconditionally include in API requests. By default, fields with
10384	// empty values are omitted from API requests. However, any non-pointer,
10385	// non-interface field appearing in ForceSendFields will be sent to the
10386	// server regardless of whether the field is empty or not. This may be
10387	// used to include empty fields in Patch requests.
10388	ForceSendFields []string `json:"-"`
10389
10390	// NullFields is a list of field names (e.g. "Kind") to include in API
10391	// requests with the JSON null value. By default, fields with empty
10392	// values are omitted from API requests. However, any field with an
10393	// empty value appearing in NullFields will be sent to the server as
10394	// null. It is an error if a field in this list has a non-empty value.
10395	// This may be used to include null fields in Patch requests.
10396	NullFields []string `json:"-"`
10397}
10398
10399func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
10400	type NoMethod PostalCodesListResponse
10401	raw := NoMethod(*s)
10402	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10403}
10404
10405// Pricing: Pricing Information
10406type Pricing struct {
10407	// CapCostType: Cap cost type of this inventory item.
10408	//
10409	// Possible values:
10410	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
10411	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
10412	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
10413	CapCostType string `json:"capCostType,omitempty"`
10414
10415	// EndDate: End date of this inventory item.
10416	EndDate string `json:"endDate,omitempty"`
10417
10418	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
10419	// period) represents the inventory item pricing information for a
10420	// specific period of time.
10421	Flights []*Flight `json:"flights,omitempty"`
10422
10423	// GroupType: Group type of this inventory item if it represents a
10424	// placement group. Is null otherwise. There are two type of placement
10425	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
10426	// inventory items that acts as a single pricing point for a group of
10427	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
10428	// items that not only acts as a single pricing point, but also assumes
10429	// that all the tags in it will be served at the same time. A roadblock
10430	// requires one of its assigned inventory items to be marked as primary.
10431	//
10432	// Possible values:
10433	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
10434	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
10435	GroupType string `json:"groupType,omitempty"`
10436
10437	// PricingType: Pricing type of this inventory item.
10438	//
10439	// Possible values:
10440	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
10441	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
10442	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
10443	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
10444	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
10445	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
10446	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10447	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
10448	PricingType string `json:"pricingType,omitempty"`
10449
10450	// StartDate: Start date of this inventory item.
10451	StartDate string `json:"startDate,omitempty"`
10452
10453	// ForceSendFields is a list of field names (e.g. "CapCostType") to
10454	// unconditionally include in API requests. By default, fields with
10455	// empty values are omitted from API requests. However, any non-pointer,
10456	// non-interface field appearing in ForceSendFields will be sent to the
10457	// server regardless of whether the field is empty or not. This may be
10458	// used to include empty fields in Patch requests.
10459	ForceSendFields []string `json:"-"`
10460
10461	// NullFields is a list of field names (e.g. "CapCostType") to include
10462	// in API requests with the JSON null value. By default, fields with
10463	// empty values are omitted from API requests. However, any field with
10464	// an empty value appearing in NullFields will be sent to the server as
10465	// null. It is an error if a field in this list has a non-empty value.
10466	// This may be used to include null fields in Patch requests.
10467	NullFields []string `json:"-"`
10468}
10469
10470func (s *Pricing) MarshalJSON() ([]byte, error) {
10471	type NoMethod Pricing
10472	raw := NoMethod(*s)
10473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10474}
10475
10476// PricingSchedule: Pricing Schedule
10477type PricingSchedule struct {
10478	// CapCostOption: Placement cap cost option.
10479	//
10480	// Possible values:
10481	//   "CAP_COST_CUMULATIVE"
10482	//   "CAP_COST_MONTHLY"
10483	//   "CAP_COST_NONE"
10484	CapCostOption string `json:"capCostOption,omitempty"`
10485
10486	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
10487	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
10488
10489	// EndDate: Placement end date. This date must be later than, or the
10490	// same day as, the placement start date, but not later than the
10491	// campaign end date. If, for example, you set 6/25/2015 as both the
10492	// start and end dates, the effective placement date is just that day
10493	// only, 6/25/2015. The hours, minutes, and seconds of the end date
10494	// should not be set, as doing so will result in an error. This field is
10495	// required on insertion.
10496	EndDate string `json:"endDate,omitempty"`
10497
10498	// Flighted: Whether this placement is flighted. If true, pricing
10499	// periods will be computed automatically.
10500	Flighted bool `json:"flighted,omitempty"`
10501
10502	// FloodlightActivityId: Floodlight activity ID associated with this
10503	// placement. This field should be set when placement pricing type is
10504	// set to PRICING_TYPE_CPA.
10505	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
10506
10507	// PricingPeriods: Pricing periods for this placement.
10508	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
10509
10510	// PricingType: Placement pricing type. This field is required on
10511	// insertion.
10512	//
10513	// Possible values:
10514	//   "PRICING_TYPE_CPA"
10515	//   "PRICING_TYPE_CPC"
10516	//   "PRICING_TYPE_CPM"
10517	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
10518	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
10519	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10520	PricingType string `json:"pricingType,omitempty"`
10521
10522	// StartDate: Placement start date. This date must be later than, or the
10523	// same day as, the campaign start date. The hours, minutes, and seconds
10524	// of the start date should not be set, as doing so will result in an
10525	// error. This field is required on insertion.
10526	StartDate string `json:"startDate,omitempty"`
10527
10528	// TestingStartDate: Testing start date of this placement. The hours,
10529	// minutes, and seconds of the start date should not be set, as doing so
10530	// will result in an error.
10531	TestingStartDate string `json:"testingStartDate,omitempty"`
10532
10533	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
10534	// unconditionally include in API requests. By default, fields with
10535	// empty values are omitted from API requests. However, any non-pointer,
10536	// non-interface field appearing in ForceSendFields will be sent to the
10537	// server regardless of whether the field is empty or not. This may be
10538	// used to include empty fields in Patch requests.
10539	ForceSendFields []string `json:"-"`
10540
10541	// NullFields is a list of field names (e.g. "CapCostOption") to include
10542	// in API requests with the JSON null value. By default, fields with
10543	// empty values are omitted from API requests. However, any field with
10544	// an empty value appearing in NullFields will be sent to the server as
10545	// null. It is an error if a field in this list has a non-empty value.
10546	// This may be used to include null fields in Patch requests.
10547	NullFields []string `json:"-"`
10548}
10549
10550func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
10551	type NoMethod PricingSchedule
10552	raw := NoMethod(*s)
10553	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10554}
10555
10556// PricingSchedulePricingPeriod: Pricing Period
10557type PricingSchedulePricingPeriod struct {
10558	// EndDate: Pricing period end date. This date must be later than, or
10559	// the same day as, the pricing period start date, but not later than
10560	// the placement end date. The period end date can be the same date as
10561	// the period start date. If, for example, you set 6/25/2015 as both the
10562	// start and end dates, the effective pricing period date is just that
10563	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
10564	// should not be set, as doing so will result in an error.
10565	EndDate string `json:"endDate,omitempty"`
10566
10567	// PricingComment: Comments for this pricing period.
10568	PricingComment string `json:"pricingComment,omitempty"`
10569
10570	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
10571	// multipled by 1000000000). Acceptable values are 0 to
10572	// 1000000000000000000, inclusive.
10573	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
10574
10575	// StartDate: Pricing period start date. This date must be later than,
10576	// or the same day as, the placement start date. The hours, minutes, and
10577	// seconds of the start date should not be set, as doing so will result
10578	// in an error.
10579	StartDate string `json:"startDate,omitempty"`
10580
10581	// Units: Units of this pricing period. Acceptable values are 0 to
10582	// 10000000000, inclusive.
10583	Units int64 `json:"units,omitempty,string"`
10584
10585	// ForceSendFields is a list of field names (e.g. "EndDate") to
10586	// unconditionally include in API requests. By default, fields with
10587	// empty values are omitted from API requests. However, any non-pointer,
10588	// non-interface field appearing in ForceSendFields will be sent to the
10589	// server regardless of whether the field is empty or not. This may be
10590	// used to include empty fields in Patch requests.
10591	ForceSendFields []string `json:"-"`
10592
10593	// NullFields is a list of field names (e.g. "EndDate") to include in
10594	// API requests with the JSON null value. By default, fields with empty
10595	// values are omitted from API requests. However, any field with an
10596	// empty value appearing in NullFields will be sent to the server as
10597	// null. It is an error if a field in this list has a non-empty value.
10598	// This may be used to include null fields in Patch requests.
10599	NullFields []string `json:"-"`
10600}
10601
10602func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
10603	type NoMethod PricingSchedulePricingPeriod
10604	raw := NoMethod(*s)
10605	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10606}
10607
10608// Project: Contains properties of a DoubleClick Planning project.
10609type Project struct {
10610	// AccountId: Account ID of this project.
10611	AccountId int64 `json:"accountId,omitempty,string"`
10612
10613	// AdvertiserId: Advertiser ID of this project.
10614	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10615
10616	// AudienceAgeGroup: Audience age group of this project.
10617	//
10618	// Possible values:
10619	//   "PLANNING_AUDIENCE_AGE_18_24"
10620	//   "PLANNING_AUDIENCE_AGE_25_34"
10621	//   "PLANNING_AUDIENCE_AGE_35_44"
10622	//   "PLANNING_AUDIENCE_AGE_45_54"
10623	//   "PLANNING_AUDIENCE_AGE_55_64"
10624	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
10625	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
10626	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
10627
10628	// AudienceGender: Audience gender of this project.
10629	//
10630	// Possible values:
10631	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
10632	//   "PLANNING_AUDIENCE_GENDER_MALE"
10633	AudienceGender string `json:"audienceGender,omitempty"`
10634
10635	// Budget: Budget of this project in the currency specified by the
10636	// current account. The value stored in this field represents only the
10637	// non-fractional amount. For example, for USD, the smallest value that
10638	// can be represented by this field is 1 US dollar.
10639	Budget int64 `json:"budget,omitempty,string"`
10640
10641	// ClientBillingCode: Client billing code of this project.
10642	ClientBillingCode string `json:"clientBillingCode,omitempty"`
10643
10644	// ClientName: Name of the project client.
10645	ClientName string `json:"clientName,omitempty"`
10646
10647	// EndDate: End date of the project.
10648	EndDate string `json:"endDate,omitempty"`
10649
10650	// Id: ID of this project. This is a read-only, auto-generated field.
10651	Id int64 `json:"id,omitempty,string"`
10652
10653	// Kind: Identifies what kind of resource this is. Value: the fixed
10654	// string "dfareporting#project".
10655	Kind string `json:"kind,omitempty"`
10656
10657	// LastModifiedInfo: Information about the most recent modification of
10658	// this project.
10659	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10660
10661	// Name: Name of this project.
10662	Name string `json:"name,omitempty"`
10663
10664	// Overview: Overview of this project.
10665	Overview string `json:"overview,omitempty"`
10666
10667	// StartDate: Start date of the project.
10668	StartDate string `json:"startDate,omitempty"`
10669
10670	// SubaccountId: Subaccount ID of this project.
10671	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10672
10673	// TargetClicks: Number of clicks that the advertiser is targeting.
10674	TargetClicks int64 `json:"targetClicks,omitempty,string"`
10675
10676	// TargetConversions: Number of conversions that the advertiser is
10677	// targeting.
10678	TargetConversions int64 `json:"targetConversions,omitempty,string"`
10679
10680	// TargetCpaNanos: CPA that the advertiser is targeting.
10681	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
10682
10683	// TargetCpcNanos: CPC that the advertiser is targeting.
10684	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
10685
10686	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
10687	// is targeting.
10688	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
10689
10690	// TargetCpmNanos: CPM that the advertiser is targeting.
10691	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
10692
10693	// TargetImpressions: Number of impressions that the advertiser is
10694	// targeting.
10695	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
10696
10697	// ServerResponse contains the HTTP response code and headers from the
10698	// server.
10699	googleapi.ServerResponse `json:"-"`
10700
10701	// ForceSendFields is a list of field names (e.g. "AccountId") to
10702	// unconditionally include in API requests. By default, fields with
10703	// empty values are omitted from API requests. However, any non-pointer,
10704	// non-interface field appearing in ForceSendFields will be sent to the
10705	// server regardless of whether the field is empty or not. This may be
10706	// used to include empty fields in Patch requests.
10707	ForceSendFields []string `json:"-"`
10708
10709	// NullFields is a list of field names (e.g. "AccountId") to include in
10710	// API requests with the JSON null value. By default, fields with empty
10711	// values are omitted from API requests. However, any field with an
10712	// empty value appearing in NullFields will be sent to the server as
10713	// null. It is an error if a field in this list has a non-empty value.
10714	// This may be used to include null fields in Patch requests.
10715	NullFields []string `json:"-"`
10716}
10717
10718func (s *Project) MarshalJSON() ([]byte, error) {
10719	type NoMethod Project
10720	raw := NoMethod(*s)
10721	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10722}
10723
10724// ProjectsListResponse: Project List Response
10725type ProjectsListResponse struct {
10726	// Kind: Identifies what kind of resource this is. Value: the fixed
10727	// string "dfareporting#projectsListResponse".
10728	Kind string `json:"kind,omitempty"`
10729
10730	// NextPageToken: Pagination token to be used for the next list
10731	// operation.
10732	NextPageToken string `json:"nextPageToken,omitempty"`
10733
10734	// Projects: Project collection.
10735	Projects []*Project `json:"projects,omitempty"`
10736
10737	// ServerResponse contains the HTTP response code and headers from the
10738	// server.
10739	googleapi.ServerResponse `json:"-"`
10740
10741	// ForceSendFields is a list of field names (e.g. "Kind") to
10742	// unconditionally include in API requests. By default, fields with
10743	// empty values are omitted from API requests. However, any non-pointer,
10744	// non-interface field appearing in ForceSendFields will be sent to the
10745	// server regardless of whether the field is empty or not. This may be
10746	// used to include empty fields in Patch requests.
10747	ForceSendFields []string `json:"-"`
10748
10749	// NullFields is a list of field names (e.g. "Kind") to include in API
10750	// requests with the JSON null value. By default, fields with empty
10751	// values are omitted from API requests. However, any field with an
10752	// empty value appearing in NullFields will be sent to the server as
10753	// null. It is an error if a field in this list has a non-empty value.
10754	// This may be used to include null fields in Patch requests.
10755	NullFields []string `json:"-"`
10756}
10757
10758func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
10759	type NoMethod ProjectsListResponse
10760	raw := NoMethod(*s)
10761	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10762}
10763
10764// ReachReportCompatibleFields: Represents fields that are compatible to
10765// be selected for a report of type "REACH".
10766type ReachReportCompatibleFields struct {
10767	// DimensionFilters: Dimensions which are compatible to be selected in
10768	// the "dimensionFilters" section of the report.
10769	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
10770
10771	// Dimensions: Dimensions which are compatible to be selected in the
10772	// "dimensions" section of the report.
10773	Dimensions []*Dimension `json:"dimensions,omitempty"`
10774
10775	// Kind: The kind of resource this is, in this case
10776	// dfareporting#reachReportCompatibleFields.
10777	Kind string `json:"kind,omitempty"`
10778
10779	// Metrics: Metrics which are compatible to be selected in the
10780	// "metricNames" section of the report.
10781	Metrics []*Metric `json:"metrics,omitempty"`
10782
10783	// PivotedActivityMetrics: Metrics which are compatible to be selected
10784	// as activity metrics to pivot on in the "activities" section of the
10785	// report.
10786	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
10787
10788	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
10789	// in the "reachByFrequencyMetricNames" section of the report.
10790	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
10791
10792	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
10793	// unconditionally include in API requests. By default, fields with
10794	// empty values are omitted from API requests. However, any non-pointer,
10795	// non-interface field appearing in ForceSendFields will be sent to the
10796	// server regardless of whether the field is empty or not. This may be
10797	// used to include empty fields in Patch requests.
10798	ForceSendFields []string `json:"-"`
10799
10800	// NullFields is a list of field names (e.g. "DimensionFilters") to
10801	// include in API requests with the JSON null value. By default, fields
10802	// with empty values are omitted from API requests. However, any field
10803	// with an empty value appearing in NullFields will be sent to the
10804	// server as null. It is an error if a field in this list has a
10805	// non-empty value. This may be used to include null fields in Patch
10806	// requests.
10807	NullFields []string `json:"-"`
10808}
10809
10810func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
10811	type NoMethod ReachReportCompatibleFields
10812	raw := NoMethod(*s)
10813	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10814}
10815
10816// Recipient: Represents a recipient.
10817type Recipient struct {
10818	// DeliveryType: The delivery type for the recipient.
10819	//
10820	// Possible values:
10821	//   "ATTACHMENT"
10822	//   "LINK"
10823	DeliveryType string `json:"deliveryType,omitempty"`
10824
10825	// Email: The email address of the recipient.
10826	Email string `json:"email,omitempty"`
10827
10828	// Kind: The kind of resource this is, in this case
10829	// dfareporting#recipient.
10830	Kind string `json:"kind,omitempty"`
10831
10832	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
10833	// unconditionally include in API requests. By default, fields with
10834	// empty values are omitted from API requests. However, any non-pointer,
10835	// non-interface field appearing in ForceSendFields will be sent to the
10836	// server regardless of whether the field is empty or not. This may be
10837	// used to include empty fields in Patch requests.
10838	ForceSendFields []string `json:"-"`
10839
10840	// NullFields is a list of field names (e.g. "DeliveryType") to include
10841	// in API requests with the JSON null value. By default, fields with
10842	// empty values are omitted from API requests. However, any field with
10843	// an empty value appearing in NullFields will be sent to the server as
10844	// null. It is an error if a field in this list has a non-empty value.
10845	// This may be used to include null fields in Patch requests.
10846	NullFields []string `json:"-"`
10847}
10848
10849func (s *Recipient) MarshalJSON() ([]byte, error) {
10850	type NoMethod Recipient
10851	raw := NoMethod(*s)
10852	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10853}
10854
10855// Region: Contains information about a region that can be targeted by
10856// ads.
10857type Region struct {
10858	// CountryCode: Country code of the country to which this region
10859	// belongs.
10860	CountryCode string `json:"countryCode,omitempty"`
10861
10862	// CountryDartId: DART ID of the country to which this region belongs.
10863	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10864
10865	// DartId: DART ID of this region.
10866	DartId int64 `json:"dartId,omitempty,string"`
10867
10868	// Kind: Identifies what kind of resource this is. Value: the fixed
10869	// string "dfareporting#region".
10870	Kind string `json:"kind,omitempty"`
10871
10872	// Name: Name of this region.
10873	Name string `json:"name,omitempty"`
10874
10875	// RegionCode: Region code.
10876	RegionCode string `json:"regionCode,omitempty"`
10877
10878	// ForceSendFields is a list of field names (e.g. "CountryCode") to
10879	// unconditionally include in API requests. By default, fields with
10880	// empty values are omitted from API requests. However, any non-pointer,
10881	// non-interface field appearing in ForceSendFields will be sent to the
10882	// server regardless of whether the field is empty or not. This may be
10883	// used to include empty fields in Patch requests.
10884	ForceSendFields []string `json:"-"`
10885
10886	// NullFields is a list of field names (e.g. "CountryCode") to include
10887	// in API requests with the JSON null value. By default, fields with
10888	// empty values are omitted from API requests. However, any field with
10889	// an empty value appearing in NullFields will be sent to the server as
10890	// null. It is an error if a field in this list has a non-empty value.
10891	// This may be used to include null fields in Patch requests.
10892	NullFields []string `json:"-"`
10893}
10894
10895func (s *Region) MarshalJSON() ([]byte, error) {
10896	type NoMethod Region
10897	raw := NoMethod(*s)
10898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10899}
10900
10901// RegionsListResponse: Region List Response
10902type RegionsListResponse struct {
10903	// Kind: Identifies what kind of resource this is. Value: the fixed
10904	// string "dfareporting#regionsListResponse".
10905	Kind string `json:"kind,omitempty"`
10906
10907	// Regions: Region collection.
10908	Regions []*Region `json:"regions,omitempty"`
10909
10910	// ServerResponse contains the HTTP response code and headers from the
10911	// server.
10912	googleapi.ServerResponse `json:"-"`
10913
10914	// ForceSendFields is a list of field names (e.g. "Kind") to
10915	// unconditionally include in API requests. By default, fields with
10916	// empty values are omitted from API requests. However, any non-pointer,
10917	// non-interface field appearing in ForceSendFields will be sent to the
10918	// server regardless of whether the field is empty or not. This may be
10919	// used to include empty fields in Patch requests.
10920	ForceSendFields []string `json:"-"`
10921
10922	// NullFields is a list of field names (e.g. "Kind") to include in API
10923	// requests with the JSON null value. By default, fields with empty
10924	// values are omitted from API requests. However, any field with an
10925	// empty value appearing in NullFields will be sent to the server as
10926	// null. It is an error if a field in this list has a non-empty value.
10927	// This may be used to include null fields in Patch requests.
10928	NullFields []string `json:"-"`
10929}
10930
10931func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
10932	type NoMethod RegionsListResponse
10933	raw := NoMethod(*s)
10934	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10935}
10936
10937// RemarketingList: Contains properties of a remarketing list.
10938// Remarketing enables you to create lists of users who have performed
10939// specific actions on a site, then target ads to members of those
10940// lists. This resource can be used to manage remarketing lists that are
10941// owned by your advertisers. To see all remarketing lists that are
10942// visible to your advertisers, including those that are shared to your
10943// advertiser or account, use the TargetableRemarketingLists resource.
10944type RemarketingList struct {
10945	// AccountId: Account ID of this remarketing list. This is a read-only,
10946	// auto-generated field that is only returned in GET requests.
10947	AccountId int64 `json:"accountId,omitempty,string"`
10948
10949	// Active: Whether this remarketing list is active.
10950	Active bool `json:"active,omitempty"`
10951
10952	// AdvertiserId: Dimension value for the advertiser ID that owns this
10953	// remarketing list. This is a required field.
10954	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10955
10956	// AdvertiserIdDimensionValue: Dimension value for the ID of the
10957	// advertiser. This is a read-only, auto-generated field.
10958	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
10959
10960	// Description: Remarketing list description.
10961	Description string `json:"description,omitempty"`
10962
10963	// Id: Remarketing list ID. This is a read-only, auto-generated field.
10964	Id int64 `json:"id,omitempty,string"`
10965
10966	// Kind: Identifies what kind of resource this is. Value: the fixed
10967	// string "dfareporting#remarketingList".
10968	Kind string `json:"kind,omitempty"`
10969
10970	// LifeSpan: Number of days that a user should remain in the remarketing
10971	// list without an impression. Acceptable values are 1 to 540,
10972	// inclusive.
10973	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
10974
10975	// ListPopulationRule: Rule used to populate the remarketing list with
10976	// users.
10977	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
10978
10979	// ListSize: Number of users currently in the list. This is a read-only
10980	// field.
10981	ListSize int64 `json:"listSize,omitempty,string"`
10982
10983	// ListSource: Product from which this remarketing list was originated.
10984	//
10985	// Possible values:
10986	//   "REMARKETING_LIST_SOURCE_ADX"
10987	//   "REMARKETING_LIST_SOURCE_DBM"
10988	//   "REMARKETING_LIST_SOURCE_DFA"
10989	//   "REMARKETING_LIST_SOURCE_DFP"
10990	//   "REMARKETING_LIST_SOURCE_DMP"
10991	//   "REMARKETING_LIST_SOURCE_GA"
10992	//   "REMARKETING_LIST_SOURCE_GPLUS"
10993	//   "REMARKETING_LIST_SOURCE_OTHER"
10994	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
10995	//   "REMARKETING_LIST_SOURCE_XFP"
10996	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
10997	ListSource string `json:"listSource,omitempty"`
10998
10999	// Name: Name of the remarketing list. This is a required field. Must be
11000	// no greater than 128 characters long.
11001	Name string `json:"name,omitempty"`
11002
11003	// SubaccountId: Subaccount ID of this remarketing list. This is a
11004	// read-only, auto-generated field that is only returned in GET
11005	// requests.
11006	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11007
11008	// ServerResponse contains the HTTP response code and headers from the
11009	// server.
11010	googleapi.ServerResponse `json:"-"`
11011
11012	// ForceSendFields is a list of field names (e.g. "AccountId") to
11013	// unconditionally include in API requests. By default, fields with
11014	// empty values are omitted from API requests. However, any non-pointer,
11015	// non-interface field appearing in ForceSendFields will be sent to the
11016	// server regardless of whether the field is empty or not. This may be
11017	// used to include empty fields in Patch requests.
11018	ForceSendFields []string `json:"-"`
11019
11020	// NullFields is a list of field names (e.g. "AccountId") to include in
11021	// API requests with the JSON null value. By default, fields with empty
11022	// values are omitted from API requests. However, any field with an
11023	// empty value appearing in NullFields will be sent to the server as
11024	// null. It is an error if a field in this list has a non-empty value.
11025	// This may be used to include null fields in Patch requests.
11026	NullFields []string `json:"-"`
11027}
11028
11029func (s *RemarketingList) MarshalJSON() ([]byte, error) {
11030	type NoMethod RemarketingList
11031	raw := NoMethod(*s)
11032	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11033}
11034
11035// RemarketingListShare: Contains properties of a remarketing list's
11036// sharing information. Sharing allows other accounts or advertisers to
11037// target to your remarketing lists. This resource can be used to manage
11038// remarketing list sharing to other accounts and advertisers.
11039type RemarketingListShare struct {
11040	// Kind: Identifies what kind of resource this is. Value: the fixed
11041	// string "dfareporting#remarketingListShare".
11042	Kind string `json:"kind,omitempty"`
11043
11044	// RemarketingListId: Remarketing list ID. This is a read-only,
11045	// auto-generated field.
11046	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
11047
11048	// SharedAccountIds: Accounts that the remarketing list is shared with.
11049	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
11050
11051	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
11052	// with.
11053	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
11054
11055	// ServerResponse contains the HTTP response code and headers from the
11056	// server.
11057	googleapi.ServerResponse `json:"-"`
11058
11059	// ForceSendFields is a list of field names (e.g. "Kind") to
11060	// unconditionally include in API requests. By default, fields with
11061	// empty values are omitted from API requests. However, any non-pointer,
11062	// non-interface field appearing in ForceSendFields will be sent to the
11063	// server regardless of whether the field is empty or not. This may be
11064	// used to include empty fields in Patch requests.
11065	ForceSendFields []string `json:"-"`
11066
11067	// NullFields is a list of field names (e.g. "Kind") to include in API
11068	// requests with the JSON null value. By default, fields with empty
11069	// values are omitted from API requests. However, any field with an
11070	// empty value appearing in NullFields will be sent to the server as
11071	// null. It is an error if a field in this list has a non-empty value.
11072	// This may be used to include null fields in Patch requests.
11073	NullFields []string `json:"-"`
11074}
11075
11076func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
11077	type NoMethod RemarketingListShare
11078	raw := NoMethod(*s)
11079	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11080}
11081
11082// RemarketingListsListResponse: Remarketing list response
11083type RemarketingListsListResponse struct {
11084	// Kind: Identifies what kind of resource this is. Value: the fixed
11085	// string "dfareporting#remarketingListsListResponse".
11086	Kind string `json:"kind,omitempty"`
11087
11088	// NextPageToken: Pagination token to be used for the next list
11089	// operation.
11090	NextPageToken string `json:"nextPageToken,omitempty"`
11091
11092	// RemarketingLists: Remarketing list collection.
11093	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
11094
11095	// ServerResponse contains the HTTP response code and headers from the
11096	// server.
11097	googleapi.ServerResponse `json:"-"`
11098
11099	// ForceSendFields is a list of field names (e.g. "Kind") to
11100	// unconditionally include in API requests. By default, fields with
11101	// empty values are omitted from API requests. However, any non-pointer,
11102	// non-interface field appearing in ForceSendFields will be sent to the
11103	// server regardless of whether the field is empty or not. This may be
11104	// used to include empty fields in Patch requests.
11105	ForceSendFields []string `json:"-"`
11106
11107	// NullFields is a list of field names (e.g. "Kind") to include in API
11108	// requests with the JSON null value. By default, fields with empty
11109	// values are omitted from API requests. However, any field with an
11110	// empty value appearing in NullFields will be sent to the server as
11111	// null. It is an error if a field in this list has a non-empty value.
11112	// This may be used to include null fields in Patch requests.
11113	NullFields []string `json:"-"`
11114}
11115
11116func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
11117	type NoMethod RemarketingListsListResponse
11118	raw := NoMethod(*s)
11119	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11120}
11121
11122// Report: Represents a Report resource.
11123type Report struct {
11124	// AccountId: The account ID to which this report belongs.
11125	AccountId int64 `json:"accountId,omitempty,string"`
11126
11127	// Criteria: The report criteria for a report of type "STANDARD".
11128	Criteria *ReportCriteria `json:"criteria,omitempty"`
11129
11130	// CrossDimensionReachCriteria: The report criteria for a report of type
11131	// "CROSS_DIMENSION_REACH".
11132	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
11133
11134	// Delivery: The report's email delivery settings.
11135	Delivery *ReportDelivery `json:"delivery,omitempty"`
11136
11137	// Etag: The eTag of this response for caching purposes.
11138	Etag string `json:"etag,omitempty"`
11139
11140	// FileName: The filename used when generating report files for this
11141	// report.
11142	FileName string `json:"fileName,omitempty"`
11143
11144	// FloodlightCriteria: The report criteria for a report of type
11145	// "FLOODLIGHT".
11146	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
11147
11148	// Format: The output format of the report. If not specified, default
11149	// format is "CSV". Note that the actual format in the completed report
11150	// file might differ if for instance the report's size exceeds the
11151	// format's capabilities. "CSV" will then be the fallback format.
11152	//
11153	// Possible values:
11154	//   "CSV"
11155	//   "EXCEL"
11156	Format string `json:"format,omitempty"`
11157
11158	// Id: The unique ID identifying this report resource.
11159	Id int64 `json:"id,omitempty,string"`
11160
11161	// Kind: The kind of resource this is, in this case dfareporting#report.
11162	Kind string `json:"kind,omitempty"`
11163
11164	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
11165	// this report was last modified.
11166	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
11167
11168	// Name: The name of the report.
11169	Name string `json:"name,omitempty"`
11170
11171	// OwnerProfileId: The user profile id of the owner of this report.
11172	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
11173
11174	// PathToConversionCriteria: The report criteria for a report of type
11175	// "PATH_TO_CONVERSION".
11176	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
11177
11178	// ReachCriteria: The report criteria for a report of type "REACH".
11179	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
11180
11181	// Schedule: The report's schedule. Can only be set if the report's
11182	// 'dateRange' is a relative date range and the relative date range is
11183	// not "TODAY".
11184	Schedule *ReportSchedule `json:"schedule,omitempty"`
11185
11186	// SubAccountId: The subaccount ID to which this report belongs if
11187	// applicable.
11188	SubAccountId int64 `json:"subAccountId,omitempty,string"`
11189
11190	// Type: The type of the report.
11191	//
11192	// Possible values:
11193	//   "CROSS_DIMENSION_REACH"
11194	//   "FLOODLIGHT"
11195	//   "PATH_TO_CONVERSION"
11196	//   "REACH"
11197	//   "STANDARD"
11198	Type string `json:"type,omitempty"`
11199
11200	// ServerResponse contains the HTTP response code and headers from the
11201	// server.
11202	googleapi.ServerResponse `json:"-"`
11203
11204	// ForceSendFields is a list of field names (e.g. "AccountId") to
11205	// unconditionally include in API requests. By default, fields with
11206	// empty values are omitted from API requests. However, any non-pointer,
11207	// non-interface field appearing in ForceSendFields will be sent to the
11208	// server regardless of whether the field is empty or not. This may be
11209	// used to include empty fields in Patch requests.
11210	ForceSendFields []string `json:"-"`
11211
11212	// NullFields is a list of field names (e.g. "AccountId") to include in
11213	// API requests with the JSON null value. By default, fields with empty
11214	// values are omitted from API requests. However, any field with an
11215	// empty value appearing in NullFields will be sent to the server as
11216	// null. It is an error if a field in this list has a non-empty value.
11217	// This may be used to include null fields in Patch requests.
11218	NullFields []string `json:"-"`
11219}
11220
11221func (s *Report) MarshalJSON() ([]byte, error) {
11222	type NoMethod Report
11223	raw := NoMethod(*s)
11224	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11225}
11226
11227// ReportCriteria: The report criteria for a report of type "STANDARD".
11228type ReportCriteria struct {
11229	// Activities: Activity group.
11230	Activities *Activities `json:"activities,omitempty"`
11231
11232	// CustomRichMediaEvents: Custom Rich Media Events group.
11233	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11234
11235	// DateRange: The date range for which this report should be run.
11236	DateRange *DateRange `json:"dateRange,omitempty"`
11237
11238	// DimensionFilters: The list of filters on which dimensions are
11239	// filtered.
11240	// Filters for different dimensions are ANDed, filters for the same
11241	// dimension are grouped together and ORed.
11242	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11243
11244	// Dimensions: The list of standard dimensions the report should
11245	// include.
11246	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11247
11248	// MetricNames: The list of names of metrics the report should include.
11249	MetricNames []string `json:"metricNames,omitempty"`
11250
11251	// ForceSendFields is a list of field names (e.g. "Activities") to
11252	// unconditionally include in API requests. By default, fields with
11253	// empty values are omitted from API requests. However, any non-pointer,
11254	// non-interface field appearing in ForceSendFields will be sent to the
11255	// server regardless of whether the field is empty or not. This may be
11256	// used to include empty fields in Patch requests.
11257	ForceSendFields []string `json:"-"`
11258
11259	// NullFields is a list of field names (e.g. "Activities") to include in
11260	// API requests with the JSON null value. By default, fields with empty
11261	// values are omitted from API requests. However, any field with an
11262	// empty value appearing in NullFields will be sent to the server as
11263	// null. It is an error if a field in this list has a non-empty value.
11264	// This may be used to include null fields in Patch requests.
11265	NullFields []string `json:"-"`
11266}
11267
11268func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
11269	type NoMethod ReportCriteria
11270	raw := NoMethod(*s)
11271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11272}
11273
11274// ReportCrossDimensionReachCriteria: The report criteria for a report
11275// of type "CROSS_DIMENSION_REACH".
11276type ReportCrossDimensionReachCriteria struct {
11277	// Breakdown: The list of dimensions the report should include.
11278	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
11279
11280	// DateRange: The date range this report should be run for.
11281	DateRange *DateRange `json:"dateRange,omitempty"`
11282
11283	// Dimension: The dimension option.
11284	//
11285	// Possible values:
11286	//   "ADVERTISER"
11287	//   "CAMPAIGN"
11288	//   "SITE_BY_ADVERTISER"
11289	//   "SITE_BY_CAMPAIGN"
11290	Dimension string `json:"dimension,omitempty"`
11291
11292	// DimensionFilters: The list of filters on which dimensions are
11293	// filtered.
11294	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11295
11296	// MetricNames: The list of names of metrics the report should include.
11297	MetricNames []string `json:"metricNames,omitempty"`
11298
11299	// OverlapMetricNames: The list of names of overlap metrics the report
11300	// should include.
11301	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
11302
11303	// Pivoted: Whether the report is pivoted or not. Defaults to true.
11304	Pivoted bool `json:"pivoted,omitempty"`
11305
11306	// ForceSendFields is a list of field names (e.g. "Breakdown") to
11307	// unconditionally include in API requests. By default, fields with
11308	// empty values are omitted from API requests. However, any non-pointer,
11309	// non-interface field appearing in ForceSendFields will be sent to the
11310	// server regardless of whether the field is empty or not. This may be
11311	// used to include empty fields in Patch requests.
11312	ForceSendFields []string `json:"-"`
11313
11314	// NullFields is a list of field names (e.g. "Breakdown") to include in
11315	// API requests with the JSON null value. By default, fields with empty
11316	// values are omitted from API requests. However, any field with an
11317	// empty value appearing in NullFields will be sent to the server as
11318	// null. It is an error if a field in this list has a non-empty value.
11319	// This may be used to include null fields in Patch requests.
11320	NullFields []string `json:"-"`
11321}
11322
11323func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
11324	type NoMethod ReportCrossDimensionReachCriteria
11325	raw := NoMethod(*s)
11326	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11327}
11328
11329// ReportDelivery: The report's email delivery settings.
11330type ReportDelivery struct {
11331	// EmailOwner: Whether the report should be emailed to the report owner.
11332	EmailOwner bool `json:"emailOwner,omitempty"`
11333
11334	// EmailOwnerDeliveryType: The type of delivery for the owner to
11335	// receive, if enabled.
11336	//
11337	// Possible values:
11338	//   "ATTACHMENT"
11339	//   "LINK"
11340	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
11341
11342	// Message: The message to be sent with each email.
11343	Message string `json:"message,omitempty"`
11344
11345	// Recipients: The list of recipients to which to email the report.
11346	Recipients []*Recipient `json:"recipients,omitempty"`
11347
11348	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
11349	// unconditionally include in API requests. By default, fields with
11350	// empty values are omitted from API requests. However, any non-pointer,
11351	// non-interface field appearing in ForceSendFields will be sent to the
11352	// server regardless of whether the field is empty or not. This may be
11353	// used to include empty fields in Patch requests.
11354	ForceSendFields []string `json:"-"`
11355
11356	// NullFields is a list of field names (e.g. "EmailOwner") to include in
11357	// API requests with the JSON null value. By default, fields with empty
11358	// values are omitted from API requests. However, any field with an
11359	// empty value appearing in NullFields will be sent to the server as
11360	// null. It is an error if a field in this list has a non-empty value.
11361	// This may be used to include null fields in Patch requests.
11362	NullFields []string `json:"-"`
11363}
11364
11365func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
11366	type NoMethod ReportDelivery
11367	raw := NoMethod(*s)
11368	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11369}
11370
11371// ReportFloodlightCriteria: The report criteria for a report of type
11372// "FLOODLIGHT".
11373type ReportFloodlightCriteria struct {
11374	// CustomRichMediaEvents: The list of custom rich media events to
11375	// include.
11376	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11377
11378	// DateRange: The date range this report should be run for.
11379	DateRange *DateRange `json:"dateRange,omitempty"`
11380
11381	// DimensionFilters: The list of filters on which dimensions are
11382	// filtered.
11383	// Filters for different dimensions are ANDed, filters for the same
11384	// dimension are grouped together and ORed.
11385	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11386
11387	// Dimensions: The list of dimensions the report should include.
11388	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11389
11390	// FloodlightConfigId: The floodlight ID for which to show data in this
11391	// report. All advertisers associated with that ID will automatically be
11392	// added. The dimension of the value needs to be
11393	// 'dfa:floodlightConfigId'.
11394	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11395
11396	// MetricNames: The list of names of metrics the report should include.
11397	MetricNames []string `json:"metricNames,omitempty"`
11398
11399	// ReportProperties: The properties of the report.
11400	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
11401
11402	// ForceSendFields is a list of field names (e.g.
11403	// "CustomRichMediaEvents") to unconditionally include in API requests.
11404	// By default, fields with empty values are omitted from API requests.
11405	// However, any non-pointer, non-interface field appearing in
11406	// ForceSendFields will be sent to the server regardless of whether the
11407	// field is empty or not. This may be used to include empty fields in
11408	// Patch requests.
11409	ForceSendFields []string `json:"-"`
11410
11411	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
11412	// include in API requests with the JSON null value. By default, fields
11413	// with empty values are omitted from API requests. However, any field
11414	// with an empty value appearing in NullFields will be sent to the
11415	// server as null. It is an error if a field in this list has a
11416	// non-empty value. This may be used to include null fields in Patch
11417	// requests.
11418	NullFields []string `json:"-"`
11419}
11420
11421func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
11422	type NoMethod ReportFloodlightCriteria
11423	raw := NoMethod(*s)
11424	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11425}
11426
11427// ReportFloodlightCriteriaReportProperties: The properties of the
11428// report.
11429type ReportFloodlightCriteriaReportProperties struct {
11430	// IncludeAttributedIPConversions: Include conversions that have no
11431	// cookie, but do have an exposure path.
11432	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11433
11434	// IncludeUnattributedCookieConversions: Include conversions of users
11435	// with a DoubleClick cookie but without an exposure. That means the
11436	// user did not click or see an ad from the advertiser within the
11437	// Floodlight group, or that the interaction happened outside the
11438	// lookback window.
11439	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11440
11441	// IncludeUnattributedIPConversions: Include conversions that have no
11442	// associated cookies and no exposures. It’s therefore impossible to
11443	// know how the user was exposed to your ads during the lookback window
11444	// prior to a conversion.
11445	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11446
11447	// ForceSendFields is a list of field names (e.g.
11448	// "IncludeAttributedIPConversions") to unconditionally include in API
11449	// requests. By default, fields with empty values are omitted from API
11450	// requests. However, any non-pointer, non-interface field appearing in
11451	// ForceSendFields will be sent to the server regardless of whether the
11452	// field is empty or not. This may be used to include empty fields in
11453	// Patch requests.
11454	ForceSendFields []string `json:"-"`
11455
11456	// NullFields is a list of field names (e.g.
11457	// "IncludeAttributedIPConversions") to include in API requests with the
11458	// JSON null value. By default, fields with empty values are omitted
11459	// from API requests. However, any field with an empty value appearing
11460	// in NullFields will be sent to the server as null. It is an error if a
11461	// field in this list has a non-empty value. This may be used to include
11462	// null fields in Patch requests.
11463	NullFields []string `json:"-"`
11464}
11465
11466func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11467	type NoMethod ReportFloodlightCriteriaReportProperties
11468	raw := NoMethod(*s)
11469	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11470}
11471
11472// ReportPathToConversionCriteria: The report criteria for a report of
11473// type "PATH_TO_CONVERSION".
11474type ReportPathToConversionCriteria struct {
11475	// ActivityFilters: The list of 'dfa:activity' values to filter on.
11476	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
11477
11478	// ConversionDimensions: The list of conversion dimensions the report
11479	// should include.
11480	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
11481
11482	// CustomFloodlightVariables: The list of custom floodlight variables
11483	// the report should include.
11484	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
11485
11486	// CustomRichMediaEvents: The list of custom rich media events to
11487	// include.
11488	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11489
11490	// DateRange: The date range this report should be run for.
11491	DateRange *DateRange `json:"dateRange,omitempty"`
11492
11493	// FloodlightConfigId: The floodlight ID for which to show data in this
11494	// report. All advertisers associated with that ID will automatically be
11495	// added. The dimension of the value needs to be
11496	// 'dfa:floodlightConfigId'.
11497	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11498
11499	// MetricNames: The list of names of metrics the report should include.
11500	MetricNames []string `json:"metricNames,omitempty"`
11501
11502	// PerInteractionDimensions: The list of per interaction dimensions the
11503	// report should include.
11504	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
11505
11506	// ReportProperties: The properties of the report.
11507	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
11508
11509	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
11510	// unconditionally include in API requests. By default, fields with
11511	// empty values are omitted from API requests. However, any non-pointer,
11512	// non-interface field appearing in ForceSendFields will be sent to the
11513	// server regardless of whether the field is empty or not. This may be
11514	// used to include empty fields in Patch requests.
11515	ForceSendFields []string `json:"-"`
11516
11517	// NullFields is a list of field names (e.g. "ActivityFilters") to
11518	// include in API requests with the JSON null value. By default, fields
11519	// with empty values are omitted from API requests. However, any field
11520	// with an empty value appearing in NullFields will be sent to the
11521	// server as null. It is an error if a field in this list has a
11522	// non-empty value. This may be used to include null fields in Patch
11523	// requests.
11524	NullFields []string `json:"-"`
11525}
11526
11527func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
11528	type NoMethod ReportPathToConversionCriteria
11529	raw := NoMethod(*s)
11530	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11531}
11532
11533// ReportPathToConversionCriteriaReportProperties: The properties of the
11534// report.
11535type ReportPathToConversionCriteriaReportProperties struct {
11536	// ClicksLookbackWindow: DFA checks to see if a click interaction
11537	// occurred within the specified period of time before a conversion. By
11538	// default the value is pulled from Floodlight or you can manually enter
11539	// a custom value. Valid values: 1-90.
11540	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
11541
11542	// ImpressionsLookbackWindow: DFA checks to see if an impression
11543	// interaction occurred within the specified period of time before a
11544	// conversion. By default the value is pulled from Floodlight or you can
11545	// manually enter a custom value. Valid values: 1-90.
11546	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
11547
11548	// IncludeAttributedIPConversions: Deprecated: has no effect.
11549	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11550
11551	// IncludeUnattributedCookieConversions: Include conversions of users
11552	// with a DoubleClick cookie but without an exposure. That means the
11553	// user did not click or see an ad from the advertiser within the
11554	// Floodlight group, or that the interaction happened outside the
11555	// lookback window.
11556	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11557
11558	// IncludeUnattributedIPConversions: Include conversions that have no
11559	// associated cookies and no exposures. It’s therefore impossible to
11560	// know how the user was exposed to your ads during the lookback window
11561	// prior to a conversion.
11562	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11563
11564	// MaximumClickInteractions: The maximum number of click interactions to
11565	// include in the report. Advertisers currently paying for E2C reports
11566	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
11567	// your network is paying for E2C, you can have up to 5 total exposures
11568	// per report.
11569	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
11570
11571	// MaximumImpressionInteractions: The maximum number of click
11572	// interactions to include in the report. Advertisers currently paying
11573	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
11574	// another advertiser in your network is paying for E2C, you can have up
11575	// to 5 total exposures per report.
11576	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
11577
11578	// MaximumInteractionGap: The maximum amount of time that can take place
11579	// between interactions (clicks or impressions) by the same user. Valid
11580	// values: 1-90.
11581	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
11582
11583	// PivotOnInteractionPath: Enable pivoting on interaction path.
11584	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
11585
11586	// ForceSendFields is a list of field names (e.g.
11587	// "ClicksLookbackWindow") to unconditionally include in API requests.
11588	// By default, fields with empty values are omitted from API requests.
11589	// However, any non-pointer, non-interface field appearing in
11590	// ForceSendFields will be sent to the server regardless of whether the
11591	// field is empty or not. This may be used to include empty fields in
11592	// Patch requests.
11593	ForceSendFields []string `json:"-"`
11594
11595	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
11596	// include in API requests with the JSON null value. By default, fields
11597	// with empty values are omitted from API requests. However, any field
11598	// with an empty value appearing in NullFields will be sent to the
11599	// server as null. It is an error if a field in this list has a
11600	// non-empty value. This may be used to include null fields in Patch
11601	// requests.
11602	NullFields []string `json:"-"`
11603}
11604
11605func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11606	type NoMethod ReportPathToConversionCriteriaReportProperties
11607	raw := NoMethod(*s)
11608	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11609}
11610
11611// ReportReachCriteria: The report criteria for a report of type
11612// "REACH".
11613type ReportReachCriteria struct {
11614	// Activities: Activity group.
11615	Activities *Activities `json:"activities,omitempty"`
11616
11617	// CustomRichMediaEvents: Custom Rich Media Events group.
11618	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11619
11620	// DateRange: The date range this report should be run for.
11621	DateRange *DateRange `json:"dateRange,omitempty"`
11622
11623	// DimensionFilters: The list of filters on which dimensions are
11624	// filtered.
11625	// Filters for different dimensions are ANDed, filters for the same
11626	// dimension are grouped together and ORed.
11627	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11628
11629	// Dimensions: The list of dimensions the report should include.
11630	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11631
11632	// EnableAllDimensionCombinations: Whether to enable all reach dimension
11633	// combinations in the report. Defaults to false. If enabled, the date
11634	// range of the report should be within the last three months.
11635	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
11636
11637	// MetricNames: The list of names of metrics the report should include.
11638	MetricNames []string `json:"metricNames,omitempty"`
11639
11640	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
11641	// metrics the report should include.
11642	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
11643
11644	// ForceSendFields is a list of field names (e.g. "Activities") to
11645	// unconditionally include in API requests. By default, fields with
11646	// empty values are omitted from API requests. However, any non-pointer,
11647	// non-interface field appearing in ForceSendFields will be sent to the
11648	// server regardless of whether the field is empty or not. This may be
11649	// used to include empty fields in Patch requests.
11650	ForceSendFields []string `json:"-"`
11651
11652	// NullFields is a list of field names (e.g. "Activities") to include in
11653	// API requests with the JSON null value. By default, fields with empty
11654	// values are omitted from API requests. However, any field with an
11655	// empty value appearing in NullFields will be sent to the server as
11656	// null. It is an error if a field in this list has a non-empty value.
11657	// This may be used to include null fields in Patch requests.
11658	NullFields []string `json:"-"`
11659}
11660
11661func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
11662	type NoMethod ReportReachCriteria
11663	raw := NoMethod(*s)
11664	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11665}
11666
11667// ReportSchedule: The report's schedule. Can only be set if the
11668// report's 'dateRange' is a relative date range and the relative date
11669// range is not "TODAY".
11670type ReportSchedule struct {
11671	// Active: Whether the schedule is active or not. Must be set to either
11672	// true or false.
11673	Active bool `json:"active,omitempty"`
11674
11675	// Every: Defines every how many days, weeks or months the report should
11676	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
11677	// "MONTHLY".
11678	Every int64 `json:"every,omitempty"`
11679
11680	// ExpirationDate: The expiration date when the scheduled report stops
11681	// running.
11682	ExpirationDate string `json:"expirationDate,omitempty"`
11683
11684	// Repeats: The interval for which the report is repeated. Note:
11685	// - "DAILY" also requires field "every" to be set.
11686	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
11687	// set.
11688	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
11689	// set.
11690	Repeats string `json:"repeats,omitempty"`
11691
11692	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
11693	// reports should run.
11694	//
11695	// Possible values:
11696	//   "FRIDAY"
11697	//   "MONDAY"
11698	//   "SATURDAY"
11699	//   "SUNDAY"
11700	//   "THURSDAY"
11701	//   "TUESDAY"
11702	//   "WEDNESDAY"
11703	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
11704
11705	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
11706	// whether reports should be repeated on the same day of the month as
11707	// "startDate" or the same day of the week of the month.
11708	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
11709	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
11710	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
11711	// Monday of the month.
11712	//
11713	// Possible values:
11714	//   "DAY_OF_MONTH"
11715	//   "WEEK_OF_MONTH"
11716	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
11717
11718	// StartDate: Start date of date range for which scheduled reports
11719	// should be run.
11720	StartDate string `json:"startDate,omitempty"`
11721
11722	// ForceSendFields is a list of field names (e.g. "Active") to
11723	// unconditionally include in API requests. By default, fields with
11724	// empty values are omitted from API requests. However, any non-pointer,
11725	// non-interface field appearing in ForceSendFields will be sent to the
11726	// server regardless of whether the field is empty or not. This may be
11727	// used to include empty fields in Patch requests.
11728	ForceSendFields []string `json:"-"`
11729
11730	// NullFields is a list of field names (e.g. "Active") to include in API
11731	// requests with the JSON null value. By default, fields with empty
11732	// values are omitted from API requests. However, any field with an
11733	// empty value appearing in NullFields will be sent to the server as
11734	// null. It is an error if a field in this list has a non-empty value.
11735	// This may be used to include null fields in Patch requests.
11736	NullFields []string `json:"-"`
11737}
11738
11739func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
11740	type NoMethod ReportSchedule
11741	raw := NoMethod(*s)
11742	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11743}
11744
11745// ReportCompatibleFields: Represents fields that are compatible to be
11746// selected for a report of type "STANDARD".
11747type ReportCompatibleFields struct {
11748	// DimensionFilters: Dimensions which are compatible to be selected in
11749	// the "dimensionFilters" section of the report.
11750	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
11751
11752	// Dimensions: Dimensions which are compatible to be selected in the
11753	// "dimensions" section of the report.
11754	Dimensions []*Dimension `json:"dimensions,omitempty"`
11755
11756	// Kind: The kind of resource this is, in this case
11757	// dfareporting#reportCompatibleFields.
11758	Kind string `json:"kind,omitempty"`
11759
11760	// Metrics: Metrics which are compatible to be selected in the
11761	// "metricNames" section of the report.
11762	Metrics []*Metric `json:"metrics,omitempty"`
11763
11764	// PivotedActivityMetrics: Metrics which are compatible to be selected
11765	// as activity metrics to pivot on in the "activities" section of the
11766	// report.
11767	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
11768
11769	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
11770	// unconditionally include in API requests. By default, fields with
11771	// empty values are omitted from API requests. However, any non-pointer,
11772	// non-interface field appearing in ForceSendFields will be sent to the
11773	// server regardless of whether the field is empty or not. This may be
11774	// used to include empty fields in Patch requests.
11775	ForceSendFields []string `json:"-"`
11776
11777	// NullFields is a list of field names (e.g. "DimensionFilters") to
11778	// include in API requests with the JSON null value. By default, fields
11779	// with empty values are omitted from API requests. However, any field
11780	// with an empty value appearing in NullFields will be sent to the
11781	// server as null. It is an error if a field in this list has a
11782	// non-empty value. This may be used to include null fields in Patch
11783	// requests.
11784	NullFields []string `json:"-"`
11785}
11786
11787func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
11788	type NoMethod ReportCompatibleFields
11789	raw := NoMethod(*s)
11790	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11791}
11792
11793// ReportList: Represents the list of reports.
11794type ReportList struct {
11795	// Etag: The eTag of this response for caching purposes.
11796	Etag string `json:"etag,omitempty"`
11797
11798	// Items: The reports returned in this response.
11799	Items []*Report `json:"items,omitempty"`
11800
11801	// Kind: The kind of list this is, in this case dfareporting#reportList.
11802	Kind string `json:"kind,omitempty"`
11803
11804	// NextPageToken: Continuation token used to page through reports. To
11805	// retrieve the next page of results, set the next request's "pageToken"
11806	// to the value of this field. The page token is only valid for a
11807	// limited amount of time and should not be persisted.
11808	NextPageToken string `json:"nextPageToken,omitempty"`
11809
11810	// ServerResponse contains the HTTP response code and headers from the
11811	// server.
11812	googleapi.ServerResponse `json:"-"`
11813
11814	// ForceSendFields is a list of field names (e.g. "Etag") to
11815	// unconditionally include in API requests. By default, fields with
11816	// empty values are omitted from API requests. However, any non-pointer,
11817	// non-interface field appearing in ForceSendFields will be sent to the
11818	// server regardless of whether the field is empty or not. This may be
11819	// used to include empty fields in Patch requests.
11820	ForceSendFields []string `json:"-"`
11821
11822	// NullFields is a list of field names (e.g. "Etag") to include in API
11823	// requests with the JSON null value. By default, fields with empty
11824	// values are omitted from API requests. However, any field with an
11825	// empty value appearing in NullFields will be sent to the server as
11826	// null. It is an error if a field in this list has a non-empty value.
11827	// This may be used to include null fields in Patch requests.
11828	NullFields []string `json:"-"`
11829}
11830
11831func (s *ReportList) MarshalJSON() ([]byte, error) {
11832	type NoMethod ReportList
11833	raw := NoMethod(*s)
11834	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11835}
11836
11837// ReportsConfiguration: Reporting Configuration
11838type ReportsConfiguration struct {
11839	// ExposureToConversionEnabled: Whether the exposure to conversion
11840	// report is enabled. This report shows detailed pathway information on
11841	// up to 10 of the most recent ad exposures seen by a user before
11842	// converting.
11843	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
11844
11845	// LookbackConfiguration: Default lookback windows for new advertisers
11846	// in this account.
11847	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
11848
11849	// ReportGenerationTimeZoneId: Report generation time zone ID of this
11850	// account. This is a required field that can only be changed by a
11851	// superuser.
11852	// Acceptable values are:
11853	//
11854	// - "1" for "America/New_York"
11855	// - "2" for "Europe/London"
11856	// - "3" for "Europe/Paris"
11857	// - "4" for "Africa/Johannesburg"
11858	// - "5" for "Asia/Jerusalem"
11859	// - "6" for "Asia/Shanghai"
11860	// - "7" for "Asia/Hong_Kong"
11861	// - "8" for "Asia/Tokyo"
11862	// - "9" for "Australia/Sydney"
11863	// - "10" for "Asia/Dubai"
11864	// - "11" for "America/Los_Angeles"
11865	// - "12" for "Pacific/Auckland"
11866	// - "13" for "America/Sao_Paulo"
11867	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
11868
11869	// ForceSendFields is a list of field names (e.g.
11870	// "ExposureToConversionEnabled") to unconditionally include in API
11871	// requests. By default, fields with empty values are omitted from API
11872	// requests. However, any non-pointer, non-interface field appearing in
11873	// ForceSendFields will be sent to the server regardless of whether the
11874	// field is empty or not. This may be used to include empty fields in
11875	// Patch requests.
11876	ForceSendFields []string `json:"-"`
11877
11878	// NullFields is a list of field names (e.g.
11879	// "ExposureToConversionEnabled") to include in API requests with the
11880	// JSON null value. By default, fields with empty values are omitted
11881	// from API requests. However, any field with an empty value appearing
11882	// in NullFields will be sent to the server as null. It is an error if a
11883	// field in this list has a non-empty value. This may be used to include
11884	// null fields in Patch requests.
11885	NullFields []string `json:"-"`
11886}
11887
11888func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
11889	type NoMethod ReportsConfiguration
11890	raw := NoMethod(*s)
11891	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11892}
11893
11894// RichMediaExitOverride: Rich Media Exit Override.
11895type RichMediaExitOverride struct {
11896	// ClickThroughUrl: Click-through URL of this rich media exit override.
11897	// Applicable if the enabled field is set to true.
11898	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
11899
11900	// Enabled: Whether to use the clickThroughUrl. If false, the
11901	// creative-level exit will be used.
11902	Enabled bool `json:"enabled,omitempty"`
11903
11904	// ExitId: ID for the override to refer to a specific exit in the
11905	// creative.
11906	ExitId int64 `json:"exitId,omitempty,string"`
11907
11908	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
11909	// unconditionally include in API requests. By default, fields with
11910	// empty values are omitted from API requests. However, any non-pointer,
11911	// non-interface field appearing in ForceSendFields will be sent to the
11912	// server regardless of whether the field is empty or not. This may be
11913	// used to include empty fields in Patch requests.
11914	ForceSendFields []string `json:"-"`
11915
11916	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
11917	// include in API requests with the JSON null value. By default, fields
11918	// with empty values are omitted from API requests. However, any field
11919	// with an empty value appearing in NullFields will be sent to the
11920	// server as null. It is an error if a field in this list has a
11921	// non-empty value. This may be used to include null fields in Patch
11922	// requests.
11923	NullFields []string `json:"-"`
11924}
11925
11926func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
11927	type NoMethod RichMediaExitOverride
11928	raw := NoMethod(*s)
11929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11930}
11931
11932// Rule: A rule associates an asset with a targeting template for
11933// asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
11934type Rule struct {
11935	// AssetId: A creativeAssets[].id. This should refer to one of the
11936	// parent assets in this creative. This is a required field.
11937	AssetId int64 `json:"assetId,omitempty,string"`
11938
11939	// Name: A user-friendly name for this rule. This is a required field.
11940	Name string `json:"name,omitempty"`
11941
11942	// TargetingTemplateId: A targeting template ID. The targeting from the
11943	// targeting template will be used to determine whether this asset
11944	// should be served. This is a required field.
11945	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
11946
11947	// ForceSendFields is a list of field names (e.g. "AssetId") 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. "AssetId") to include in
11956	// API requests with the JSON null value. By default, fields with empty
11957	// values are omitted from API requests. However, any field with an
11958	// empty value appearing in NullFields will be sent to the server as
11959	// null. It is an error if a field in this list has a non-empty value.
11960	// This may be used to include null fields in Patch requests.
11961	NullFields []string `json:"-"`
11962}
11963
11964func (s *Rule) MarshalJSON() ([]byte, error) {
11965	type NoMethod Rule
11966	raw := NoMethod(*s)
11967	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11968}
11969
11970// Site: Contains properties of a site.
11971type Site struct {
11972	// AccountId: Account ID of this site. This is a read-only field that
11973	// can be left blank.
11974	AccountId int64 `json:"accountId,omitempty,string"`
11975
11976	// Approved: Whether this site is approved.
11977	Approved bool `json:"approved,omitempty"`
11978
11979	// DirectorySiteId: Directory site associated with this site. This is a
11980	// required field that is read-only after insertion.
11981	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
11982
11983	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
11984	// directory site. This is a read-only, auto-generated field.
11985	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
11986
11987	// Id: ID of this site. This is a read-only, auto-generated field.
11988	Id int64 `json:"id,omitempty,string"`
11989
11990	// IdDimensionValue: Dimension value for the ID of this site. This is a
11991	// read-only, auto-generated field.
11992	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
11993
11994	// KeyName: Key name of this site. This is a read-only, auto-generated
11995	// field.
11996	KeyName string `json:"keyName,omitempty"`
11997
11998	// Kind: Identifies what kind of resource this is. Value: the fixed
11999	// string "dfareporting#site".
12000	Kind string `json:"kind,omitempty"`
12001
12002	// Name: Name of this site.This is a required field. Must be less than
12003	// 128 characters long. If this site is under a subaccount, the name
12004	// must be unique among sites of the same subaccount. Otherwise, this
12005	// site is a top-level site, and the name must be unique among top-level
12006	// sites of the same account.
12007	Name string `json:"name,omitempty"`
12008
12009	// SiteContacts: Site contacts.
12010	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
12011
12012	// SiteSettings: Site-wide settings.
12013	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
12014
12015	// SubaccountId: Subaccount ID of this site. This is a read-only field
12016	// that can be left blank.
12017	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12018
12019	// ServerResponse contains the HTTP response code and headers from the
12020	// server.
12021	googleapi.ServerResponse `json:"-"`
12022
12023	// ForceSendFields is a list of field names (e.g. "AccountId") to
12024	// unconditionally include in API requests. By default, fields with
12025	// empty values are omitted from API requests. However, any non-pointer,
12026	// non-interface field appearing in ForceSendFields will be sent to the
12027	// server regardless of whether the field is empty or not. This may be
12028	// used to include empty fields in Patch requests.
12029	ForceSendFields []string `json:"-"`
12030
12031	// NullFields is a list of field names (e.g. "AccountId") to include in
12032	// API requests with the JSON null value. By default, fields with empty
12033	// values are omitted from API requests. However, any field with an
12034	// empty value appearing in NullFields will be sent to the server as
12035	// null. It is an error if a field in this list has a non-empty value.
12036	// This may be used to include null fields in Patch requests.
12037	NullFields []string `json:"-"`
12038}
12039
12040func (s *Site) MarshalJSON() ([]byte, error) {
12041	type NoMethod Site
12042	raw := NoMethod(*s)
12043	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12044}
12045
12046// SiteContact: Site Contact
12047type SiteContact struct {
12048	// Address: Address of this site contact.
12049	Address string `json:"address,omitempty"`
12050
12051	// ContactType: Site contact type.
12052	//
12053	// Possible values:
12054	//   "SALES_PERSON"
12055	//   "TRAFFICKER"
12056	ContactType string `json:"contactType,omitempty"`
12057
12058	// Email: Email address of this site contact. This is a required field.
12059	Email string `json:"email,omitempty"`
12060
12061	// FirstName: First name of this site contact.
12062	FirstName string `json:"firstName,omitempty"`
12063
12064	// Id: ID of this site contact. This is a read-only, auto-generated
12065	// field.
12066	Id int64 `json:"id,omitempty,string"`
12067
12068	// LastName: Last name of this site contact.
12069	LastName string `json:"lastName,omitempty"`
12070
12071	// Phone: Primary phone number of this site contact.
12072	Phone string `json:"phone,omitempty"`
12073
12074	// Title: Title or designation of this site contact.
12075	Title string `json:"title,omitempty"`
12076
12077	// ForceSendFields is a list of field names (e.g. "Address") to
12078	// unconditionally include in API requests. By default, fields with
12079	// empty values are omitted from API requests. However, any non-pointer,
12080	// non-interface field appearing in ForceSendFields will be sent to the
12081	// server regardless of whether the field is empty or not. This may be
12082	// used to include empty fields in Patch requests.
12083	ForceSendFields []string `json:"-"`
12084
12085	// NullFields is a list of field names (e.g. "Address") to include in
12086	// API requests with the JSON null value. By default, fields with empty
12087	// values are omitted from API requests. However, any field with an
12088	// empty value appearing in NullFields will be sent to the server as
12089	// null. It is an error if a field in this list has a non-empty value.
12090	// This may be used to include null fields in Patch requests.
12091	NullFields []string `json:"-"`
12092}
12093
12094func (s *SiteContact) MarshalJSON() ([]byte, error) {
12095	type NoMethod SiteContact
12096	raw := NoMethod(*s)
12097	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12098}
12099
12100// SiteSettings: Site Settings
12101type SiteSettings struct {
12102	// ActiveViewOptOut: Whether active view creatives are disabled for this
12103	// site.
12104	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
12105
12106	// CreativeSettings: Site-wide creative settings.
12107	CreativeSettings *CreativeSettings `json:"creativeSettings,omitempty"`
12108
12109	// DisableBrandSafeAds: Whether brand safe ads are disabled for this
12110	// site.
12111	DisableBrandSafeAds bool `json:"disableBrandSafeAds,omitempty"`
12112
12113	// DisableNewCookie: Whether new cookies are disabled for this site.
12114	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
12115
12116	// LookbackConfiguration: Lookback window settings for this site.
12117	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
12118
12119	// TagSetting: Configuration settings for dynamic and image floodlight
12120	// tags.
12121	TagSetting *TagSetting `json:"tagSetting,omitempty"`
12122
12123	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
12124	// for in-stream video creatives are disabled by default for new
12125	// placements created under this site. This value will be used to
12126	// populate the placement.videoActiveViewOptOut field, when no value is
12127	// specified for the new placement.
12128	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
12129
12130	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
12131	// placements created under this site. This value will be used to
12132	// populate the placements.vpaidAdapterChoice field, when no value is
12133	// specified for the new placement. Controls which VPAID format the
12134	// measurement adapter will use for in-stream video creatives assigned
12135	// to the placement. The publisher's specifications will typically
12136	// determine this setting. For VPAID creatives, the adapter format will
12137	// match the VPAID format (HTML5 VPAID creatives use the HTML5
12138	// adapter).
12139	//
12140	// Note: Flash is no longer supported. This field now defaults to HTML5
12141	// when the following values are provided: FLASH, BOTH.
12142	//
12143	// Possible values:
12144	//   "BOTH"
12145	//   "DEFAULT"
12146	//   "FLASH"
12147	//   "HTML5"
12148	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
12149
12150	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
12151	// unconditionally include in API requests. By default, fields with
12152	// empty values are omitted from API requests. However, any non-pointer,
12153	// non-interface field appearing in ForceSendFields will be sent to the
12154	// server regardless of whether the field is empty or not. This may be
12155	// used to include empty fields in Patch requests.
12156	ForceSendFields []string `json:"-"`
12157
12158	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
12159	// include in API requests with the JSON null value. By default, fields
12160	// with empty values are omitted from API requests. However, any field
12161	// with an empty value appearing in NullFields will be sent to the
12162	// server as null. It is an error if a field in this list has a
12163	// non-empty value. This may be used to include null fields in Patch
12164	// requests.
12165	NullFields []string `json:"-"`
12166}
12167
12168func (s *SiteSettings) MarshalJSON() ([]byte, error) {
12169	type NoMethod SiteSettings
12170	raw := NoMethod(*s)
12171	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12172}
12173
12174// SitesListResponse: Site List Response
12175type SitesListResponse struct {
12176	// Kind: Identifies what kind of resource this is. Value: the fixed
12177	// string "dfareporting#sitesListResponse".
12178	Kind string `json:"kind,omitempty"`
12179
12180	// NextPageToken: Pagination token to be used for the next list
12181	// operation.
12182	NextPageToken string `json:"nextPageToken,omitempty"`
12183
12184	// Sites: Site collection.
12185	Sites []*Site `json:"sites,omitempty"`
12186
12187	// ServerResponse contains the HTTP response code and headers from the
12188	// server.
12189	googleapi.ServerResponse `json:"-"`
12190
12191	// ForceSendFields is a list of field names (e.g. "Kind") to
12192	// unconditionally include in API requests. By default, fields with
12193	// empty values are omitted from API requests. However, any non-pointer,
12194	// non-interface field appearing in ForceSendFields will be sent to the
12195	// server regardless of whether the field is empty or not. This may be
12196	// used to include empty fields in Patch requests.
12197	ForceSendFields []string `json:"-"`
12198
12199	// NullFields is a list of field names (e.g. "Kind") to include in API
12200	// requests with the JSON null value. By default, fields with empty
12201	// values are omitted from API requests. However, any field with an
12202	// empty value appearing in NullFields will be sent to the server as
12203	// null. It is an error if a field in this list has a non-empty value.
12204	// This may be used to include null fields in Patch requests.
12205	NullFields []string `json:"-"`
12206}
12207
12208func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
12209	type NoMethod SitesListResponse
12210	raw := NoMethod(*s)
12211	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12212}
12213
12214// Size: Represents the dimensions of ads, placements, creatives, or
12215// creative assets.
12216type Size struct {
12217	// Height: Height of this size. Acceptable values are 0 to 32767,
12218	// inclusive.
12219	Height int64 `json:"height,omitempty"`
12220
12221	// Iab: IAB standard size. This is a read-only, auto-generated field.
12222	Iab bool `json:"iab,omitempty"`
12223
12224	// Id: ID of this size. This is a read-only, auto-generated field.
12225	Id int64 `json:"id,omitempty,string"`
12226
12227	// Kind: Identifies what kind of resource this is. Value: the fixed
12228	// string "dfareporting#size".
12229	Kind string `json:"kind,omitempty"`
12230
12231	// Width: Width of this size. Acceptable values are 0 to 32767,
12232	// inclusive.
12233	Width int64 `json:"width,omitempty"`
12234
12235	// ServerResponse contains the HTTP response code and headers from the
12236	// server.
12237	googleapi.ServerResponse `json:"-"`
12238
12239	// ForceSendFields is a list of field names (e.g. "Height") to
12240	// unconditionally include in API requests. By default, fields with
12241	// empty values are omitted from API requests. However, any non-pointer,
12242	// non-interface field appearing in ForceSendFields will be sent to the
12243	// server regardless of whether the field is empty or not. This may be
12244	// used to include empty fields in Patch requests.
12245	ForceSendFields []string `json:"-"`
12246
12247	// NullFields is a list of field names (e.g. "Height") to include in API
12248	// requests with the JSON null value. By default, fields with empty
12249	// values are omitted from API requests. However, any field with an
12250	// empty value appearing in NullFields will be sent to the server as
12251	// null. It is an error if a field in this list has a non-empty value.
12252	// This may be used to include null fields in Patch requests.
12253	NullFields []string `json:"-"`
12254}
12255
12256func (s *Size) MarshalJSON() ([]byte, error) {
12257	type NoMethod Size
12258	raw := NoMethod(*s)
12259	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12260}
12261
12262// SizesListResponse: Size List Response
12263type SizesListResponse struct {
12264	// Kind: Identifies what kind of resource this is. Value: the fixed
12265	// string "dfareporting#sizesListResponse".
12266	Kind string `json:"kind,omitempty"`
12267
12268	// Sizes: Size collection.
12269	Sizes []*Size `json:"sizes,omitempty"`
12270
12271	// ServerResponse contains the HTTP response code and headers from the
12272	// server.
12273	googleapi.ServerResponse `json:"-"`
12274
12275	// ForceSendFields is a list of field names (e.g. "Kind") to
12276	// unconditionally include in API requests. By default, fields with
12277	// empty values are omitted from API requests. However, any non-pointer,
12278	// non-interface field appearing in ForceSendFields will be sent to the
12279	// server regardless of whether the field is empty or not. This may be
12280	// used to include empty fields in Patch requests.
12281	ForceSendFields []string `json:"-"`
12282
12283	// NullFields is a list of field names (e.g. "Kind") to include in API
12284	// requests with the JSON null value. By default, fields with empty
12285	// values are omitted from API requests. However, any field with an
12286	// empty value appearing in NullFields will be sent to the server as
12287	// null. It is an error if a field in this list has a non-empty value.
12288	// This may be used to include null fields in Patch requests.
12289	NullFields []string `json:"-"`
12290}
12291
12292func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
12293	type NoMethod SizesListResponse
12294	raw := NoMethod(*s)
12295	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12296}
12297
12298// SkippableSetting: Skippable Settings
12299type SkippableSetting struct {
12300	// Kind: Identifies what kind of resource this is. Value: the fixed
12301	// string "dfareporting#skippableSetting".
12302	Kind string `json:"kind,omitempty"`
12303
12304	// ProgressOffset: Amount of time to play videos served to this
12305	// placement before counting a view. Applicable when skippable is true.
12306	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12307
12308	// SkipOffset: Amount of time to play videos served to this placement
12309	// before the skip button should appear. Applicable when skippable is
12310	// true.
12311	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12312
12313	// Skippable: Whether the user can skip creatives served to this
12314	// placement.
12315	Skippable bool `json:"skippable,omitempty"`
12316
12317	// ForceSendFields is a list of field names (e.g. "Kind") to
12318	// unconditionally include in API requests. By default, fields with
12319	// empty values are omitted from API requests. However, any non-pointer,
12320	// non-interface field appearing in ForceSendFields will be sent to the
12321	// server regardless of whether the field is empty or not. This may be
12322	// used to include empty fields in Patch requests.
12323	ForceSendFields []string `json:"-"`
12324
12325	// NullFields is a list of field names (e.g. "Kind") to include in API
12326	// requests with the JSON null value. By default, fields with empty
12327	// values are omitted from API requests. However, any field with an
12328	// empty value appearing in NullFields will be sent to the server as
12329	// null. It is an error if a field in this list has a non-empty value.
12330	// This may be used to include null fields in Patch requests.
12331	NullFields []string `json:"-"`
12332}
12333
12334func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
12335	type NoMethod SkippableSetting
12336	raw := NoMethod(*s)
12337	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12338}
12339
12340// SortedDimension: Represents a sorted dimension.
12341type SortedDimension struct {
12342	// Kind: The kind of resource this is, in this case
12343	// dfareporting#sortedDimension.
12344	Kind string `json:"kind,omitempty"`
12345
12346	// Name: The name of the dimension.
12347	Name string `json:"name,omitempty"`
12348
12349	// SortOrder: An optional sort order for the dimension column.
12350	//
12351	// Possible values:
12352	//   "ASCENDING"
12353	//   "DESCENDING"
12354	SortOrder string `json:"sortOrder,omitempty"`
12355
12356	// ForceSendFields is a list of field names (e.g. "Kind") to
12357	// unconditionally include in API requests. By default, fields with
12358	// empty values are omitted from API requests. However, any non-pointer,
12359	// non-interface field appearing in ForceSendFields will be sent to the
12360	// server regardless of whether the field is empty or not. This may be
12361	// used to include empty fields in Patch requests.
12362	ForceSendFields []string `json:"-"`
12363
12364	// NullFields is a list of field names (e.g. "Kind") to include in API
12365	// requests with the JSON null value. By default, fields with empty
12366	// values are omitted from API requests. However, any field with an
12367	// empty value appearing in NullFields will be sent to the server as
12368	// null. It is an error if a field in this list has a non-empty value.
12369	// This may be used to include null fields in Patch requests.
12370	NullFields []string `json:"-"`
12371}
12372
12373func (s *SortedDimension) MarshalJSON() ([]byte, error) {
12374	type NoMethod SortedDimension
12375	raw := NoMethod(*s)
12376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12377}
12378
12379// Subaccount: Contains properties of a DCM subaccount.
12380type Subaccount struct {
12381	// AccountId: ID of the account that contains this subaccount. This is a
12382	// read-only field that can be left blank.
12383	AccountId int64 `json:"accountId,omitempty,string"`
12384
12385	// AvailablePermissionIds: IDs of the available user role permissions
12386	// for this subaccount.
12387	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
12388
12389	// Id: ID of this subaccount. This is a read-only, auto-generated field.
12390	Id int64 `json:"id,omitempty,string"`
12391
12392	// Kind: Identifies what kind of resource this is. Value: the fixed
12393	// string "dfareporting#subaccount".
12394	Kind string `json:"kind,omitempty"`
12395
12396	// Name: Name of this subaccount. This is a required field. Must be less
12397	// than 128 characters long and be unique among subaccounts of the same
12398	// account.
12399	Name string `json:"name,omitempty"`
12400
12401	// ServerResponse contains the HTTP response code and headers from the
12402	// server.
12403	googleapi.ServerResponse `json:"-"`
12404
12405	// ForceSendFields is a list of field names (e.g. "AccountId") to
12406	// unconditionally include in API requests. By default, fields with
12407	// empty values are omitted from API requests. However, any non-pointer,
12408	// non-interface field appearing in ForceSendFields will be sent to the
12409	// server regardless of whether the field is empty or not. This may be
12410	// used to include empty fields in Patch requests.
12411	ForceSendFields []string `json:"-"`
12412
12413	// NullFields is a list of field names (e.g. "AccountId") to include in
12414	// API requests with the JSON null value. By default, fields with empty
12415	// values are omitted from API requests. However, any field with an
12416	// empty value appearing in NullFields will be sent to the server as
12417	// null. It is an error if a field in this list has a non-empty value.
12418	// This may be used to include null fields in Patch requests.
12419	NullFields []string `json:"-"`
12420}
12421
12422func (s *Subaccount) MarshalJSON() ([]byte, error) {
12423	type NoMethod Subaccount
12424	raw := NoMethod(*s)
12425	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12426}
12427
12428// SubaccountsListResponse: Subaccount List Response
12429type SubaccountsListResponse struct {
12430	// Kind: Identifies what kind of resource this is. Value: the fixed
12431	// string "dfareporting#subaccountsListResponse".
12432	Kind string `json:"kind,omitempty"`
12433
12434	// NextPageToken: Pagination token to be used for the next list
12435	// operation.
12436	NextPageToken string `json:"nextPageToken,omitempty"`
12437
12438	// Subaccounts: Subaccount collection.
12439	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
12440
12441	// ServerResponse contains the HTTP response code and headers from the
12442	// server.
12443	googleapi.ServerResponse `json:"-"`
12444
12445	// ForceSendFields is a list of field names (e.g. "Kind") to
12446	// unconditionally include in API requests. By default, fields with
12447	// empty values are omitted from API requests. However, any non-pointer,
12448	// non-interface field appearing in ForceSendFields will be sent to the
12449	// server regardless of whether the field is empty or not. This may be
12450	// used to include empty fields in Patch requests.
12451	ForceSendFields []string `json:"-"`
12452
12453	// NullFields is a list of field names (e.g. "Kind") to include in API
12454	// requests with the JSON null value. By default, fields with empty
12455	// values are omitted from API requests. However, any field with an
12456	// empty value appearing in NullFields will be sent to the server as
12457	// null. It is an error if a field in this list has a non-empty value.
12458	// This may be used to include null fields in Patch requests.
12459	NullFields []string `json:"-"`
12460}
12461
12462func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
12463	type NoMethod SubaccountsListResponse
12464	raw := NoMethod(*s)
12465	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12466}
12467
12468// TagData: Placement Tag Data
12469type TagData struct {
12470	// AdId: Ad associated with this placement tag. Applicable only when
12471	// format is PLACEMENT_TAG_TRACKING.
12472	AdId int64 `json:"adId,omitempty,string"`
12473
12474	// ClickTag: Tag string to record a click.
12475	ClickTag string `json:"clickTag,omitempty"`
12476
12477	// CreativeId: Creative associated with this placement tag. Applicable
12478	// only when format is PLACEMENT_TAG_TRACKING.
12479	CreativeId int64 `json:"creativeId,omitempty,string"`
12480
12481	// Format: TagData tag format of this tag.
12482	//
12483	// Possible values:
12484	//   "PLACEMENT_TAG_CLICK_COMMANDS"
12485	//   "PLACEMENT_TAG_IFRAME_ILAYER"
12486	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
12487	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
12488	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
12489	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
12490	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
12491	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
12492	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
12493	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
12494	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
12495	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
12496	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
12497	//   "PLACEMENT_TAG_JAVASCRIPT"
12498	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
12499	//   "PLACEMENT_TAG_STANDARD"
12500	//   "PLACEMENT_TAG_TRACKING"
12501	//   "PLACEMENT_TAG_TRACKING_IFRAME"
12502	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
12503	Format string `json:"format,omitempty"`
12504
12505	// ImpressionTag: Tag string for serving an ad.
12506	ImpressionTag string `json:"impressionTag,omitempty"`
12507
12508	// ForceSendFields is a list of field names (e.g. "AdId") to
12509	// unconditionally include in API requests. By default, fields with
12510	// empty values are omitted from API requests. However, any non-pointer,
12511	// non-interface field appearing in ForceSendFields will be sent to the
12512	// server regardless of whether the field is empty or not. This may be
12513	// used to include empty fields in Patch requests.
12514	ForceSendFields []string `json:"-"`
12515
12516	// NullFields is a list of field names (e.g. "AdId") to include in API
12517	// requests with the JSON null value. By default, fields with empty
12518	// values are omitted from API requests. However, any field with an
12519	// empty value appearing in NullFields will be sent to the server as
12520	// null. It is an error if a field in this list has a non-empty value.
12521	// This may be used to include null fields in Patch requests.
12522	NullFields []string `json:"-"`
12523}
12524
12525func (s *TagData) MarshalJSON() ([]byte, error) {
12526	type NoMethod TagData
12527	raw := NoMethod(*s)
12528	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12529}
12530
12531// TagSetting: Tag Settings
12532type TagSetting struct {
12533	// AdditionalKeyValues: Additional key-values to be included in tags.
12534	// Each key-value pair must be of the form key=value, and pairs must be
12535	// separated by a semicolon (;). Keys and values must not contain
12536	// commas. For example, id=2;color=red is a valid value for this field.
12537	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
12538
12539	// IncludeClickThroughUrls: Whether static landing page URLs should be
12540	// included in the tags. This setting applies only to placements.
12541	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
12542
12543	// IncludeClickTracking: Whether click-tracking string should be
12544	// included in the tags.
12545	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
12546
12547	// KeywordOption: Option specifying how keywords are embedded in ad
12548	// tags. This setting can be used to specify whether keyword
12549	// placeholders are inserted in placement tags for this site. Publishers
12550	// can then add keywords to those placeholders.
12551	//
12552	// Possible values:
12553	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
12554	//   "IGNORE"
12555	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
12556	KeywordOption string `json:"keywordOption,omitempty"`
12557
12558	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
12559	// to unconditionally include in API requests. By default, fields with
12560	// empty values are omitted from API requests. However, any non-pointer,
12561	// non-interface field appearing in ForceSendFields will be sent to the
12562	// server regardless of whether the field is empty or not. This may be
12563	// used to include empty fields in Patch requests.
12564	ForceSendFields []string `json:"-"`
12565
12566	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
12567	// include in API requests with the JSON null value. By default, fields
12568	// with empty values are omitted from API requests. However, any field
12569	// with an empty value appearing in NullFields will be sent to the
12570	// server as null. It is an error if a field in this list has a
12571	// non-empty value. This may be used to include null fields in Patch
12572	// requests.
12573	NullFields []string `json:"-"`
12574}
12575
12576func (s *TagSetting) MarshalJSON() ([]byte, error) {
12577	type NoMethod TagSetting
12578	raw := NoMethod(*s)
12579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12580}
12581
12582// TagSettings: Dynamic and Image Tag Settings.
12583type TagSettings struct {
12584	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
12585	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
12586
12587	// ImageTagEnabled: Whether image tags are enabled.
12588	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
12589
12590	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
12591	// to unconditionally include in API requests. By default, fields with
12592	// empty values are omitted from API requests. However, any non-pointer,
12593	// non-interface field appearing in ForceSendFields will be sent to the
12594	// server regardless of whether the field is empty or not. This may be
12595	// used to include empty fields in Patch requests.
12596	ForceSendFields []string `json:"-"`
12597
12598	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
12599	// include in API requests with the JSON null value. By default, fields
12600	// with empty values are omitted from API requests. However, any field
12601	// with an empty value appearing in NullFields will be sent to the
12602	// server as null. It is an error if a field in this list has a
12603	// non-empty value. This may be used to include null fields in Patch
12604	// requests.
12605	NullFields []string `json:"-"`
12606}
12607
12608func (s *TagSettings) MarshalJSON() ([]byte, error) {
12609	type NoMethod TagSettings
12610	raw := NoMethod(*s)
12611	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12612}
12613
12614// TargetWindow: Target Window.
12615type TargetWindow struct {
12616	// CustomHtml: User-entered value.
12617	CustomHtml string `json:"customHtml,omitempty"`
12618
12619	// TargetWindowOption: Type of browser window for which the backup image
12620	// of the flash creative can be displayed.
12621	//
12622	// Possible values:
12623	//   "CURRENT_WINDOW"
12624	//   "CUSTOM"
12625	//   "NEW_WINDOW"
12626	TargetWindowOption string `json:"targetWindowOption,omitempty"`
12627
12628	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
12629	// unconditionally include in API requests. By default, fields with
12630	// empty values are omitted from API requests. However, any non-pointer,
12631	// non-interface field appearing in ForceSendFields will be sent to the
12632	// server regardless of whether the field is empty or not. This may be
12633	// used to include empty fields in Patch requests.
12634	ForceSendFields []string `json:"-"`
12635
12636	// NullFields is a list of field names (e.g. "CustomHtml") to include in
12637	// API requests with the JSON null value. By default, fields with empty
12638	// values are omitted from API requests. However, any field with an
12639	// empty value appearing in NullFields will be sent to the server as
12640	// null. It is an error if a field in this list has a non-empty value.
12641	// This may be used to include null fields in Patch requests.
12642	NullFields []string `json:"-"`
12643}
12644
12645func (s *TargetWindow) MarshalJSON() ([]byte, error) {
12646	type NoMethod TargetWindow
12647	raw := NoMethod(*s)
12648	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12649}
12650
12651// TargetableRemarketingList: Contains properties of a targetable
12652// remarketing list. Remarketing enables you to create lists of users
12653// who have performed specific actions on a site, then target ads to
12654// members of those lists. This resource is a read-only view of a
12655// remarketing list to be used to faciliate targeting ads to specific
12656// lists. Remarketing lists that are owned by your advertisers and those
12657// that are shared to your advertisers or account are accessible via
12658// this resource. To manage remarketing lists that are owned by your
12659// advertisers, use the RemarketingLists resource.
12660type TargetableRemarketingList struct {
12661	// AccountId: Account ID of this remarketing list. This is a read-only,
12662	// auto-generated field that is only returned in GET requests.
12663	AccountId int64 `json:"accountId,omitempty,string"`
12664
12665	// Active: Whether this targetable remarketing list is active.
12666	Active bool `json:"active,omitempty"`
12667
12668	// AdvertiserId: Dimension value for the advertiser ID that owns this
12669	// targetable remarketing list.
12670	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12671
12672	// AdvertiserIdDimensionValue: Dimension value for the ID of the
12673	// advertiser.
12674	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
12675
12676	// Description: Targetable remarketing list description.
12677	Description string `json:"description,omitempty"`
12678
12679	// Id: Targetable remarketing list ID.
12680	Id int64 `json:"id,omitempty,string"`
12681
12682	// Kind: Identifies what kind of resource this is. Value: the fixed
12683	// string "dfareporting#targetableRemarketingList".
12684	Kind string `json:"kind,omitempty"`
12685
12686	// LifeSpan: Number of days that a user should remain in the targetable
12687	// remarketing list without an impression.
12688	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
12689
12690	// ListSize: Number of users currently in the list. This is a read-only
12691	// field.
12692	ListSize int64 `json:"listSize,omitempty,string"`
12693
12694	// ListSource: Product from which this targetable remarketing list was
12695	// originated.
12696	//
12697	// Possible values:
12698	//   "REMARKETING_LIST_SOURCE_ADX"
12699	//   "REMARKETING_LIST_SOURCE_DBM"
12700	//   "REMARKETING_LIST_SOURCE_DFA"
12701	//   "REMARKETING_LIST_SOURCE_DFP"
12702	//   "REMARKETING_LIST_SOURCE_DMP"
12703	//   "REMARKETING_LIST_SOURCE_GA"
12704	//   "REMARKETING_LIST_SOURCE_GPLUS"
12705	//   "REMARKETING_LIST_SOURCE_OTHER"
12706	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
12707	//   "REMARKETING_LIST_SOURCE_XFP"
12708	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
12709	ListSource string `json:"listSource,omitempty"`
12710
12711	// Name: Name of the targetable remarketing list. Is no greater than 128
12712	// characters long.
12713	Name string `json:"name,omitempty"`
12714
12715	// SubaccountId: Subaccount ID of this remarketing list. This is a
12716	// read-only, auto-generated field that is only returned in GET
12717	// requests.
12718	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12719
12720	// ServerResponse contains the HTTP response code and headers from the
12721	// server.
12722	googleapi.ServerResponse `json:"-"`
12723
12724	// ForceSendFields is a list of field names (e.g. "AccountId") to
12725	// unconditionally include in API requests. By default, fields with
12726	// empty values are omitted from API requests. However, any non-pointer,
12727	// non-interface field appearing in ForceSendFields will be sent to the
12728	// server regardless of whether the field is empty or not. This may be
12729	// used to include empty fields in Patch requests.
12730	ForceSendFields []string `json:"-"`
12731
12732	// NullFields is a list of field names (e.g. "AccountId") to include in
12733	// API requests with the JSON null value. By default, fields with empty
12734	// values are omitted from API requests. However, any field with an
12735	// empty value appearing in NullFields will be sent to the server as
12736	// null. It is an error if a field in this list has a non-empty value.
12737	// This may be used to include null fields in Patch requests.
12738	NullFields []string `json:"-"`
12739}
12740
12741func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
12742	type NoMethod TargetableRemarketingList
12743	raw := NoMethod(*s)
12744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12745}
12746
12747// TargetableRemarketingListsListResponse: Targetable remarketing list
12748// response
12749type TargetableRemarketingListsListResponse struct {
12750	// Kind: Identifies what kind of resource this is. Value: the fixed
12751	// string "dfareporting#targetableRemarketingListsListResponse".
12752	Kind string `json:"kind,omitempty"`
12753
12754	// NextPageToken: Pagination token to be used for the next list
12755	// operation.
12756	NextPageToken string `json:"nextPageToken,omitempty"`
12757
12758	// TargetableRemarketingLists: Targetable remarketing list collection.
12759	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
12760
12761	// ServerResponse contains the HTTP response code and headers from the
12762	// server.
12763	googleapi.ServerResponse `json:"-"`
12764
12765	// ForceSendFields is a list of field names (e.g. "Kind") to
12766	// unconditionally include in API requests. By default, fields with
12767	// empty values are omitted from API requests. However, any non-pointer,
12768	// non-interface field appearing in ForceSendFields will be sent to the
12769	// server regardless of whether the field is empty or not. This may be
12770	// used to include empty fields in Patch requests.
12771	ForceSendFields []string `json:"-"`
12772
12773	// NullFields is a list of field names (e.g. "Kind") to include in API
12774	// requests with the JSON null value. By default, fields with empty
12775	// values are omitted from API requests. However, any field with an
12776	// empty value appearing in NullFields will be sent to the server as
12777	// null. It is an error if a field in this list has a non-empty value.
12778	// This may be used to include null fields in Patch requests.
12779	NullFields []string `json:"-"`
12780}
12781
12782func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
12783	type NoMethod TargetableRemarketingListsListResponse
12784	raw := NoMethod(*s)
12785	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12786}
12787
12788// TargetingTemplate: Contains properties of a targeting template. A
12789// targeting template encapsulates targeting information which can be
12790// reused across multiple ads.
12791type TargetingTemplate struct {
12792	// AccountId: Account ID of this targeting template. This field, if left
12793	// unset, will be auto-generated on insert and is read-only after
12794	// insert.
12795	AccountId int64 `json:"accountId,omitempty,string"`
12796
12797	// AdvertiserId: Advertiser ID of this targeting template. This is a
12798	// required field on insert and is read-only after insert.
12799	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12800
12801	// AdvertiserIdDimensionValue: Dimension value for the ID of the
12802	// advertiser. This is a read-only, auto-generated field.
12803	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
12804
12805	// DayPartTargeting: Time and day targeting criteria.
12806	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
12807
12808	// GeoTargeting: Geographical targeting criteria.
12809	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
12810
12811	// Id: ID of this targeting template. This is a read-only,
12812	// auto-generated field.
12813	Id int64 `json:"id,omitempty,string"`
12814
12815	// KeyValueTargetingExpression: Key-value targeting criteria.
12816	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
12817
12818	// Kind: Identifies what kind of resource this is. Value: the fixed
12819	// string "dfareporting#targetingTemplate".
12820	Kind string `json:"kind,omitempty"`
12821
12822	// LanguageTargeting: Language targeting criteria.
12823	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
12824
12825	// ListTargetingExpression: Remarketing list targeting criteria.
12826	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
12827
12828	// Name: Name of this targeting template. This field is required. It
12829	// must be less than 256 characters long and unique within an
12830	// advertiser.
12831	Name string `json:"name,omitempty"`
12832
12833	// SubaccountId: Subaccount ID of this targeting template. This field,
12834	// if left unset, will be auto-generated on insert and is read-only
12835	// after insert.
12836	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12837
12838	// TechnologyTargeting: Technology platform targeting criteria.
12839	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
12840
12841	// ServerResponse contains the HTTP response code and headers from the
12842	// server.
12843	googleapi.ServerResponse `json:"-"`
12844
12845	// ForceSendFields is a list of field names (e.g. "AccountId") to
12846	// unconditionally include in API requests. By default, fields with
12847	// empty values are omitted from API requests. However, any non-pointer,
12848	// non-interface field appearing in ForceSendFields will be sent to the
12849	// server regardless of whether the field is empty or not. This may be
12850	// used to include empty fields in Patch requests.
12851	ForceSendFields []string `json:"-"`
12852
12853	// NullFields is a list of field names (e.g. "AccountId") to include in
12854	// API requests with the JSON null value. By default, fields with empty
12855	// values are omitted from API requests. However, any field with an
12856	// empty value appearing in NullFields will be sent to the server as
12857	// null. It is an error if a field in this list has a non-empty value.
12858	// This may be used to include null fields in Patch requests.
12859	NullFields []string `json:"-"`
12860}
12861
12862func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
12863	type NoMethod TargetingTemplate
12864	raw := NoMethod(*s)
12865	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12866}
12867
12868// TargetingTemplatesListResponse: Targeting Template List Response
12869type TargetingTemplatesListResponse struct {
12870	// Kind: Identifies what kind of resource this is. Value: the fixed
12871	// string "dfareporting#targetingTemplatesListResponse".
12872	Kind string `json:"kind,omitempty"`
12873
12874	// NextPageToken: Pagination token to be used for the next list
12875	// operation.
12876	NextPageToken string `json:"nextPageToken,omitempty"`
12877
12878	// TargetingTemplates: Targeting template collection.
12879	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
12880
12881	// ServerResponse contains the HTTP response code and headers from the
12882	// server.
12883	googleapi.ServerResponse `json:"-"`
12884
12885	// ForceSendFields is a list of field names (e.g. "Kind") to
12886	// unconditionally include in API requests. By default, fields with
12887	// empty values are omitted from API requests. However, any non-pointer,
12888	// non-interface field appearing in ForceSendFields will be sent to the
12889	// server regardless of whether the field is empty or not. This may be
12890	// used to include empty fields in Patch requests.
12891	ForceSendFields []string `json:"-"`
12892
12893	// NullFields is a list of field names (e.g. "Kind") to include in API
12894	// requests with the JSON null value. By default, fields with empty
12895	// values are omitted from API requests. However, any field with an
12896	// empty value appearing in NullFields will be sent to the server as
12897	// null. It is an error if a field in this list has a non-empty value.
12898	// This may be used to include null fields in Patch requests.
12899	NullFields []string `json:"-"`
12900}
12901
12902func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
12903	type NoMethod TargetingTemplatesListResponse
12904	raw := NoMethod(*s)
12905	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12906}
12907
12908// TechnologyTargeting: Technology Targeting.
12909type TechnologyTargeting struct {
12910	// Browsers: Browsers that this ad targets. For each browser either set
12911	// browserVersionId or dartId along with the version numbers. If both
12912	// are specified, only browserVersionId will be used. The other fields
12913	// are populated automatically when the ad is inserted or updated.
12914	Browsers []*Browser `json:"browsers,omitempty"`
12915
12916	// ConnectionTypes: Connection types that this ad targets. For each
12917	// connection type only id is required. The other fields are populated
12918	// automatically when the ad is inserted or updated.
12919	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
12920
12921	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
12922	// carrier only id is required, and the other fields are populated
12923	// automatically when the ad is inserted or updated. If targeting a
12924	// mobile carrier, do not set targeting for any zip codes.
12925	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
12926
12927	// OperatingSystemVersions: Operating system versions that this ad
12928	// targets. To target all versions, use operatingSystems. For each
12929	// operating system version, only id is required. The other fields are
12930	// populated automatically when the ad is inserted or updated. If
12931	// targeting an operating system version, do not set targeting for the
12932	// corresponding operating system in operatingSystems.
12933	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
12934
12935	// OperatingSystems: Operating systems that this ad targets. To target
12936	// specific versions, use operatingSystemVersions. For each operating
12937	// system only dartId is required. The other fields are populated
12938	// automatically when the ad is inserted or updated. If targeting an
12939	// operating system, do not set targeting for operating system versions
12940	// for the same operating system.
12941	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
12942
12943	// PlatformTypes: Platform types that this ad targets. For example,
12944	// desktop, mobile, or tablet. For each platform type, only id is
12945	// required, and the other fields are populated automatically when the
12946	// ad is inserted or updated.
12947	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
12948
12949	// ForceSendFields is a list of field names (e.g. "Browsers") to
12950	// unconditionally include in API requests. By default, fields with
12951	// empty values are omitted from API requests. However, any non-pointer,
12952	// non-interface field appearing in ForceSendFields will be sent to the
12953	// server regardless of whether the field is empty or not. This may be
12954	// used to include empty fields in Patch requests.
12955	ForceSendFields []string `json:"-"`
12956
12957	// NullFields is a list of field names (e.g. "Browsers") to include in
12958	// API requests with the JSON null value. By default, fields with empty
12959	// values are omitted from API requests. However, any field with an
12960	// empty value appearing in NullFields will be sent to the server as
12961	// null. It is an error if a field in this list has a non-empty value.
12962	// This may be used to include null fields in Patch requests.
12963	NullFields []string `json:"-"`
12964}
12965
12966func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
12967	type NoMethod TechnologyTargeting
12968	raw := NoMethod(*s)
12969	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12970}
12971
12972// ThirdPartyAuthenticationToken: Third Party Authentication Token
12973type ThirdPartyAuthenticationToken struct {
12974	// Name: Name of the third-party authentication token.
12975	Name string `json:"name,omitempty"`
12976
12977	// Value: Value of the third-party authentication token. This is a
12978	// read-only, auto-generated field.
12979	Value string `json:"value,omitempty"`
12980
12981	// ForceSendFields is a list of field names (e.g. "Name") to
12982	// unconditionally include in API requests. By default, fields with
12983	// empty values are omitted from API requests. However, any non-pointer,
12984	// non-interface field appearing in ForceSendFields will be sent to the
12985	// server regardless of whether the field is empty or not. This may be
12986	// used to include empty fields in Patch requests.
12987	ForceSendFields []string `json:"-"`
12988
12989	// NullFields is a list of field names (e.g. "Name") to include in API
12990	// requests with the JSON null value. By default, fields with empty
12991	// values are omitted from API requests. However, any field with an
12992	// empty value appearing in NullFields will be sent to the server as
12993	// null. It is an error if a field in this list has a non-empty value.
12994	// This may be used to include null fields in Patch requests.
12995	NullFields []string `json:"-"`
12996}
12997
12998func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
12999	type NoMethod ThirdPartyAuthenticationToken
13000	raw := NoMethod(*s)
13001	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13002}
13003
13004// ThirdPartyTrackingUrl: Third-party Tracking URL.
13005type ThirdPartyTrackingUrl struct {
13006	// ThirdPartyUrlType: Third-party URL type for in-stream video
13007	// creatives.
13008	//
13009	// Possible values:
13010	//   "CLICK_TRACKING"
13011	//   "IMPRESSION"
13012	//   "RICH_MEDIA_BACKUP_IMPRESSION"
13013	//   "RICH_MEDIA_IMPRESSION"
13014	//   "RICH_MEDIA_RM_IMPRESSION"
13015	//   "SURVEY"
13016	//   "VIDEO_COMPLETE"
13017	//   "VIDEO_CUSTOM"
13018	//   "VIDEO_FIRST_QUARTILE"
13019	//   "VIDEO_FULLSCREEN"
13020	//   "VIDEO_MIDPOINT"
13021	//   "VIDEO_MUTE"
13022	//   "VIDEO_PAUSE"
13023	//   "VIDEO_PROGRESS"
13024	//   "VIDEO_REWIND"
13025	//   "VIDEO_SKIP"
13026	//   "VIDEO_START"
13027	//   "VIDEO_STOP"
13028	//   "VIDEO_THIRD_QUARTILE"
13029	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
13030
13031	// Url: URL for the specified third-party URL type.
13032	Url string `json:"url,omitempty"`
13033
13034	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
13035	// to unconditionally include in API requests. By default, fields with
13036	// empty values are omitted from API requests. However, any non-pointer,
13037	// non-interface field appearing in ForceSendFields will be sent to the
13038	// server regardless of whether the field is empty or not. This may be
13039	// used to include empty fields in Patch requests.
13040	ForceSendFields []string `json:"-"`
13041
13042	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
13043	// include in API requests with the JSON null value. By default, fields
13044	// with empty values are omitted from API requests. However, any field
13045	// with an empty value appearing in NullFields will be sent to the
13046	// server as null. It is an error if a field in this list has a
13047	// non-empty value. This may be used to include null fields in Patch
13048	// requests.
13049	NullFields []string `json:"-"`
13050}
13051
13052func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
13053	type NoMethod ThirdPartyTrackingUrl
13054	raw := NoMethod(*s)
13055	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13056}
13057
13058// TranscodeSetting: Transcode Settings
13059type TranscodeSetting struct {
13060	// EnabledVideoFormats: Whitelist of video formats to be served to this
13061	// placement. Set this list to null or empty to serve all video formats.
13062	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
13063
13064	// Kind: Identifies what kind of resource this is. Value: the fixed
13065	// string "dfareporting#transcodeSetting".
13066	Kind string `json:"kind,omitempty"`
13067
13068	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
13069	// to unconditionally include in API requests. By default, fields with
13070	// empty values are omitted from API requests. However, any non-pointer,
13071	// non-interface field appearing in ForceSendFields will be sent to the
13072	// server regardless of whether the field is empty or not. This may be
13073	// used to include empty fields in Patch requests.
13074	ForceSendFields []string `json:"-"`
13075
13076	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
13077	// include in API requests with the JSON null value. By default, fields
13078	// with empty values are omitted from API requests. However, any field
13079	// with an empty value appearing in NullFields will be sent to the
13080	// server as null. It is an error if a field in this list has a
13081	// non-empty value. This may be used to include null fields in Patch
13082	// requests.
13083	NullFields []string `json:"-"`
13084}
13085
13086func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
13087	type NoMethod TranscodeSetting
13088	raw := NoMethod(*s)
13089	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13090}
13091
13092// UserDefinedVariableConfiguration: User Defined Variable
13093// configuration.
13094type UserDefinedVariableConfiguration struct {
13095	// DataType: Data type for the variable. This is a required field.
13096	//
13097	// Possible values:
13098	//   "NUMBER"
13099	//   "STRING"
13100	DataType string `json:"dataType,omitempty"`
13101
13102	// ReportName: User-friendly name for the variable which will appear in
13103	// reports. This is a required field, must be less than 64 characters
13104	// long, and cannot contain the following characters: ""<>".
13105	ReportName string `json:"reportName,omitempty"`
13106
13107	// VariableType: Variable name in the tag. This is a required field.
13108	//
13109	// Possible values:
13110	//   "U1"
13111	//   "U10"
13112	//   "U100"
13113	//   "U11"
13114	//   "U12"
13115	//   "U13"
13116	//   "U14"
13117	//   "U15"
13118	//   "U16"
13119	//   "U17"
13120	//   "U18"
13121	//   "U19"
13122	//   "U2"
13123	//   "U20"
13124	//   "U21"
13125	//   "U22"
13126	//   "U23"
13127	//   "U24"
13128	//   "U25"
13129	//   "U26"
13130	//   "U27"
13131	//   "U28"
13132	//   "U29"
13133	//   "U3"
13134	//   "U30"
13135	//   "U31"
13136	//   "U32"
13137	//   "U33"
13138	//   "U34"
13139	//   "U35"
13140	//   "U36"
13141	//   "U37"
13142	//   "U38"
13143	//   "U39"
13144	//   "U4"
13145	//   "U40"
13146	//   "U41"
13147	//   "U42"
13148	//   "U43"
13149	//   "U44"
13150	//   "U45"
13151	//   "U46"
13152	//   "U47"
13153	//   "U48"
13154	//   "U49"
13155	//   "U5"
13156	//   "U50"
13157	//   "U51"
13158	//   "U52"
13159	//   "U53"
13160	//   "U54"
13161	//   "U55"
13162	//   "U56"
13163	//   "U57"
13164	//   "U58"
13165	//   "U59"
13166	//   "U6"
13167	//   "U60"
13168	//   "U61"
13169	//   "U62"
13170	//   "U63"
13171	//   "U64"
13172	//   "U65"
13173	//   "U66"
13174	//   "U67"
13175	//   "U68"
13176	//   "U69"
13177	//   "U7"
13178	//   "U70"
13179	//   "U71"
13180	//   "U72"
13181	//   "U73"
13182	//   "U74"
13183	//   "U75"
13184	//   "U76"
13185	//   "U77"
13186	//   "U78"
13187	//   "U79"
13188	//   "U8"
13189	//   "U80"
13190	//   "U81"
13191	//   "U82"
13192	//   "U83"
13193	//   "U84"
13194	//   "U85"
13195	//   "U86"
13196	//   "U87"
13197	//   "U88"
13198	//   "U89"
13199	//   "U9"
13200	//   "U90"
13201	//   "U91"
13202	//   "U92"
13203	//   "U93"
13204	//   "U94"
13205	//   "U95"
13206	//   "U96"
13207	//   "U97"
13208	//   "U98"
13209	//   "U99"
13210	VariableType string `json:"variableType,omitempty"`
13211
13212	// ForceSendFields is a list of field names (e.g. "DataType") to
13213	// unconditionally include in API requests. By default, fields with
13214	// empty values are omitted from API requests. However, any non-pointer,
13215	// non-interface field appearing in ForceSendFields will be sent to the
13216	// server regardless of whether the field is empty or not. This may be
13217	// used to include empty fields in Patch requests.
13218	ForceSendFields []string `json:"-"`
13219
13220	// NullFields is a list of field names (e.g. "DataType") to include in
13221	// API requests with the JSON null value. By default, fields with empty
13222	// values are omitted from API requests. However, any field with an
13223	// empty value appearing in NullFields will be sent to the server as
13224	// null. It is an error if a field in this list has a non-empty value.
13225	// This may be used to include null fields in Patch requests.
13226	NullFields []string `json:"-"`
13227}
13228
13229func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
13230	type NoMethod UserDefinedVariableConfiguration
13231	raw := NoMethod(*s)
13232	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13233}
13234
13235// UserProfile: Represents a UserProfile resource.
13236type UserProfile struct {
13237	// AccountId: The account ID to which this profile belongs.
13238	AccountId int64 `json:"accountId,omitempty,string"`
13239
13240	// AccountName: The account name this profile belongs to.
13241	AccountName string `json:"accountName,omitempty"`
13242
13243	// Etag: The eTag of this response for caching purposes.
13244	Etag string `json:"etag,omitempty"`
13245
13246	// Kind: The kind of resource this is, in this case
13247	// dfareporting#userProfile.
13248	Kind string `json:"kind,omitempty"`
13249
13250	// ProfileId: The unique ID of the user profile.
13251	ProfileId int64 `json:"profileId,omitempty,string"`
13252
13253	// SubAccountId: The sub account ID this profile belongs to if
13254	// applicable.
13255	SubAccountId int64 `json:"subAccountId,omitempty,string"`
13256
13257	// SubAccountName: The sub account name this profile belongs to if
13258	// applicable.
13259	SubAccountName string `json:"subAccountName,omitempty"`
13260
13261	// UserName: The user name.
13262	UserName string `json:"userName,omitempty"`
13263
13264	// ServerResponse contains the HTTP response code and headers from the
13265	// server.
13266	googleapi.ServerResponse `json:"-"`
13267
13268	// ForceSendFields is a list of field names (e.g. "AccountId") to
13269	// unconditionally include in API requests. By default, fields with
13270	// empty values are omitted from API requests. However, any non-pointer,
13271	// non-interface field appearing in ForceSendFields will be sent to the
13272	// server regardless of whether the field is empty or not. This may be
13273	// used to include empty fields in Patch requests.
13274	ForceSendFields []string `json:"-"`
13275
13276	// NullFields is a list of field names (e.g. "AccountId") to include in
13277	// API requests with the JSON null value. By default, fields with empty
13278	// values are omitted from API requests. However, any field with an
13279	// empty value appearing in NullFields will be sent to the server as
13280	// null. It is an error if a field in this list has a non-empty value.
13281	// This may be used to include null fields in Patch requests.
13282	NullFields []string `json:"-"`
13283}
13284
13285func (s *UserProfile) MarshalJSON() ([]byte, error) {
13286	type NoMethod UserProfile
13287	raw := NoMethod(*s)
13288	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13289}
13290
13291// UserProfileList: Represents the list of user profiles.
13292type UserProfileList struct {
13293	// Etag: The eTag of this response for caching purposes.
13294	Etag string `json:"etag,omitempty"`
13295
13296	// Items: The user profiles returned in this response.
13297	Items []*UserProfile `json:"items,omitempty"`
13298
13299	// Kind: The kind of list this is, in this case
13300	// dfareporting#userProfileList.
13301	Kind string `json:"kind,omitempty"`
13302
13303	// ServerResponse contains the HTTP response code and headers from the
13304	// server.
13305	googleapi.ServerResponse `json:"-"`
13306
13307	// ForceSendFields is a list of field names (e.g. "Etag") to
13308	// unconditionally include in API requests. By default, fields with
13309	// empty values are omitted from API requests. However, any non-pointer,
13310	// non-interface field appearing in ForceSendFields will be sent to the
13311	// server regardless of whether the field is empty or not. This may be
13312	// used to include empty fields in Patch requests.
13313	ForceSendFields []string `json:"-"`
13314
13315	// NullFields is a list of field names (e.g. "Etag") to include in API
13316	// requests with the JSON null value. By default, fields with empty
13317	// values are omitted from API requests. However, any field with an
13318	// empty value appearing in NullFields will be sent to the server as
13319	// null. It is an error if a field in this list has a non-empty value.
13320	// This may be used to include null fields in Patch requests.
13321	NullFields []string `json:"-"`
13322}
13323
13324func (s *UserProfileList) MarshalJSON() ([]byte, error) {
13325	type NoMethod UserProfileList
13326	raw := NoMethod(*s)
13327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13328}
13329
13330// UserRole: Contains properties of auser role, which is used to manage
13331// user access.
13332type UserRole struct {
13333	// AccountId: Account ID of this user role. This is a read-only field
13334	// that can be left blank.
13335	AccountId int64 `json:"accountId,omitempty,string"`
13336
13337	// DefaultUserRole: Whether this is a default user role. Default user
13338	// roles are created by the system for the account/subaccount and cannot
13339	// be modified or deleted. Each default user role comes with a basic set
13340	// of preassigned permissions.
13341	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
13342
13343	// Id: ID of this user role. This is a read-only, auto-generated field.
13344	Id int64 `json:"id,omitempty,string"`
13345
13346	// Kind: Identifies what kind of resource this is. Value: the fixed
13347	// string "dfareporting#userRole".
13348	Kind string `json:"kind,omitempty"`
13349
13350	// Name: Name of this user role. This is a required field. Must be less
13351	// than 256 characters long. If this user role is under a subaccount,
13352	// the name must be unique among sites of the same subaccount.
13353	// Otherwise, this user role is a top-level user role, and the name must
13354	// be unique among top-level user roles of the same account.
13355	Name string `json:"name,omitempty"`
13356
13357	// ParentUserRoleId: ID of the user role that this user role is based on
13358	// or copied from. This is a required field.
13359	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
13360
13361	// Permissions: List of permissions associated with this user role.
13362	Permissions []*UserRolePermission `json:"permissions,omitempty"`
13363
13364	// SubaccountId: Subaccount ID of this user role. This is a read-only
13365	// field that can be left blank.
13366	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13367
13368	// ServerResponse contains the HTTP response code and headers from the
13369	// server.
13370	googleapi.ServerResponse `json:"-"`
13371
13372	// ForceSendFields is a list of field names (e.g. "AccountId") to
13373	// unconditionally include in API requests. By default, fields with
13374	// empty values are omitted from API requests. However, any non-pointer,
13375	// non-interface field appearing in ForceSendFields will be sent to the
13376	// server regardless of whether the field is empty or not. This may be
13377	// used to include empty fields in Patch requests.
13378	ForceSendFields []string `json:"-"`
13379
13380	// NullFields is a list of field names (e.g. "AccountId") to include in
13381	// API requests with the JSON null value. By default, fields with empty
13382	// values are omitted from API requests. However, any field with an
13383	// empty value appearing in NullFields will be sent to the server as
13384	// null. It is an error if a field in this list has a non-empty value.
13385	// This may be used to include null fields in Patch requests.
13386	NullFields []string `json:"-"`
13387}
13388
13389func (s *UserRole) MarshalJSON() ([]byte, error) {
13390	type NoMethod UserRole
13391	raw := NoMethod(*s)
13392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13393}
13394
13395// UserRolePermission: Contains properties of a user role permission.
13396type UserRolePermission struct {
13397	// Availability: Levels of availability for a user role permission.
13398	//
13399	// Possible values:
13400	//   "ACCOUNT_ALWAYS"
13401	//   "ACCOUNT_BY_DEFAULT"
13402	//   "NOT_AVAILABLE_BY_DEFAULT"
13403	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
13404	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
13405	Availability string `json:"availability,omitempty"`
13406
13407	// Id: ID of this user role permission.
13408	Id int64 `json:"id,omitempty,string"`
13409
13410	// Kind: Identifies what kind of resource this is. Value: the fixed
13411	// string "dfareporting#userRolePermission".
13412	Kind string `json:"kind,omitempty"`
13413
13414	// Name: Name of this user role permission.
13415	Name string `json:"name,omitempty"`
13416
13417	// PermissionGroupId: ID of the permission group that this user role
13418	// permission belongs to.
13419	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
13420
13421	// ServerResponse contains the HTTP response code and headers from the
13422	// server.
13423	googleapi.ServerResponse `json:"-"`
13424
13425	// ForceSendFields is a list of field names (e.g. "Availability") to
13426	// unconditionally include in API requests. By default, fields with
13427	// empty values are omitted from API requests. However, any non-pointer,
13428	// non-interface field appearing in ForceSendFields will be sent to the
13429	// server regardless of whether the field is empty or not. This may be
13430	// used to include empty fields in Patch requests.
13431	ForceSendFields []string `json:"-"`
13432
13433	// NullFields is a list of field names (e.g. "Availability") to include
13434	// in API requests with the JSON null value. By default, fields with
13435	// empty values are omitted from API requests. However, any field with
13436	// an empty value appearing in NullFields will be sent to the server as
13437	// null. It is an error if a field in this list has a non-empty value.
13438	// This may be used to include null fields in Patch requests.
13439	NullFields []string `json:"-"`
13440}
13441
13442func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
13443	type NoMethod UserRolePermission
13444	raw := NoMethod(*s)
13445	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13446}
13447
13448// UserRolePermissionGroup: Represents a grouping of related user role
13449// permissions.
13450type UserRolePermissionGroup struct {
13451	// Id: ID of this user role permission.
13452	Id int64 `json:"id,omitempty,string"`
13453
13454	// Kind: Identifies what kind of resource this is. Value: the fixed
13455	// string "dfareporting#userRolePermissionGroup".
13456	Kind string `json:"kind,omitempty"`
13457
13458	// Name: Name of this user role permission group.
13459	Name string `json:"name,omitempty"`
13460
13461	// ServerResponse contains the HTTP response code and headers from the
13462	// server.
13463	googleapi.ServerResponse `json:"-"`
13464
13465	// ForceSendFields is a list of field names (e.g. "Id") to
13466	// unconditionally include in API requests. By default, fields with
13467	// empty values are omitted from API requests. However, any non-pointer,
13468	// non-interface field appearing in ForceSendFields will be sent to the
13469	// server regardless of whether the field is empty or not. This may be
13470	// used to include empty fields in Patch requests.
13471	ForceSendFields []string `json:"-"`
13472
13473	// NullFields is a list of field names (e.g. "Id") to include in API
13474	// requests with the JSON null value. By default, fields with empty
13475	// values are omitted from API requests. However, any field with an
13476	// empty value appearing in NullFields will be sent to the server as
13477	// null. It is an error if a field in this list has a non-empty value.
13478	// This may be used to include null fields in Patch requests.
13479	NullFields []string `json:"-"`
13480}
13481
13482func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
13483	type NoMethod UserRolePermissionGroup
13484	raw := NoMethod(*s)
13485	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13486}
13487
13488// UserRolePermissionGroupsListResponse: User Role Permission Group List
13489// Response
13490type UserRolePermissionGroupsListResponse struct {
13491	// Kind: Identifies what kind of resource this is. Value: the fixed
13492	// string "dfareporting#userRolePermissionGroupsListResponse".
13493	Kind string `json:"kind,omitempty"`
13494
13495	// UserRolePermissionGroups: User role permission group collection.
13496	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
13497
13498	// ServerResponse contains the HTTP response code and headers from the
13499	// server.
13500	googleapi.ServerResponse `json:"-"`
13501
13502	// ForceSendFields is a list of field names (e.g. "Kind") to
13503	// unconditionally include in API requests. By default, fields with
13504	// empty values are omitted from API requests. However, any non-pointer,
13505	// non-interface field appearing in ForceSendFields will be sent to the
13506	// server regardless of whether the field is empty or not. This may be
13507	// used to include empty fields in Patch requests.
13508	ForceSendFields []string `json:"-"`
13509
13510	// NullFields is a list of field names (e.g. "Kind") to include in API
13511	// requests with the JSON null value. By default, fields with empty
13512	// values are omitted from API requests. However, any field with an
13513	// empty value appearing in NullFields will be sent to the server as
13514	// null. It is an error if a field in this list has a non-empty value.
13515	// This may be used to include null fields in Patch requests.
13516	NullFields []string `json:"-"`
13517}
13518
13519func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
13520	type NoMethod UserRolePermissionGroupsListResponse
13521	raw := NoMethod(*s)
13522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13523}
13524
13525// UserRolePermissionsListResponse: User Role Permission List Response
13526type UserRolePermissionsListResponse struct {
13527	// Kind: Identifies what kind of resource this is. Value: the fixed
13528	// string "dfareporting#userRolePermissionsListResponse".
13529	Kind string `json:"kind,omitempty"`
13530
13531	// UserRolePermissions: User role permission collection.
13532	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
13533
13534	// ServerResponse contains the HTTP response code and headers from the
13535	// server.
13536	googleapi.ServerResponse `json:"-"`
13537
13538	// ForceSendFields is a list of field names (e.g. "Kind") to
13539	// unconditionally include in API requests. By default, fields with
13540	// empty values are omitted from API requests. However, any non-pointer,
13541	// non-interface field appearing in ForceSendFields will be sent to the
13542	// server regardless of whether the field is empty or not. This may be
13543	// used to include empty fields in Patch requests.
13544	ForceSendFields []string `json:"-"`
13545
13546	// NullFields is a list of field names (e.g. "Kind") to include in API
13547	// requests with the JSON null value. By default, fields with empty
13548	// values are omitted from API requests. However, any field with an
13549	// empty value appearing in NullFields will be sent to the server as
13550	// null. It is an error if a field in this list has a non-empty value.
13551	// This may be used to include null fields in Patch requests.
13552	NullFields []string `json:"-"`
13553}
13554
13555func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
13556	type NoMethod UserRolePermissionsListResponse
13557	raw := NoMethod(*s)
13558	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13559}
13560
13561// UserRolesListResponse: User Role List Response
13562type UserRolesListResponse struct {
13563	// Kind: Identifies what kind of resource this is. Value: the fixed
13564	// string "dfareporting#userRolesListResponse".
13565	Kind string `json:"kind,omitempty"`
13566
13567	// NextPageToken: Pagination token to be used for the next list
13568	// operation.
13569	NextPageToken string `json:"nextPageToken,omitempty"`
13570
13571	// UserRoles: User role collection.
13572	UserRoles []*UserRole `json:"userRoles,omitempty"`
13573
13574	// ServerResponse contains the HTTP response code and headers from the
13575	// server.
13576	googleapi.ServerResponse `json:"-"`
13577
13578	// ForceSendFields is a list of field names (e.g. "Kind") to
13579	// unconditionally include in API requests. By default, fields with
13580	// empty values are omitted from API requests. However, any non-pointer,
13581	// non-interface field appearing in ForceSendFields will be sent to the
13582	// server regardless of whether the field is empty or not. This may be
13583	// used to include empty fields in Patch requests.
13584	ForceSendFields []string `json:"-"`
13585
13586	// NullFields is a list of field names (e.g. "Kind") to include in API
13587	// requests with the JSON null value. By default, fields with empty
13588	// values are omitted from API requests. However, any field with an
13589	// empty value appearing in NullFields will be sent to the server as
13590	// null. It is an error if a field in this list has a non-empty value.
13591	// This may be used to include null fields in Patch requests.
13592	NullFields []string `json:"-"`
13593}
13594
13595func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
13596	type NoMethod UserRolesListResponse
13597	raw := NoMethod(*s)
13598	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13599}
13600
13601// VideoFormat: Contains information about supported video formats.
13602type VideoFormat struct {
13603	// FileType: File type of the video format.
13604	//
13605	// Possible values:
13606	//   "FLV"
13607	//   "M3U8"
13608	//   "MP4"
13609	//   "THREEGPP"
13610	//   "WEBM"
13611	FileType string `json:"fileType,omitempty"`
13612
13613	// Id: ID of the video format.
13614	Id int64 `json:"id,omitempty"`
13615
13616	// Kind: Identifies what kind of resource this is. Value: the fixed
13617	// string "dfareporting#videoFormat".
13618	Kind string `json:"kind,omitempty"`
13619
13620	// Resolution: The resolution of this video format.
13621	Resolution *Size `json:"resolution,omitempty"`
13622
13623	// TargetBitRate: The target bit rate of this video format.
13624	TargetBitRate int64 `json:"targetBitRate,omitempty"`
13625
13626	// ServerResponse contains the HTTP response code and headers from the
13627	// server.
13628	googleapi.ServerResponse `json:"-"`
13629
13630	// ForceSendFields is a list of field names (e.g. "FileType") to
13631	// unconditionally include in API requests. By default, fields with
13632	// empty values are omitted from API requests. However, any non-pointer,
13633	// non-interface field appearing in ForceSendFields will be sent to the
13634	// server regardless of whether the field is empty or not. This may be
13635	// used to include empty fields in Patch requests.
13636	ForceSendFields []string `json:"-"`
13637
13638	// NullFields is a list of field names (e.g. "FileType") to include in
13639	// API requests with the JSON null value. By default, fields with empty
13640	// values are omitted from API requests. However, any field with an
13641	// empty value appearing in NullFields will be sent to the server as
13642	// null. It is an error if a field in this list has a non-empty value.
13643	// This may be used to include null fields in Patch requests.
13644	NullFields []string `json:"-"`
13645}
13646
13647func (s *VideoFormat) MarshalJSON() ([]byte, error) {
13648	type NoMethod VideoFormat
13649	raw := NoMethod(*s)
13650	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13651}
13652
13653// VideoFormatsListResponse: Video Format List Response
13654type VideoFormatsListResponse struct {
13655	// Kind: Identifies what kind of resource this is. Value: the fixed
13656	// string "dfareporting#videoFormatsListResponse".
13657	Kind string `json:"kind,omitempty"`
13658
13659	// VideoFormats: Video format collection.
13660	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
13661
13662	// ServerResponse contains the HTTP response code and headers from the
13663	// server.
13664	googleapi.ServerResponse `json:"-"`
13665
13666	// ForceSendFields is a list of field names (e.g. "Kind") to
13667	// unconditionally include in API requests. By default, fields with
13668	// empty values are omitted from API requests. However, any non-pointer,
13669	// non-interface field appearing in ForceSendFields will be sent to the
13670	// server regardless of whether the field is empty or not. This may be
13671	// used to include empty fields in Patch requests.
13672	ForceSendFields []string `json:"-"`
13673
13674	// NullFields is a list of field names (e.g. "Kind") to include in API
13675	// requests with the JSON null value. By default, fields with empty
13676	// values are omitted from API requests. However, any field with an
13677	// empty value appearing in NullFields will be sent to the server as
13678	// null. It is an error if a field in this list has a non-empty value.
13679	// This may be used to include null fields in Patch requests.
13680	NullFields []string `json:"-"`
13681}
13682
13683func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
13684	type NoMethod VideoFormatsListResponse
13685	raw := NoMethod(*s)
13686	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13687}
13688
13689// VideoOffset: Video Offset
13690type VideoOffset struct {
13691	// OffsetPercentage: Duration, as a percentage of video duration. Do not
13692	// set when offsetSeconds is set. Acceptable values are 0 to 100,
13693	// inclusive.
13694	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
13695
13696	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
13697	// is set. Acceptable values are 0 to 86399, inclusive.
13698	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
13699
13700	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
13701	// unconditionally include in API requests. By default, fields with
13702	// empty values are omitted from API requests. However, any non-pointer,
13703	// non-interface field appearing in ForceSendFields will be sent to the
13704	// server regardless of whether the field is empty or not. This may be
13705	// used to include empty fields in Patch requests.
13706	ForceSendFields []string `json:"-"`
13707
13708	// NullFields is a list of field names (e.g. "OffsetPercentage") to
13709	// include in API requests with the JSON null value. By default, fields
13710	// with empty values are omitted from API requests. However, any field
13711	// with an empty value appearing in NullFields will be sent to the
13712	// server as null. It is an error if a field in this list has a
13713	// non-empty value. This may be used to include null fields in Patch
13714	// requests.
13715	NullFields []string `json:"-"`
13716}
13717
13718func (s *VideoOffset) MarshalJSON() ([]byte, error) {
13719	type NoMethod VideoOffset
13720	raw := NoMethod(*s)
13721	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13722}
13723
13724// VideoSettings: Video Settings
13725type VideoSettings struct {
13726	// CompanionSettings: Settings for the companion creatives of video
13727	// creatives served to this placement.
13728	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
13729
13730	// Kind: Identifies what kind of resource this is. Value: the fixed
13731	// string "dfareporting#videoSettings".
13732	Kind string `json:"kind,omitempty"`
13733
13734	// SkippableSettings: Settings for the skippability of video creatives
13735	// served to this placement. If this object is provided, the
13736	// creative-level skippable settings will be overridden.
13737	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
13738
13739	// TranscodeSettings: Settings for the transcodes of video creatives
13740	// served to this placement. If this object is provided, the
13741	// creative-level transcode settings will be overridden.
13742	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
13743
13744	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
13745	// to unconditionally include in API requests. By default, fields with
13746	// empty values are omitted from API requests. However, any non-pointer,
13747	// non-interface field appearing in ForceSendFields will be sent to the
13748	// server regardless of whether the field is empty or not. This may be
13749	// used to include empty fields in Patch requests.
13750	ForceSendFields []string `json:"-"`
13751
13752	// NullFields is a list of field names (e.g. "CompanionSettings") to
13753	// include in API requests with the JSON null value. By default, fields
13754	// with empty values are omitted from API requests. However, any field
13755	// with an empty value appearing in NullFields will be sent to the
13756	// server as null. It is an error if a field in this list has a
13757	// non-empty value. This may be used to include null fields in Patch
13758	// requests.
13759	NullFields []string `json:"-"`
13760}
13761
13762func (s *VideoSettings) MarshalJSON() ([]byte, error) {
13763	type NoMethod VideoSettings
13764	raw := NoMethod(*s)
13765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13766}
13767
13768// method id "dfareporting.accountActiveAdSummaries.get":
13769
13770type AccountActiveAdSummariesGetCall struct {
13771	s                *Service
13772	profileId        int64
13773	summaryAccountId int64
13774	urlParams_       gensupport.URLParams
13775	ifNoneMatch_     string
13776	ctx_             context.Context
13777	header_          http.Header
13778}
13779
13780// Get: Gets the account's active ad summary by account ID.
13781func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
13782	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13783	c.profileId = profileId
13784	c.summaryAccountId = summaryAccountId
13785	return c
13786}
13787
13788// Fields allows partial responses to be retrieved. See
13789// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13790// for more information.
13791func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
13792	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13793	return c
13794}
13795
13796// IfNoneMatch sets the optional parameter which makes the operation
13797// fail if the object's ETag matches the given value. This is useful for
13798// getting updates only after the object has changed since the last
13799// request. Use googleapi.IsNotModified to check whether the response
13800// error from Do is the result of In-None-Match.
13801func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
13802	c.ifNoneMatch_ = entityTag
13803	return c
13804}
13805
13806// Context sets the context to be used in this call's Do method. Any
13807// pending HTTP request will be aborted if the provided context is
13808// canceled.
13809func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
13810	c.ctx_ = ctx
13811	return c
13812}
13813
13814// Header returns an http.Header that can be modified by the caller to
13815// add HTTP headers to the request.
13816func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
13817	if c.header_ == nil {
13818		c.header_ = make(http.Header)
13819	}
13820	return c.header_
13821}
13822
13823func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
13824	reqHeaders := make(http.Header)
13825	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
13826	for k, v := range c.header_ {
13827		reqHeaders[k] = v
13828	}
13829	reqHeaders.Set("User-Agent", c.s.userAgent())
13830	if c.ifNoneMatch_ != "" {
13831		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13832	}
13833	var body io.Reader = nil
13834	c.urlParams_.Set("alt", alt)
13835	c.urlParams_.Set("prettyPrint", "false")
13836	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
13837	urls += "?" + c.urlParams_.Encode()
13838	req, err := http.NewRequest("GET", urls, body)
13839	if err != nil {
13840		return nil, err
13841	}
13842	req.Header = reqHeaders
13843	googleapi.Expand(req.URL, map[string]string{
13844		"profileId":        strconv.FormatInt(c.profileId, 10),
13845		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
13846	})
13847	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13848}
13849
13850// Do executes the "dfareporting.accountActiveAdSummaries.get" call.
13851// Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
13852// non-2xx status code is an error. Response headers are in either
13853// *AccountActiveAdSummary.ServerResponse.Header or (if a response was
13854// returned at all) in error.(*googleapi.Error).Header. Use
13855// googleapi.IsNotModified to check whether the returned error was
13856// because http.StatusNotModified was returned.
13857func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
13858	gensupport.SetOptions(c.urlParams_, opts...)
13859	res, err := c.doRequest("json")
13860	if res != nil && res.StatusCode == http.StatusNotModified {
13861		if res.Body != nil {
13862			res.Body.Close()
13863		}
13864		return nil, &googleapi.Error{
13865			Code:   res.StatusCode,
13866			Header: res.Header,
13867		}
13868	}
13869	if err != nil {
13870		return nil, err
13871	}
13872	defer googleapi.CloseBody(res)
13873	if err := googleapi.CheckResponse(res); err != nil {
13874		return nil, err
13875	}
13876	ret := &AccountActiveAdSummary{
13877		ServerResponse: googleapi.ServerResponse{
13878			Header:         res.Header,
13879			HTTPStatusCode: res.StatusCode,
13880		},
13881	}
13882	target := &ret
13883	if err := gensupport.DecodeResponse(target, res); err != nil {
13884		return nil, err
13885	}
13886	return ret, nil
13887	// {
13888	//   "description": "Gets the account's active ad summary by account ID.",
13889	//   "httpMethod": "GET",
13890	//   "id": "dfareporting.accountActiveAdSummaries.get",
13891	//   "parameterOrder": [
13892	//     "profileId",
13893	//     "summaryAccountId"
13894	//   ],
13895	//   "parameters": {
13896	//     "profileId": {
13897	//       "description": "User profile ID associated with this request.",
13898	//       "format": "int64",
13899	//       "location": "path",
13900	//       "required": true,
13901	//       "type": "string"
13902	//     },
13903	//     "summaryAccountId": {
13904	//       "description": "Account ID.",
13905	//       "format": "int64",
13906	//       "location": "path",
13907	//       "required": true,
13908	//       "type": "string"
13909	//     }
13910	//   },
13911	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
13912	//   "response": {
13913	//     "$ref": "AccountActiveAdSummary"
13914	//   },
13915	//   "scopes": [
13916	//     "https://www.googleapis.com/auth/dfatrafficking"
13917	//   ]
13918	// }
13919
13920}
13921
13922// method id "dfareporting.accountPermissionGroups.get":
13923
13924type AccountPermissionGroupsGetCall struct {
13925	s            *Service
13926	profileId    int64
13927	id           int64
13928	urlParams_   gensupport.URLParams
13929	ifNoneMatch_ string
13930	ctx_         context.Context
13931	header_      http.Header
13932}
13933
13934// Get: Gets one account permission group by ID.
13935func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
13936	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13937	c.profileId = profileId
13938	c.id = id
13939	return c
13940}
13941
13942// Fields allows partial responses to be retrieved. See
13943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13944// for more information.
13945func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
13946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13947	return c
13948}
13949
13950// IfNoneMatch sets the optional parameter which makes the operation
13951// fail if the object's ETag matches the given value. This is useful for
13952// getting updates only after the object has changed since the last
13953// request. Use googleapi.IsNotModified to check whether the response
13954// error from Do is the result of In-None-Match.
13955func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
13956	c.ifNoneMatch_ = entityTag
13957	return c
13958}
13959
13960// Context sets the context to be used in this call's Do method. Any
13961// pending HTTP request will be aborted if the provided context is
13962// canceled.
13963func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
13964	c.ctx_ = ctx
13965	return c
13966}
13967
13968// Header returns an http.Header that can be modified by the caller to
13969// add HTTP headers to the request.
13970func (c *AccountPermissionGroupsGetCall) Header() http.Header {
13971	if c.header_ == nil {
13972		c.header_ = make(http.Header)
13973	}
13974	return c.header_
13975}
13976
13977func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
13978	reqHeaders := make(http.Header)
13979	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
13980	for k, v := range c.header_ {
13981		reqHeaders[k] = v
13982	}
13983	reqHeaders.Set("User-Agent", c.s.userAgent())
13984	if c.ifNoneMatch_ != "" {
13985		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13986	}
13987	var body io.Reader = nil
13988	c.urlParams_.Set("alt", alt)
13989	c.urlParams_.Set("prettyPrint", "false")
13990	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
13991	urls += "?" + c.urlParams_.Encode()
13992	req, err := http.NewRequest("GET", urls, body)
13993	if err != nil {
13994		return nil, err
13995	}
13996	req.Header = reqHeaders
13997	googleapi.Expand(req.URL, map[string]string{
13998		"profileId": strconv.FormatInt(c.profileId, 10),
13999		"id":        strconv.FormatInt(c.id, 10),
14000	})
14001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14002}
14003
14004// Do executes the "dfareporting.accountPermissionGroups.get" call.
14005// Exactly one of *AccountPermissionGroup or error will be non-nil. Any
14006// non-2xx status code is an error. Response headers are in either
14007// *AccountPermissionGroup.ServerResponse.Header or (if a response was
14008// returned at all) in error.(*googleapi.Error).Header. Use
14009// googleapi.IsNotModified to check whether the returned error was
14010// because http.StatusNotModified was returned.
14011func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
14012	gensupport.SetOptions(c.urlParams_, opts...)
14013	res, err := c.doRequest("json")
14014	if res != nil && res.StatusCode == http.StatusNotModified {
14015		if res.Body != nil {
14016			res.Body.Close()
14017		}
14018		return nil, &googleapi.Error{
14019			Code:   res.StatusCode,
14020			Header: res.Header,
14021		}
14022	}
14023	if err != nil {
14024		return nil, err
14025	}
14026	defer googleapi.CloseBody(res)
14027	if err := googleapi.CheckResponse(res); err != nil {
14028		return nil, err
14029	}
14030	ret := &AccountPermissionGroup{
14031		ServerResponse: googleapi.ServerResponse{
14032			Header:         res.Header,
14033			HTTPStatusCode: res.StatusCode,
14034		},
14035	}
14036	target := &ret
14037	if err := gensupport.DecodeResponse(target, res); err != nil {
14038		return nil, err
14039	}
14040	return ret, nil
14041	// {
14042	//   "description": "Gets one account permission group by ID.",
14043	//   "httpMethod": "GET",
14044	//   "id": "dfareporting.accountPermissionGroups.get",
14045	//   "parameterOrder": [
14046	//     "profileId",
14047	//     "id"
14048	//   ],
14049	//   "parameters": {
14050	//     "id": {
14051	//       "description": "Account permission group ID.",
14052	//       "format": "int64",
14053	//       "location": "path",
14054	//       "required": true,
14055	//       "type": "string"
14056	//     },
14057	//     "profileId": {
14058	//       "description": "User profile ID associated with this request.",
14059	//       "format": "int64",
14060	//       "location": "path",
14061	//       "required": true,
14062	//       "type": "string"
14063	//     }
14064	//   },
14065	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14066	//   "response": {
14067	//     "$ref": "AccountPermissionGroup"
14068	//   },
14069	//   "scopes": [
14070	//     "https://www.googleapis.com/auth/dfatrafficking"
14071	//   ]
14072	// }
14073
14074}
14075
14076// method id "dfareporting.accountPermissionGroups.list":
14077
14078type AccountPermissionGroupsListCall struct {
14079	s            *Service
14080	profileId    int64
14081	urlParams_   gensupport.URLParams
14082	ifNoneMatch_ string
14083	ctx_         context.Context
14084	header_      http.Header
14085}
14086
14087// List: Retrieves the list of account permission groups.
14088func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
14089	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14090	c.profileId = profileId
14091	return c
14092}
14093
14094// Fields allows partial responses to be retrieved. See
14095// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14096// for more information.
14097func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
14098	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14099	return c
14100}
14101
14102// IfNoneMatch sets the optional parameter which makes the operation
14103// fail if the object's ETag matches the given value. This is useful for
14104// getting updates only after the object has changed since the last
14105// request. Use googleapi.IsNotModified to check whether the response
14106// error from Do is the result of In-None-Match.
14107func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
14108	c.ifNoneMatch_ = entityTag
14109	return c
14110}
14111
14112// Context sets the context to be used in this call's Do method. Any
14113// pending HTTP request will be aborted if the provided context is
14114// canceled.
14115func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
14116	c.ctx_ = ctx
14117	return c
14118}
14119
14120// Header returns an http.Header that can be modified by the caller to
14121// add HTTP headers to the request.
14122func (c *AccountPermissionGroupsListCall) Header() http.Header {
14123	if c.header_ == nil {
14124		c.header_ = make(http.Header)
14125	}
14126	return c.header_
14127}
14128
14129func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
14130	reqHeaders := make(http.Header)
14131	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14132	for k, v := range c.header_ {
14133		reqHeaders[k] = v
14134	}
14135	reqHeaders.Set("User-Agent", c.s.userAgent())
14136	if c.ifNoneMatch_ != "" {
14137		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14138	}
14139	var body io.Reader = nil
14140	c.urlParams_.Set("alt", alt)
14141	c.urlParams_.Set("prettyPrint", "false")
14142	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
14143	urls += "?" + c.urlParams_.Encode()
14144	req, err := http.NewRequest("GET", urls, body)
14145	if err != nil {
14146		return nil, err
14147	}
14148	req.Header = reqHeaders
14149	googleapi.Expand(req.URL, map[string]string{
14150		"profileId": strconv.FormatInt(c.profileId, 10),
14151	})
14152	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14153}
14154
14155// Do executes the "dfareporting.accountPermissionGroups.list" call.
14156// Exactly one of *AccountPermissionGroupsListResponse or error will be
14157// non-nil. Any non-2xx status code is an error. Response headers are in
14158// either *AccountPermissionGroupsListResponse.ServerResponse.Header or
14159// (if a response was returned at all) in
14160// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14161// whether the returned error was because http.StatusNotModified was
14162// returned.
14163func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
14164	gensupport.SetOptions(c.urlParams_, opts...)
14165	res, err := c.doRequest("json")
14166	if res != nil && res.StatusCode == http.StatusNotModified {
14167		if res.Body != nil {
14168			res.Body.Close()
14169		}
14170		return nil, &googleapi.Error{
14171			Code:   res.StatusCode,
14172			Header: res.Header,
14173		}
14174	}
14175	if err != nil {
14176		return nil, err
14177	}
14178	defer googleapi.CloseBody(res)
14179	if err := googleapi.CheckResponse(res); err != nil {
14180		return nil, err
14181	}
14182	ret := &AccountPermissionGroupsListResponse{
14183		ServerResponse: googleapi.ServerResponse{
14184			Header:         res.Header,
14185			HTTPStatusCode: res.StatusCode,
14186		},
14187	}
14188	target := &ret
14189	if err := gensupport.DecodeResponse(target, res); err != nil {
14190		return nil, err
14191	}
14192	return ret, nil
14193	// {
14194	//   "description": "Retrieves the list of account permission groups.",
14195	//   "httpMethod": "GET",
14196	//   "id": "dfareporting.accountPermissionGroups.list",
14197	//   "parameterOrder": [
14198	//     "profileId"
14199	//   ],
14200	//   "parameters": {
14201	//     "profileId": {
14202	//       "description": "User profile ID associated with this request.",
14203	//       "format": "int64",
14204	//       "location": "path",
14205	//       "required": true,
14206	//       "type": "string"
14207	//     }
14208	//   },
14209	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
14210	//   "response": {
14211	//     "$ref": "AccountPermissionGroupsListResponse"
14212	//   },
14213	//   "scopes": [
14214	//     "https://www.googleapis.com/auth/dfatrafficking"
14215	//   ]
14216	// }
14217
14218}
14219
14220// method id "dfareporting.accountPermissions.get":
14221
14222type AccountPermissionsGetCall struct {
14223	s            *Service
14224	profileId    int64
14225	id           int64
14226	urlParams_   gensupport.URLParams
14227	ifNoneMatch_ string
14228	ctx_         context.Context
14229	header_      http.Header
14230}
14231
14232// Get: Gets one account permission by ID.
14233func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
14234	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14235	c.profileId = profileId
14236	c.id = id
14237	return c
14238}
14239
14240// Fields allows partial responses to be retrieved. See
14241// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14242// for more information.
14243func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
14244	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14245	return c
14246}
14247
14248// IfNoneMatch sets the optional parameter which makes the operation
14249// fail if the object's ETag matches the given value. This is useful for
14250// getting updates only after the object has changed since the last
14251// request. Use googleapi.IsNotModified to check whether the response
14252// error from Do is the result of In-None-Match.
14253func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
14254	c.ifNoneMatch_ = entityTag
14255	return c
14256}
14257
14258// Context sets the context to be used in this call's Do method. Any
14259// pending HTTP request will be aborted if the provided context is
14260// canceled.
14261func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
14262	c.ctx_ = ctx
14263	return c
14264}
14265
14266// Header returns an http.Header that can be modified by the caller to
14267// add HTTP headers to the request.
14268func (c *AccountPermissionsGetCall) Header() http.Header {
14269	if c.header_ == nil {
14270		c.header_ = make(http.Header)
14271	}
14272	return c.header_
14273}
14274
14275func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
14276	reqHeaders := make(http.Header)
14277	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14278	for k, v := range c.header_ {
14279		reqHeaders[k] = v
14280	}
14281	reqHeaders.Set("User-Agent", c.s.userAgent())
14282	if c.ifNoneMatch_ != "" {
14283		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14284	}
14285	var body io.Reader = nil
14286	c.urlParams_.Set("alt", alt)
14287	c.urlParams_.Set("prettyPrint", "false")
14288	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
14289	urls += "?" + c.urlParams_.Encode()
14290	req, err := http.NewRequest("GET", urls, body)
14291	if err != nil {
14292		return nil, err
14293	}
14294	req.Header = reqHeaders
14295	googleapi.Expand(req.URL, map[string]string{
14296		"profileId": strconv.FormatInt(c.profileId, 10),
14297		"id":        strconv.FormatInt(c.id, 10),
14298	})
14299	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14300}
14301
14302// Do executes the "dfareporting.accountPermissions.get" call.
14303// Exactly one of *AccountPermission or error will be non-nil. Any
14304// non-2xx status code is an error. Response headers are in either
14305// *AccountPermission.ServerResponse.Header or (if a response was
14306// returned at all) in error.(*googleapi.Error).Header. Use
14307// googleapi.IsNotModified to check whether the returned error was
14308// because http.StatusNotModified was returned.
14309func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
14310	gensupport.SetOptions(c.urlParams_, opts...)
14311	res, err := c.doRequest("json")
14312	if res != nil && res.StatusCode == http.StatusNotModified {
14313		if res.Body != nil {
14314			res.Body.Close()
14315		}
14316		return nil, &googleapi.Error{
14317			Code:   res.StatusCode,
14318			Header: res.Header,
14319		}
14320	}
14321	if err != nil {
14322		return nil, err
14323	}
14324	defer googleapi.CloseBody(res)
14325	if err := googleapi.CheckResponse(res); err != nil {
14326		return nil, err
14327	}
14328	ret := &AccountPermission{
14329		ServerResponse: googleapi.ServerResponse{
14330			Header:         res.Header,
14331			HTTPStatusCode: res.StatusCode,
14332		},
14333	}
14334	target := &ret
14335	if err := gensupport.DecodeResponse(target, res); err != nil {
14336		return nil, err
14337	}
14338	return ret, nil
14339	// {
14340	//   "description": "Gets one account permission by ID.",
14341	//   "httpMethod": "GET",
14342	//   "id": "dfareporting.accountPermissions.get",
14343	//   "parameterOrder": [
14344	//     "profileId",
14345	//     "id"
14346	//   ],
14347	//   "parameters": {
14348	//     "id": {
14349	//       "description": "Account permission ID.",
14350	//       "format": "int64",
14351	//       "location": "path",
14352	//       "required": true,
14353	//       "type": "string"
14354	//     },
14355	//     "profileId": {
14356	//       "description": "User profile ID associated with this request.",
14357	//       "format": "int64",
14358	//       "location": "path",
14359	//       "required": true,
14360	//       "type": "string"
14361	//     }
14362	//   },
14363	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
14364	//   "response": {
14365	//     "$ref": "AccountPermission"
14366	//   },
14367	//   "scopes": [
14368	//     "https://www.googleapis.com/auth/dfatrafficking"
14369	//   ]
14370	// }
14371
14372}
14373
14374// method id "dfareporting.accountPermissions.list":
14375
14376type AccountPermissionsListCall struct {
14377	s            *Service
14378	profileId    int64
14379	urlParams_   gensupport.URLParams
14380	ifNoneMatch_ string
14381	ctx_         context.Context
14382	header_      http.Header
14383}
14384
14385// List: Retrieves the list of account permissions.
14386func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
14387	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14388	c.profileId = profileId
14389	return c
14390}
14391
14392// Fields allows partial responses to be retrieved. See
14393// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14394// for more information.
14395func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
14396	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14397	return c
14398}
14399
14400// IfNoneMatch sets the optional parameter which makes the operation
14401// fail if the object's ETag matches the given value. This is useful for
14402// getting updates only after the object has changed since the last
14403// request. Use googleapi.IsNotModified to check whether the response
14404// error from Do is the result of In-None-Match.
14405func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
14406	c.ifNoneMatch_ = entityTag
14407	return c
14408}
14409
14410// Context sets the context to be used in this call's Do method. Any
14411// pending HTTP request will be aborted if the provided context is
14412// canceled.
14413func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
14414	c.ctx_ = ctx
14415	return c
14416}
14417
14418// Header returns an http.Header that can be modified by the caller to
14419// add HTTP headers to the request.
14420func (c *AccountPermissionsListCall) Header() http.Header {
14421	if c.header_ == nil {
14422		c.header_ = make(http.Header)
14423	}
14424	return c.header_
14425}
14426
14427func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
14428	reqHeaders := make(http.Header)
14429	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14430	for k, v := range c.header_ {
14431		reqHeaders[k] = v
14432	}
14433	reqHeaders.Set("User-Agent", c.s.userAgent())
14434	if c.ifNoneMatch_ != "" {
14435		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14436	}
14437	var body io.Reader = nil
14438	c.urlParams_.Set("alt", alt)
14439	c.urlParams_.Set("prettyPrint", "false")
14440	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
14441	urls += "?" + c.urlParams_.Encode()
14442	req, err := http.NewRequest("GET", urls, body)
14443	if err != nil {
14444		return nil, err
14445	}
14446	req.Header = reqHeaders
14447	googleapi.Expand(req.URL, map[string]string{
14448		"profileId": strconv.FormatInt(c.profileId, 10),
14449	})
14450	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14451}
14452
14453// Do executes the "dfareporting.accountPermissions.list" call.
14454// Exactly one of *AccountPermissionsListResponse or error will be
14455// non-nil. Any non-2xx status code is an error. Response headers are in
14456// either *AccountPermissionsListResponse.ServerResponse.Header or (if a
14457// response was returned at all) in error.(*googleapi.Error).Header. Use
14458// googleapi.IsNotModified to check whether the returned error was
14459// because http.StatusNotModified was returned.
14460func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
14461	gensupport.SetOptions(c.urlParams_, opts...)
14462	res, err := c.doRequest("json")
14463	if res != nil && res.StatusCode == http.StatusNotModified {
14464		if res.Body != nil {
14465			res.Body.Close()
14466		}
14467		return nil, &googleapi.Error{
14468			Code:   res.StatusCode,
14469			Header: res.Header,
14470		}
14471	}
14472	if err != nil {
14473		return nil, err
14474	}
14475	defer googleapi.CloseBody(res)
14476	if err := googleapi.CheckResponse(res); err != nil {
14477		return nil, err
14478	}
14479	ret := &AccountPermissionsListResponse{
14480		ServerResponse: googleapi.ServerResponse{
14481			Header:         res.Header,
14482			HTTPStatusCode: res.StatusCode,
14483		},
14484	}
14485	target := &ret
14486	if err := gensupport.DecodeResponse(target, res); err != nil {
14487		return nil, err
14488	}
14489	return ret, nil
14490	// {
14491	//   "description": "Retrieves the list of account permissions.",
14492	//   "httpMethod": "GET",
14493	//   "id": "dfareporting.accountPermissions.list",
14494	//   "parameterOrder": [
14495	//     "profileId"
14496	//   ],
14497	//   "parameters": {
14498	//     "profileId": {
14499	//       "description": "User profile ID associated with this request.",
14500	//       "format": "int64",
14501	//       "location": "path",
14502	//       "required": true,
14503	//       "type": "string"
14504	//     }
14505	//   },
14506	//   "path": "userprofiles/{profileId}/accountPermissions",
14507	//   "response": {
14508	//     "$ref": "AccountPermissionsListResponse"
14509	//   },
14510	//   "scopes": [
14511	//     "https://www.googleapis.com/auth/dfatrafficking"
14512	//   ]
14513	// }
14514
14515}
14516
14517// method id "dfareporting.accountUserProfiles.get":
14518
14519type AccountUserProfilesGetCall struct {
14520	s            *Service
14521	profileId    int64
14522	id           int64
14523	urlParams_   gensupport.URLParams
14524	ifNoneMatch_ string
14525	ctx_         context.Context
14526	header_      http.Header
14527}
14528
14529// Get: Gets one account user profile by ID.
14530func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
14531	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14532	c.profileId = profileId
14533	c.id = id
14534	return c
14535}
14536
14537// Fields allows partial responses to be retrieved. See
14538// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14539// for more information.
14540func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
14541	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14542	return c
14543}
14544
14545// IfNoneMatch sets the optional parameter which makes the operation
14546// fail if the object's ETag matches the given value. This is useful for
14547// getting updates only after the object has changed since the last
14548// request. Use googleapi.IsNotModified to check whether the response
14549// error from Do is the result of In-None-Match.
14550func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
14551	c.ifNoneMatch_ = entityTag
14552	return c
14553}
14554
14555// Context sets the context to be used in this call's Do method. Any
14556// pending HTTP request will be aborted if the provided context is
14557// canceled.
14558func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
14559	c.ctx_ = ctx
14560	return c
14561}
14562
14563// Header returns an http.Header that can be modified by the caller to
14564// add HTTP headers to the request.
14565func (c *AccountUserProfilesGetCall) Header() http.Header {
14566	if c.header_ == nil {
14567		c.header_ = make(http.Header)
14568	}
14569	return c.header_
14570}
14571
14572func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
14573	reqHeaders := make(http.Header)
14574	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14575	for k, v := range c.header_ {
14576		reqHeaders[k] = v
14577	}
14578	reqHeaders.Set("User-Agent", c.s.userAgent())
14579	if c.ifNoneMatch_ != "" {
14580		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14581	}
14582	var body io.Reader = nil
14583	c.urlParams_.Set("alt", alt)
14584	c.urlParams_.Set("prettyPrint", "false")
14585	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
14586	urls += "?" + c.urlParams_.Encode()
14587	req, err := http.NewRequest("GET", urls, body)
14588	if err != nil {
14589		return nil, err
14590	}
14591	req.Header = reqHeaders
14592	googleapi.Expand(req.URL, map[string]string{
14593		"profileId": strconv.FormatInt(c.profileId, 10),
14594		"id":        strconv.FormatInt(c.id, 10),
14595	})
14596	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14597}
14598
14599// Do executes the "dfareporting.accountUserProfiles.get" call.
14600// Exactly one of *AccountUserProfile or error will be non-nil. Any
14601// non-2xx status code is an error. Response headers are in either
14602// *AccountUserProfile.ServerResponse.Header or (if a response was
14603// returned at all) in error.(*googleapi.Error).Header. Use
14604// googleapi.IsNotModified to check whether the returned error was
14605// because http.StatusNotModified was returned.
14606func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
14607	gensupport.SetOptions(c.urlParams_, opts...)
14608	res, err := c.doRequest("json")
14609	if res != nil && res.StatusCode == http.StatusNotModified {
14610		if res.Body != nil {
14611			res.Body.Close()
14612		}
14613		return nil, &googleapi.Error{
14614			Code:   res.StatusCode,
14615			Header: res.Header,
14616		}
14617	}
14618	if err != nil {
14619		return nil, err
14620	}
14621	defer googleapi.CloseBody(res)
14622	if err := googleapi.CheckResponse(res); err != nil {
14623		return nil, err
14624	}
14625	ret := &AccountUserProfile{
14626		ServerResponse: googleapi.ServerResponse{
14627			Header:         res.Header,
14628			HTTPStatusCode: res.StatusCode,
14629		},
14630	}
14631	target := &ret
14632	if err := gensupport.DecodeResponse(target, res); err != nil {
14633		return nil, err
14634	}
14635	return ret, nil
14636	// {
14637	//   "description": "Gets one account user profile by ID.",
14638	//   "httpMethod": "GET",
14639	//   "id": "dfareporting.accountUserProfiles.get",
14640	//   "parameterOrder": [
14641	//     "profileId",
14642	//     "id"
14643	//   ],
14644	//   "parameters": {
14645	//     "id": {
14646	//       "description": "User profile ID.",
14647	//       "format": "int64",
14648	//       "location": "path",
14649	//       "required": true,
14650	//       "type": "string"
14651	//     },
14652	//     "profileId": {
14653	//       "description": "User profile ID associated with this request.",
14654	//       "format": "int64",
14655	//       "location": "path",
14656	//       "required": true,
14657	//       "type": "string"
14658	//     }
14659	//   },
14660	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
14661	//   "response": {
14662	//     "$ref": "AccountUserProfile"
14663	//   },
14664	//   "scopes": [
14665	//     "https://www.googleapis.com/auth/dfatrafficking"
14666	//   ]
14667	// }
14668
14669}
14670
14671// method id "dfareporting.accountUserProfiles.insert":
14672
14673type AccountUserProfilesInsertCall struct {
14674	s                  *Service
14675	profileId          int64
14676	accountuserprofile *AccountUserProfile
14677	urlParams_         gensupport.URLParams
14678	ctx_               context.Context
14679	header_            http.Header
14680}
14681
14682// Insert: Inserts a new account user profile.
14683func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
14684	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14685	c.profileId = profileId
14686	c.accountuserprofile = accountuserprofile
14687	return c
14688}
14689
14690// Fields allows partial responses to be retrieved. See
14691// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14692// for more information.
14693func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
14694	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14695	return c
14696}
14697
14698// Context sets the context to be used in this call's Do method. Any
14699// pending HTTP request will be aborted if the provided context is
14700// canceled.
14701func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
14702	c.ctx_ = ctx
14703	return c
14704}
14705
14706// Header returns an http.Header that can be modified by the caller to
14707// add HTTP headers to the request.
14708func (c *AccountUserProfilesInsertCall) Header() http.Header {
14709	if c.header_ == nil {
14710		c.header_ = make(http.Header)
14711	}
14712	return c.header_
14713}
14714
14715func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
14716	reqHeaders := make(http.Header)
14717	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14718	for k, v := range c.header_ {
14719		reqHeaders[k] = v
14720	}
14721	reqHeaders.Set("User-Agent", c.s.userAgent())
14722	var body io.Reader = nil
14723	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
14724	if err != nil {
14725		return nil, err
14726	}
14727	reqHeaders.Set("Content-Type", "application/json")
14728	c.urlParams_.Set("alt", alt)
14729	c.urlParams_.Set("prettyPrint", "false")
14730	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
14731	urls += "?" + c.urlParams_.Encode()
14732	req, err := http.NewRequest("POST", urls, body)
14733	if err != nil {
14734		return nil, err
14735	}
14736	req.Header = reqHeaders
14737	googleapi.Expand(req.URL, map[string]string{
14738		"profileId": strconv.FormatInt(c.profileId, 10),
14739	})
14740	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14741}
14742
14743// Do executes the "dfareporting.accountUserProfiles.insert" call.
14744// Exactly one of *AccountUserProfile or error will be non-nil. Any
14745// non-2xx status code is an error. Response headers are in either
14746// *AccountUserProfile.ServerResponse.Header or (if a response was
14747// returned at all) in error.(*googleapi.Error).Header. Use
14748// googleapi.IsNotModified to check whether the returned error was
14749// because http.StatusNotModified was returned.
14750func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
14751	gensupport.SetOptions(c.urlParams_, opts...)
14752	res, err := c.doRequest("json")
14753	if res != nil && res.StatusCode == http.StatusNotModified {
14754		if res.Body != nil {
14755			res.Body.Close()
14756		}
14757		return nil, &googleapi.Error{
14758			Code:   res.StatusCode,
14759			Header: res.Header,
14760		}
14761	}
14762	if err != nil {
14763		return nil, err
14764	}
14765	defer googleapi.CloseBody(res)
14766	if err := googleapi.CheckResponse(res); err != nil {
14767		return nil, err
14768	}
14769	ret := &AccountUserProfile{
14770		ServerResponse: googleapi.ServerResponse{
14771			Header:         res.Header,
14772			HTTPStatusCode: res.StatusCode,
14773		},
14774	}
14775	target := &ret
14776	if err := gensupport.DecodeResponse(target, res); err != nil {
14777		return nil, err
14778	}
14779	return ret, nil
14780	// {
14781	//   "description": "Inserts a new account user profile.",
14782	//   "httpMethod": "POST",
14783	//   "id": "dfareporting.accountUserProfiles.insert",
14784	//   "parameterOrder": [
14785	//     "profileId"
14786	//   ],
14787	//   "parameters": {
14788	//     "profileId": {
14789	//       "description": "User profile ID associated with this request.",
14790	//       "format": "int64",
14791	//       "location": "path",
14792	//       "required": true,
14793	//       "type": "string"
14794	//     }
14795	//   },
14796	//   "path": "userprofiles/{profileId}/accountUserProfiles",
14797	//   "request": {
14798	//     "$ref": "AccountUserProfile"
14799	//   },
14800	//   "response": {
14801	//     "$ref": "AccountUserProfile"
14802	//   },
14803	//   "scopes": [
14804	//     "https://www.googleapis.com/auth/dfatrafficking"
14805	//   ]
14806	// }
14807
14808}
14809
14810// method id "dfareporting.accountUserProfiles.list":
14811
14812type AccountUserProfilesListCall struct {
14813	s            *Service
14814	profileId    int64
14815	urlParams_   gensupport.URLParams
14816	ifNoneMatch_ string
14817	ctx_         context.Context
14818	header_      http.Header
14819}
14820
14821// List: Retrieves a list of account user profiles, possibly filtered.
14822// This method supports paging.
14823func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
14824	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14825	c.profileId = profileId
14826	return c
14827}
14828
14829// Active sets the optional parameter "active": Select only active user
14830// profiles.
14831func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
14832	c.urlParams_.Set("active", fmt.Sprint(active))
14833	return c
14834}
14835
14836// Ids sets the optional parameter "ids": Select only user profiles with
14837// these IDs.
14838func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
14839	var ids_ []string
14840	for _, v := range ids {
14841		ids_ = append(ids_, fmt.Sprint(v))
14842	}
14843	c.urlParams_.SetMulti("ids", ids_)
14844	return c
14845}
14846
14847// MaxResults sets the optional parameter "maxResults": Maximum number
14848// of results to return.
14849func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
14850	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
14851	return c
14852}
14853
14854// PageToken sets the optional parameter "pageToken": Value of the
14855// nextPageToken from the previous result page.
14856func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
14857	c.urlParams_.Set("pageToken", pageToken)
14858	return c
14859}
14860
14861// SearchString sets the optional parameter "searchString": Allows
14862// searching for objects by name, ID or email. Wildcards (*) are
14863// allowed. For example, "user profile*2015" will return objects with
14864// names like "user profile June 2015", "user profile April 2015", or
14865// simply "user profile 2015". Most of the searches also add wildcards
14866// implicitly at the start and the end of the search string. For
14867// example, a search string of "user profile" will match objects with
14868// name "my user profile", "user profile 2015", or simply "user
14869// profile".
14870func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
14871	c.urlParams_.Set("searchString", searchString)
14872	return c
14873}
14874
14875// SortField sets the optional parameter "sortField": Field by which to
14876// sort the list.
14877//
14878// Possible values:
14879//   "ID" (default)
14880//   "NAME"
14881func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
14882	c.urlParams_.Set("sortField", sortField)
14883	return c
14884}
14885
14886// SortOrder sets the optional parameter "sortOrder": Order of sorted
14887// results.
14888//
14889// Possible values:
14890//   "ASCENDING" (default)
14891//   "DESCENDING"
14892func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
14893	c.urlParams_.Set("sortOrder", sortOrder)
14894	return c
14895}
14896
14897// SubaccountId sets the optional parameter "subaccountId": Select only
14898// user profiles with the specified subaccount ID.
14899func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
14900	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
14901	return c
14902}
14903
14904// UserRoleId sets the optional parameter "userRoleId": Select only user
14905// profiles with the specified user role ID.
14906func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
14907	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
14908	return c
14909}
14910
14911// Fields allows partial responses to be retrieved. See
14912// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14913// for more information.
14914func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
14915	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14916	return c
14917}
14918
14919// IfNoneMatch sets the optional parameter which makes the operation
14920// fail if the object's ETag matches the given value. This is useful for
14921// getting updates only after the object has changed since the last
14922// request. Use googleapi.IsNotModified to check whether the response
14923// error from Do is the result of In-None-Match.
14924func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
14925	c.ifNoneMatch_ = entityTag
14926	return c
14927}
14928
14929// Context sets the context to be used in this call's Do method. Any
14930// pending HTTP request will be aborted if the provided context is
14931// canceled.
14932func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
14933	c.ctx_ = ctx
14934	return c
14935}
14936
14937// Header returns an http.Header that can be modified by the caller to
14938// add HTTP headers to the request.
14939func (c *AccountUserProfilesListCall) Header() http.Header {
14940	if c.header_ == nil {
14941		c.header_ = make(http.Header)
14942	}
14943	return c.header_
14944}
14945
14946func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
14947	reqHeaders := make(http.Header)
14948	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14949	for k, v := range c.header_ {
14950		reqHeaders[k] = v
14951	}
14952	reqHeaders.Set("User-Agent", c.s.userAgent())
14953	if c.ifNoneMatch_ != "" {
14954		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14955	}
14956	var body io.Reader = nil
14957	c.urlParams_.Set("alt", alt)
14958	c.urlParams_.Set("prettyPrint", "false")
14959	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
14960	urls += "?" + c.urlParams_.Encode()
14961	req, err := http.NewRequest("GET", urls, body)
14962	if err != nil {
14963		return nil, err
14964	}
14965	req.Header = reqHeaders
14966	googleapi.Expand(req.URL, map[string]string{
14967		"profileId": strconv.FormatInt(c.profileId, 10),
14968	})
14969	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14970}
14971
14972// Do executes the "dfareporting.accountUserProfiles.list" call.
14973// Exactly one of *AccountUserProfilesListResponse or error will be
14974// non-nil. Any non-2xx status code is an error. Response headers are in
14975// either *AccountUserProfilesListResponse.ServerResponse.Header or (if
14976// a response was returned at all) in error.(*googleapi.Error).Header.
14977// Use googleapi.IsNotModified to check whether the returned error was
14978// because http.StatusNotModified was returned.
14979func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
14980	gensupport.SetOptions(c.urlParams_, opts...)
14981	res, err := c.doRequest("json")
14982	if res != nil && res.StatusCode == http.StatusNotModified {
14983		if res.Body != nil {
14984			res.Body.Close()
14985		}
14986		return nil, &googleapi.Error{
14987			Code:   res.StatusCode,
14988			Header: res.Header,
14989		}
14990	}
14991	if err != nil {
14992		return nil, err
14993	}
14994	defer googleapi.CloseBody(res)
14995	if err := googleapi.CheckResponse(res); err != nil {
14996		return nil, err
14997	}
14998	ret := &AccountUserProfilesListResponse{
14999		ServerResponse: googleapi.ServerResponse{
15000			Header:         res.Header,
15001			HTTPStatusCode: res.StatusCode,
15002		},
15003	}
15004	target := &ret
15005	if err := gensupport.DecodeResponse(target, res); err != nil {
15006		return nil, err
15007	}
15008	return ret, nil
15009	// {
15010	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
15011	//   "httpMethod": "GET",
15012	//   "id": "dfareporting.accountUserProfiles.list",
15013	//   "parameterOrder": [
15014	//     "profileId"
15015	//   ],
15016	//   "parameters": {
15017	//     "active": {
15018	//       "description": "Select only active user profiles.",
15019	//       "location": "query",
15020	//       "type": "boolean"
15021	//     },
15022	//     "ids": {
15023	//       "description": "Select only user profiles with these IDs.",
15024	//       "format": "int64",
15025	//       "location": "query",
15026	//       "repeated": true,
15027	//       "type": "string"
15028	//     },
15029	//     "maxResults": {
15030	//       "default": "1000",
15031	//       "description": "Maximum number of results to return.",
15032	//       "format": "int32",
15033	//       "location": "query",
15034	//       "maximum": "1000",
15035	//       "minimum": "0",
15036	//       "type": "integer"
15037	//     },
15038	//     "pageToken": {
15039	//       "description": "Value of the nextPageToken from the previous result page.",
15040	//       "location": "query",
15041	//       "type": "string"
15042	//     },
15043	//     "profileId": {
15044	//       "description": "User profile ID associated with this request.",
15045	//       "format": "int64",
15046	//       "location": "path",
15047	//       "required": true,
15048	//       "type": "string"
15049	//     },
15050	//     "searchString": {
15051	//       "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\".",
15052	//       "location": "query",
15053	//       "type": "string"
15054	//     },
15055	//     "sortField": {
15056	//       "default": "ID",
15057	//       "description": "Field by which to sort the list.",
15058	//       "enum": [
15059	//         "ID",
15060	//         "NAME"
15061	//       ],
15062	//       "enumDescriptions": [
15063	//         "",
15064	//         ""
15065	//       ],
15066	//       "location": "query",
15067	//       "type": "string"
15068	//     },
15069	//     "sortOrder": {
15070	//       "default": "ASCENDING",
15071	//       "description": "Order of sorted results.",
15072	//       "enum": [
15073	//         "ASCENDING",
15074	//         "DESCENDING"
15075	//       ],
15076	//       "enumDescriptions": [
15077	//         "",
15078	//         ""
15079	//       ],
15080	//       "location": "query",
15081	//       "type": "string"
15082	//     },
15083	//     "subaccountId": {
15084	//       "description": "Select only user profiles with the specified subaccount ID.",
15085	//       "format": "int64",
15086	//       "location": "query",
15087	//       "type": "string"
15088	//     },
15089	//     "userRoleId": {
15090	//       "description": "Select only user profiles with the specified user role ID.",
15091	//       "format": "int64",
15092	//       "location": "query",
15093	//       "type": "string"
15094	//     }
15095	//   },
15096	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15097	//   "response": {
15098	//     "$ref": "AccountUserProfilesListResponse"
15099	//   },
15100	//   "scopes": [
15101	//     "https://www.googleapis.com/auth/dfatrafficking"
15102	//   ]
15103	// }
15104
15105}
15106
15107// Pages invokes f for each page of results.
15108// A non-nil error returned from f will halt the iteration.
15109// The provided context supersedes any context provided to the Context method.
15110func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
15111	c.ctx_ = ctx
15112	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15113	for {
15114		x, err := c.Do()
15115		if err != nil {
15116			return err
15117		}
15118		if err := f(x); err != nil {
15119			return err
15120		}
15121		if x.NextPageToken == "" {
15122			return nil
15123		}
15124		c.PageToken(x.NextPageToken)
15125	}
15126}
15127
15128// method id "dfareporting.accountUserProfiles.patch":
15129
15130type AccountUserProfilesPatchCall struct {
15131	s                  *Service
15132	profileId          int64
15133	accountuserprofile *AccountUserProfile
15134	urlParams_         gensupport.URLParams
15135	ctx_               context.Context
15136	header_            http.Header
15137}
15138
15139// Patch: Updates an existing account user profile. This method supports
15140// patch semantics.
15141func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
15142	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15143	c.profileId = profileId
15144	c.urlParams_.Set("id", fmt.Sprint(id))
15145	c.accountuserprofile = accountuserprofile
15146	return c
15147}
15148
15149// Fields allows partial responses to be retrieved. See
15150// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15151// for more information.
15152func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
15153	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15154	return c
15155}
15156
15157// Context sets the context to be used in this call's Do method. Any
15158// pending HTTP request will be aborted if the provided context is
15159// canceled.
15160func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
15161	c.ctx_ = ctx
15162	return c
15163}
15164
15165// Header returns an http.Header that can be modified by the caller to
15166// add HTTP headers to the request.
15167func (c *AccountUserProfilesPatchCall) Header() http.Header {
15168	if c.header_ == nil {
15169		c.header_ = make(http.Header)
15170	}
15171	return c.header_
15172}
15173
15174func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
15175	reqHeaders := make(http.Header)
15176	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15177	for k, v := range c.header_ {
15178		reqHeaders[k] = v
15179	}
15180	reqHeaders.Set("User-Agent", c.s.userAgent())
15181	var body io.Reader = nil
15182	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15183	if err != nil {
15184		return nil, err
15185	}
15186	reqHeaders.Set("Content-Type", "application/json")
15187	c.urlParams_.Set("alt", alt)
15188	c.urlParams_.Set("prettyPrint", "false")
15189	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15190	urls += "?" + c.urlParams_.Encode()
15191	req, err := http.NewRequest("PATCH", urls, body)
15192	if err != nil {
15193		return nil, err
15194	}
15195	req.Header = reqHeaders
15196	googleapi.Expand(req.URL, map[string]string{
15197		"profileId": strconv.FormatInt(c.profileId, 10),
15198	})
15199	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15200}
15201
15202// Do executes the "dfareporting.accountUserProfiles.patch" call.
15203// Exactly one of *AccountUserProfile or error will be non-nil. Any
15204// non-2xx status code is an error. Response headers are in either
15205// *AccountUserProfile.ServerResponse.Header or (if a response was
15206// returned at all) in error.(*googleapi.Error).Header. Use
15207// googleapi.IsNotModified to check whether the returned error was
15208// because http.StatusNotModified was returned.
15209func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15210	gensupport.SetOptions(c.urlParams_, opts...)
15211	res, err := c.doRequest("json")
15212	if res != nil && res.StatusCode == http.StatusNotModified {
15213		if res.Body != nil {
15214			res.Body.Close()
15215		}
15216		return nil, &googleapi.Error{
15217			Code:   res.StatusCode,
15218			Header: res.Header,
15219		}
15220	}
15221	if err != nil {
15222		return nil, err
15223	}
15224	defer googleapi.CloseBody(res)
15225	if err := googleapi.CheckResponse(res); err != nil {
15226		return nil, err
15227	}
15228	ret := &AccountUserProfile{
15229		ServerResponse: googleapi.ServerResponse{
15230			Header:         res.Header,
15231			HTTPStatusCode: res.StatusCode,
15232		},
15233	}
15234	target := &ret
15235	if err := gensupport.DecodeResponse(target, res); err != nil {
15236		return nil, err
15237	}
15238	return ret, nil
15239	// {
15240	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
15241	//   "httpMethod": "PATCH",
15242	//   "id": "dfareporting.accountUserProfiles.patch",
15243	//   "parameterOrder": [
15244	//     "profileId",
15245	//     "id"
15246	//   ],
15247	//   "parameters": {
15248	//     "id": {
15249	//       "description": "User profile ID.",
15250	//       "format": "int64",
15251	//       "location": "query",
15252	//       "required": true,
15253	//       "type": "string"
15254	//     },
15255	//     "profileId": {
15256	//       "description": "User profile ID associated with this request.",
15257	//       "format": "int64",
15258	//       "location": "path",
15259	//       "required": true,
15260	//       "type": "string"
15261	//     }
15262	//   },
15263	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15264	//   "request": {
15265	//     "$ref": "AccountUserProfile"
15266	//   },
15267	//   "response": {
15268	//     "$ref": "AccountUserProfile"
15269	//   },
15270	//   "scopes": [
15271	//     "https://www.googleapis.com/auth/dfatrafficking"
15272	//   ]
15273	// }
15274
15275}
15276
15277// method id "dfareporting.accountUserProfiles.update":
15278
15279type AccountUserProfilesUpdateCall struct {
15280	s                  *Service
15281	profileId          int64
15282	accountuserprofile *AccountUserProfile
15283	urlParams_         gensupport.URLParams
15284	ctx_               context.Context
15285	header_            http.Header
15286}
15287
15288// Update: Updates an existing account user profile.
15289func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
15290	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15291	c.profileId = profileId
15292	c.accountuserprofile = accountuserprofile
15293	return c
15294}
15295
15296// Fields allows partial responses to be retrieved. See
15297// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15298// for more information.
15299func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
15300	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15301	return c
15302}
15303
15304// Context sets the context to be used in this call's Do method. Any
15305// pending HTTP request will be aborted if the provided context is
15306// canceled.
15307func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
15308	c.ctx_ = ctx
15309	return c
15310}
15311
15312// Header returns an http.Header that can be modified by the caller to
15313// add HTTP headers to the request.
15314func (c *AccountUserProfilesUpdateCall) Header() http.Header {
15315	if c.header_ == nil {
15316		c.header_ = make(http.Header)
15317	}
15318	return c.header_
15319}
15320
15321func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
15322	reqHeaders := make(http.Header)
15323	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15324	for k, v := range c.header_ {
15325		reqHeaders[k] = v
15326	}
15327	reqHeaders.Set("User-Agent", c.s.userAgent())
15328	var body io.Reader = nil
15329	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15330	if err != nil {
15331		return nil, err
15332	}
15333	reqHeaders.Set("Content-Type", "application/json")
15334	c.urlParams_.Set("alt", alt)
15335	c.urlParams_.Set("prettyPrint", "false")
15336	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15337	urls += "?" + c.urlParams_.Encode()
15338	req, err := http.NewRequest("PUT", urls, body)
15339	if err != nil {
15340		return nil, err
15341	}
15342	req.Header = reqHeaders
15343	googleapi.Expand(req.URL, map[string]string{
15344		"profileId": strconv.FormatInt(c.profileId, 10),
15345	})
15346	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15347}
15348
15349// Do executes the "dfareporting.accountUserProfiles.update" call.
15350// Exactly one of *AccountUserProfile or error will be non-nil. Any
15351// non-2xx status code is an error. Response headers are in either
15352// *AccountUserProfile.ServerResponse.Header or (if a response was
15353// returned at all) in error.(*googleapi.Error).Header. Use
15354// googleapi.IsNotModified to check whether the returned error was
15355// because http.StatusNotModified was returned.
15356func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15357	gensupport.SetOptions(c.urlParams_, opts...)
15358	res, err := c.doRequest("json")
15359	if res != nil && res.StatusCode == http.StatusNotModified {
15360		if res.Body != nil {
15361			res.Body.Close()
15362		}
15363		return nil, &googleapi.Error{
15364			Code:   res.StatusCode,
15365			Header: res.Header,
15366		}
15367	}
15368	if err != nil {
15369		return nil, err
15370	}
15371	defer googleapi.CloseBody(res)
15372	if err := googleapi.CheckResponse(res); err != nil {
15373		return nil, err
15374	}
15375	ret := &AccountUserProfile{
15376		ServerResponse: googleapi.ServerResponse{
15377			Header:         res.Header,
15378			HTTPStatusCode: res.StatusCode,
15379		},
15380	}
15381	target := &ret
15382	if err := gensupport.DecodeResponse(target, res); err != nil {
15383		return nil, err
15384	}
15385	return ret, nil
15386	// {
15387	//   "description": "Updates an existing account user profile.",
15388	//   "httpMethod": "PUT",
15389	//   "id": "dfareporting.accountUserProfiles.update",
15390	//   "parameterOrder": [
15391	//     "profileId"
15392	//   ],
15393	//   "parameters": {
15394	//     "profileId": {
15395	//       "description": "User profile ID associated with this request.",
15396	//       "format": "int64",
15397	//       "location": "path",
15398	//       "required": true,
15399	//       "type": "string"
15400	//     }
15401	//   },
15402	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15403	//   "request": {
15404	//     "$ref": "AccountUserProfile"
15405	//   },
15406	//   "response": {
15407	//     "$ref": "AccountUserProfile"
15408	//   },
15409	//   "scopes": [
15410	//     "https://www.googleapis.com/auth/dfatrafficking"
15411	//   ]
15412	// }
15413
15414}
15415
15416// method id "dfareporting.accounts.get":
15417
15418type AccountsGetCall struct {
15419	s            *Service
15420	profileId    int64
15421	id           int64
15422	urlParams_   gensupport.URLParams
15423	ifNoneMatch_ string
15424	ctx_         context.Context
15425	header_      http.Header
15426}
15427
15428// Get: Gets one account by ID.
15429func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
15430	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15431	c.profileId = profileId
15432	c.id = id
15433	return c
15434}
15435
15436// Fields allows partial responses to be retrieved. See
15437// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15438// for more information.
15439func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
15440	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15441	return c
15442}
15443
15444// IfNoneMatch sets the optional parameter which makes the operation
15445// fail if the object's ETag matches the given value. This is useful for
15446// getting updates only after the object has changed since the last
15447// request. Use googleapi.IsNotModified to check whether the response
15448// error from Do is the result of In-None-Match.
15449func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
15450	c.ifNoneMatch_ = entityTag
15451	return c
15452}
15453
15454// Context sets the context to be used in this call's Do method. Any
15455// pending HTTP request will be aborted if the provided context is
15456// canceled.
15457func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
15458	c.ctx_ = ctx
15459	return c
15460}
15461
15462// Header returns an http.Header that can be modified by the caller to
15463// add HTTP headers to the request.
15464func (c *AccountsGetCall) Header() http.Header {
15465	if c.header_ == nil {
15466		c.header_ = make(http.Header)
15467	}
15468	return c.header_
15469}
15470
15471func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
15472	reqHeaders := make(http.Header)
15473	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15474	for k, v := range c.header_ {
15475		reqHeaders[k] = v
15476	}
15477	reqHeaders.Set("User-Agent", c.s.userAgent())
15478	if c.ifNoneMatch_ != "" {
15479		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15480	}
15481	var body io.Reader = nil
15482	c.urlParams_.Set("alt", alt)
15483	c.urlParams_.Set("prettyPrint", "false")
15484	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
15485	urls += "?" + c.urlParams_.Encode()
15486	req, err := http.NewRequest("GET", urls, body)
15487	if err != nil {
15488		return nil, err
15489	}
15490	req.Header = reqHeaders
15491	googleapi.Expand(req.URL, map[string]string{
15492		"profileId": strconv.FormatInt(c.profileId, 10),
15493		"id":        strconv.FormatInt(c.id, 10),
15494	})
15495	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15496}
15497
15498// Do executes the "dfareporting.accounts.get" call.
15499// Exactly one of *Account or error will be non-nil. Any non-2xx status
15500// code is an error. Response headers are in either
15501// *Account.ServerResponse.Header or (if a response was returned at all)
15502// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15503// check whether the returned error was because http.StatusNotModified
15504// was returned.
15505func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
15506	gensupport.SetOptions(c.urlParams_, opts...)
15507	res, err := c.doRequest("json")
15508	if res != nil && res.StatusCode == http.StatusNotModified {
15509		if res.Body != nil {
15510			res.Body.Close()
15511		}
15512		return nil, &googleapi.Error{
15513			Code:   res.StatusCode,
15514			Header: res.Header,
15515		}
15516	}
15517	if err != nil {
15518		return nil, err
15519	}
15520	defer googleapi.CloseBody(res)
15521	if err := googleapi.CheckResponse(res); err != nil {
15522		return nil, err
15523	}
15524	ret := &Account{
15525		ServerResponse: googleapi.ServerResponse{
15526			Header:         res.Header,
15527			HTTPStatusCode: res.StatusCode,
15528		},
15529	}
15530	target := &ret
15531	if err := gensupport.DecodeResponse(target, res); err != nil {
15532		return nil, err
15533	}
15534	return ret, nil
15535	// {
15536	//   "description": "Gets one account by ID.",
15537	//   "httpMethod": "GET",
15538	//   "id": "dfareporting.accounts.get",
15539	//   "parameterOrder": [
15540	//     "profileId",
15541	//     "id"
15542	//   ],
15543	//   "parameters": {
15544	//     "id": {
15545	//       "description": "Account ID.",
15546	//       "format": "int64",
15547	//       "location": "path",
15548	//       "required": true,
15549	//       "type": "string"
15550	//     },
15551	//     "profileId": {
15552	//       "description": "User profile ID associated with this request.",
15553	//       "format": "int64",
15554	//       "location": "path",
15555	//       "required": true,
15556	//       "type": "string"
15557	//     }
15558	//   },
15559	//   "path": "userprofiles/{profileId}/accounts/{id}",
15560	//   "response": {
15561	//     "$ref": "Account"
15562	//   },
15563	//   "scopes": [
15564	//     "https://www.googleapis.com/auth/dfatrafficking"
15565	//   ]
15566	// }
15567
15568}
15569
15570// method id "dfareporting.accounts.list":
15571
15572type AccountsListCall struct {
15573	s            *Service
15574	profileId    int64
15575	urlParams_   gensupport.URLParams
15576	ifNoneMatch_ string
15577	ctx_         context.Context
15578	header_      http.Header
15579}
15580
15581// List: Retrieves the list of accounts, possibly filtered. This method
15582// supports paging.
15583func (r *AccountsService) List(profileId int64) *AccountsListCall {
15584	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15585	c.profileId = profileId
15586	return c
15587}
15588
15589// Active sets the optional parameter "active": Select only active
15590// accounts. Don't set this field to select both active and non-active
15591// accounts.
15592func (c *AccountsListCall) Active(active bool) *AccountsListCall {
15593	c.urlParams_.Set("active", fmt.Sprint(active))
15594	return c
15595}
15596
15597// Ids sets the optional parameter "ids": Select only accounts with
15598// these IDs.
15599func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
15600	var ids_ []string
15601	for _, v := range ids {
15602		ids_ = append(ids_, fmt.Sprint(v))
15603	}
15604	c.urlParams_.SetMulti("ids", ids_)
15605	return c
15606}
15607
15608// MaxResults sets the optional parameter "maxResults": Maximum number
15609// of results to return.
15610func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
15611	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15612	return c
15613}
15614
15615// PageToken sets the optional parameter "pageToken": Value of the
15616// nextPageToken from the previous result page.
15617func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
15618	c.urlParams_.Set("pageToken", pageToken)
15619	return c
15620}
15621
15622// SearchString sets the optional parameter "searchString": Allows
15623// searching for objects by name or ID. Wildcards (*) are allowed. For
15624// example, "account*2015" will return objects with names like "account
15625// June 2015", "account April 2015", or simply "account 2015". Most of
15626// the searches also add wildcards implicitly at the start and the end
15627// of the search string. For example, a search string of "account" will
15628// match objects with name "my account", "account 2015", or simply
15629// "account".
15630func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
15631	c.urlParams_.Set("searchString", searchString)
15632	return c
15633}
15634
15635// SortField sets the optional parameter "sortField": Field by which to
15636// sort the list.
15637//
15638// Possible values:
15639//   "ID" (default)
15640//   "NAME"
15641func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
15642	c.urlParams_.Set("sortField", sortField)
15643	return c
15644}
15645
15646// SortOrder sets the optional parameter "sortOrder": Order of sorted
15647// results.
15648//
15649// Possible values:
15650//   "ASCENDING" (default)
15651//   "DESCENDING"
15652func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
15653	c.urlParams_.Set("sortOrder", sortOrder)
15654	return c
15655}
15656
15657// Fields allows partial responses to be retrieved. See
15658// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15659// for more information.
15660func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
15661	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15662	return c
15663}
15664
15665// IfNoneMatch sets the optional parameter which makes the operation
15666// fail if the object's ETag matches the given value. This is useful for
15667// getting updates only after the object has changed since the last
15668// request. Use googleapi.IsNotModified to check whether the response
15669// error from Do is the result of In-None-Match.
15670func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
15671	c.ifNoneMatch_ = entityTag
15672	return c
15673}
15674
15675// Context sets the context to be used in this call's Do method. Any
15676// pending HTTP request will be aborted if the provided context is
15677// canceled.
15678func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
15679	c.ctx_ = ctx
15680	return c
15681}
15682
15683// Header returns an http.Header that can be modified by the caller to
15684// add HTTP headers to the request.
15685func (c *AccountsListCall) Header() http.Header {
15686	if c.header_ == nil {
15687		c.header_ = make(http.Header)
15688	}
15689	return c.header_
15690}
15691
15692func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
15693	reqHeaders := make(http.Header)
15694	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15695	for k, v := range c.header_ {
15696		reqHeaders[k] = v
15697	}
15698	reqHeaders.Set("User-Agent", c.s.userAgent())
15699	if c.ifNoneMatch_ != "" {
15700		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15701	}
15702	var body io.Reader = nil
15703	c.urlParams_.Set("alt", alt)
15704	c.urlParams_.Set("prettyPrint", "false")
15705	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
15706	urls += "?" + c.urlParams_.Encode()
15707	req, err := http.NewRequest("GET", urls, body)
15708	if err != nil {
15709		return nil, err
15710	}
15711	req.Header = reqHeaders
15712	googleapi.Expand(req.URL, map[string]string{
15713		"profileId": strconv.FormatInt(c.profileId, 10),
15714	})
15715	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15716}
15717
15718// Do executes the "dfareporting.accounts.list" call.
15719// Exactly one of *AccountsListResponse or error will be non-nil. Any
15720// non-2xx status code is an error. Response headers are in either
15721// *AccountsListResponse.ServerResponse.Header or (if a response was
15722// returned at all) in error.(*googleapi.Error).Header. Use
15723// googleapi.IsNotModified to check whether the returned error was
15724// because http.StatusNotModified was returned.
15725func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
15726	gensupport.SetOptions(c.urlParams_, opts...)
15727	res, err := c.doRequest("json")
15728	if res != nil && res.StatusCode == http.StatusNotModified {
15729		if res.Body != nil {
15730			res.Body.Close()
15731		}
15732		return nil, &googleapi.Error{
15733			Code:   res.StatusCode,
15734			Header: res.Header,
15735		}
15736	}
15737	if err != nil {
15738		return nil, err
15739	}
15740	defer googleapi.CloseBody(res)
15741	if err := googleapi.CheckResponse(res); err != nil {
15742		return nil, err
15743	}
15744	ret := &AccountsListResponse{
15745		ServerResponse: googleapi.ServerResponse{
15746			Header:         res.Header,
15747			HTTPStatusCode: res.StatusCode,
15748		},
15749	}
15750	target := &ret
15751	if err := gensupport.DecodeResponse(target, res); err != nil {
15752		return nil, err
15753	}
15754	return ret, nil
15755	// {
15756	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
15757	//   "httpMethod": "GET",
15758	//   "id": "dfareporting.accounts.list",
15759	//   "parameterOrder": [
15760	//     "profileId"
15761	//   ],
15762	//   "parameters": {
15763	//     "active": {
15764	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
15765	//       "location": "query",
15766	//       "type": "boolean"
15767	//     },
15768	//     "ids": {
15769	//       "description": "Select only accounts with these IDs.",
15770	//       "format": "int64",
15771	//       "location": "query",
15772	//       "repeated": true,
15773	//       "type": "string"
15774	//     },
15775	//     "maxResults": {
15776	//       "default": "1000",
15777	//       "description": "Maximum number of results to return.",
15778	//       "format": "int32",
15779	//       "location": "query",
15780	//       "maximum": "1000",
15781	//       "minimum": "0",
15782	//       "type": "integer"
15783	//     },
15784	//     "pageToken": {
15785	//       "description": "Value of the nextPageToken from the previous result page.",
15786	//       "location": "query",
15787	//       "type": "string"
15788	//     },
15789	//     "profileId": {
15790	//       "description": "User profile ID associated with this request.",
15791	//       "format": "int64",
15792	//       "location": "path",
15793	//       "required": true,
15794	//       "type": "string"
15795	//     },
15796	//     "searchString": {
15797	//       "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\".",
15798	//       "location": "query",
15799	//       "type": "string"
15800	//     },
15801	//     "sortField": {
15802	//       "default": "ID",
15803	//       "description": "Field by which to sort the list.",
15804	//       "enum": [
15805	//         "ID",
15806	//         "NAME"
15807	//       ],
15808	//       "enumDescriptions": [
15809	//         "",
15810	//         ""
15811	//       ],
15812	//       "location": "query",
15813	//       "type": "string"
15814	//     },
15815	//     "sortOrder": {
15816	//       "default": "ASCENDING",
15817	//       "description": "Order of sorted results.",
15818	//       "enum": [
15819	//         "ASCENDING",
15820	//         "DESCENDING"
15821	//       ],
15822	//       "enumDescriptions": [
15823	//         "",
15824	//         ""
15825	//       ],
15826	//       "location": "query",
15827	//       "type": "string"
15828	//     }
15829	//   },
15830	//   "path": "userprofiles/{profileId}/accounts",
15831	//   "response": {
15832	//     "$ref": "AccountsListResponse"
15833	//   },
15834	//   "scopes": [
15835	//     "https://www.googleapis.com/auth/dfatrafficking"
15836	//   ]
15837	// }
15838
15839}
15840
15841// Pages invokes f for each page of results.
15842// A non-nil error returned from f will halt the iteration.
15843// The provided context supersedes any context provided to the Context method.
15844func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
15845	c.ctx_ = ctx
15846	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15847	for {
15848		x, err := c.Do()
15849		if err != nil {
15850			return err
15851		}
15852		if err := f(x); err != nil {
15853			return err
15854		}
15855		if x.NextPageToken == "" {
15856			return nil
15857		}
15858		c.PageToken(x.NextPageToken)
15859	}
15860}
15861
15862// method id "dfareporting.accounts.patch":
15863
15864type AccountsPatchCall struct {
15865	s          *Service
15866	profileId  int64
15867	account    *Account
15868	urlParams_ gensupport.URLParams
15869	ctx_       context.Context
15870	header_    http.Header
15871}
15872
15873// Patch: Updates an existing account. This method supports patch
15874// semantics.
15875func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
15876	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15877	c.profileId = profileId
15878	c.urlParams_.Set("id", fmt.Sprint(id))
15879	c.account = account
15880	return c
15881}
15882
15883// Fields allows partial responses to be retrieved. See
15884// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15885// for more information.
15886func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
15887	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15888	return c
15889}
15890
15891// Context sets the context to be used in this call's Do method. Any
15892// pending HTTP request will be aborted if the provided context is
15893// canceled.
15894func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
15895	c.ctx_ = ctx
15896	return c
15897}
15898
15899// Header returns an http.Header that can be modified by the caller to
15900// add HTTP headers to the request.
15901func (c *AccountsPatchCall) Header() http.Header {
15902	if c.header_ == nil {
15903		c.header_ = make(http.Header)
15904	}
15905	return c.header_
15906}
15907
15908func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
15909	reqHeaders := make(http.Header)
15910	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15911	for k, v := range c.header_ {
15912		reqHeaders[k] = v
15913	}
15914	reqHeaders.Set("User-Agent", c.s.userAgent())
15915	var body io.Reader = nil
15916	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
15917	if err != nil {
15918		return nil, err
15919	}
15920	reqHeaders.Set("Content-Type", "application/json")
15921	c.urlParams_.Set("alt", alt)
15922	c.urlParams_.Set("prettyPrint", "false")
15923	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
15924	urls += "?" + c.urlParams_.Encode()
15925	req, err := http.NewRequest("PATCH", urls, body)
15926	if err != nil {
15927		return nil, err
15928	}
15929	req.Header = reqHeaders
15930	googleapi.Expand(req.URL, map[string]string{
15931		"profileId": strconv.FormatInt(c.profileId, 10),
15932	})
15933	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15934}
15935
15936// Do executes the "dfareporting.accounts.patch" call.
15937// Exactly one of *Account or error will be non-nil. Any non-2xx status
15938// code is an error. Response headers are in either
15939// *Account.ServerResponse.Header or (if a response was returned at all)
15940// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15941// check whether the returned error was because http.StatusNotModified
15942// was returned.
15943func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
15944	gensupport.SetOptions(c.urlParams_, opts...)
15945	res, err := c.doRequest("json")
15946	if res != nil && res.StatusCode == http.StatusNotModified {
15947		if res.Body != nil {
15948			res.Body.Close()
15949		}
15950		return nil, &googleapi.Error{
15951			Code:   res.StatusCode,
15952			Header: res.Header,
15953		}
15954	}
15955	if err != nil {
15956		return nil, err
15957	}
15958	defer googleapi.CloseBody(res)
15959	if err := googleapi.CheckResponse(res); err != nil {
15960		return nil, err
15961	}
15962	ret := &Account{
15963		ServerResponse: googleapi.ServerResponse{
15964			Header:         res.Header,
15965			HTTPStatusCode: res.StatusCode,
15966		},
15967	}
15968	target := &ret
15969	if err := gensupport.DecodeResponse(target, res); err != nil {
15970		return nil, err
15971	}
15972	return ret, nil
15973	// {
15974	//   "description": "Updates an existing account. This method supports patch semantics.",
15975	//   "httpMethod": "PATCH",
15976	//   "id": "dfareporting.accounts.patch",
15977	//   "parameterOrder": [
15978	//     "profileId",
15979	//     "id"
15980	//   ],
15981	//   "parameters": {
15982	//     "id": {
15983	//       "description": "Account ID.",
15984	//       "format": "int64",
15985	//       "location": "query",
15986	//       "required": true,
15987	//       "type": "string"
15988	//     },
15989	//     "profileId": {
15990	//       "description": "User profile ID associated with this request.",
15991	//       "format": "int64",
15992	//       "location": "path",
15993	//       "required": true,
15994	//       "type": "string"
15995	//     }
15996	//   },
15997	//   "path": "userprofiles/{profileId}/accounts",
15998	//   "request": {
15999	//     "$ref": "Account"
16000	//   },
16001	//   "response": {
16002	//     "$ref": "Account"
16003	//   },
16004	//   "scopes": [
16005	//     "https://www.googleapis.com/auth/dfatrafficking"
16006	//   ]
16007	// }
16008
16009}
16010
16011// method id "dfareporting.accounts.update":
16012
16013type AccountsUpdateCall struct {
16014	s          *Service
16015	profileId  int64
16016	account    *Account
16017	urlParams_ gensupport.URLParams
16018	ctx_       context.Context
16019	header_    http.Header
16020}
16021
16022// Update: Updates an existing account.
16023func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
16024	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16025	c.profileId = profileId
16026	c.account = account
16027	return c
16028}
16029
16030// Fields allows partial responses to be retrieved. See
16031// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16032// for more information.
16033func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
16034	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16035	return c
16036}
16037
16038// Context sets the context to be used in this call's Do method. Any
16039// pending HTTP request will be aborted if the provided context is
16040// canceled.
16041func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
16042	c.ctx_ = ctx
16043	return c
16044}
16045
16046// Header returns an http.Header that can be modified by the caller to
16047// add HTTP headers to the request.
16048func (c *AccountsUpdateCall) Header() http.Header {
16049	if c.header_ == nil {
16050		c.header_ = make(http.Header)
16051	}
16052	return c.header_
16053}
16054
16055func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
16056	reqHeaders := make(http.Header)
16057	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16058	for k, v := range c.header_ {
16059		reqHeaders[k] = v
16060	}
16061	reqHeaders.Set("User-Agent", c.s.userAgent())
16062	var body io.Reader = nil
16063	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16064	if err != nil {
16065		return nil, err
16066	}
16067	reqHeaders.Set("Content-Type", "application/json")
16068	c.urlParams_.Set("alt", alt)
16069	c.urlParams_.Set("prettyPrint", "false")
16070	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16071	urls += "?" + c.urlParams_.Encode()
16072	req, err := http.NewRequest("PUT", urls, body)
16073	if err != nil {
16074		return nil, err
16075	}
16076	req.Header = reqHeaders
16077	googleapi.Expand(req.URL, map[string]string{
16078		"profileId": strconv.FormatInt(c.profileId, 10),
16079	})
16080	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16081}
16082
16083// Do executes the "dfareporting.accounts.update" call.
16084// Exactly one of *Account or error will be non-nil. Any non-2xx status
16085// code is an error. Response headers are in either
16086// *Account.ServerResponse.Header or (if a response was returned at all)
16087// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16088// check whether the returned error was because http.StatusNotModified
16089// was returned.
16090func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16091	gensupport.SetOptions(c.urlParams_, opts...)
16092	res, err := c.doRequest("json")
16093	if res != nil && res.StatusCode == http.StatusNotModified {
16094		if res.Body != nil {
16095			res.Body.Close()
16096		}
16097		return nil, &googleapi.Error{
16098			Code:   res.StatusCode,
16099			Header: res.Header,
16100		}
16101	}
16102	if err != nil {
16103		return nil, err
16104	}
16105	defer googleapi.CloseBody(res)
16106	if err := googleapi.CheckResponse(res); err != nil {
16107		return nil, err
16108	}
16109	ret := &Account{
16110		ServerResponse: googleapi.ServerResponse{
16111			Header:         res.Header,
16112			HTTPStatusCode: res.StatusCode,
16113		},
16114	}
16115	target := &ret
16116	if err := gensupport.DecodeResponse(target, res); err != nil {
16117		return nil, err
16118	}
16119	return ret, nil
16120	// {
16121	//   "description": "Updates an existing account.",
16122	//   "httpMethod": "PUT",
16123	//   "id": "dfareporting.accounts.update",
16124	//   "parameterOrder": [
16125	//     "profileId"
16126	//   ],
16127	//   "parameters": {
16128	//     "profileId": {
16129	//       "description": "User profile ID associated with this request.",
16130	//       "format": "int64",
16131	//       "location": "path",
16132	//       "required": true,
16133	//       "type": "string"
16134	//     }
16135	//   },
16136	//   "path": "userprofiles/{profileId}/accounts",
16137	//   "request": {
16138	//     "$ref": "Account"
16139	//   },
16140	//   "response": {
16141	//     "$ref": "Account"
16142	//   },
16143	//   "scopes": [
16144	//     "https://www.googleapis.com/auth/dfatrafficking"
16145	//   ]
16146	// }
16147
16148}
16149
16150// method id "dfareporting.ads.get":
16151
16152type AdsGetCall struct {
16153	s            *Service
16154	profileId    int64
16155	id           int64
16156	urlParams_   gensupport.URLParams
16157	ifNoneMatch_ string
16158	ctx_         context.Context
16159	header_      http.Header
16160}
16161
16162// Get: Gets one ad by ID.
16163func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
16164	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16165	c.profileId = profileId
16166	c.id = id
16167	return c
16168}
16169
16170// Fields allows partial responses to be retrieved. See
16171// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16172// for more information.
16173func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
16174	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16175	return c
16176}
16177
16178// IfNoneMatch sets the optional parameter which makes the operation
16179// fail if the object's ETag matches the given value. This is useful for
16180// getting updates only after the object has changed since the last
16181// request. Use googleapi.IsNotModified to check whether the response
16182// error from Do is the result of In-None-Match.
16183func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
16184	c.ifNoneMatch_ = entityTag
16185	return c
16186}
16187
16188// Context sets the context to be used in this call's Do method. Any
16189// pending HTTP request will be aborted if the provided context is
16190// canceled.
16191func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
16192	c.ctx_ = ctx
16193	return c
16194}
16195
16196// Header returns an http.Header that can be modified by the caller to
16197// add HTTP headers to the request.
16198func (c *AdsGetCall) Header() http.Header {
16199	if c.header_ == nil {
16200		c.header_ = make(http.Header)
16201	}
16202	return c.header_
16203}
16204
16205func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
16206	reqHeaders := make(http.Header)
16207	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16208	for k, v := range c.header_ {
16209		reqHeaders[k] = v
16210	}
16211	reqHeaders.Set("User-Agent", c.s.userAgent())
16212	if c.ifNoneMatch_ != "" {
16213		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16214	}
16215	var body io.Reader = nil
16216	c.urlParams_.Set("alt", alt)
16217	c.urlParams_.Set("prettyPrint", "false")
16218	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
16219	urls += "?" + c.urlParams_.Encode()
16220	req, err := http.NewRequest("GET", urls, body)
16221	if err != nil {
16222		return nil, err
16223	}
16224	req.Header = reqHeaders
16225	googleapi.Expand(req.URL, map[string]string{
16226		"profileId": strconv.FormatInt(c.profileId, 10),
16227		"id":        strconv.FormatInt(c.id, 10),
16228	})
16229	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16230}
16231
16232// Do executes the "dfareporting.ads.get" call.
16233// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16234// is an error. Response headers are in either *Ad.ServerResponse.Header
16235// or (if a response was returned at all) in
16236// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16237// whether the returned error was because http.StatusNotModified was
16238// returned.
16239func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16240	gensupport.SetOptions(c.urlParams_, opts...)
16241	res, err := c.doRequest("json")
16242	if res != nil && res.StatusCode == http.StatusNotModified {
16243		if res.Body != nil {
16244			res.Body.Close()
16245		}
16246		return nil, &googleapi.Error{
16247			Code:   res.StatusCode,
16248			Header: res.Header,
16249		}
16250	}
16251	if err != nil {
16252		return nil, err
16253	}
16254	defer googleapi.CloseBody(res)
16255	if err := googleapi.CheckResponse(res); err != nil {
16256		return nil, err
16257	}
16258	ret := &Ad{
16259		ServerResponse: googleapi.ServerResponse{
16260			Header:         res.Header,
16261			HTTPStatusCode: res.StatusCode,
16262		},
16263	}
16264	target := &ret
16265	if err := gensupport.DecodeResponse(target, res); err != nil {
16266		return nil, err
16267	}
16268	return ret, nil
16269	// {
16270	//   "description": "Gets one ad by ID.",
16271	//   "httpMethod": "GET",
16272	//   "id": "dfareporting.ads.get",
16273	//   "parameterOrder": [
16274	//     "profileId",
16275	//     "id"
16276	//   ],
16277	//   "parameters": {
16278	//     "id": {
16279	//       "description": "Ad ID.",
16280	//       "format": "int64",
16281	//       "location": "path",
16282	//       "required": true,
16283	//       "type": "string"
16284	//     },
16285	//     "profileId": {
16286	//       "description": "User profile ID associated with this request.",
16287	//       "format": "int64",
16288	//       "location": "path",
16289	//       "required": true,
16290	//       "type": "string"
16291	//     }
16292	//   },
16293	//   "path": "userprofiles/{profileId}/ads/{id}",
16294	//   "response": {
16295	//     "$ref": "Ad"
16296	//   },
16297	//   "scopes": [
16298	//     "https://www.googleapis.com/auth/dfatrafficking"
16299	//   ]
16300	// }
16301
16302}
16303
16304// method id "dfareporting.ads.insert":
16305
16306type AdsInsertCall struct {
16307	s          *Service
16308	profileId  int64
16309	ad         *Ad
16310	urlParams_ gensupport.URLParams
16311	ctx_       context.Context
16312	header_    http.Header
16313}
16314
16315// Insert: Inserts a new ad.
16316func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
16317	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16318	c.profileId = profileId
16319	c.ad = ad
16320	return c
16321}
16322
16323// Fields allows partial responses to be retrieved. See
16324// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16325// for more information.
16326func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
16327	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16328	return c
16329}
16330
16331// Context sets the context to be used in this call's Do method. Any
16332// pending HTTP request will be aborted if the provided context is
16333// canceled.
16334func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
16335	c.ctx_ = ctx
16336	return c
16337}
16338
16339// Header returns an http.Header that can be modified by the caller to
16340// add HTTP headers to the request.
16341func (c *AdsInsertCall) Header() http.Header {
16342	if c.header_ == nil {
16343		c.header_ = make(http.Header)
16344	}
16345	return c.header_
16346}
16347
16348func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
16349	reqHeaders := make(http.Header)
16350	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16351	for k, v := range c.header_ {
16352		reqHeaders[k] = v
16353	}
16354	reqHeaders.Set("User-Agent", c.s.userAgent())
16355	var body io.Reader = nil
16356	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
16357	if err != nil {
16358		return nil, err
16359	}
16360	reqHeaders.Set("Content-Type", "application/json")
16361	c.urlParams_.Set("alt", alt)
16362	c.urlParams_.Set("prettyPrint", "false")
16363	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
16364	urls += "?" + c.urlParams_.Encode()
16365	req, err := http.NewRequest("POST", urls, body)
16366	if err != nil {
16367		return nil, err
16368	}
16369	req.Header = reqHeaders
16370	googleapi.Expand(req.URL, map[string]string{
16371		"profileId": strconv.FormatInt(c.profileId, 10),
16372	})
16373	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16374}
16375
16376// Do executes the "dfareporting.ads.insert" call.
16377// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16378// is an error. Response headers are in either *Ad.ServerResponse.Header
16379// or (if a response was returned at all) in
16380// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16381// whether the returned error was because http.StatusNotModified was
16382// returned.
16383func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16384	gensupport.SetOptions(c.urlParams_, opts...)
16385	res, err := c.doRequest("json")
16386	if res != nil && res.StatusCode == http.StatusNotModified {
16387		if res.Body != nil {
16388			res.Body.Close()
16389		}
16390		return nil, &googleapi.Error{
16391			Code:   res.StatusCode,
16392			Header: res.Header,
16393		}
16394	}
16395	if err != nil {
16396		return nil, err
16397	}
16398	defer googleapi.CloseBody(res)
16399	if err := googleapi.CheckResponse(res); err != nil {
16400		return nil, err
16401	}
16402	ret := &Ad{
16403		ServerResponse: googleapi.ServerResponse{
16404			Header:         res.Header,
16405			HTTPStatusCode: res.StatusCode,
16406		},
16407	}
16408	target := &ret
16409	if err := gensupport.DecodeResponse(target, res); err != nil {
16410		return nil, err
16411	}
16412	return ret, nil
16413	// {
16414	//   "description": "Inserts a new ad.",
16415	//   "httpMethod": "POST",
16416	//   "id": "dfareporting.ads.insert",
16417	//   "parameterOrder": [
16418	//     "profileId"
16419	//   ],
16420	//   "parameters": {
16421	//     "profileId": {
16422	//       "description": "User profile ID associated with this request.",
16423	//       "format": "int64",
16424	//       "location": "path",
16425	//       "required": true,
16426	//       "type": "string"
16427	//     }
16428	//   },
16429	//   "path": "userprofiles/{profileId}/ads",
16430	//   "request": {
16431	//     "$ref": "Ad"
16432	//   },
16433	//   "response": {
16434	//     "$ref": "Ad"
16435	//   },
16436	//   "scopes": [
16437	//     "https://www.googleapis.com/auth/dfatrafficking"
16438	//   ]
16439	// }
16440
16441}
16442
16443// method id "dfareporting.ads.list":
16444
16445type AdsListCall struct {
16446	s            *Service
16447	profileId    int64
16448	urlParams_   gensupport.URLParams
16449	ifNoneMatch_ string
16450	ctx_         context.Context
16451	header_      http.Header
16452}
16453
16454// List: Retrieves a list of ads, possibly filtered. This method
16455// supports paging.
16456func (r *AdsService) List(profileId int64) *AdsListCall {
16457	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16458	c.profileId = profileId
16459	return c
16460}
16461
16462// Active sets the optional parameter "active": Select only active ads.
16463func (c *AdsListCall) Active(active bool) *AdsListCall {
16464	c.urlParams_.Set("active", fmt.Sprint(active))
16465	return c
16466}
16467
16468// AdvertiserId sets the optional parameter "advertiserId": Select only
16469// ads with this advertiser ID.
16470func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
16471	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
16472	return c
16473}
16474
16475// Archived sets the optional parameter "archived": Select only archived
16476// ads.
16477func (c *AdsListCall) Archived(archived bool) *AdsListCall {
16478	c.urlParams_.Set("archived", fmt.Sprint(archived))
16479	return c
16480}
16481
16482// AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
16483// Select only ads with these audience segment IDs.
16484func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
16485	var audienceSegmentIds_ []string
16486	for _, v := range audienceSegmentIds {
16487		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
16488	}
16489	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
16490	return c
16491}
16492
16493// CampaignIds sets the optional parameter "campaignIds": Select only
16494// ads with these campaign IDs.
16495func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
16496	var campaignIds_ []string
16497	for _, v := range campaignIds {
16498		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
16499	}
16500	c.urlParams_.SetMulti("campaignIds", campaignIds_)
16501	return c
16502}
16503
16504// Compatibility sets the optional parameter "compatibility": Select
16505// default ads with the specified compatibility. Applicable when type is
16506// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
16507// rendering either on desktop or on mobile devices for regular or
16508// interstitial ads, respectively. APP and APP_INTERSTITIAL are for
16509// rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
16510// in-stream video ads developed with the VAST standard.
16511//
16512// Possible values:
16513//   "APP"
16514//   "APP_INTERSTITIAL"
16515//   "DISPLAY"
16516//   "DISPLAY_INTERSTITIAL"
16517//   "IN_STREAM_VIDEO"
16518func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
16519	c.urlParams_.Set("compatibility", compatibility)
16520	return c
16521}
16522
16523// CreativeIds sets the optional parameter "creativeIds": Select only
16524// ads with these creative IDs assigned.
16525func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
16526	var creativeIds_ []string
16527	for _, v := range creativeIds {
16528		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
16529	}
16530	c.urlParams_.SetMulti("creativeIds", creativeIds_)
16531	return c
16532}
16533
16534// CreativeOptimizationConfigurationIds sets the optional parameter
16535// "creativeOptimizationConfigurationIds": Select only ads with these
16536// creative optimization configuration IDs.
16537func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
16538	var creativeOptimizationConfigurationIds_ []string
16539	for _, v := range creativeOptimizationConfigurationIds {
16540		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
16541	}
16542	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
16543	return c
16544}
16545
16546// DynamicClickTracker sets the optional parameter
16547// "dynamicClickTracker": Select only dynamic click trackers. Applicable
16548// when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
16549// trackers. If false, select static click trackers. Leave unset to
16550// select both.
16551func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
16552	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
16553	return c
16554}
16555
16556// Ids sets the optional parameter "ids": Select only ads with these
16557// IDs.
16558func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
16559	var ids_ []string
16560	for _, v := range ids {
16561		ids_ = append(ids_, fmt.Sprint(v))
16562	}
16563	c.urlParams_.SetMulti("ids", ids_)
16564	return c
16565}
16566
16567// LandingPageIds sets the optional parameter "landingPageIds": Select
16568// only ads with these landing page IDs.
16569func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
16570	var landingPageIds_ []string
16571	for _, v := range landingPageIds {
16572		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
16573	}
16574	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
16575	return c
16576}
16577
16578// MaxResults sets the optional parameter "maxResults": Maximum number
16579// of results to return.
16580func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
16581	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16582	return c
16583}
16584
16585// OverriddenEventTagId sets the optional parameter
16586// "overriddenEventTagId": Select only ads with this event tag override
16587// ID.
16588func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
16589	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
16590	return c
16591}
16592
16593// PageToken sets the optional parameter "pageToken": Value of the
16594// nextPageToken from the previous result page.
16595func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
16596	c.urlParams_.Set("pageToken", pageToken)
16597	return c
16598}
16599
16600// PlacementIds sets the optional parameter "placementIds": Select only
16601// ads with these placement IDs assigned.
16602func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
16603	var placementIds_ []string
16604	for _, v := range placementIds {
16605		placementIds_ = append(placementIds_, fmt.Sprint(v))
16606	}
16607	c.urlParams_.SetMulti("placementIds", placementIds_)
16608	return c
16609}
16610
16611// RemarketingListIds sets the optional parameter "remarketingListIds":
16612// Select only ads whose list targeting expression use these remarketing
16613// list IDs.
16614func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
16615	var remarketingListIds_ []string
16616	for _, v := range remarketingListIds {
16617		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
16618	}
16619	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
16620	return c
16621}
16622
16623// SearchString sets the optional parameter "searchString": Allows
16624// searching for objects by name or ID. Wildcards (*) are allowed. For
16625// example, "ad*2015" will return objects with names like "ad June
16626// 2015", "ad April 2015", or simply "ad 2015". Most of the searches
16627// also add wildcards implicitly at the start and the end of the search
16628// string. For example, a search string of "ad" will match objects with
16629// name "my ad", "ad 2015", or simply "ad".
16630func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
16631	c.urlParams_.Set("searchString", searchString)
16632	return c
16633}
16634
16635// SizeIds sets the optional parameter "sizeIds": Select only ads with
16636// these size IDs.
16637func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
16638	var sizeIds_ []string
16639	for _, v := range sizeIds {
16640		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
16641	}
16642	c.urlParams_.SetMulti("sizeIds", sizeIds_)
16643	return c
16644}
16645
16646// SortField sets the optional parameter "sortField": Field by which to
16647// sort the list.
16648//
16649// Possible values:
16650//   "ID" (default)
16651//   "NAME"
16652func (c *AdsListCall) SortField(sortField string) *AdsListCall {
16653	c.urlParams_.Set("sortField", sortField)
16654	return c
16655}
16656
16657// SortOrder sets the optional parameter "sortOrder": Order of sorted
16658// results.
16659//
16660// Possible values:
16661//   "ASCENDING" (default)
16662//   "DESCENDING"
16663func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
16664	c.urlParams_.Set("sortOrder", sortOrder)
16665	return c
16666}
16667
16668// SslCompliant sets the optional parameter "sslCompliant": Select only
16669// ads that are SSL-compliant.
16670func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
16671	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
16672	return c
16673}
16674
16675// SslRequired sets the optional parameter "sslRequired": Select only
16676// ads that require SSL.
16677func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
16678	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
16679	return c
16680}
16681
16682// Type sets the optional parameter "type": Select only ads with these
16683// types.
16684//
16685// Possible values:
16686//   "AD_SERVING_CLICK_TRACKER"
16687//   "AD_SERVING_DEFAULT_AD"
16688//   "AD_SERVING_STANDARD_AD"
16689//   "AD_SERVING_TRACKING"
16690func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
16691	c.urlParams_.SetMulti("type", append([]string{}, type_...))
16692	return c
16693}
16694
16695// Fields allows partial responses to be retrieved. See
16696// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16697// for more information.
16698func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
16699	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16700	return c
16701}
16702
16703// IfNoneMatch sets the optional parameter which makes the operation
16704// fail if the object's ETag matches the given value. This is useful for
16705// getting updates only after the object has changed since the last
16706// request. Use googleapi.IsNotModified to check whether the response
16707// error from Do is the result of In-None-Match.
16708func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
16709	c.ifNoneMatch_ = entityTag
16710	return c
16711}
16712
16713// Context sets the context to be used in this call's Do method. Any
16714// pending HTTP request will be aborted if the provided context is
16715// canceled.
16716func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
16717	c.ctx_ = ctx
16718	return c
16719}
16720
16721// Header returns an http.Header that can be modified by the caller to
16722// add HTTP headers to the request.
16723func (c *AdsListCall) Header() http.Header {
16724	if c.header_ == nil {
16725		c.header_ = make(http.Header)
16726	}
16727	return c.header_
16728}
16729
16730func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
16731	reqHeaders := make(http.Header)
16732	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16733	for k, v := range c.header_ {
16734		reqHeaders[k] = v
16735	}
16736	reqHeaders.Set("User-Agent", c.s.userAgent())
16737	if c.ifNoneMatch_ != "" {
16738		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16739	}
16740	var body io.Reader = nil
16741	c.urlParams_.Set("alt", alt)
16742	c.urlParams_.Set("prettyPrint", "false")
16743	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
16744	urls += "?" + c.urlParams_.Encode()
16745	req, err := http.NewRequest("GET", urls, body)
16746	if err != nil {
16747		return nil, err
16748	}
16749	req.Header = reqHeaders
16750	googleapi.Expand(req.URL, map[string]string{
16751		"profileId": strconv.FormatInt(c.profileId, 10),
16752	})
16753	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16754}
16755
16756// Do executes the "dfareporting.ads.list" call.
16757// Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
16758// status code is an error. Response headers are in either
16759// *AdsListResponse.ServerResponse.Header or (if a response was returned
16760// at all) in error.(*googleapi.Error).Header. Use
16761// googleapi.IsNotModified to check whether the returned error was
16762// because http.StatusNotModified was returned.
16763func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
16764	gensupport.SetOptions(c.urlParams_, opts...)
16765	res, err := c.doRequest("json")
16766	if res != nil && res.StatusCode == http.StatusNotModified {
16767		if res.Body != nil {
16768			res.Body.Close()
16769		}
16770		return nil, &googleapi.Error{
16771			Code:   res.StatusCode,
16772			Header: res.Header,
16773		}
16774	}
16775	if err != nil {
16776		return nil, err
16777	}
16778	defer googleapi.CloseBody(res)
16779	if err := googleapi.CheckResponse(res); err != nil {
16780		return nil, err
16781	}
16782	ret := &AdsListResponse{
16783		ServerResponse: googleapi.ServerResponse{
16784			Header:         res.Header,
16785			HTTPStatusCode: res.StatusCode,
16786		},
16787	}
16788	target := &ret
16789	if err := gensupport.DecodeResponse(target, res); err != nil {
16790		return nil, err
16791	}
16792	return ret, nil
16793	// {
16794	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
16795	//   "httpMethod": "GET",
16796	//   "id": "dfareporting.ads.list",
16797	//   "parameterOrder": [
16798	//     "profileId"
16799	//   ],
16800	//   "parameters": {
16801	//     "active": {
16802	//       "description": "Select only active ads.",
16803	//       "location": "query",
16804	//       "type": "boolean"
16805	//     },
16806	//     "advertiserId": {
16807	//       "description": "Select only ads with this advertiser ID.",
16808	//       "format": "int64",
16809	//       "location": "query",
16810	//       "type": "string"
16811	//     },
16812	//     "archived": {
16813	//       "description": "Select only archived ads.",
16814	//       "location": "query",
16815	//       "type": "boolean"
16816	//     },
16817	//     "audienceSegmentIds": {
16818	//       "description": "Select only ads with these audience segment IDs.",
16819	//       "format": "int64",
16820	//       "location": "query",
16821	//       "repeated": true,
16822	//       "type": "string"
16823	//     },
16824	//     "campaignIds": {
16825	//       "description": "Select only ads with these campaign IDs.",
16826	//       "format": "int64",
16827	//       "location": "query",
16828	//       "repeated": true,
16829	//       "type": "string"
16830	//     },
16831	//     "compatibility": {
16832	//       "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.",
16833	//       "enum": [
16834	//         "APP",
16835	//         "APP_INTERSTITIAL",
16836	//         "DISPLAY",
16837	//         "DISPLAY_INTERSTITIAL",
16838	//         "IN_STREAM_VIDEO"
16839	//       ],
16840	//       "enumDescriptions": [
16841	//         "",
16842	//         "",
16843	//         "",
16844	//         "",
16845	//         ""
16846	//       ],
16847	//       "location": "query",
16848	//       "type": "string"
16849	//     },
16850	//     "creativeIds": {
16851	//       "description": "Select only ads with these creative IDs assigned.",
16852	//       "format": "int64",
16853	//       "location": "query",
16854	//       "repeated": true,
16855	//       "type": "string"
16856	//     },
16857	//     "creativeOptimizationConfigurationIds": {
16858	//       "description": "Select only ads with these creative optimization configuration IDs.",
16859	//       "format": "int64",
16860	//       "location": "query",
16861	//       "repeated": true,
16862	//       "type": "string"
16863	//     },
16864	//     "dynamicClickTracker": {
16865	//       "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.",
16866	//       "location": "query",
16867	//       "type": "boolean"
16868	//     },
16869	//     "ids": {
16870	//       "description": "Select only ads with these IDs.",
16871	//       "format": "int64",
16872	//       "location": "query",
16873	//       "repeated": true,
16874	//       "type": "string"
16875	//     },
16876	//     "landingPageIds": {
16877	//       "description": "Select only ads with these landing page IDs.",
16878	//       "format": "int64",
16879	//       "location": "query",
16880	//       "repeated": true,
16881	//       "type": "string"
16882	//     },
16883	//     "maxResults": {
16884	//       "default": "1000",
16885	//       "description": "Maximum number of results to return.",
16886	//       "format": "int32",
16887	//       "location": "query",
16888	//       "maximum": "1000",
16889	//       "minimum": "0",
16890	//       "type": "integer"
16891	//     },
16892	//     "overriddenEventTagId": {
16893	//       "description": "Select only ads with this event tag override ID.",
16894	//       "format": "int64",
16895	//       "location": "query",
16896	//       "type": "string"
16897	//     },
16898	//     "pageToken": {
16899	//       "description": "Value of the nextPageToken from the previous result page.",
16900	//       "location": "query",
16901	//       "type": "string"
16902	//     },
16903	//     "placementIds": {
16904	//       "description": "Select only ads with these placement IDs assigned.",
16905	//       "format": "int64",
16906	//       "location": "query",
16907	//       "repeated": true,
16908	//       "type": "string"
16909	//     },
16910	//     "profileId": {
16911	//       "description": "User profile ID associated with this request.",
16912	//       "format": "int64",
16913	//       "location": "path",
16914	//       "required": true,
16915	//       "type": "string"
16916	//     },
16917	//     "remarketingListIds": {
16918	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
16919	//       "format": "int64",
16920	//       "location": "query",
16921	//       "repeated": true,
16922	//       "type": "string"
16923	//     },
16924	//     "searchString": {
16925	//       "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\".",
16926	//       "location": "query",
16927	//       "type": "string"
16928	//     },
16929	//     "sizeIds": {
16930	//       "description": "Select only ads with these size IDs.",
16931	//       "format": "int64",
16932	//       "location": "query",
16933	//       "repeated": true,
16934	//       "type": "string"
16935	//     },
16936	//     "sortField": {
16937	//       "default": "ID",
16938	//       "description": "Field by which to sort the list.",
16939	//       "enum": [
16940	//         "ID",
16941	//         "NAME"
16942	//       ],
16943	//       "enumDescriptions": [
16944	//         "",
16945	//         ""
16946	//       ],
16947	//       "location": "query",
16948	//       "type": "string"
16949	//     },
16950	//     "sortOrder": {
16951	//       "default": "ASCENDING",
16952	//       "description": "Order of sorted results.",
16953	//       "enum": [
16954	//         "ASCENDING",
16955	//         "DESCENDING"
16956	//       ],
16957	//       "enumDescriptions": [
16958	//         "",
16959	//         ""
16960	//       ],
16961	//       "location": "query",
16962	//       "type": "string"
16963	//     },
16964	//     "sslCompliant": {
16965	//       "description": "Select only ads that are SSL-compliant.",
16966	//       "location": "query",
16967	//       "type": "boolean"
16968	//     },
16969	//     "sslRequired": {
16970	//       "description": "Select only ads that require SSL.",
16971	//       "location": "query",
16972	//       "type": "boolean"
16973	//     },
16974	//     "type": {
16975	//       "description": "Select only ads with these types.",
16976	//       "enum": [
16977	//         "AD_SERVING_CLICK_TRACKER",
16978	//         "AD_SERVING_DEFAULT_AD",
16979	//         "AD_SERVING_STANDARD_AD",
16980	//         "AD_SERVING_TRACKING"
16981	//       ],
16982	//       "enumDescriptions": [
16983	//         "",
16984	//         "",
16985	//         "",
16986	//         ""
16987	//       ],
16988	//       "location": "query",
16989	//       "repeated": true,
16990	//       "type": "string"
16991	//     }
16992	//   },
16993	//   "path": "userprofiles/{profileId}/ads",
16994	//   "response": {
16995	//     "$ref": "AdsListResponse"
16996	//   },
16997	//   "scopes": [
16998	//     "https://www.googleapis.com/auth/dfatrafficking"
16999	//   ]
17000	// }
17001
17002}
17003
17004// Pages invokes f for each page of results.
17005// A non-nil error returned from f will halt the iteration.
17006// The provided context supersedes any context provided to the Context method.
17007func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
17008	c.ctx_ = ctx
17009	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17010	for {
17011		x, err := c.Do()
17012		if err != nil {
17013			return err
17014		}
17015		if err := f(x); err != nil {
17016			return err
17017		}
17018		if x.NextPageToken == "" {
17019			return nil
17020		}
17021		c.PageToken(x.NextPageToken)
17022	}
17023}
17024
17025// method id "dfareporting.ads.patch":
17026
17027type AdsPatchCall struct {
17028	s          *Service
17029	profileId  int64
17030	ad         *Ad
17031	urlParams_ gensupport.URLParams
17032	ctx_       context.Context
17033	header_    http.Header
17034}
17035
17036// Patch: Updates an existing ad. This method supports patch semantics.
17037func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
17038	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17039	c.profileId = profileId
17040	c.urlParams_.Set("id", fmt.Sprint(id))
17041	c.ad = ad
17042	return c
17043}
17044
17045// Fields allows partial responses to be retrieved. See
17046// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17047// for more information.
17048func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
17049	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17050	return c
17051}
17052
17053// Context sets the context to be used in this call's Do method. Any
17054// pending HTTP request will be aborted if the provided context is
17055// canceled.
17056func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
17057	c.ctx_ = ctx
17058	return c
17059}
17060
17061// Header returns an http.Header that can be modified by the caller to
17062// add HTTP headers to the request.
17063func (c *AdsPatchCall) Header() http.Header {
17064	if c.header_ == nil {
17065		c.header_ = make(http.Header)
17066	}
17067	return c.header_
17068}
17069
17070func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
17071	reqHeaders := make(http.Header)
17072	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17073	for k, v := range c.header_ {
17074		reqHeaders[k] = v
17075	}
17076	reqHeaders.Set("User-Agent", c.s.userAgent())
17077	var body io.Reader = nil
17078	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17079	if err != nil {
17080		return nil, err
17081	}
17082	reqHeaders.Set("Content-Type", "application/json")
17083	c.urlParams_.Set("alt", alt)
17084	c.urlParams_.Set("prettyPrint", "false")
17085	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17086	urls += "?" + c.urlParams_.Encode()
17087	req, err := http.NewRequest("PATCH", urls, body)
17088	if err != nil {
17089		return nil, err
17090	}
17091	req.Header = reqHeaders
17092	googleapi.Expand(req.URL, map[string]string{
17093		"profileId": strconv.FormatInt(c.profileId, 10),
17094	})
17095	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17096}
17097
17098// Do executes the "dfareporting.ads.patch" call.
17099// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17100// is an error. Response headers are in either *Ad.ServerResponse.Header
17101// or (if a response was returned at all) in
17102// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17103// whether the returned error was because http.StatusNotModified was
17104// returned.
17105func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17106	gensupport.SetOptions(c.urlParams_, opts...)
17107	res, err := c.doRequest("json")
17108	if res != nil && res.StatusCode == http.StatusNotModified {
17109		if res.Body != nil {
17110			res.Body.Close()
17111		}
17112		return nil, &googleapi.Error{
17113			Code:   res.StatusCode,
17114			Header: res.Header,
17115		}
17116	}
17117	if err != nil {
17118		return nil, err
17119	}
17120	defer googleapi.CloseBody(res)
17121	if err := googleapi.CheckResponse(res); err != nil {
17122		return nil, err
17123	}
17124	ret := &Ad{
17125		ServerResponse: googleapi.ServerResponse{
17126			Header:         res.Header,
17127			HTTPStatusCode: res.StatusCode,
17128		},
17129	}
17130	target := &ret
17131	if err := gensupport.DecodeResponse(target, res); err != nil {
17132		return nil, err
17133	}
17134	return ret, nil
17135	// {
17136	//   "description": "Updates an existing ad. This method supports patch semantics.",
17137	//   "httpMethod": "PATCH",
17138	//   "id": "dfareporting.ads.patch",
17139	//   "parameterOrder": [
17140	//     "profileId",
17141	//     "id"
17142	//   ],
17143	//   "parameters": {
17144	//     "id": {
17145	//       "description": "Ad ID.",
17146	//       "format": "int64",
17147	//       "location": "query",
17148	//       "required": true,
17149	//       "type": "string"
17150	//     },
17151	//     "profileId": {
17152	//       "description": "User profile ID associated with this request.",
17153	//       "format": "int64",
17154	//       "location": "path",
17155	//       "required": true,
17156	//       "type": "string"
17157	//     }
17158	//   },
17159	//   "path": "userprofiles/{profileId}/ads",
17160	//   "request": {
17161	//     "$ref": "Ad"
17162	//   },
17163	//   "response": {
17164	//     "$ref": "Ad"
17165	//   },
17166	//   "scopes": [
17167	//     "https://www.googleapis.com/auth/dfatrafficking"
17168	//   ]
17169	// }
17170
17171}
17172
17173// method id "dfareporting.ads.update":
17174
17175type AdsUpdateCall struct {
17176	s          *Service
17177	profileId  int64
17178	ad         *Ad
17179	urlParams_ gensupport.URLParams
17180	ctx_       context.Context
17181	header_    http.Header
17182}
17183
17184// Update: Updates an existing ad.
17185func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
17186	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17187	c.profileId = profileId
17188	c.ad = ad
17189	return c
17190}
17191
17192// Fields allows partial responses to be retrieved. See
17193// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17194// for more information.
17195func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
17196	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17197	return c
17198}
17199
17200// Context sets the context to be used in this call's Do method. Any
17201// pending HTTP request will be aborted if the provided context is
17202// canceled.
17203func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
17204	c.ctx_ = ctx
17205	return c
17206}
17207
17208// Header returns an http.Header that can be modified by the caller to
17209// add HTTP headers to the request.
17210func (c *AdsUpdateCall) Header() http.Header {
17211	if c.header_ == nil {
17212		c.header_ = make(http.Header)
17213	}
17214	return c.header_
17215}
17216
17217func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
17218	reqHeaders := make(http.Header)
17219	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17220	for k, v := range c.header_ {
17221		reqHeaders[k] = v
17222	}
17223	reqHeaders.Set("User-Agent", c.s.userAgent())
17224	var body io.Reader = nil
17225	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17226	if err != nil {
17227		return nil, err
17228	}
17229	reqHeaders.Set("Content-Type", "application/json")
17230	c.urlParams_.Set("alt", alt)
17231	c.urlParams_.Set("prettyPrint", "false")
17232	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17233	urls += "?" + c.urlParams_.Encode()
17234	req, err := http.NewRequest("PUT", urls, body)
17235	if err != nil {
17236		return nil, err
17237	}
17238	req.Header = reqHeaders
17239	googleapi.Expand(req.URL, map[string]string{
17240		"profileId": strconv.FormatInt(c.profileId, 10),
17241	})
17242	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17243}
17244
17245// Do executes the "dfareporting.ads.update" call.
17246// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17247// is an error. Response headers are in either *Ad.ServerResponse.Header
17248// or (if a response was returned at all) in
17249// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17250// whether the returned error was because http.StatusNotModified was
17251// returned.
17252func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17253	gensupport.SetOptions(c.urlParams_, opts...)
17254	res, err := c.doRequest("json")
17255	if res != nil && res.StatusCode == http.StatusNotModified {
17256		if res.Body != nil {
17257			res.Body.Close()
17258		}
17259		return nil, &googleapi.Error{
17260			Code:   res.StatusCode,
17261			Header: res.Header,
17262		}
17263	}
17264	if err != nil {
17265		return nil, err
17266	}
17267	defer googleapi.CloseBody(res)
17268	if err := googleapi.CheckResponse(res); err != nil {
17269		return nil, err
17270	}
17271	ret := &Ad{
17272		ServerResponse: googleapi.ServerResponse{
17273			Header:         res.Header,
17274			HTTPStatusCode: res.StatusCode,
17275		},
17276	}
17277	target := &ret
17278	if err := gensupport.DecodeResponse(target, res); err != nil {
17279		return nil, err
17280	}
17281	return ret, nil
17282	// {
17283	//   "description": "Updates an existing ad.",
17284	//   "httpMethod": "PUT",
17285	//   "id": "dfareporting.ads.update",
17286	//   "parameterOrder": [
17287	//     "profileId"
17288	//   ],
17289	//   "parameters": {
17290	//     "profileId": {
17291	//       "description": "User profile ID associated with this request.",
17292	//       "format": "int64",
17293	//       "location": "path",
17294	//       "required": true,
17295	//       "type": "string"
17296	//     }
17297	//   },
17298	//   "path": "userprofiles/{profileId}/ads",
17299	//   "request": {
17300	//     "$ref": "Ad"
17301	//   },
17302	//   "response": {
17303	//     "$ref": "Ad"
17304	//   },
17305	//   "scopes": [
17306	//     "https://www.googleapis.com/auth/dfatrafficking"
17307	//   ]
17308	// }
17309
17310}
17311
17312// method id "dfareporting.advertiserGroups.delete":
17313
17314type AdvertiserGroupsDeleteCall struct {
17315	s          *Service
17316	profileId  int64
17317	id         int64
17318	urlParams_ gensupport.URLParams
17319	ctx_       context.Context
17320	header_    http.Header
17321}
17322
17323// Delete: Deletes an existing advertiser group.
17324func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
17325	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17326	c.profileId = profileId
17327	c.id = id
17328	return c
17329}
17330
17331// Fields allows partial responses to be retrieved. See
17332// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17333// for more information.
17334func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
17335	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17336	return c
17337}
17338
17339// Context sets the context to be used in this call's Do method. Any
17340// pending HTTP request will be aborted if the provided context is
17341// canceled.
17342func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
17343	c.ctx_ = ctx
17344	return c
17345}
17346
17347// Header returns an http.Header that can be modified by the caller to
17348// add HTTP headers to the request.
17349func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
17350	if c.header_ == nil {
17351		c.header_ = make(http.Header)
17352	}
17353	return c.header_
17354}
17355
17356func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
17357	reqHeaders := make(http.Header)
17358	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17359	for k, v := range c.header_ {
17360		reqHeaders[k] = v
17361	}
17362	reqHeaders.Set("User-Agent", c.s.userAgent())
17363	var body io.Reader = nil
17364	c.urlParams_.Set("alt", alt)
17365	c.urlParams_.Set("prettyPrint", "false")
17366	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17367	urls += "?" + c.urlParams_.Encode()
17368	req, err := http.NewRequest("DELETE", urls, body)
17369	if err != nil {
17370		return nil, err
17371	}
17372	req.Header = reqHeaders
17373	googleapi.Expand(req.URL, map[string]string{
17374		"profileId": strconv.FormatInt(c.profileId, 10),
17375		"id":        strconv.FormatInt(c.id, 10),
17376	})
17377	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17378}
17379
17380// Do executes the "dfareporting.advertiserGroups.delete" call.
17381func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
17382	gensupport.SetOptions(c.urlParams_, opts...)
17383	res, err := c.doRequest("json")
17384	if err != nil {
17385		return err
17386	}
17387	defer googleapi.CloseBody(res)
17388	if err := googleapi.CheckResponse(res); err != nil {
17389		return err
17390	}
17391	return nil
17392	// {
17393	//   "description": "Deletes an existing advertiser group.",
17394	//   "httpMethod": "DELETE",
17395	//   "id": "dfareporting.advertiserGroups.delete",
17396	//   "parameterOrder": [
17397	//     "profileId",
17398	//     "id"
17399	//   ],
17400	//   "parameters": {
17401	//     "id": {
17402	//       "description": "Advertiser group ID.",
17403	//       "format": "int64",
17404	//       "location": "path",
17405	//       "required": true,
17406	//       "type": "string"
17407	//     },
17408	//     "profileId": {
17409	//       "description": "User profile ID associated with this request.",
17410	//       "format": "int64",
17411	//       "location": "path",
17412	//       "required": true,
17413	//       "type": "string"
17414	//     }
17415	//   },
17416	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17417	//   "scopes": [
17418	//     "https://www.googleapis.com/auth/dfatrafficking"
17419	//   ]
17420	// }
17421
17422}
17423
17424// method id "dfareporting.advertiserGroups.get":
17425
17426type AdvertiserGroupsGetCall struct {
17427	s            *Service
17428	profileId    int64
17429	id           int64
17430	urlParams_   gensupport.URLParams
17431	ifNoneMatch_ string
17432	ctx_         context.Context
17433	header_      http.Header
17434}
17435
17436// Get: Gets one advertiser group by ID.
17437func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
17438	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17439	c.profileId = profileId
17440	c.id = id
17441	return c
17442}
17443
17444// Fields allows partial responses to be retrieved. See
17445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17446// for more information.
17447func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
17448	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17449	return c
17450}
17451
17452// IfNoneMatch sets the optional parameter which makes the operation
17453// fail if the object's ETag matches the given value. This is useful for
17454// getting updates only after the object has changed since the last
17455// request. Use googleapi.IsNotModified to check whether the response
17456// error from Do is the result of In-None-Match.
17457func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
17458	c.ifNoneMatch_ = entityTag
17459	return c
17460}
17461
17462// Context sets the context to be used in this call's Do method. Any
17463// pending HTTP request will be aborted if the provided context is
17464// canceled.
17465func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
17466	c.ctx_ = ctx
17467	return c
17468}
17469
17470// Header returns an http.Header that can be modified by the caller to
17471// add HTTP headers to the request.
17472func (c *AdvertiserGroupsGetCall) Header() http.Header {
17473	if c.header_ == nil {
17474		c.header_ = make(http.Header)
17475	}
17476	return c.header_
17477}
17478
17479func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
17480	reqHeaders := make(http.Header)
17481	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17482	for k, v := range c.header_ {
17483		reqHeaders[k] = v
17484	}
17485	reqHeaders.Set("User-Agent", c.s.userAgent())
17486	if c.ifNoneMatch_ != "" {
17487		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17488	}
17489	var body io.Reader = nil
17490	c.urlParams_.Set("alt", alt)
17491	c.urlParams_.Set("prettyPrint", "false")
17492	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17493	urls += "?" + c.urlParams_.Encode()
17494	req, err := http.NewRequest("GET", urls, body)
17495	if err != nil {
17496		return nil, err
17497	}
17498	req.Header = reqHeaders
17499	googleapi.Expand(req.URL, map[string]string{
17500		"profileId": strconv.FormatInt(c.profileId, 10),
17501		"id":        strconv.FormatInt(c.id, 10),
17502	})
17503	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17504}
17505
17506// Do executes the "dfareporting.advertiserGroups.get" call.
17507// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17508// status code is an error. Response headers are in either
17509// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17510// at all) in error.(*googleapi.Error).Header. Use
17511// googleapi.IsNotModified to check whether the returned error was
17512// because http.StatusNotModified was returned.
17513func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17514	gensupport.SetOptions(c.urlParams_, opts...)
17515	res, err := c.doRequest("json")
17516	if res != nil && res.StatusCode == http.StatusNotModified {
17517		if res.Body != nil {
17518			res.Body.Close()
17519		}
17520		return nil, &googleapi.Error{
17521			Code:   res.StatusCode,
17522			Header: res.Header,
17523		}
17524	}
17525	if err != nil {
17526		return nil, err
17527	}
17528	defer googleapi.CloseBody(res)
17529	if err := googleapi.CheckResponse(res); err != nil {
17530		return nil, err
17531	}
17532	ret := &AdvertiserGroup{
17533		ServerResponse: googleapi.ServerResponse{
17534			Header:         res.Header,
17535			HTTPStatusCode: res.StatusCode,
17536		},
17537	}
17538	target := &ret
17539	if err := gensupport.DecodeResponse(target, res); err != nil {
17540		return nil, err
17541	}
17542	return ret, nil
17543	// {
17544	//   "description": "Gets one advertiser group by ID.",
17545	//   "httpMethod": "GET",
17546	//   "id": "dfareporting.advertiserGroups.get",
17547	//   "parameterOrder": [
17548	//     "profileId",
17549	//     "id"
17550	//   ],
17551	//   "parameters": {
17552	//     "id": {
17553	//       "description": "Advertiser group ID.",
17554	//       "format": "int64",
17555	//       "location": "path",
17556	//       "required": true,
17557	//       "type": "string"
17558	//     },
17559	//     "profileId": {
17560	//       "description": "User profile ID associated with this request.",
17561	//       "format": "int64",
17562	//       "location": "path",
17563	//       "required": true,
17564	//       "type": "string"
17565	//     }
17566	//   },
17567	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17568	//   "response": {
17569	//     "$ref": "AdvertiserGroup"
17570	//   },
17571	//   "scopes": [
17572	//     "https://www.googleapis.com/auth/dfatrafficking"
17573	//   ]
17574	// }
17575
17576}
17577
17578// method id "dfareporting.advertiserGroups.insert":
17579
17580type AdvertiserGroupsInsertCall struct {
17581	s               *Service
17582	profileId       int64
17583	advertisergroup *AdvertiserGroup
17584	urlParams_      gensupport.URLParams
17585	ctx_            context.Context
17586	header_         http.Header
17587}
17588
17589// Insert: Inserts a new advertiser group.
17590func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
17591	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17592	c.profileId = profileId
17593	c.advertisergroup = advertisergroup
17594	return c
17595}
17596
17597// Fields allows partial responses to be retrieved. See
17598// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17599// for more information.
17600func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
17601	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17602	return c
17603}
17604
17605// Context sets the context to be used in this call's Do method. Any
17606// pending HTTP request will be aborted if the provided context is
17607// canceled.
17608func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
17609	c.ctx_ = ctx
17610	return c
17611}
17612
17613// Header returns an http.Header that can be modified by the caller to
17614// add HTTP headers to the request.
17615func (c *AdvertiserGroupsInsertCall) Header() http.Header {
17616	if c.header_ == nil {
17617		c.header_ = make(http.Header)
17618	}
17619	return c.header_
17620}
17621
17622func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
17623	reqHeaders := make(http.Header)
17624	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17625	for k, v := range c.header_ {
17626		reqHeaders[k] = v
17627	}
17628	reqHeaders.Set("User-Agent", c.s.userAgent())
17629	var body io.Reader = nil
17630	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
17631	if err != nil {
17632		return nil, err
17633	}
17634	reqHeaders.Set("Content-Type", "application/json")
17635	c.urlParams_.Set("alt", alt)
17636	c.urlParams_.Set("prettyPrint", "false")
17637	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
17638	urls += "?" + c.urlParams_.Encode()
17639	req, err := http.NewRequest("POST", urls, body)
17640	if err != nil {
17641		return nil, err
17642	}
17643	req.Header = reqHeaders
17644	googleapi.Expand(req.URL, map[string]string{
17645		"profileId": strconv.FormatInt(c.profileId, 10),
17646	})
17647	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17648}
17649
17650// Do executes the "dfareporting.advertiserGroups.insert" call.
17651// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17652// status code is an error. Response headers are in either
17653// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17654// at all) in error.(*googleapi.Error).Header. Use
17655// googleapi.IsNotModified to check whether the returned error was
17656// because http.StatusNotModified was returned.
17657func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17658	gensupport.SetOptions(c.urlParams_, opts...)
17659	res, err := c.doRequest("json")
17660	if res != nil && res.StatusCode == http.StatusNotModified {
17661		if res.Body != nil {
17662			res.Body.Close()
17663		}
17664		return nil, &googleapi.Error{
17665			Code:   res.StatusCode,
17666			Header: res.Header,
17667		}
17668	}
17669	if err != nil {
17670		return nil, err
17671	}
17672	defer googleapi.CloseBody(res)
17673	if err := googleapi.CheckResponse(res); err != nil {
17674		return nil, err
17675	}
17676	ret := &AdvertiserGroup{
17677		ServerResponse: googleapi.ServerResponse{
17678			Header:         res.Header,
17679			HTTPStatusCode: res.StatusCode,
17680		},
17681	}
17682	target := &ret
17683	if err := gensupport.DecodeResponse(target, res); err != nil {
17684		return nil, err
17685	}
17686	return ret, nil
17687	// {
17688	//   "description": "Inserts a new advertiser group.",
17689	//   "httpMethod": "POST",
17690	//   "id": "dfareporting.advertiserGroups.insert",
17691	//   "parameterOrder": [
17692	//     "profileId"
17693	//   ],
17694	//   "parameters": {
17695	//     "profileId": {
17696	//       "description": "User profile ID associated with this request.",
17697	//       "format": "int64",
17698	//       "location": "path",
17699	//       "required": true,
17700	//       "type": "string"
17701	//     }
17702	//   },
17703	//   "path": "userprofiles/{profileId}/advertiserGroups",
17704	//   "request": {
17705	//     "$ref": "AdvertiserGroup"
17706	//   },
17707	//   "response": {
17708	//     "$ref": "AdvertiserGroup"
17709	//   },
17710	//   "scopes": [
17711	//     "https://www.googleapis.com/auth/dfatrafficking"
17712	//   ]
17713	// }
17714
17715}
17716
17717// method id "dfareporting.advertiserGroups.list":
17718
17719type AdvertiserGroupsListCall struct {
17720	s            *Service
17721	profileId    int64
17722	urlParams_   gensupport.URLParams
17723	ifNoneMatch_ string
17724	ctx_         context.Context
17725	header_      http.Header
17726}
17727
17728// List: Retrieves a list of advertiser groups, possibly filtered. This
17729// method supports paging.
17730func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
17731	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17732	c.profileId = profileId
17733	return c
17734}
17735
17736// Ids sets the optional parameter "ids": Select only advertiser groups
17737// with these IDs.
17738func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
17739	var ids_ []string
17740	for _, v := range ids {
17741		ids_ = append(ids_, fmt.Sprint(v))
17742	}
17743	c.urlParams_.SetMulti("ids", ids_)
17744	return c
17745}
17746
17747// MaxResults sets the optional parameter "maxResults": Maximum number
17748// of results to return.
17749func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
17750	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
17751	return c
17752}
17753
17754// PageToken sets the optional parameter "pageToken": Value of the
17755// nextPageToken from the previous result page.
17756func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
17757	c.urlParams_.Set("pageToken", pageToken)
17758	return c
17759}
17760
17761// SearchString sets the optional parameter "searchString": Allows
17762// searching for objects by name or ID. Wildcards (*) are allowed. For
17763// example, "advertiser*2015" will return objects with names like
17764// "advertiser group June 2015", "advertiser group April 2015", or
17765// simply "advertiser group 2015". Most of the searches also add
17766// wildcards implicitly at the start and the end of the search string.
17767// For example, a search string of "advertisergroup" will match objects
17768// with name "my advertisergroup", "advertisergroup 2015", or simply
17769// "advertisergroup".
17770func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
17771	c.urlParams_.Set("searchString", searchString)
17772	return c
17773}
17774
17775// SortField sets the optional parameter "sortField": Field by which to
17776// sort the list.
17777//
17778// Possible values:
17779//   "ID" (default)
17780//   "NAME"
17781func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
17782	c.urlParams_.Set("sortField", sortField)
17783	return c
17784}
17785
17786// SortOrder sets the optional parameter "sortOrder": Order of sorted
17787// results.
17788//
17789// Possible values:
17790//   "ASCENDING" (default)
17791//   "DESCENDING"
17792func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
17793	c.urlParams_.Set("sortOrder", sortOrder)
17794	return c
17795}
17796
17797// Fields allows partial responses to be retrieved. See
17798// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17799// for more information.
17800func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
17801	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17802	return c
17803}
17804
17805// IfNoneMatch sets the optional parameter which makes the operation
17806// fail if the object's ETag matches the given value. This is useful for
17807// getting updates only after the object has changed since the last
17808// request. Use googleapi.IsNotModified to check whether the response
17809// error from Do is the result of In-None-Match.
17810func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
17811	c.ifNoneMatch_ = entityTag
17812	return c
17813}
17814
17815// Context sets the context to be used in this call's Do method. Any
17816// pending HTTP request will be aborted if the provided context is
17817// canceled.
17818func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
17819	c.ctx_ = ctx
17820	return c
17821}
17822
17823// Header returns an http.Header that can be modified by the caller to
17824// add HTTP headers to the request.
17825func (c *AdvertiserGroupsListCall) Header() http.Header {
17826	if c.header_ == nil {
17827		c.header_ = make(http.Header)
17828	}
17829	return c.header_
17830}
17831
17832func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
17833	reqHeaders := make(http.Header)
17834	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17835	for k, v := range c.header_ {
17836		reqHeaders[k] = v
17837	}
17838	reqHeaders.Set("User-Agent", c.s.userAgent())
17839	if c.ifNoneMatch_ != "" {
17840		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17841	}
17842	var body io.Reader = nil
17843	c.urlParams_.Set("alt", alt)
17844	c.urlParams_.Set("prettyPrint", "false")
17845	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
17846	urls += "?" + c.urlParams_.Encode()
17847	req, err := http.NewRequest("GET", urls, body)
17848	if err != nil {
17849		return nil, err
17850	}
17851	req.Header = reqHeaders
17852	googleapi.Expand(req.URL, map[string]string{
17853		"profileId": strconv.FormatInt(c.profileId, 10),
17854	})
17855	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17856}
17857
17858// Do executes the "dfareporting.advertiserGroups.list" call.
17859// Exactly one of *AdvertiserGroupsListResponse or error will be
17860// non-nil. Any non-2xx status code is an error. Response headers are in
17861// either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
17862// response was returned at all) in error.(*googleapi.Error).Header. Use
17863// googleapi.IsNotModified to check whether the returned error was
17864// because http.StatusNotModified was returned.
17865func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
17866	gensupport.SetOptions(c.urlParams_, opts...)
17867	res, err := c.doRequest("json")
17868	if res != nil && res.StatusCode == http.StatusNotModified {
17869		if res.Body != nil {
17870			res.Body.Close()
17871		}
17872		return nil, &googleapi.Error{
17873			Code:   res.StatusCode,
17874			Header: res.Header,
17875		}
17876	}
17877	if err != nil {
17878		return nil, err
17879	}
17880	defer googleapi.CloseBody(res)
17881	if err := googleapi.CheckResponse(res); err != nil {
17882		return nil, err
17883	}
17884	ret := &AdvertiserGroupsListResponse{
17885		ServerResponse: googleapi.ServerResponse{
17886			Header:         res.Header,
17887			HTTPStatusCode: res.StatusCode,
17888		},
17889	}
17890	target := &ret
17891	if err := gensupport.DecodeResponse(target, res); err != nil {
17892		return nil, err
17893	}
17894	return ret, nil
17895	// {
17896	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
17897	//   "httpMethod": "GET",
17898	//   "id": "dfareporting.advertiserGroups.list",
17899	//   "parameterOrder": [
17900	//     "profileId"
17901	//   ],
17902	//   "parameters": {
17903	//     "ids": {
17904	//       "description": "Select only advertiser groups with these IDs.",
17905	//       "format": "int64",
17906	//       "location": "query",
17907	//       "repeated": true,
17908	//       "type": "string"
17909	//     },
17910	//     "maxResults": {
17911	//       "default": "1000",
17912	//       "description": "Maximum number of results to return.",
17913	//       "format": "int32",
17914	//       "location": "query",
17915	//       "maximum": "1000",
17916	//       "minimum": "0",
17917	//       "type": "integer"
17918	//     },
17919	//     "pageToken": {
17920	//       "description": "Value of the nextPageToken from the previous result page.",
17921	//       "location": "query",
17922	//       "type": "string"
17923	//     },
17924	//     "profileId": {
17925	//       "description": "User profile ID associated with this request.",
17926	//       "format": "int64",
17927	//       "location": "path",
17928	//       "required": true,
17929	//       "type": "string"
17930	//     },
17931	//     "searchString": {
17932	//       "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\".",
17933	//       "location": "query",
17934	//       "type": "string"
17935	//     },
17936	//     "sortField": {
17937	//       "default": "ID",
17938	//       "description": "Field by which to sort the list.",
17939	//       "enum": [
17940	//         "ID",
17941	//         "NAME"
17942	//       ],
17943	//       "enumDescriptions": [
17944	//         "",
17945	//         ""
17946	//       ],
17947	//       "location": "query",
17948	//       "type": "string"
17949	//     },
17950	//     "sortOrder": {
17951	//       "default": "ASCENDING",
17952	//       "description": "Order of sorted results.",
17953	//       "enum": [
17954	//         "ASCENDING",
17955	//         "DESCENDING"
17956	//       ],
17957	//       "enumDescriptions": [
17958	//         "",
17959	//         ""
17960	//       ],
17961	//       "location": "query",
17962	//       "type": "string"
17963	//     }
17964	//   },
17965	//   "path": "userprofiles/{profileId}/advertiserGroups",
17966	//   "response": {
17967	//     "$ref": "AdvertiserGroupsListResponse"
17968	//   },
17969	//   "scopes": [
17970	//     "https://www.googleapis.com/auth/dfatrafficking"
17971	//   ]
17972	// }
17973
17974}
17975
17976// Pages invokes f for each page of results.
17977// A non-nil error returned from f will halt the iteration.
17978// The provided context supersedes any context provided to the Context method.
17979func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
17980	c.ctx_ = ctx
17981	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17982	for {
17983		x, err := c.Do()
17984		if err != nil {
17985			return err
17986		}
17987		if err := f(x); err != nil {
17988			return err
17989		}
17990		if x.NextPageToken == "" {
17991			return nil
17992		}
17993		c.PageToken(x.NextPageToken)
17994	}
17995}
17996
17997// method id "dfareporting.advertiserGroups.patch":
17998
17999type AdvertiserGroupsPatchCall struct {
18000	s               *Service
18001	profileId       int64
18002	advertisergroup *AdvertiserGroup
18003	urlParams_      gensupport.URLParams
18004	ctx_            context.Context
18005	header_         http.Header
18006}
18007
18008// Patch: Updates an existing advertiser group. This method supports
18009// patch semantics.
18010func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
18011	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18012	c.profileId = profileId
18013	c.urlParams_.Set("id", fmt.Sprint(id))
18014	c.advertisergroup = advertisergroup
18015	return c
18016}
18017
18018// Fields allows partial responses to be retrieved. See
18019// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18020// for more information.
18021func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
18022	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18023	return c
18024}
18025
18026// Context sets the context to be used in this call's Do method. Any
18027// pending HTTP request will be aborted if the provided context is
18028// canceled.
18029func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
18030	c.ctx_ = ctx
18031	return c
18032}
18033
18034// Header returns an http.Header that can be modified by the caller to
18035// add HTTP headers to the request.
18036func (c *AdvertiserGroupsPatchCall) Header() http.Header {
18037	if c.header_ == nil {
18038		c.header_ = make(http.Header)
18039	}
18040	return c.header_
18041}
18042
18043func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
18044	reqHeaders := make(http.Header)
18045	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18046	for k, v := range c.header_ {
18047		reqHeaders[k] = v
18048	}
18049	reqHeaders.Set("User-Agent", c.s.userAgent())
18050	var body io.Reader = nil
18051	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18052	if err != nil {
18053		return nil, err
18054	}
18055	reqHeaders.Set("Content-Type", "application/json")
18056	c.urlParams_.Set("alt", alt)
18057	c.urlParams_.Set("prettyPrint", "false")
18058	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18059	urls += "?" + c.urlParams_.Encode()
18060	req, err := http.NewRequest("PATCH", urls, body)
18061	if err != nil {
18062		return nil, err
18063	}
18064	req.Header = reqHeaders
18065	googleapi.Expand(req.URL, map[string]string{
18066		"profileId": strconv.FormatInt(c.profileId, 10),
18067	})
18068	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18069}
18070
18071// Do executes the "dfareporting.advertiserGroups.patch" call.
18072// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18073// status code is an error. Response headers are in either
18074// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18075// at all) in error.(*googleapi.Error).Header. Use
18076// googleapi.IsNotModified to check whether the returned error was
18077// because http.StatusNotModified was returned.
18078func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18079	gensupport.SetOptions(c.urlParams_, opts...)
18080	res, err := c.doRequest("json")
18081	if res != nil && res.StatusCode == http.StatusNotModified {
18082		if res.Body != nil {
18083			res.Body.Close()
18084		}
18085		return nil, &googleapi.Error{
18086			Code:   res.StatusCode,
18087			Header: res.Header,
18088		}
18089	}
18090	if err != nil {
18091		return nil, err
18092	}
18093	defer googleapi.CloseBody(res)
18094	if err := googleapi.CheckResponse(res); err != nil {
18095		return nil, err
18096	}
18097	ret := &AdvertiserGroup{
18098		ServerResponse: googleapi.ServerResponse{
18099			Header:         res.Header,
18100			HTTPStatusCode: res.StatusCode,
18101		},
18102	}
18103	target := &ret
18104	if err := gensupport.DecodeResponse(target, res); err != nil {
18105		return nil, err
18106	}
18107	return ret, nil
18108	// {
18109	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
18110	//   "httpMethod": "PATCH",
18111	//   "id": "dfareporting.advertiserGroups.patch",
18112	//   "parameterOrder": [
18113	//     "profileId",
18114	//     "id"
18115	//   ],
18116	//   "parameters": {
18117	//     "id": {
18118	//       "description": "Advertiser group ID.",
18119	//       "format": "int64",
18120	//       "location": "query",
18121	//       "required": true,
18122	//       "type": "string"
18123	//     },
18124	//     "profileId": {
18125	//       "description": "User profile ID associated with this request.",
18126	//       "format": "int64",
18127	//       "location": "path",
18128	//       "required": true,
18129	//       "type": "string"
18130	//     }
18131	//   },
18132	//   "path": "userprofiles/{profileId}/advertiserGroups",
18133	//   "request": {
18134	//     "$ref": "AdvertiserGroup"
18135	//   },
18136	//   "response": {
18137	//     "$ref": "AdvertiserGroup"
18138	//   },
18139	//   "scopes": [
18140	//     "https://www.googleapis.com/auth/dfatrafficking"
18141	//   ]
18142	// }
18143
18144}
18145
18146// method id "dfareporting.advertiserGroups.update":
18147
18148type AdvertiserGroupsUpdateCall struct {
18149	s               *Service
18150	profileId       int64
18151	advertisergroup *AdvertiserGroup
18152	urlParams_      gensupport.URLParams
18153	ctx_            context.Context
18154	header_         http.Header
18155}
18156
18157// Update: Updates an existing advertiser group.
18158func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
18159	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18160	c.profileId = profileId
18161	c.advertisergroup = advertisergroup
18162	return c
18163}
18164
18165// Fields allows partial responses to be retrieved. See
18166// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18167// for more information.
18168func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
18169	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18170	return c
18171}
18172
18173// Context sets the context to be used in this call's Do method. Any
18174// pending HTTP request will be aborted if the provided context is
18175// canceled.
18176func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
18177	c.ctx_ = ctx
18178	return c
18179}
18180
18181// Header returns an http.Header that can be modified by the caller to
18182// add HTTP headers to the request.
18183func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
18184	if c.header_ == nil {
18185		c.header_ = make(http.Header)
18186	}
18187	return c.header_
18188}
18189
18190func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
18191	reqHeaders := make(http.Header)
18192	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18193	for k, v := range c.header_ {
18194		reqHeaders[k] = v
18195	}
18196	reqHeaders.Set("User-Agent", c.s.userAgent())
18197	var body io.Reader = nil
18198	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18199	if err != nil {
18200		return nil, err
18201	}
18202	reqHeaders.Set("Content-Type", "application/json")
18203	c.urlParams_.Set("alt", alt)
18204	c.urlParams_.Set("prettyPrint", "false")
18205	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18206	urls += "?" + c.urlParams_.Encode()
18207	req, err := http.NewRequest("PUT", urls, body)
18208	if err != nil {
18209		return nil, err
18210	}
18211	req.Header = reqHeaders
18212	googleapi.Expand(req.URL, map[string]string{
18213		"profileId": strconv.FormatInt(c.profileId, 10),
18214	})
18215	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18216}
18217
18218// Do executes the "dfareporting.advertiserGroups.update" call.
18219// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18220// status code is an error. Response headers are in either
18221// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18222// at all) in error.(*googleapi.Error).Header. Use
18223// googleapi.IsNotModified to check whether the returned error was
18224// because http.StatusNotModified was returned.
18225func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18226	gensupport.SetOptions(c.urlParams_, opts...)
18227	res, err := c.doRequest("json")
18228	if res != nil && res.StatusCode == http.StatusNotModified {
18229		if res.Body != nil {
18230			res.Body.Close()
18231		}
18232		return nil, &googleapi.Error{
18233			Code:   res.StatusCode,
18234			Header: res.Header,
18235		}
18236	}
18237	if err != nil {
18238		return nil, err
18239	}
18240	defer googleapi.CloseBody(res)
18241	if err := googleapi.CheckResponse(res); err != nil {
18242		return nil, err
18243	}
18244	ret := &AdvertiserGroup{
18245		ServerResponse: googleapi.ServerResponse{
18246			Header:         res.Header,
18247			HTTPStatusCode: res.StatusCode,
18248		},
18249	}
18250	target := &ret
18251	if err := gensupport.DecodeResponse(target, res); err != nil {
18252		return nil, err
18253	}
18254	return ret, nil
18255	// {
18256	//   "description": "Updates an existing advertiser group.",
18257	//   "httpMethod": "PUT",
18258	//   "id": "dfareporting.advertiserGroups.update",
18259	//   "parameterOrder": [
18260	//     "profileId"
18261	//   ],
18262	//   "parameters": {
18263	//     "profileId": {
18264	//       "description": "User profile ID associated with this request.",
18265	//       "format": "int64",
18266	//       "location": "path",
18267	//       "required": true,
18268	//       "type": "string"
18269	//     }
18270	//   },
18271	//   "path": "userprofiles/{profileId}/advertiserGroups",
18272	//   "request": {
18273	//     "$ref": "AdvertiserGroup"
18274	//   },
18275	//   "response": {
18276	//     "$ref": "AdvertiserGroup"
18277	//   },
18278	//   "scopes": [
18279	//     "https://www.googleapis.com/auth/dfatrafficking"
18280	//   ]
18281	// }
18282
18283}
18284
18285// method id "dfareporting.advertisers.get":
18286
18287type AdvertisersGetCall struct {
18288	s            *Service
18289	profileId    int64
18290	id           int64
18291	urlParams_   gensupport.URLParams
18292	ifNoneMatch_ string
18293	ctx_         context.Context
18294	header_      http.Header
18295}
18296
18297// Get: Gets one advertiser by ID.
18298func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
18299	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18300	c.profileId = profileId
18301	c.id = id
18302	return c
18303}
18304
18305// Fields allows partial responses to be retrieved. See
18306// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18307// for more information.
18308func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
18309	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18310	return c
18311}
18312
18313// IfNoneMatch sets the optional parameter which makes the operation
18314// fail if the object's ETag matches the given value. This is useful for
18315// getting updates only after the object has changed since the last
18316// request. Use googleapi.IsNotModified to check whether the response
18317// error from Do is the result of In-None-Match.
18318func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
18319	c.ifNoneMatch_ = entityTag
18320	return c
18321}
18322
18323// Context sets the context to be used in this call's Do method. Any
18324// pending HTTP request will be aborted if the provided context is
18325// canceled.
18326func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
18327	c.ctx_ = ctx
18328	return c
18329}
18330
18331// Header returns an http.Header that can be modified by the caller to
18332// add HTTP headers to the request.
18333func (c *AdvertisersGetCall) Header() http.Header {
18334	if c.header_ == nil {
18335		c.header_ = make(http.Header)
18336	}
18337	return c.header_
18338}
18339
18340func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
18341	reqHeaders := make(http.Header)
18342	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18343	for k, v := range c.header_ {
18344		reqHeaders[k] = v
18345	}
18346	reqHeaders.Set("User-Agent", c.s.userAgent())
18347	if c.ifNoneMatch_ != "" {
18348		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18349	}
18350	var body io.Reader = nil
18351	c.urlParams_.Set("alt", alt)
18352	c.urlParams_.Set("prettyPrint", "false")
18353	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
18354	urls += "?" + c.urlParams_.Encode()
18355	req, err := http.NewRequest("GET", urls, body)
18356	if err != nil {
18357		return nil, err
18358	}
18359	req.Header = reqHeaders
18360	googleapi.Expand(req.URL, map[string]string{
18361		"profileId": strconv.FormatInt(c.profileId, 10),
18362		"id":        strconv.FormatInt(c.id, 10),
18363	})
18364	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18365}
18366
18367// Do executes the "dfareporting.advertisers.get" call.
18368// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
18369// status code is an error. Response headers are in either
18370// *Advertiser.ServerResponse.Header or (if a response was returned at
18371// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18372// to check whether the returned error was because
18373// http.StatusNotModified was returned.
18374func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
18375	gensupport.SetOptions(c.urlParams_, opts...)
18376	res, err := c.doRequest("json")
18377	if res != nil && res.StatusCode == http.StatusNotModified {
18378		if res.Body != nil {
18379			res.Body.Close()
18380		}
18381		return nil, &googleapi.Error{
18382			Code:   res.StatusCode,
18383			Header: res.Header,
18384		}
18385	}
18386	if err != nil {
18387		return nil, err
18388	}
18389	defer googleapi.CloseBody(res)
18390	if err := googleapi.CheckResponse(res); err != nil {
18391		return nil, err
18392	}
18393	ret := &Advertiser{
18394		ServerResponse: googleapi.ServerResponse{
18395			Header:         res.Header,
18396			HTTPStatusCode: res.StatusCode,
18397		},
18398	}
18399	target := &ret
18400	if err := gensupport.DecodeResponse(target, res); err != nil {
18401		return nil, err
18402	}
18403	return ret, nil
18404	// {
18405	//   "description": "Gets one advertiser by ID.",
18406	//   "httpMethod": "GET",
18407	//   "id": "dfareporting.advertisers.get",
18408	//   "parameterOrder": [
18409	//     "profileId",
18410	//     "id"
18411	//   ],
18412	//   "parameters": {
18413	//     "id": {
18414	//       "description": "Advertiser ID.",
18415	//       "format": "int64",
18416	//       "location": "path",
18417	//       "required": true,
18418	//       "type": "string"
18419	//     },
18420	//     "profileId": {
18421	//       "description": "User profile ID associated with this request.",
18422	//       "format": "int64",
18423	//       "location": "path",
18424	//       "required": true,
18425	//       "type": "string"
18426	//     }
18427	//   },
18428	//   "path": "userprofiles/{profileId}/advertisers/{id}",
18429	//   "response": {
18430	//     "$ref": "Advertiser"
18431	//   },
18432	//   "scopes": [
18433	//     "https://www.googleapis.com/auth/dfatrafficking"
18434	//   ]
18435	// }
18436
18437}
18438
18439// method id "dfareporting.advertisers.insert":
18440
18441type AdvertisersInsertCall struct {
18442	s          *Service
18443	profileId  int64
18444	advertiser *Advertiser
18445	urlParams_ gensupport.URLParams
18446	ctx_       context.Context
18447	header_    http.Header
18448}
18449
18450// Insert: Inserts a new advertiser.
18451func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
18452	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18453	c.profileId = profileId
18454	c.advertiser = advertiser
18455	return c
18456}
18457
18458// Fields allows partial responses to be retrieved. See
18459// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18460// for more information.
18461func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
18462	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18463	return c
18464}
18465
18466// Context sets the context to be used in this call's Do method. Any
18467// pending HTTP request will be aborted if the provided context is
18468// canceled.
18469func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
18470	c.ctx_ = ctx
18471	return c
18472}
18473
18474// Header returns an http.Header that can be modified by the caller to
18475// add HTTP headers to the request.
18476func (c *AdvertisersInsertCall) Header() http.Header {
18477	if c.header_ == nil {
18478		c.header_ = make(http.Header)
18479	}
18480	return c.header_
18481}
18482
18483func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
18484	reqHeaders := make(http.Header)
18485	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18486	for k, v := range c.header_ {
18487		reqHeaders[k] = v
18488	}
18489	reqHeaders.Set("User-Agent", c.s.userAgent())
18490	var body io.Reader = nil
18491	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
18492	if err != nil {
18493		return nil, err
18494	}
18495	reqHeaders.Set("Content-Type", "application/json")
18496	c.urlParams_.Set("alt", alt)
18497	c.urlParams_.Set("prettyPrint", "false")
18498	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
18499	urls += "?" + c.urlParams_.Encode()
18500	req, err := http.NewRequest("POST", urls, body)
18501	if err != nil {
18502		return nil, err
18503	}
18504	req.Header = reqHeaders
18505	googleapi.Expand(req.URL, map[string]string{
18506		"profileId": strconv.FormatInt(c.profileId, 10),
18507	})
18508	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18509}
18510
18511// Do executes the "dfareporting.advertisers.insert" call.
18512// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
18513// status code is an error. Response headers are in either
18514// *Advertiser.ServerResponse.Header or (if a response was returned at
18515// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18516// to check whether the returned error was because
18517// http.StatusNotModified was returned.
18518func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
18519	gensupport.SetOptions(c.urlParams_, opts...)
18520	res, err := c.doRequest("json")
18521	if res != nil && res.StatusCode == http.StatusNotModified {
18522		if res.Body != nil {
18523			res.Body.Close()
18524		}
18525		return nil, &googleapi.Error{
18526			Code:   res.StatusCode,
18527			Header: res.Header,
18528		}
18529	}
18530	if err != nil {
18531		return nil, err
18532	}
18533	defer googleapi.CloseBody(res)
18534	if err := googleapi.CheckResponse(res); err != nil {
18535		return nil, err
18536	}
18537	ret := &Advertiser{
18538		ServerResponse: googleapi.ServerResponse{
18539			Header:         res.Header,
18540			HTTPStatusCode: res.StatusCode,
18541		},
18542	}
18543	target := &ret
18544	if err := gensupport.DecodeResponse(target, res); err != nil {
18545		return nil, err
18546	}
18547	return ret, nil
18548	// {
18549	//   "description": "Inserts a new advertiser.",
18550	//   "httpMethod": "POST",
18551	//   "id": "dfareporting.advertisers.insert",
18552	//   "parameterOrder": [
18553	//     "profileId"
18554	//   ],
18555	//   "parameters": {
18556	//     "profileId": {
18557	//       "description": "User profile ID associated with this request.",
18558	//       "format": "int64",
18559	//       "location": "path",
18560	//       "required": true,
18561	//       "type": "string"
18562	//     }
18563	//   },
18564	//   "path": "userprofiles/{profileId}/advertisers",
18565	//   "request": {
18566	//     "$ref": "Advertiser"
18567	//   },
18568	//   "response": {
18569	//     "$ref": "Advertiser"
18570	//   },
18571	//   "scopes": [
18572	//     "https://www.googleapis.com/auth/dfatrafficking"
18573	//   ]
18574	// }
18575
18576}
18577
18578// method id "dfareporting.advertisers.list":
18579
18580type AdvertisersListCall struct {
18581	s            *Service
18582	profileId    int64
18583	urlParams_   gensupport.URLParams
18584	ifNoneMatch_ string
18585	ctx_         context.Context
18586	header_      http.Header
18587}
18588
18589// List: Retrieves a list of advertisers, possibly filtered. This method
18590// supports paging.
18591func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
18592	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18593	c.profileId = profileId
18594	return c
18595}
18596
18597// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
18598// Select only advertisers with these advertiser group IDs.
18599func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
18600	var advertiserGroupIds_ []string
18601	for _, v := range advertiserGroupIds {
18602		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
18603	}
18604	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
18605	return c
18606}
18607
18608// FloodlightConfigurationIds sets the optional parameter
18609// "floodlightConfigurationIds": Select only advertisers with these
18610// floodlight configuration IDs.
18611func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
18612	var floodlightConfigurationIds_ []string
18613	for _, v := range floodlightConfigurationIds {
18614		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
18615	}
18616	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
18617	return c
18618}
18619
18620// Ids sets the optional parameter "ids": Select only advertisers with
18621// these IDs.
18622func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
18623	var ids_ []string
18624	for _, v := range ids {
18625		ids_ = append(ids_, fmt.Sprint(v))
18626	}
18627	c.urlParams_.SetMulti("ids", ids_)
18628	return c
18629}
18630
18631// IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
18632// "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
18633// do not belong to any advertiser group.
18634func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
18635	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
18636	return c
18637}
18638
18639// MaxResults sets the optional parameter "maxResults": Maximum number
18640// of results to return.
18641func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
18642	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18643	return c
18644}
18645
18646// OnlyParent sets the optional parameter "onlyParent": Select only
18647// advertisers which use another advertiser's floodlight configuration.
18648func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
18649	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
18650	return c
18651}
18652
18653// PageToken sets the optional parameter "pageToken": Value of the
18654// nextPageToken from the previous result page.
18655func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
18656	c.urlParams_.Set("pageToken", pageToken)
18657	return c
18658}
18659
18660// SearchString sets the optional parameter "searchString": Allows
18661// searching for objects by name or ID. Wildcards (*) are allowed. For
18662// example, "advertiser*2015" will return objects with names like
18663// "advertiser June 2015", "advertiser April 2015", or simply
18664// "advertiser 2015". Most of the searches also add wildcards implicitly
18665// at the start and the end of the search string. For example, a search
18666// string of "advertiser" will match objects with name "my advertiser",
18667// "advertiser 2015", or simply "advertiser".
18668func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
18669	c.urlParams_.Set("searchString", searchString)
18670	return c
18671}
18672
18673// SortField sets the optional parameter "sortField": Field by which to
18674// sort the list.
18675//
18676// Possible values:
18677//   "ID" (default)
18678//   "NAME"
18679func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
18680	c.urlParams_.Set("sortField", sortField)
18681	return c
18682}
18683
18684// SortOrder sets the optional parameter "sortOrder": Order of sorted
18685// results.
18686//
18687// Possible values:
18688//   "ASCENDING" (default)
18689//   "DESCENDING"
18690func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
18691	c.urlParams_.Set("sortOrder", sortOrder)
18692	return c
18693}
18694
18695// Status sets the optional parameter "status": Select only advertisers
18696// with the specified status.
18697//
18698// Possible values:
18699//   "APPROVED"
18700//   "ON_HOLD"
18701func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
18702	c.urlParams_.Set("status", status)
18703	return c
18704}
18705
18706// SubaccountId sets the optional parameter "subaccountId": Select only
18707// advertisers with these subaccount IDs.
18708func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
18709	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
18710	return c
18711}
18712
18713// Fields allows partial responses to be retrieved. See
18714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18715// for more information.
18716func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
18717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18718	return c
18719}
18720
18721// IfNoneMatch sets the optional parameter which makes the operation
18722// fail if the object's ETag matches the given value. This is useful for
18723// getting updates only after the object has changed since the last
18724// request. Use googleapi.IsNotModified to check whether the response
18725// error from Do is the result of In-None-Match.
18726func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
18727	c.ifNoneMatch_ = entityTag
18728	return c
18729}
18730
18731// Context sets the context to be used in this call's Do method. Any
18732// pending HTTP request will be aborted if the provided context is
18733// canceled.
18734func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
18735	c.ctx_ = ctx
18736	return c
18737}
18738
18739// Header returns an http.Header that can be modified by the caller to
18740// add HTTP headers to the request.
18741func (c *AdvertisersListCall) Header() http.Header {
18742	if c.header_ == nil {
18743		c.header_ = make(http.Header)
18744	}
18745	return c.header_
18746}
18747
18748func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
18749	reqHeaders := make(http.Header)
18750	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18751	for k, v := range c.header_ {
18752		reqHeaders[k] = v
18753	}
18754	reqHeaders.Set("User-Agent", c.s.userAgent())
18755	if c.ifNoneMatch_ != "" {
18756		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18757	}
18758	var body io.Reader = nil
18759	c.urlParams_.Set("alt", alt)
18760	c.urlParams_.Set("prettyPrint", "false")
18761	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
18762	urls += "?" + c.urlParams_.Encode()
18763	req, err := http.NewRequest("GET", urls, body)
18764	if err != nil {
18765		return nil, err
18766	}
18767	req.Header = reqHeaders
18768	googleapi.Expand(req.URL, map[string]string{
18769		"profileId": strconv.FormatInt(c.profileId, 10),
18770	})
18771	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18772}
18773
18774// Do executes the "dfareporting.advertisers.list" call.
18775// Exactly one of *AdvertisersListResponse or error will be non-nil. Any
18776// non-2xx status code is an error. Response headers are in either
18777// *AdvertisersListResponse.ServerResponse.Header or (if a response was
18778// returned at all) in error.(*googleapi.Error).Header. Use
18779// googleapi.IsNotModified to check whether the returned error was
18780// because http.StatusNotModified was returned.
18781func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
18782	gensupport.SetOptions(c.urlParams_, opts...)
18783	res, err := c.doRequest("json")
18784	if res != nil && res.StatusCode == http.StatusNotModified {
18785		if res.Body != nil {
18786			res.Body.Close()
18787		}
18788		return nil, &googleapi.Error{
18789			Code:   res.StatusCode,
18790			Header: res.Header,
18791		}
18792	}
18793	if err != nil {
18794		return nil, err
18795	}
18796	defer googleapi.CloseBody(res)
18797	if err := googleapi.CheckResponse(res); err != nil {
18798		return nil, err
18799	}
18800	ret := &AdvertisersListResponse{
18801		ServerResponse: googleapi.ServerResponse{
18802			Header:         res.Header,
18803			HTTPStatusCode: res.StatusCode,
18804		},
18805	}
18806	target := &ret
18807	if err := gensupport.DecodeResponse(target, res); err != nil {
18808		return nil, err
18809	}
18810	return ret, nil
18811	// {
18812	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
18813	//   "httpMethod": "GET",
18814	//   "id": "dfareporting.advertisers.list",
18815	//   "parameterOrder": [
18816	//     "profileId"
18817	//   ],
18818	//   "parameters": {
18819	//     "advertiserGroupIds": {
18820	//       "description": "Select only advertisers with these advertiser group IDs.",
18821	//       "format": "int64",
18822	//       "location": "query",
18823	//       "repeated": true,
18824	//       "type": "string"
18825	//     },
18826	//     "floodlightConfigurationIds": {
18827	//       "description": "Select only advertisers with these floodlight configuration IDs.",
18828	//       "format": "int64",
18829	//       "location": "query",
18830	//       "repeated": true,
18831	//       "type": "string"
18832	//     },
18833	//     "ids": {
18834	//       "description": "Select only advertisers with these IDs.",
18835	//       "format": "int64",
18836	//       "location": "query",
18837	//       "repeated": true,
18838	//       "type": "string"
18839	//     },
18840	//     "includeAdvertisersWithoutGroupsOnly": {
18841	//       "description": "Select only advertisers which do not belong to any advertiser group.",
18842	//       "location": "query",
18843	//       "type": "boolean"
18844	//     },
18845	//     "maxResults": {
18846	//       "default": "1000",
18847	//       "description": "Maximum number of results to return.",
18848	//       "format": "int32",
18849	//       "location": "query",
18850	//       "maximum": "1000",
18851	//       "minimum": "0",
18852	//       "type": "integer"
18853	//     },
18854	//     "onlyParent": {
18855	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
18856	//       "location": "query",
18857	//       "type": "boolean"
18858	//     },
18859	//     "pageToken": {
18860	//       "description": "Value of the nextPageToken from the previous result page.",
18861	//       "location": "query",
18862	//       "type": "string"
18863	//     },
18864	//     "profileId": {
18865	//       "description": "User profile ID associated with this request.",
18866	//       "format": "int64",
18867	//       "location": "path",
18868	//       "required": true,
18869	//       "type": "string"
18870	//     },
18871	//     "searchString": {
18872	//       "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\".",
18873	//       "location": "query",
18874	//       "type": "string"
18875	//     },
18876	//     "sortField": {
18877	//       "default": "ID",
18878	//       "description": "Field by which to sort the list.",
18879	//       "enum": [
18880	//         "ID",
18881	//         "NAME"
18882	//       ],
18883	//       "enumDescriptions": [
18884	//         "",
18885	//         ""
18886	//       ],
18887	//       "location": "query",
18888	//       "type": "string"
18889	//     },
18890	//     "sortOrder": {
18891	//       "default": "ASCENDING",
18892	//       "description": "Order of sorted results.",
18893	//       "enum": [
18894	//         "ASCENDING",
18895	//         "DESCENDING"
18896	//       ],
18897	//       "enumDescriptions": [
18898	//         "",
18899	//         ""
18900	//       ],
18901	//       "location": "query",
18902	//       "type": "string"
18903	//     },
18904	//     "status": {
18905	//       "description": "Select only advertisers with the specified status.",
18906	//       "enum": [
18907	//         "APPROVED",
18908	//         "ON_HOLD"
18909	//       ],
18910	//       "enumDescriptions": [
18911	//         "",
18912	//         ""
18913	//       ],
18914	//       "location": "query",
18915	//       "type": "string"
18916	//     },
18917	//     "subaccountId": {
18918	//       "description": "Select only advertisers with these subaccount IDs.",
18919	//       "format": "int64",
18920	//       "location": "query",
18921	//       "type": "string"
18922	//     }
18923	//   },
18924	//   "path": "userprofiles/{profileId}/advertisers",
18925	//   "response": {
18926	//     "$ref": "AdvertisersListResponse"
18927	//   },
18928	//   "scopes": [
18929	//     "https://www.googleapis.com/auth/dfatrafficking"
18930	//   ]
18931	// }
18932
18933}
18934
18935// Pages invokes f for each page of results.
18936// A non-nil error returned from f will halt the iteration.
18937// The provided context supersedes any context provided to the Context method.
18938func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
18939	c.ctx_ = ctx
18940	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18941	for {
18942		x, err := c.Do()
18943		if err != nil {
18944			return err
18945		}
18946		if err := f(x); err != nil {
18947			return err
18948		}
18949		if x.NextPageToken == "" {
18950			return nil
18951		}
18952		c.PageToken(x.NextPageToken)
18953	}
18954}
18955
18956// method id "dfareporting.advertisers.patch":
18957
18958type AdvertisersPatchCall struct {
18959	s          *Service
18960	profileId  int64
18961	advertiser *Advertiser
18962	urlParams_ gensupport.URLParams
18963	ctx_       context.Context
18964	header_    http.Header
18965}
18966
18967// Patch: Updates an existing advertiser. This method supports patch
18968// semantics.
18969func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
18970	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18971	c.profileId = profileId
18972	c.urlParams_.Set("id", fmt.Sprint(id))
18973	c.advertiser = advertiser
18974	return c
18975}
18976
18977// Fields allows partial responses to be retrieved. See
18978// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18979// for more information.
18980func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
18981	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18982	return c
18983}
18984
18985// Context sets the context to be used in this call's Do method. Any
18986// pending HTTP request will be aborted if the provided context is
18987// canceled.
18988func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
18989	c.ctx_ = ctx
18990	return c
18991}
18992
18993// Header returns an http.Header that can be modified by the caller to
18994// add HTTP headers to the request.
18995func (c *AdvertisersPatchCall) Header() http.Header {
18996	if c.header_ == nil {
18997		c.header_ = make(http.Header)
18998	}
18999	return c.header_
19000}
19001
19002func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
19003	reqHeaders := make(http.Header)
19004	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19005	for k, v := range c.header_ {
19006		reqHeaders[k] = v
19007	}
19008	reqHeaders.Set("User-Agent", c.s.userAgent())
19009	var body io.Reader = nil
19010	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
19011	if err != nil {
19012		return nil, err
19013	}
19014	reqHeaders.Set("Content-Type", "application/json")
19015	c.urlParams_.Set("alt", alt)
19016	c.urlParams_.Set("prettyPrint", "false")
19017	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19018	urls += "?" + c.urlParams_.Encode()
19019	req, err := http.NewRequest("PATCH", urls, body)
19020	if err != nil {
19021		return nil, err
19022	}
19023	req.Header = reqHeaders
19024	googleapi.Expand(req.URL, map[string]string{
19025		"profileId": strconv.FormatInt(c.profileId, 10),
19026	})
19027	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19028}
19029
19030// Do executes the "dfareporting.advertisers.patch" call.
19031// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19032// status code is an error. Response headers are in either
19033// *Advertiser.ServerResponse.Header or (if a response was returned at
19034// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19035// to check whether the returned error was because
19036// http.StatusNotModified was returned.
19037func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19038	gensupport.SetOptions(c.urlParams_, opts...)
19039	res, err := c.doRequest("json")
19040	if res != nil && res.StatusCode == http.StatusNotModified {
19041		if res.Body != nil {
19042			res.Body.Close()
19043		}
19044		return nil, &googleapi.Error{
19045			Code:   res.StatusCode,
19046			Header: res.Header,
19047		}
19048	}
19049	if err != nil {
19050		return nil, err
19051	}
19052	defer googleapi.CloseBody(res)
19053	if err := googleapi.CheckResponse(res); err != nil {
19054		return nil, err
19055	}
19056	ret := &Advertiser{
19057		ServerResponse: googleapi.ServerResponse{
19058			Header:         res.Header,
19059			HTTPStatusCode: res.StatusCode,
19060		},
19061	}
19062	target := &ret
19063	if err := gensupport.DecodeResponse(target, res); err != nil {
19064		return nil, err
19065	}
19066	return ret, nil
19067	// {
19068	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
19069	//   "httpMethod": "PATCH",
19070	//   "id": "dfareporting.advertisers.patch",
19071	//   "parameterOrder": [
19072	//     "profileId",
19073	//     "id"
19074	//   ],
19075	//   "parameters": {
19076	//     "id": {
19077	//       "description": "Advertiser ID.",
19078	//       "format": "int64",
19079	//       "location": "query",
19080	//       "required": true,
19081	//       "type": "string"
19082	//     },
19083	//     "profileId": {
19084	//       "description": "User profile ID associated with this request.",
19085	//       "format": "int64",
19086	//       "location": "path",
19087	//       "required": true,
19088	//       "type": "string"
19089	//     }
19090	//   },
19091	//   "path": "userprofiles/{profileId}/advertisers",
19092	//   "request": {
19093	//     "$ref": "Advertiser"
19094	//   },
19095	//   "response": {
19096	//     "$ref": "Advertiser"
19097	//   },
19098	//   "scopes": [
19099	//     "https://www.googleapis.com/auth/dfatrafficking"
19100	//   ]
19101	// }
19102
19103}
19104
19105// method id "dfareporting.advertisers.update":
19106
19107type AdvertisersUpdateCall struct {
19108	s          *Service
19109	profileId  int64
19110	advertiser *Advertiser
19111	urlParams_ gensupport.URLParams
19112	ctx_       context.Context
19113	header_    http.Header
19114}
19115
19116// Update: Updates an existing advertiser.
19117func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
19118	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19119	c.profileId = profileId
19120	c.advertiser = advertiser
19121	return c
19122}
19123
19124// Fields allows partial responses to be retrieved. See
19125// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19126// for more information.
19127func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
19128	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19129	return c
19130}
19131
19132// Context sets the context to be used in this call's Do method. Any
19133// pending HTTP request will be aborted if the provided context is
19134// canceled.
19135func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
19136	c.ctx_ = ctx
19137	return c
19138}
19139
19140// Header returns an http.Header that can be modified by the caller to
19141// add HTTP headers to the request.
19142func (c *AdvertisersUpdateCall) Header() http.Header {
19143	if c.header_ == nil {
19144		c.header_ = make(http.Header)
19145	}
19146	return c.header_
19147}
19148
19149func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
19150	reqHeaders := make(http.Header)
19151	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19152	for k, v := range c.header_ {
19153		reqHeaders[k] = v
19154	}
19155	reqHeaders.Set("User-Agent", c.s.userAgent())
19156	var body io.Reader = nil
19157	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
19158	if err != nil {
19159		return nil, err
19160	}
19161	reqHeaders.Set("Content-Type", "application/json")
19162	c.urlParams_.Set("alt", alt)
19163	c.urlParams_.Set("prettyPrint", "false")
19164	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19165	urls += "?" + c.urlParams_.Encode()
19166	req, err := http.NewRequest("PUT", urls, body)
19167	if err != nil {
19168		return nil, err
19169	}
19170	req.Header = reqHeaders
19171	googleapi.Expand(req.URL, map[string]string{
19172		"profileId": strconv.FormatInt(c.profileId, 10),
19173	})
19174	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19175}
19176
19177// Do executes the "dfareporting.advertisers.update" call.
19178// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19179// status code is an error. Response headers are in either
19180// *Advertiser.ServerResponse.Header or (if a response was returned at
19181// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19182// to check whether the returned error was because
19183// http.StatusNotModified was returned.
19184func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19185	gensupport.SetOptions(c.urlParams_, opts...)
19186	res, err := c.doRequest("json")
19187	if res != nil && res.StatusCode == http.StatusNotModified {
19188		if res.Body != nil {
19189			res.Body.Close()
19190		}
19191		return nil, &googleapi.Error{
19192			Code:   res.StatusCode,
19193			Header: res.Header,
19194		}
19195	}
19196	if err != nil {
19197		return nil, err
19198	}
19199	defer googleapi.CloseBody(res)
19200	if err := googleapi.CheckResponse(res); err != nil {
19201		return nil, err
19202	}
19203	ret := &Advertiser{
19204		ServerResponse: googleapi.ServerResponse{
19205			Header:         res.Header,
19206			HTTPStatusCode: res.StatusCode,
19207		},
19208	}
19209	target := &ret
19210	if err := gensupport.DecodeResponse(target, res); err != nil {
19211		return nil, err
19212	}
19213	return ret, nil
19214	// {
19215	//   "description": "Updates an existing advertiser.",
19216	//   "httpMethod": "PUT",
19217	//   "id": "dfareporting.advertisers.update",
19218	//   "parameterOrder": [
19219	//     "profileId"
19220	//   ],
19221	//   "parameters": {
19222	//     "profileId": {
19223	//       "description": "User profile ID associated with this request.",
19224	//       "format": "int64",
19225	//       "location": "path",
19226	//       "required": true,
19227	//       "type": "string"
19228	//     }
19229	//   },
19230	//   "path": "userprofiles/{profileId}/advertisers",
19231	//   "request": {
19232	//     "$ref": "Advertiser"
19233	//   },
19234	//   "response": {
19235	//     "$ref": "Advertiser"
19236	//   },
19237	//   "scopes": [
19238	//     "https://www.googleapis.com/auth/dfatrafficking"
19239	//   ]
19240	// }
19241
19242}
19243
19244// method id "dfareporting.browsers.list":
19245
19246type BrowsersListCall struct {
19247	s            *Service
19248	profileId    int64
19249	urlParams_   gensupport.URLParams
19250	ifNoneMatch_ string
19251	ctx_         context.Context
19252	header_      http.Header
19253}
19254
19255// List: Retrieves a list of browsers.
19256func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
19257	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19258	c.profileId = profileId
19259	return c
19260}
19261
19262// Fields allows partial responses to be retrieved. See
19263// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19264// for more information.
19265func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
19266	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19267	return c
19268}
19269
19270// IfNoneMatch sets the optional parameter which makes the operation
19271// fail if the object's ETag matches the given value. This is useful for
19272// getting updates only after the object has changed since the last
19273// request. Use googleapi.IsNotModified to check whether the response
19274// error from Do is the result of In-None-Match.
19275func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
19276	c.ifNoneMatch_ = entityTag
19277	return c
19278}
19279
19280// Context sets the context to be used in this call's Do method. Any
19281// pending HTTP request will be aborted if the provided context is
19282// canceled.
19283func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
19284	c.ctx_ = ctx
19285	return c
19286}
19287
19288// Header returns an http.Header that can be modified by the caller to
19289// add HTTP headers to the request.
19290func (c *BrowsersListCall) Header() http.Header {
19291	if c.header_ == nil {
19292		c.header_ = make(http.Header)
19293	}
19294	return c.header_
19295}
19296
19297func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
19298	reqHeaders := make(http.Header)
19299	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19300	for k, v := range c.header_ {
19301		reqHeaders[k] = v
19302	}
19303	reqHeaders.Set("User-Agent", c.s.userAgent())
19304	if c.ifNoneMatch_ != "" {
19305		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19306	}
19307	var body io.Reader = nil
19308	c.urlParams_.Set("alt", alt)
19309	c.urlParams_.Set("prettyPrint", "false")
19310	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
19311	urls += "?" + c.urlParams_.Encode()
19312	req, err := http.NewRequest("GET", urls, body)
19313	if err != nil {
19314		return nil, err
19315	}
19316	req.Header = reqHeaders
19317	googleapi.Expand(req.URL, map[string]string{
19318		"profileId": strconv.FormatInt(c.profileId, 10),
19319	})
19320	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19321}
19322
19323// Do executes the "dfareporting.browsers.list" call.
19324// Exactly one of *BrowsersListResponse or error will be non-nil. Any
19325// non-2xx status code is an error. Response headers are in either
19326// *BrowsersListResponse.ServerResponse.Header or (if a response was
19327// returned at all) in error.(*googleapi.Error).Header. Use
19328// googleapi.IsNotModified to check whether the returned error was
19329// because http.StatusNotModified was returned.
19330func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
19331	gensupport.SetOptions(c.urlParams_, opts...)
19332	res, err := c.doRequest("json")
19333	if res != nil && res.StatusCode == http.StatusNotModified {
19334		if res.Body != nil {
19335			res.Body.Close()
19336		}
19337		return nil, &googleapi.Error{
19338			Code:   res.StatusCode,
19339			Header: res.Header,
19340		}
19341	}
19342	if err != nil {
19343		return nil, err
19344	}
19345	defer googleapi.CloseBody(res)
19346	if err := googleapi.CheckResponse(res); err != nil {
19347		return nil, err
19348	}
19349	ret := &BrowsersListResponse{
19350		ServerResponse: googleapi.ServerResponse{
19351			Header:         res.Header,
19352			HTTPStatusCode: res.StatusCode,
19353		},
19354	}
19355	target := &ret
19356	if err := gensupport.DecodeResponse(target, res); err != nil {
19357		return nil, err
19358	}
19359	return ret, nil
19360	// {
19361	//   "description": "Retrieves a list of browsers.",
19362	//   "httpMethod": "GET",
19363	//   "id": "dfareporting.browsers.list",
19364	//   "parameterOrder": [
19365	//     "profileId"
19366	//   ],
19367	//   "parameters": {
19368	//     "profileId": {
19369	//       "description": "User profile ID associated with this request.",
19370	//       "format": "int64",
19371	//       "location": "path",
19372	//       "required": true,
19373	//       "type": "string"
19374	//     }
19375	//   },
19376	//   "path": "userprofiles/{profileId}/browsers",
19377	//   "response": {
19378	//     "$ref": "BrowsersListResponse"
19379	//   },
19380	//   "scopes": [
19381	//     "https://www.googleapis.com/auth/dfatrafficking"
19382	//   ]
19383	// }
19384
19385}
19386
19387// method id "dfareporting.campaignCreativeAssociations.insert":
19388
19389type CampaignCreativeAssociationsInsertCall struct {
19390	s                           *Service
19391	profileId                   int64
19392	campaignId                  int64
19393	campaigncreativeassociation *CampaignCreativeAssociation
19394	urlParams_                  gensupport.URLParams
19395	ctx_                        context.Context
19396	header_                     http.Header
19397}
19398
19399// Insert: Associates a creative with the specified campaign. This
19400// method creates a default ad with dimensions matching the creative in
19401// the campaign if such a default ad does not exist already.
19402func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
19403	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19404	c.profileId = profileId
19405	c.campaignId = campaignId
19406	c.campaigncreativeassociation = campaigncreativeassociation
19407	return c
19408}
19409
19410// Fields allows partial responses to be retrieved. See
19411// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19412// for more information.
19413func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
19414	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19415	return c
19416}
19417
19418// Context sets the context to be used in this call's Do method. Any
19419// pending HTTP request will be aborted if the provided context is
19420// canceled.
19421func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
19422	c.ctx_ = ctx
19423	return c
19424}
19425
19426// Header returns an http.Header that can be modified by the caller to
19427// add HTTP headers to the request.
19428func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
19429	if c.header_ == nil {
19430		c.header_ = make(http.Header)
19431	}
19432	return c.header_
19433}
19434
19435func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
19436	reqHeaders := make(http.Header)
19437	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19438	for k, v := range c.header_ {
19439		reqHeaders[k] = v
19440	}
19441	reqHeaders.Set("User-Agent", c.s.userAgent())
19442	var body io.Reader = nil
19443	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
19444	if err != nil {
19445		return nil, err
19446	}
19447	reqHeaders.Set("Content-Type", "application/json")
19448	c.urlParams_.Set("alt", alt)
19449	c.urlParams_.Set("prettyPrint", "false")
19450	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
19451	urls += "?" + c.urlParams_.Encode()
19452	req, err := http.NewRequest("POST", urls, body)
19453	if err != nil {
19454		return nil, err
19455	}
19456	req.Header = reqHeaders
19457	googleapi.Expand(req.URL, map[string]string{
19458		"profileId":  strconv.FormatInt(c.profileId, 10),
19459		"campaignId": strconv.FormatInt(c.campaignId, 10),
19460	})
19461	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19462}
19463
19464// Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
19465// Exactly one of *CampaignCreativeAssociation or error will be non-nil.
19466// Any non-2xx status code is an error. Response headers are in either
19467// *CampaignCreativeAssociation.ServerResponse.Header or (if a response
19468// was returned at all) in error.(*googleapi.Error).Header. Use
19469// googleapi.IsNotModified to check whether the returned error was
19470// because http.StatusNotModified was returned.
19471func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
19472	gensupport.SetOptions(c.urlParams_, opts...)
19473	res, err := c.doRequest("json")
19474	if res != nil && res.StatusCode == http.StatusNotModified {
19475		if res.Body != nil {
19476			res.Body.Close()
19477		}
19478		return nil, &googleapi.Error{
19479			Code:   res.StatusCode,
19480			Header: res.Header,
19481		}
19482	}
19483	if err != nil {
19484		return nil, err
19485	}
19486	defer googleapi.CloseBody(res)
19487	if err := googleapi.CheckResponse(res); err != nil {
19488		return nil, err
19489	}
19490	ret := &CampaignCreativeAssociation{
19491		ServerResponse: googleapi.ServerResponse{
19492			Header:         res.Header,
19493			HTTPStatusCode: res.StatusCode,
19494		},
19495	}
19496	target := &ret
19497	if err := gensupport.DecodeResponse(target, res); err != nil {
19498		return nil, err
19499	}
19500	return ret, nil
19501	// {
19502	//   "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.",
19503	//   "httpMethod": "POST",
19504	//   "id": "dfareporting.campaignCreativeAssociations.insert",
19505	//   "parameterOrder": [
19506	//     "profileId",
19507	//     "campaignId"
19508	//   ],
19509	//   "parameters": {
19510	//     "campaignId": {
19511	//       "description": "Campaign ID in this association.",
19512	//       "format": "int64",
19513	//       "location": "path",
19514	//       "required": true,
19515	//       "type": "string"
19516	//     },
19517	//     "profileId": {
19518	//       "description": "User profile ID associated with this request.",
19519	//       "format": "int64",
19520	//       "location": "path",
19521	//       "required": true,
19522	//       "type": "string"
19523	//     }
19524	//   },
19525	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
19526	//   "request": {
19527	//     "$ref": "CampaignCreativeAssociation"
19528	//   },
19529	//   "response": {
19530	//     "$ref": "CampaignCreativeAssociation"
19531	//   },
19532	//   "scopes": [
19533	//     "https://www.googleapis.com/auth/dfatrafficking"
19534	//   ]
19535	// }
19536
19537}
19538
19539// method id "dfareporting.campaignCreativeAssociations.list":
19540
19541type CampaignCreativeAssociationsListCall struct {
19542	s            *Service
19543	profileId    int64
19544	campaignId   int64
19545	urlParams_   gensupport.URLParams
19546	ifNoneMatch_ string
19547	ctx_         context.Context
19548	header_      http.Header
19549}
19550
19551// List: Retrieves the list of creative IDs associated with the
19552// specified campaign. This method supports paging.
19553func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
19554	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19555	c.profileId = profileId
19556	c.campaignId = campaignId
19557	return c
19558}
19559
19560// MaxResults sets the optional parameter "maxResults": Maximum number
19561// of results to return.
19562func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
19563	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19564	return c
19565}
19566
19567// PageToken sets the optional parameter "pageToken": Value of the
19568// nextPageToken from the previous result page.
19569func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
19570	c.urlParams_.Set("pageToken", pageToken)
19571	return c
19572}
19573
19574// SortOrder sets the optional parameter "sortOrder": Order of sorted
19575// results.
19576//
19577// Possible values:
19578//   "ASCENDING" (default)
19579//   "DESCENDING"
19580func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
19581	c.urlParams_.Set("sortOrder", sortOrder)
19582	return c
19583}
19584
19585// Fields allows partial responses to be retrieved. See
19586// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19587// for more information.
19588func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
19589	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19590	return c
19591}
19592
19593// IfNoneMatch sets the optional parameter which makes the operation
19594// fail if the object's ETag matches the given value. This is useful for
19595// getting updates only after the object has changed since the last
19596// request. Use googleapi.IsNotModified to check whether the response
19597// error from Do is the result of In-None-Match.
19598func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
19599	c.ifNoneMatch_ = entityTag
19600	return c
19601}
19602
19603// Context sets the context to be used in this call's Do method. Any
19604// pending HTTP request will be aborted if the provided context is
19605// canceled.
19606func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
19607	c.ctx_ = ctx
19608	return c
19609}
19610
19611// Header returns an http.Header that can be modified by the caller to
19612// add HTTP headers to the request.
19613func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
19614	if c.header_ == nil {
19615		c.header_ = make(http.Header)
19616	}
19617	return c.header_
19618}
19619
19620func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
19621	reqHeaders := make(http.Header)
19622	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19623	for k, v := range c.header_ {
19624		reqHeaders[k] = v
19625	}
19626	reqHeaders.Set("User-Agent", c.s.userAgent())
19627	if c.ifNoneMatch_ != "" {
19628		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19629	}
19630	var body io.Reader = nil
19631	c.urlParams_.Set("alt", alt)
19632	c.urlParams_.Set("prettyPrint", "false")
19633	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
19634	urls += "?" + c.urlParams_.Encode()
19635	req, err := http.NewRequest("GET", urls, body)
19636	if err != nil {
19637		return nil, err
19638	}
19639	req.Header = reqHeaders
19640	googleapi.Expand(req.URL, map[string]string{
19641		"profileId":  strconv.FormatInt(c.profileId, 10),
19642		"campaignId": strconv.FormatInt(c.campaignId, 10),
19643	})
19644	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19645}
19646
19647// Do executes the "dfareporting.campaignCreativeAssociations.list" call.
19648// Exactly one of *CampaignCreativeAssociationsListResponse or error
19649// will be non-nil. Any non-2xx status code is an error. Response
19650// headers are in either
19651// *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
19652// (if a response was returned at all) in
19653// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19654// whether the returned error was because http.StatusNotModified was
19655// returned.
19656func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
19657	gensupport.SetOptions(c.urlParams_, opts...)
19658	res, err := c.doRequest("json")
19659	if res != nil && res.StatusCode == http.StatusNotModified {
19660		if res.Body != nil {
19661			res.Body.Close()
19662		}
19663		return nil, &googleapi.Error{
19664			Code:   res.StatusCode,
19665			Header: res.Header,
19666		}
19667	}
19668	if err != nil {
19669		return nil, err
19670	}
19671	defer googleapi.CloseBody(res)
19672	if err := googleapi.CheckResponse(res); err != nil {
19673		return nil, err
19674	}
19675	ret := &CampaignCreativeAssociationsListResponse{
19676		ServerResponse: googleapi.ServerResponse{
19677			Header:         res.Header,
19678			HTTPStatusCode: res.StatusCode,
19679		},
19680	}
19681	target := &ret
19682	if err := gensupport.DecodeResponse(target, res); err != nil {
19683		return nil, err
19684	}
19685	return ret, nil
19686	// {
19687	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
19688	//   "httpMethod": "GET",
19689	//   "id": "dfareporting.campaignCreativeAssociations.list",
19690	//   "parameterOrder": [
19691	//     "profileId",
19692	//     "campaignId"
19693	//   ],
19694	//   "parameters": {
19695	//     "campaignId": {
19696	//       "description": "Campaign ID in this association.",
19697	//       "format": "int64",
19698	//       "location": "path",
19699	//       "required": true,
19700	//       "type": "string"
19701	//     },
19702	//     "maxResults": {
19703	//       "default": "1000",
19704	//       "description": "Maximum number of results to return.",
19705	//       "format": "int32",
19706	//       "location": "query",
19707	//       "maximum": "1000",
19708	//       "minimum": "0",
19709	//       "type": "integer"
19710	//     },
19711	//     "pageToken": {
19712	//       "description": "Value of the nextPageToken from the previous result page.",
19713	//       "location": "query",
19714	//       "type": "string"
19715	//     },
19716	//     "profileId": {
19717	//       "description": "User profile ID associated with this request.",
19718	//       "format": "int64",
19719	//       "location": "path",
19720	//       "required": true,
19721	//       "type": "string"
19722	//     },
19723	//     "sortOrder": {
19724	//       "default": "ASCENDING",
19725	//       "description": "Order of sorted results.",
19726	//       "enum": [
19727	//         "ASCENDING",
19728	//         "DESCENDING"
19729	//       ],
19730	//       "enumDescriptions": [
19731	//         "",
19732	//         ""
19733	//       ],
19734	//       "location": "query",
19735	//       "type": "string"
19736	//     }
19737	//   },
19738	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
19739	//   "response": {
19740	//     "$ref": "CampaignCreativeAssociationsListResponse"
19741	//   },
19742	//   "scopes": [
19743	//     "https://www.googleapis.com/auth/dfatrafficking"
19744	//   ]
19745	// }
19746
19747}
19748
19749// Pages invokes f for each page of results.
19750// A non-nil error returned from f will halt the iteration.
19751// The provided context supersedes any context provided to the Context method.
19752func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
19753	c.ctx_ = ctx
19754	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19755	for {
19756		x, err := c.Do()
19757		if err != nil {
19758			return err
19759		}
19760		if err := f(x); err != nil {
19761			return err
19762		}
19763		if x.NextPageToken == "" {
19764			return nil
19765		}
19766		c.PageToken(x.NextPageToken)
19767	}
19768}
19769
19770// method id "dfareporting.campaigns.get":
19771
19772type CampaignsGetCall struct {
19773	s            *Service
19774	profileId    int64
19775	id           int64
19776	urlParams_   gensupport.URLParams
19777	ifNoneMatch_ string
19778	ctx_         context.Context
19779	header_      http.Header
19780}
19781
19782// Get: Gets one campaign by ID.
19783func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
19784	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19785	c.profileId = profileId
19786	c.id = id
19787	return c
19788}
19789
19790// Fields allows partial responses to be retrieved. See
19791// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19792// for more information.
19793func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
19794	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19795	return c
19796}
19797
19798// IfNoneMatch sets the optional parameter which makes the operation
19799// fail if the object's ETag matches the given value. This is useful for
19800// getting updates only after the object has changed since the last
19801// request. Use googleapi.IsNotModified to check whether the response
19802// error from Do is the result of In-None-Match.
19803func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
19804	c.ifNoneMatch_ = entityTag
19805	return c
19806}
19807
19808// Context sets the context to be used in this call's Do method. Any
19809// pending HTTP request will be aborted if the provided context is
19810// canceled.
19811func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
19812	c.ctx_ = ctx
19813	return c
19814}
19815
19816// Header returns an http.Header that can be modified by the caller to
19817// add HTTP headers to the request.
19818func (c *CampaignsGetCall) Header() http.Header {
19819	if c.header_ == nil {
19820		c.header_ = make(http.Header)
19821	}
19822	return c.header_
19823}
19824
19825func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
19826	reqHeaders := make(http.Header)
19827	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19828	for k, v := range c.header_ {
19829		reqHeaders[k] = v
19830	}
19831	reqHeaders.Set("User-Agent", c.s.userAgent())
19832	if c.ifNoneMatch_ != "" {
19833		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19834	}
19835	var body io.Reader = nil
19836	c.urlParams_.Set("alt", alt)
19837	c.urlParams_.Set("prettyPrint", "false")
19838	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
19839	urls += "?" + c.urlParams_.Encode()
19840	req, err := http.NewRequest("GET", urls, body)
19841	if err != nil {
19842		return nil, err
19843	}
19844	req.Header = reqHeaders
19845	googleapi.Expand(req.URL, map[string]string{
19846		"profileId": strconv.FormatInt(c.profileId, 10),
19847		"id":        strconv.FormatInt(c.id, 10),
19848	})
19849	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19850}
19851
19852// Do executes the "dfareporting.campaigns.get" call.
19853// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
19854// code is an error. Response headers are in either
19855// *Campaign.ServerResponse.Header or (if a response was returned at
19856// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19857// to check whether the returned error was because
19858// http.StatusNotModified was returned.
19859func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
19860	gensupport.SetOptions(c.urlParams_, opts...)
19861	res, err := c.doRequest("json")
19862	if res != nil && res.StatusCode == http.StatusNotModified {
19863		if res.Body != nil {
19864			res.Body.Close()
19865		}
19866		return nil, &googleapi.Error{
19867			Code:   res.StatusCode,
19868			Header: res.Header,
19869		}
19870	}
19871	if err != nil {
19872		return nil, err
19873	}
19874	defer googleapi.CloseBody(res)
19875	if err := googleapi.CheckResponse(res); err != nil {
19876		return nil, err
19877	}
19878	ret := &Campaign{
19879		ServerResponse: googleapi.ServerResponse{
19880			Header:         res.Header,
19881			HTTPStatusCode: res.StatusCode,
19882		},
19883	}
19884	target := &ret
19885	if err := gensupport.DecodeResponse(target, res); err != nil {
19886		return nil, err
19887	}
19888	return ret, nil
19889	// {
19890	//   "description": "Gets one campaign by ID.",
19891	//   "httpMethod": "GET",
19892	//   "id": "dfareporting.campaigns.get",
19893	//   "parameterOrder": [
19894	//     "profileId",
19895	//     "id"
19896	//   ],
19897	//   "parameters": {
19898	//     "id": {
19899	//       "description": "Campaign ID.",
19900	//       "format": "int64",
19901	//       "location": "path",
19902	//       "required": true,
19903	//       "type": "string"
19904	//     },
19905	//     "profileId": {
19906	//       "description": "User profile ID associated with this request.",
19907	//       "format": "int64",
19908	//       "location": "path",
19909	//       "required": true,
19910	//       "type": "string"
19911	//     }
19912	//   },
19913	//   "path": "userprofiles/{profileId}/campaigns/{id}",
19914	//   "response": {
19915	//     "$ref": "Campaign"
19916	//   },
19917	//   "scopes": [
19918	//     "https://www.googleapis.com/auth/dfatrafficking"
19919	//   ]
19920	// }
19921
19922}
19923
19924// method id "dfareporting.campaigns.insert":
19925
19926type CampaignsInsertCall struct {
19927	s          *Service
19928	profileId  int64
19929	campaign   *Campaign
19930	urlParams_ gensupport.URLParams
19931	ctx_       context.Context
19932	header_    http.Header
19933}
19934
19935// Insert: Inserts a new campaign.
19936func (r *CampaignsService) Insert(profileId int64, defaultLandingPageName string, defaultLandingPageUrl string, campaign *Campaign) *CampaignsInsertCall {
19937	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19938	c.profileId = profileId
19939	c.urlParams_.Set("defaultLandingPageName", defaultLandingPageName)
19940	c.urlParams_.Set("defaultLandingPageUrl", defaultLandingPageUrl)
19941	c.campaign = campaign
19942	return c
19943}
19944
19945// Fields allows partial responses to be retrieved. See
19946// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19947// for more information.
19948func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
19949	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19950	return c
19951}
19952
19953// Context sets the context to be used in this call's Do method. Any
19954// pending HTTP request will be aborted if the provided context is
19955// canceled.
19956func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
19957	c.ctx_ = ctx
19958	return c
19959}
19960
19961// Header returns an http.Header that can be modified by the caller to
19962// add HTTP headers to the request.
19963func (c *CampaignsInsertCall) Header() http.Header {
19964	if c.header_ == nil {
19965		c.header_ = make(http.Header)
19966	}
19967	return c.header_
19968}
19969
19970func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
19971	reqHeaders := make(http.Header)
19972	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19973	for k, v := range c.header_ {
19974		reqHeaders[k] = v
19975	}
19976	reqHeaders.Set("User-Agent", c.s.userAgent())
19977	var body io.Reader = nil
19978	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
19979	if err != nil {
19980		return nil, err
19981	}
19982	reqHeaders.Set("Content-Type", "application/json")
19983	c.urlParams_.Set("alt", alt)
19984	c.urlParams_.Set("prettyPrint", "false")
19985	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
19986	urls += "?" + c.urlParams_.Encode()
19987	req, err := http.NewRequest("POST", urls, body)
19988	if err != nil {
19989		return nil, err
19990	}
19991	req.Header = reqHeaders
19992	googleapi.Expand(req.URL, map[string]string{
19993		"profileId": strconv.FormatInt(c.profileId, 10),
19994	})
19995	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19996}
19997
19998// Do executes the "dfareporting.campaigns.insert" call.
19999// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
20000// code is an error. Response headers are in either
20001// *Campaign.ServerResponse.Header or (if a response was returned at
20002// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20003// to check whether the returned error was because
20004// http.StatusNotModified was returned.
20005func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
20006	gensupport.SetOptions(c.urlParams_, opts...)
20007	res, err := c.doRequest("json")
20008	if res != nil && res.StatusCode == http.StatusNotModified {
20009		if res.Body != nil {
20010			res.Body.Close()
20011		}
20012		return nil, &googleapi.Error{
20013			Code:   res.StatusCode,
20014			Header: res.Header,
20015		}
20016	}
20017	if err != nil {
20018		return nil, err
20019	}
20020	defer googleapi.CloseBody(res)
20021	if err := googleapi.CheckResponse(res); err != nil {
20022		return nil, err
20023	}
20024	ret := &Campaign{
20025		ServerResponse: googleapi.ServerResponse{
20026			Header:         res.Header,
20027			HTTPStatusCode: res.StatusCode,
20028		},
20029	}
20030	target := &ret
20031	if err := gensupport.DecodeResponse(target, res); err != nil {
20032		return nil, err
20033	}
20034	return ret, nil
20035	// {
20036	//   "description": "Inserts a new campaign.",
20037	//   "httpMethod": "POST",
20038	//   "id": "dfareporting.campaigns.insert",
20039	//   "parameterOrder": [
20040	//     "profileId",
20041	//     "defaultLandingPageName",
20042	//     "defaultLandingPageUrl"
20043	//   ],
20044	//   "parameters": {
20045	//     "defaultLandingPageName": {
20046	//       "description": "Default landing page name for this new campaign. Must be less than 256 characters long.",
20047	//       "location": "query",
20048	//       "required": true,
20049	//       "type": "string"
20050	//     },
20051	//     "defaultLandingPageUrl": {
20052	//       "description": "Default landing page URL for this new campaign.",
20053	//       "location": "query",
20054	//       "required": true,
20055	//       "type": "string"
20056	//     },
20057	//     "profileId": {
20058	//       "description": "User profile ID associated with this request.",
20059	//       "format": "int64",
20060	//       "location": "path",
20061	//       "required": true,
20062	//       "type": "string"
20063	//     }
20064	//   },
20065	//   "path": "userprofiles/{profileId}/campaigns",
20066	//   "request": {
20067	//     "$ref": "Campaign"
20068	//   },
20069	//   "response": {
20070	//     "$ref": "Campaign"
20071	//   },
20072	//   "scopes": [
20073	//     "https://www.googleapis.com/auth/dfatrafficking"
20074	//   ]
20075	// }
20076
20077}
20078
20079// method id "dfareporting.campaigns.list":
20080
20081type CampaignsListCall struct {
20082	s            *Service
20083	profileId    int64
20084	urlParams_   gensupport.URLParams
20085	ifNoneMatch_ string
20086	ctx_         context.Context
20087	header_      http.Header
20088}
20089
20090// List: Retrieves a list of campaigns, possibly filtered. This method
20091// supports paging.
20092func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
20093	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20094	c.profileId = profileId
20095	return c
20096}
20097
20098// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
20099// Select only campaigns whose advertisers belong to these advertiser
20100// groups.
20101func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
20102	var advertiserGroupIds_ []string
20103	for _, v := range advertiserGroupIds {
20104		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
20105	}
20106	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
20107	return c
20108}
20109
20110// AdvertiserIds sets the optional parameter "advertiserIds": Select
20111// only campaigns that belong to these advertisers.
20112func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
20113	var advertiserIds_ []string
20114	for _, v := range advertiserIds {
20115		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
20116	}
20117	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
20118	return c
20119}
20120
20121// Archived sets the optional parameter "archived": Select only archived
20122// campaigns. Don't set this field to select both archived and
20123// non-archived campaigns.
20124func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
20125	c.urlParams_.Set("archived", fmt.Sprint(archived))
20126	return c
20127}
20128
20129// AtLeastOneOptimizationActivity sets the optional parameter
20130// "atLeastOneOptimizationActivity": Select only campaigns that have at
20131// least one optimization activity.
20132func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
20133	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
20134	return c
20135}
20136
20137// ExcludedIds sets the optional parameter "excludedIds": Exclude
20138// campaigns with these IDs.
20139func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
20140	var excludedIds_ []string
20141	for _, v := range excludedIds {
20142		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
20143	}
20144	c.urlParams_.SetMulti("excludedIds", excludedIds_)
20145	return c
20146}
20147
20148// Ids sets the optional parameter "ids": Select only campaigns with
20149// these IDs.
20150func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
20151	var ids_ []string
20152	for _, v := range ids {
20153		ids_ = append(ids_, fmt.Sprint(v))
20154	}
20155	c.urlParams_.SetMulti("ids", ids_)
20156	return c
20157}
20158
20159// MaxResults sets the optional parameter "maxResults": Maximum number
20160// of results to return.
20161func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
20162	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20163	return c
20164}
20165
20166// OverriddenEventTagId sets the optional parameter
20167// "overriddenEventTagId": Select only campaigns that have overridden
20168// this event tag ID.
20169func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
20170	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
20171	return c
20172}
20173
20174// PageToken sets the optional parameter "pageToken": Value of the
20175// nextPageToken from the previous result page.
20176func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
20177	c.urlParams_.Set("pageToken", pageToken)
20178	return c
20179}
20180
20181// SearchString sets the optional parameter "searchString": Allows
20182// searching for campaigns by name or ID. Wildcards (*) are allowed. For
20183// example, "campaign*2015" will return campaigns with names like
20184// "campaign June 2015", "campaign April 2015", or simply "campaign
20185// 2015". Most of the searches also add wildcards implicitly at the
20186// start and the end of the search string. For example, a search string
20187// of "campaign" will match campaigns with name "my campaign", "campaign
20188// 2015", or simply "campaign".
20189func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
20190	c.urlParams_.Set("searchString", searchString)
20191	return c
20192}
20193
20194// SortField sets the optional parameter "sortField": Field by which to
20195// sort the list.
20196//
20197// Possible values:
20198//   "ID" (default)
20199//   "NAME"
20200func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
20201	c.urlParams_.Set("sortField", sortField)
20202	return c
20203}
20204
20205// SortOrder sets the optional parameter "sortOrder": Order of sorted
20206// results.
20207//
20208// Possible values:
20209//   "ASCENDING" (default)
20210//   "DESCENDING"
20211func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
20212	c.urlParams_.Set("sortOrder", sortOrder)
20213	return c
20214}
20215
20216// SubaccountId sets the optional parameter "subaccountId": Select only
20217// campaigns that belong to this subaccount.
20218func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
20219	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
20220	return c
20221}
20222
20223// Fields allows partial responses to be retrieved. See
20224// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20225// for more information.
20226func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
20227	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20228	return c
20229}
20230
20231// IfNoneMatch sets the optional parameter which makes the operation
20232// fail if the object's ETag matches the given value. This is useful for
20233// getting updates only after the object has changed since the last
20234// request. Use googleapi.IsNotModified to check whether the response
20235// error from Do is the result of In-None-Match.
20236func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
20237	c.ifNoneMatch_ = entityTag
20238	return c
20239}
20240
20241// Context sets the context to be used in this call's Do method. Any
20242// pending HTTP request will be aborted if the provided context is
20243// canceled.
20244func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
20245	c.ctx_ = ctx
20246	return c
20247}
20248
20249// Header returns an http.Header that can be modified by the caller to
20250// add HTTP headers to the request.
20251func (c *CampaignsListCall) Header() http.Header {
20252	if c.header_ == nil {
20253		c.header_ = make(http.Header)
20254	}
20255	return c.header_
20256}
20257
20258func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
20259	reqHeaders := make(http.Header)
20260	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20261	for k, v := range c.header_ {
20262		reqHeaders[k] = v
20263	}
20264	reqHeaders.Set("User-Agent", c.s.userAgent())
20265	if c.ifNoneMatch_ != "" {
20266		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20267	}
20268	var body io.Reader = nil
20269	c.urlParams_.Set("alt", alt)
20270	c.urlParams_.Set("prettyPrint", "false")
20271	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
20272	urls += "?" + c.urlParams_.Encode()
20273	req, err := http.NewRequest("GET", urls, body)
20274	if err != nil {
20275		return nil, err
20276	}
20277	req.Header = reqHeaders
20278	googleapi.Expand(req.URL, map[string]string{
20279		"profileId": strconv.FormatInt(c.profileId, 10),
20280	})
20281	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20282}
20283
20284// Do executes the "dfareporting.campaigns.list" call.
20285// Exactly one of *CampaignsListResponse or error will be non-nil. Any
20286// non-2xx status code is an error. Response headers are in either
20287// *CampaignsListResponse.ServerResponse.Header or (if a response was
20288// returned at all) in error.(*googleapi.Error).Header. Use
20289// googleapi.IsNotModified to check whether the returned error was
20290// because http.StatusNotModified was returned.
20291func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
20292	gensupport.SetOptions(c.urlParams_, opts...)
20293	res, err := c.doRequest("json")
20294	if res != nil && res.StatusCode == http.StatusNotModified {
20295		if res.Body != nil {
20296			res.Body.Close()
20297		}
20298		return nil, &googleapi.Error{
20299			Code:   res.StatusCode,
20300			Header: res.Header,
20301		}
20302	}
20303	if err != nil {
20304		return nil, err
20305	}
20306	defer googleapi.CloseBody(res)
20307	if err := googleapi.CheckResponse(res); err != nil {
20308		return nil, err
20309	}
20310	ret := &CampaignsListResponse{
20311		ServerResponse: googleapi.ServerResponse{
20312			Header:         res.Header,
20313			HTTPStatusCode: res.StatusCode,
20314		},
20315	}
20316	target := &ret
20317	if err := gensupport.DecodeResponse(target, res); err != nil {
20318		return nil, err
20319	}
20320	return ret, nil
20321	// {
20322	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
20323	//   "httpMethod": "GET",
20324	//   "id": "dfareporting.campaigns.list",
20325	//   "parameterOrder": [
20326	//     "profileId"
20327	//   ],
20328	//   "parameters": {
20329	//     "advertiserGroupIds": {
20330	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
20331	//       "format": "int64",
20332	//       "location": "query",
20333	//       "repeated": true,
20334	//       "type": "string"
20335	//     },
20336	//     "advertiserIds": {
20337	//       "description": "Select only campaigns that belong to these advertisers.",
20338	//       "format": "int64",
20339	//       "location": "query",
20340	//       "repeated": true,
20341	//       "type": "string"
20342	//     },
20343	//     "archived": {
20344	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
20345	//       "location": "query",
20346	//       "type": "boolean"
20347	//     },
20348	//     "atLeastOneOptimizationActivity": {
20349	//       "description": "Select only campaigns that have at least one optimization activity.",
20350	//       "location": "query",
20351	//       "type": "boolean"
20352	//     },
20353	//     "excludedIds": {
20354	//       "description": "Exclude campaigns with these IDs.",
20355	//       "format": "int64",
20356	//       "location": "query",
20357	//       "repeated": true,
20358	//       "type": "string"
20359	//     },
20360	//     "ids": {
20361	//       "description": "Select only campaigns with these IDs.",
20362	//       "format": "int64",
20363	//       "location": "query",
20364	//       "repeated": true,
20365	//       "type": "string"
20366	//     },
20367	//     "maxResults": {
20368	//       "default": "1000",
20369	//       "description": "Maximum number of results to return.",
20370	//       "format": "int32",
20371	//       "location": "query",
20372	//       "maximum": "1000",
20373	//       "minimum": "0",
20374	//       "type": "integer"
20375	//     },
20376	//     "overriddenEventTagId": {
20377	//       "description": "Select only campaigns that have overridden this event tag ID.",
20378	//       "format": "int64",
20379	//       "location": "query",
20380	//       "type": "string"
20381	//     },
20382	//     "pageToken": {
20383	//       "description": "Value of the nextPageToken from the previous result page.",
20384	//       "location": "query",
20385	//       "type": "string"
20386	//     },
20387	//     "profileId": {
20388	//       "description": "User profile ID associated with this request.",
20389	//       "format": "int64",
20390	//       "location": "path",
20391	//       "required": true,
20392	//       "type": "string"
20393	//     },
20394	//     "searchString": {
20395	//       "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\".",
20396	//       "location": "query",
20397	//       "type": "string"
20398	//     },
20399	//     "sortField": {
20400	//       "default": "ID",
20401	//       "description": "Field by which to sort the list.",
20402	//       "enum": [
20403	//         "ID",
20404	//         "NAME"
20405	//       ],
20406	//       "enumDescriptions": [
20407	//         "",
20408	//         ""
20409	//       ],
20410	//       "location": "query",
20411	//       "type": "string"
20412	//     },
20413	//     "sortOrder": {
20414	//       "default": "ASCENDING",
20415	//       "description": "Order of sorted results.",
20416	//       "enum": [
20417	//         "ASCENDING",
20418	//         "DESCENDING"
20419	//       ],
20420	//       "enumDescriptions": [
20421	//         "",
20422	//         ""
20423	//       ],
20424	//       "location": "query",
20425	//       "type": "string"
20426	//     },
20427	//     "subaccountId": {
20428	//       "description": "Select only campaigns that belong to this subaccount.",
20429	//       "format": "int64",
20430	//       "location": "query",
20431	//       "type": "string"
20432	//     }
20433	//   },
20434	//   "path": "userprofiles/{profileId}/campaigns",
20435	//   "response": {
20436	//     "$ref": "CampaignsListResponse"
20437	//   },
20438	//   "scopes": [
20439	//     "https://www.googleapis.com/auth/dfatrafficking"
20440	//   ]
20441	// }
20442
20443}
20444
20445// Pages invokes f for each page of results.
20446// A non-nil error returned from f will halt the iteration.
20447// The provided context supersedes any context provided to the Context method.
20448func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
20449	c.ctx_ = ctx
20450	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20451	for {
20452		x, err := c.Do()
20453		if err != nil {
20454			return err
20455		}
20456		if err := f(x); err != nil {
20457			return err
20458		}
20459		if x.NextPageToken == "" {
20460			return nil
20461		}
20462		c.PageToken(x.NextPageToken)
20463	}
20464}
20465
20466// method id "dfareporting.campaigns.patch":
20467
20468type CampaignsPatchCall struct {
20469	s          *Service
20470	profileId  int64
20471	campaign   *Campaign
20472	urlParams_ gensupport.URLParams
20473	ctx_       context.Context
20474	header_    http.Header
20475}
20476
20477// Patch: Updates an existing campaign. This method supports patch
20478// semantics.
20479func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
20480	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20481	c.profileId = profileId
20482	c.urlParams_.Set("id", fmt.Sprint(id))
20483	c.campaign = campaign
20484	return c
20485}
20486
20487// Fields allows partial responses to be retrieved. See
20488// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20489// for more information.
20490func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
20491	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20492	return c
20493}
20494
20495// Context sets the context to be used in this call's Do method. Any
20496// pending HTTP request will be aborted if the provided context is
20497// canceled.
20498func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
20499	c.ctx_ = ctx
20500	return c
20501}
20502
20503// Header returns an http.Header that can be modified by the caller to
20504// add HTTP headers to the request.
20505func (c *CampaignsPatchCall) Header() http.Header {
20506	if c.header_ == nil {
20507		c.header_ = make(http.Header)
20508	}
20509	return c.header_
20510}
20511
20512func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
20513	reqHeaders := make(http.Header)
20514	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20515	for k, v := range c.header_ {
20516		reqHeaders[k] = v
20517	}
20518	reqHeaders.Set("User-Agent", c.s.userAgent())
20519	var body io.Reader = nil
20520	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
20521	if err != nil {
20522		return nil, err
20523	}
20524	reqHeaders.Set("Content-Type", "application/json")
20525	c.urlParams_.Set("alt", alt)
20526	c.urlParams_.Set("prettyPrint", "false")
20527	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
20528	urls += "?" + c.urlParams_.Encode()
20529	req, err := http.NewRequest("PATCH", urls, body)
20530	if err != nil {
20531		return nil, err
20532	}
20533	req.Header = reqHeaders
20534	googleapi.Expand(req.URL, map[string]string{
20535		"profileId": strconv.FormatInt(c.profileId, 10),
20536	})
20537	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20538}
20539
20540// Do executes the "dfareporting.campaigns.patch" call.
20541// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
20542// code is an error. Response headers are in either
20543// *Campaign.ServerResponse.Header or (if a response was returned at
20544// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20545// to check whether the returned error was because
20546// http.StatusNotModified was returned.
20547func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
20548	gensupport.SetOptions(c.urlParams_, opts...)
20549	res, err := c.doRequest("json")
20550	if res != nil && res.StatusCode == http.StatusNotModified {
20551		if res.Body != nil {
20552			res.Body.Close()
20553		}
20554		return nil, &googleapi.Error{
20555			Code:   res.StatusCode,
20556			Header: res.Header,
20557		}
20558	}
20559	if err != nil {
20560		return nil, err
20561	}
20562	defer googleapi.CloseBody(res)
20563	if err := googleapi.CheckResponse(res); err != nil {
20564		return nil, err
20565	}
20566	ret := &Campaign{
20567		ServerResponse: googleapi.ServerResponse{
20568			Header:         res.Header,
20569			HTTPStatusCode: res.StatusCode,
20570		},
20571	}
20572	target := &ret
20573	if err := gensupport.DecodeResponse(target, res); err != nil {
20574		return nil, err
20575	}
20576	return ret, nil
20577	// {
20578	//   "description": "Updates an existing campaign. This method supports patch semantics.",
20579	//   "httpMethod": "PATCH",
20580	//   "id": "dfareporting.campaigns.patch",
20581	//   "parameterOrder": [
20582	//     "profileId",
20583	//     "id"
20584	//   ],
20585	//   "parameters": {
20586	//     "id": {
20587	//       "description": "Campaign ID.",
20588	//       "format": "int64",
20589	//       "location": "query",
20590	//       "required": true,
20591	//       "type": "string"
20592	//     },
20593	//     "profileId": {
20594	//       "description": "User profile ID associated with this request.",
20595	//       "format": "int64",
20596	//       "location": "path",
20597	//       "required": true,
20598	//       "type": "string"
20599	//     }
20600	//   },
20601	//   "path": "userprofiles/{profileId}/campaigns",
20602	//   "request": {
20603	//     "$ref": "Campaign"
20604	//   },
20605	//   "response": {
20606	//     "$ref": "Campaign"
20607	//   },
20608	//   "scopes": [
20609	//     "https://www.googleapis.com/auth/dfatrafficking"
20610	//   ]
20611	// }
20612
20613}
20614
20615// method id "dfareporting.campaigns.update":
20616
20617type CampaignsUpdateCall struct {
20618	s          *Service
20619	profileId  int64
20620	campaign   *Campaign
20621	urlParams_ gensupport.URLParams
20622	ctx_       context.Context
20623	header_    http.Header
20624}
20625
20626// Update: Updates an existing campaign.
20627func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
20628	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20629	c.profileId = profileId
20630	c.campaign = campaign
20631	return c
20632}
20633
20634// Fields allows partial responses to be retrieved. See
20635// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20636// for more information.
20637func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
20638	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20639	return c
20640}
20641
20642// Context sets the context to be used in this call's Do method. Any
20643// pending HTTP request will be aborted if the provided context is
20644// canceled.
20645func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
20646	c.ctx_ = ctx
20647	return c
20648}
20649
20650// Header returns an http.Header that can be modified by the caller to
20651// add HTTP headers to the request.
20652func (c *CampaignsUpdateCall) Header() http.Header {
20653	if c.header_ == nil {
20654		c.header_ = make(http.Header)
20655	}
20656	return c.header_
20657}
20658
20659func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
20660	reqHeaders := make(http.Header)
20661	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20662	for k, v := range c.header_ {
20663		reqHeaders[k] = v
20664	}
20665	reqHeaders.Set("User-Agent", c.s.userAgent())
20666	var body io.Reader = nil
20667	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
20668	if err != nil {
20669		return nil, err
20670	}
20671	reqHeaders.Set("Content-Type", "application/json")
20672	c.urlParams_.Set("alt", alt)
20673	c.urlParams_.Set("prettyPrint", "false")
20674	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
20675	urls += "?" + c.urlParams_.Encode()
20676	req, err := http.NewRequest("PUT", urls, body)
20677	if err != nil {
20678		return nil, err
20679	}
20680	req.Header = reqHeaders
20681	googleapi.Expand(req.URL, map[string]string{
20682		"profileId": strconv.FormatInt(c.profileId, 10),
20683	})
20684	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20685}
20686
20687// Do executes the "dfareporting.campaigns.update" call.
20688// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
20689// code is an error. Response headers are in either
20690// *Campaign.ServerResponse.Header or (if a response was returned at
20691// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20692// to check whether the returned error was because
20693// http.StatusNotModified was returned.
20694func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
20695	gensupport.SetOptions(c.urlParams_, opts...)
20696	res, err := c.doRequest("json")
20697	if res != nil && res.StatusCode == http.StatusNotModified {
20698		if res.Body != nil {
20699			res.Body.Close()
20700		}
20701		return nil, &googleapi.Error{
20702			Code:   res.StatusCode,
20703			Header: res.Header,
20704		}
20705	}
20706	if err != nil {
20707		return nil, err
20708	}
20709	defer googleapi.CloseBody(res)
20710	if err := googleapi.CheckResponse(res); err != nil {
20711		return nil, err
20712	}
20713	ret := &Campaign{
20714		ServerResponse: googleapi.ServerResponse{
20715			Header:         res.Header,
20716			HTTPStatusCode: res.StatusCode,
20717		},
20718	}
20719	target := &ret
20720	if err := gensupport.DecodeResponse(target, res); err != nil {
20721		return nil, err
20722	}
20723	return ret, nil
20724	// {
20725	//   "description": "Updates an existing campaign.",
20726	//   "httpMethod": "PUT",
20727	//   "id": "dfareporting.campaigns.update",
20728	//   "parameterOrder": [
20729	//     "profileId"
20730	//   ],
20731	//   "parameters": {
20732	//     "profileId": {
20733	//       "description": "User profile ID associated with this request.",
20734	//       "format": "int64",
20735	//       "location": "path",
20736	//       "required": true,
20737	//       "type": "string"
20738	//     }
20739	//   },
20740	//   "path": "userprofiles/{profileId}/campaigns",
20741	//   "request": {
20742	//     "$ref": "Campaign"
20743	//   },
20744	//   "response": {
20745	//     "$ref": "Campaign"
20746	//   },
20747	//   "scopes": [
20748	//     "https://www.googleapis.com/auth/dfatrafficking"
20749	//   ]
20750	// }
20751
20752}
20753
20754// method id "dfareporting.changeLogs.get":
20755
20756type ChangeLogsGetCall struct {
20757	s            *Service
20758	profileId    int64
20759	id           int64
20760	urlParams_   gensupport.URLParams
20761	ifNoneMatch_ string
20762	ctx_         context.Context
20763	header_      http.Header
20764}
20765
20766// Get: Gets one change log by ID.
20767func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
20768	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20769	c.profileId = profileId
20770	c.id = id
20771	return c
20772}
20773
20774// Fields allows partial responses to be retrieved. See
20775// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20776// for more information.
20777func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
20778	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20779	return c
20780}
20781
20782// IfNoneMatch sets the optional parameter which makes the operation
20783// fail if the object's ETag matches the given value. This is useful for
20784// getting updates only after the object has changed since the last
20785// request. Use googleapi.IsNotModified to check whether the response
20786// error from Do is the result of In-None-Match.
20787func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
20788	c.ifNoneMatch_ = entityTag
20789	return c
20790}
20791
20792// Context sets the context to be used in this call's Do method. Any
20793// pending HTTP request will be aborted if the provided context is
20794// canceled.
20795func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
20796	c.ctx_ = ctx
20797	return c
20798}
20799
20800// Header returns an http.Header that can be modified by the caller to
20801// add HTTP headers to the request.
20802func (c *ChangeLogsGetCall) Header() http.Header {
20803	if c.header_ == nil {
20804		c.header_ = make(http.Header)
20805	}
20806	return c.header_
20807}
20808
20809func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
20810	reqHeaders := make(http.Header)
20811	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20812	for k, v := range c.header_ {
20813		reqHeaders[k] = v
20814	}
20815	reqHeaders.Set("User-Agent", c.s.userAgent())
20816	if c.ifNoneMatch_ != "" {
20817		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20818	}
20819	var body io.Reader = nil
20820	c.urlParams_.Set("alt", alt)
20821	c.urlParams_.Set("prettyPrint", "false")
20822	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
20823	urls += "?" + c.urlParams_.Encode()
20824	req, err := http.NewRequest("GET", urls, body)
20825	if err != nil {
20826		return nil, err
20827	}
20828	req.Header = reqHeaders
20829	googleapi.Expand(req.URL, map[string]string{
20830		"profileId": strconv.FormatInt(c.profileId, 10),
20831		"id":        strconv.FormatInt(c.id, 10),
20832	})
20833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20834}
20835
20836// Do executes the "dfareporting.changeLogs.get" call.
20837// Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
20838// status code is an error. Response headers are in either
20839// *ChangeLog.ServerResponse.Header or (if a response was returned at
20840// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20841// to check whether the returned error was because
20842// http.StatusNotModified was returned.
20843func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
20844	gensupport.SetOptions(c.urlParams_, opts...)
20845	res, err := c.doRequest("json")
20846	if res != nil && res.StatusCode == http.StatusNotModified {
20847		if res.Body != nil {
20848			res.Body.Close()
20849		}
20850		return nil, &googleapi.Error{
20851			Code:   res.StatusCode,
20852			Header: res.Header,
20853		}
20854	}
20855	if err != nil {
20856		return nil, err
20857	}
20858	defer googleapi.CloseBody(res)
20859	if err := googleapi.CheckResponse(res); err != nil {
20860		return nil, err
20861	}
20862	ret := &ChangeLog{
20863		ServerResponse: googleapi.ServerResponse{
20864			Header:         res.Header,
20865			HTTPStatusCode: res.StatusCode,
20866		},
20867	}
20868	target := &ret
20869	if err := gensupport.DecodeResponse(target, res); err != nil {
20870		return nil, err
20871	}
20872	return ret, nil
20873	// {
20874	//   "description": "Gets one change log by ID.",
20875	//   "httpMethod": "GET",
20876	//   "id": "dfareporting.changeLogs.get",
20877	//   "parameterOrder": [
20878	//     "profileId",
20879	//     "id"
20880	//   ],
20881	//   "parameters": {
20882	//     "id": {
20883	//       "description": "Change log ID.",
20884	//       "format": "int64",
20885	//       "location": "path",
20886	//       "required": true,
20887	//       "type": "string"
20888	//     },
20889	//     "profileId": {
20890	//       "description": "User profile ID associated with this request.",
20891	//       "format": "int64",
20892	//       "location": "path",
20893	//       "required": true,
20894	//       "type": "string"
20895	//     }
20896	//   },
20897	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
20898	//   "response": {
20899	//     "$ref": "ChangeLog"
20900	//   },
20901	//   "scopes": [
20902	//     "https://www.googleapis.com/auth/dfatrafficking"
20903	//   ]
20904	// }
20905
20906}
20907
20908// method id "dfareporting.changeLogs.list":
20909
20910type ChangeLogsListCall struct {
20911	s            *Service
20912	profileId    int64
20913	urlParams_   gensupport.URLParams
20914	ifNoneMatch_ string
20915	ctx_         context.Context
20916	header_      http.Header
20917}
20918
20919// List: Retrieves a list of change logs. This method supports paging.
20920func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
20921	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20922	c.profileId = profileId
20923	return c
20924}
20925
20926// Action sets the optional parameter "action": Select only change logs
20927// with the specified action.
20928//
20929// Possible values:
20930//   "ACTION_ADD"
20931//   "ACTION_ASSIGN"
20932//   "ACTION_ASSOCIATE"
20933//   "ACTION_CREATE"
20934//   "ACTION_DELETE"
20935//   "ACTION_DISABLE"
20936//   "ACTION_EMAIL_TAGS"
20937//   "ACTION_ENABLE"
20938//   "ACTION_LINK"
20939//   "ACTION_MARK_AS_DEFAULT"
20940//   "ACTION_PUSH"
20941//   "ACTION_REMOVE"
20942//   "ACTION_SEND"
20943//   "ACTION_SHARE"
20944//   "ACTION_UNASSIGN"
20945//   "ACTION_UNLINK"
20946//   "ACTION_UPDATE"
20947func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
20948	c.urlParams_.Set("action", action)
20949	return c
20950}
20951
20952// Ids sets the optional parameter "ids": Select only change logs with
20953// these IDs.
20954func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
20955	var ids_ []string
20956	for _, v := range ids {
20957		ids_ = append(ids_, fmt.Sprint(v))
20958	}
20959	c.urlParams_.SetMulti("ids", ids_)
20960	return c
20961}
20962
20963// MaxChangeTime sets the optional parameter "maxChangeTime": Select
20964// only change logs whose change time is before the specified
20965// maxChangeTime.The time should be formatted as an RFC3339 date/time
20966// string. For example, for 10:54 PM on July 18th, 2015, in the
20967// America/New York time zone, the format is
20968// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
20969// the letter T, the hour (24-hour clock system), minute, second, and
20970// then the time zone offset.
20971func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
20972	c.urlParams_.Set("maxChangeTime", maxChangeTime)
20973	return c
20974}
20975
20976// MaxResults sets the optional parameter "maxResults": Maximum number
20977// of results to return.
20978func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
20979	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20980	return c
20981}
20982
20983// MinChangeTime sets the optional parameter "minChangeTime": Select
20984// only change logs whose change time is before the specified
20985// minChangeTime.The time should be formatted as an RFC3339 date/time
20986// string. For example, for 10:54 PM on July 18th, 2015, in the
20987// America/New York time zone, the format is
20988// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
20989// the letter T, the hour (24-hour clock system), minute, second, and
20990// then the time zone offset.
20991func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
20992	c.urlParams_.Set("minChangeTime", minChangeTime)
20993	return c
20994}
20995
20996// ObjectIds sets the optional parameter "objectIds": Select only change
20997// logs with these object IDs.
20998func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
20999	var objectIds_ []string
21000	for _, v := range objectIds {
21001		objectIds_ = append(objectIds_, fmt.Sprint(v))
21002	}
21003	c.urlParams_.SetMulti("objectIds", objectIds_)
21004	return c
21005}
21006
21007// ObjectType sets the optional parameter "objectType": Select only
21008// change logs with the specified object type.
21009//
21010// Possible values:
21011//   "OBJECT_ACCOUNT"
21012//   "OBJECT_ACCOUNT_BILLING_FEATURE"
21013//   "OBJECT_AD"
21014//   "OBJECT_ADVERTISER"
21015//   "OBJECT_ADVERTISER_GROUP"
21016//   "OBJECT_BILLING_ACCOUNT_GROUP"
21017//   "OBJECT_BILLING_FEATURE"
21018//   "OBJECT_BILLING_MINIMUM_FEE"
21019//   "OBJECT_BILLING_PROFILE"
21020//   "OBJECT_CAMPAIGN"
21021//   "OBJECT_CONTENT_CATEGORY"
21022//   "OBJECT_CREATIVE"
21023//   "OBJECT_CREATIVE_ASSET"
21024//   "OBJECT_CREATIVE_BUNDLE"
21025//   "OBJECT_CREATIVE_FIELD"
21026//   "OBJECT_CREATIVE_GROUP"
21027//   "OBJECT_DFA_SITE"
21028//   "OBJECT_EVENT_TAG"
21029//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
21030//   "OBJECT_FLOODLIGHT_ACTVITY"
21031//   "OBJECT_FLOODLIGHT_CONFIGURATION"
21032//   "OBJECT_INSTREAM_CREATIVE"
21033//   "OBJECT_LANDING_PAGE"
21034//   "OBJECT_MEDIA_ORDER"
21035//   "OBJECT_PLACEMENT"
21036//   "OBJECT_PLACEMENT_STRATEGY"
21037//   "OBJECT_PLAYSTORE_LINK"
21038//   "OBJECT_PROVIDED_LIST_CLIENT"
21039//   "OBJECT_RATE_CARD"
21040//   "OBJECT_REMARKETING_LIST"
21041//   "OBJECT_RICHMEDIA_CREATIVE"
21042//   "OBJECT_SD_SITE"
21043//   "OBJECT_SEARCH_LIFT_STUDY"
21044//   "OBJECT_SIZE"
21045//   "OBJECT_SUBACCOUNT"
21046//   "OBJECT_TARGETING_TEMPLATE"
21047//   "OBJECT_USER_PROFILE"
21048//   "OBJECT_USER_PROFILE_FILTER"
21049//   "OBJECT_USER_ROLE"
21050func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
21051	c.urlParams_.Set("objectType", objectType)
21052	return c
21053}
21054
21055// PageToken sets the optional parameter "pageToken": Value of the
21056// nextPageToken from the previous result page.
21057func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
21058	c.urlParams_.Set("pageToken", pageToken)
21059	return c
21060}
21061
21062// SearchString sets the optional parameter "searchString": Select only
21063// change logs whose object ID, user name, old or new values match the
21064// search string.
21065func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
21066	c.urlParams_.Set("searchString", searchString)
21067	return c
21068}
21069
21070// UserProfileIds sets the optional parameter "userProfileIds": Select
21071// only change logs with these user profile IDs.
21072func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
21073	var userProfileIds_ []string
21074	for _, v := range userProfileIds {
21075		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
21076	}
21077	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
21078	return c
21079}
21080
21081// Fields allows partial responses to be retrieved. See
21082// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21083// for more information.
21084func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
21085	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21086	return c
21087}
21088
21089// IfNoneMatch sets the optional parameter which makes the operation
21090// fail if the object's ETag matches the given value. This is useful for
21091// getting updates only after the object has changed since the last
21092// request. Use googleapi.IsNotModified to check whether the response
21093// error from Do is the result of In-None-Match.
21094func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
21095	c.ifNoneMatch_ = entityTag
21096	return c
21097}
21098
21099// Context sets the context to be used in this call's Do method. Any
21100// pending HTTP request will be aborted if the provided context is
21101// canceled.
21102func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
21103	c.ctx_ = ctx
21104	return c
21105}
21106
21107// Header returns an http.Header that can be modified by the caller to
21108// add HTTP headers to the request.
21109func (c *ChangeLogsListCall) Header() http.Header {
21110	if c.header_ == nil {
21111		c.header_ = make(http.Header)
21112	}
21113	return c.header_
21114}
21115
21116func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
21117	reqHeaders := make(http.Header)
21118	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21119	for k, v := range c.header_ {
21120		reqHeaders[k] = v
21121	}
21122	reqHeaders.Set("User-Agent", c.s.userAgent())
21123	if c.ifNoneMatch_ != "" {
21124		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21125	}
21126	var body io.Reader = nil
21127	c.urlParams_.Set("alt", alt)
21128	c.urlParams_.Set("prettyPrint", "false")
21129	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
21130	urls += "?" + c.urlParams_.Encode()
21131	req, err := http.NewRequest("GET", urls, body)
21132	if err != nil {
21133		return nil, err
21134	}
21135	req.Header = reqHeaders
21136	googleapi.Expand(req.URL, map[string]string{
21137		"profileId": strconv.FormatInt(c.profileId, 10),
21138	})
21139	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21140}
21141
21142// Do executes the "dfareporting.changeLogs.list" call.
21143// Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
21144// non-2xx status code is an error. Response headers are in either
21145// *ChangeLogsListResponse.ServerResponse.Header or (if a response was
21146// returned at all) in error.(*googleapi.Error).Header. Use
21147// googleapi.IsNotModified to check whether the returned error was
21148// because http.StatusNotModified was returned.
21149func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
21150	gensupport.SetOptions(c.urlParams_, opts...)
21151	res, err := c.doRequest("json")
21152	if res != nil && res.StatusCode == http.StatusNotModified {
21153		if res.Body != nil {
21154			res.Body.Close()
21155		}
21156		return nil, &googleapi.Error{
21157			Code:   res.StatusCode,
21158			Header: res.Header,
21159		}
21160	}
21161	if err != nil {
21162		return nil, err
21163	}
21164	defer googleapi.CloseBody(res)
21165	if err := googleapi.CheckResponse(res); err != nil {
21166		return nil, err
21167	}
21168	ret := &ChangeLogsListResponse{
21169		ServerResponse: googleapi.ServerResponse{
21170			Header:         res.Header,
21171			HTTPStatusCode: res.StatusCode,
21172		},
21173	}
21174	target := &ret
21175	if err := gensupport.DecodeResponse(target, res); err != nil {
21176		return nil, err
21177	}
21178	return ret, nil
21179	// {
21180	//   "description": "Retrieves a list of change logs. This method supports paging.",
21181	//   "httpMethod": "GET",
21182	//   "id": "dfareporting.changeLogs.list",
21183	//   "parameterOrder": [
21184	//     "profileId"
21185	//   ],
21186	//   "parameters": {
21187	//     "action": {
21188	//       "description": "Select only change logs with the specified action.",
21189	//       "enum": [
21190	//         "ACTION_ADD",
21191	//         "ACTION_ASSIGN",
21192	//         "ACTION_ASSOCIATE",
21193	//         "ACTION_CREATE",
21194	//         "ACTION_DELETE",
21195	//         "ACTION_DISABLE",
21196	//         "ACTION_EMAIL_TAGS",
21197	//         "ACTION_ENABLE",
21198	//         "ACTION_LINK",
21199	//         "ACTION_MARK_AS_DEFAULT",
21200	//         "ACTION_PUSH",
21201	//         "ACTION_REMOVE",
21202	//         "ACTION_SEND",
21203	//         "ACTION_SHARE",
21204	//         "ACTION_UNASSIGN",
21205	//         "ACTION_UNLINK",
21206	//         "ACTION_UPDATE"
21207	//       ],
21208	//       "enumDescriptions": [
21209	//         "",
21210	//         "",
21211	//         "",
21212	//         "",
21213	//         "",
21214	//         "",
21215	//         "",
21216	//         "",
21217	//         "",
21218	//         "",
21219	//         "",
21220	//         "",
21221	//         "",
21222	//         "",
21223	//         "",
21224	//         "",
21225	//         ""
21226	//       ],
21227	//       "location": "query",
21228	//       "type": "string"
21229	//     },
21230	//     "ids": {
21231	//       "description": "Select only change logs with these IDs.",
21232	//       "format": "int64",
21233	//       "location": "query",
21234	//       "repeated": true,
21235	//       "type": "string"
21236	//     },
21237	//     "maxChangeTime": {
21238	//       "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.",
21239	//       "location": "query",
21240	//       "type": "string"
21241	//     },
21242	//     "maxResults": {
21243	//       "default": "1000",
21244	//       "description": "Maximum number of results to return.",
21245	//       "format": "int32",
21246	//       "location": "query",
21247	//       "maximum": "1000",
21248	//       "minimum": "0",
21249	//       "type": "integer"
21250	//     },
21251	//     "minChangeTime": {
21252	//       "description": "Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
21253	//       "location": "query",
21254	//       "type": "string"
21255	//     },
21256	//     "objectIds": {
21257	//       "description": "Select only change logs with these object IDs.",
21258	//       "format": "int64",
21259	//       "location": "query",
21260	//       "repeated": true,
21261	//       "type": "string"
21262	//     },
21263	//     "objectType": {
21264	//       "description": "Select only change logs with the specified object type.",
21265	//       "enum": [
21266	//         "OBJECT_ACCOUNT",
21267	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
21268	//         "OBJECT_AD",
21269	//         "OBJECT_ADVERTISER",
21270	//         "OBJECT_ADVERTISER_GROUP",
21271	//         "OBJECT_BILLING_ACCOUNT_GROUP",
21272	//         "OBJECT_BILLING_FEATURE",
21273	//         "OBJECT_BILLING_MINIMUM_FEE",
21274	//         "OBJECT_BILLING_PROFILE",
21275	//         "OBJECT_CAMPAIGN",
21276	//         "OBJECT_CONTENT_CATEGORY",
21277	//         "OBJECT_CREATIVE",
21278	//         "OBJECT_CREATIVE_ASSET",
21279	//         "OBJECT_CREATIVE_BUNDLE",
21280	//         "OBJECT_CREATIVE_FIELD",
21281	//         "OBJECT_CREATIVE_GROUP",
21282	//         "OBJECT_DFA_SITE",
21283	//         "OBJECT_EVENT_TAG",
21284	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
21285	//         "OBJECT_FLOODLIGHT_ACTVITY",
21286	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
21287	//         "OBJECT_INSTREAM_CREATIVE",
21288	//         "OBJECT_LANDING_PAGE",
21289	//         "OBJECT_MEDIA_ORDER",
21290	//         "OBJECT_PLACEMENT",
21291	//         "OBJECT_PLACEMENT_STRATEGY",
21292	//         "OBJECT_PLAYSTORE_LINK",
21293	//         "OBJECT_PROVIDED_LIST_CLIENT",
21294	//         "OBJECT_RATE_CARD",
21295	//         "OBJECT_REMARKETING_LIST",
21296	//         "OBJECT_RICHMEDIA_CREATIVE",
21297	//         "OBJECT_SD_SITE",
21298	//         "OBJECT_SEARCH_LIFT_STUDY",
21299	//         "OBJECT_SIZE",
21300	//         "OBJECT_SUBACCOUNT",
21301	//         "OBJECT_TARGETING_TEMPLATE",
21302	//         "OBJECT_USER_PROFILE",
21303	//         "OBJECT_USER_PROFILE_FILTER",
21304	//         "OBJECT_USER_ROLE"
21305	//       ],
21306	//       "enumDescriptions": [
21307	//         "",
21308	//         "",
21309	//         "",
21310	//         "",
21311	//         "",
21312	//         "",
21313	//         "",
21314	//         "",
21315	//         "",
21316	//         "",
21317	//         "",
21318	//         "",
21319	//         "",
21320	//         "",
21321	//         "",
21322	//         "",
21323	//         "",
21324	//         "",
21325	//         "",
21326	//         "",
21327	//         "",
21328	//         "",
21329	//         "",
21330	//         "",
21331	//         "",
21332	//         "",
21333	//         "",
21334	//         "",
21335	//         "",
21336	//         "",
21337	//         "",
21338	//         "",
21339	//         "",
21340	//         "",
21341	//         "",
21342	//         "",
21343	//         "",
21344	//         "",
21345	//         ""
21346	//       ],
21347	//       "location": "query",
21348	//       "type": "string"
21349	//     },
21350	//     "pageToken": {
21351	//       "description": "Value of the nextPageToken from the previous result page.",
21352	//       "location": "query",
21353	//       "type": "string"
21354	//     },
21355	//     "profileId": {
21356	//       "description": "User profile ID associated with this request.",
21357	//       "format": "int64",
21358	//       "location": "path",
21359	//       "required": true,
21360	//       "type": "string"
21361	//     },
21362	//     "searchString": {
21363	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
21364	//       "location": "query",
21365	//       "type": "string"
21366	//     },
21367	//     "userProfileIds": {
21368	//       "description": "Select only change logs with these user profile IDs.",
21369	//       "format": "int64",
21370	//       "location": "query",
21371	//       "repeated": true,
21372	//       "type": "string"
21373	//     }
21374	//   },
21375	//   "path": "userprofiles/{profileId}/changeLogs",
21376	//   "response": {
21377	//     "$ref": "ChangeLogsListResponse"
21378	//   },
21379	//   "scopes": [
21380	//     "https://www.googleapis.com/auth/dfatrafficking"
21381	//   ]
21382	// }
21383
21384}
21385
21386// Pages invokes f for each page of results.
21387// A non-nil error returned from f will halt the iteration.
21388// The provided context supersedes any context provided to the Context method.
21389func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
21390	c.ctx_ = ctx
21391	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21392	for {
21393		x, err := c.Do()
21394		if err != nil {
21395			return err
21396		}
21397		if err := f(x); err != nil {
21398			return err
21399		}
21400		if x.NextPageToken == "" {
21401			return nil
21402		}
21403		c.PageToken(x.NextPageToken)
21404	}
21405}
21406
21407// method id "dfareporting.cities.list":
21408
21409type CitiesListCall struct {
21410	s            *Service
21411	profileId    int64
21412	urlParams_   gensupport.URLParams
21413	ifNoneMatch_ string
21414	ctx_         context.Context
21415	header_      http.Header
21416}
21417
21418// List: Retrieves a list of cities, possibly filtered.
21419func (r *CitiesService) List(profileId int64) *CitiesListCall {
21420	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21421	c.profileId = profileId
21422	return c
21423}
21424
21425// CountryDartIds sets the optional parameter "countryDartIds": Select
21426// only cities from these countries.
21427func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
21428	var countryDartIds_ []string
21429	for _, v := range countryDartIds {
21430		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
21431	}
21432	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
21433	return c
21434}
21435
21436// DartIds sets the optional parameter "dartIds": Select only cities
21437// with these DART IDs.
21438func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
21439	var dartIds_ []string
21440	for _, v := range dartIds {
21441		dartIds_ = append(dartIds_, fmt.Sprint(v))
21442	}
21443	c.urlParams_.SetMulti("dartIds", dartIds_)
21444	return c
21445}
21446
21447// NamePrefix sets the optional parameter "namePrefix": Select only
21448// cities with names starting with this prefix.
21449func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
21450	c.urlParams_.Set("namePrefix", namePrefix)
21451	return c
21452}
21453
21454// RegionDartIds sets the optional parameter "regionDartIds": Select
21455// only cities from these regions.
21456func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
21457	var regionDartIds_ []string
21458	for _, v := range regionDartIds {
21459		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
21460	}
21461	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
21462	return c
21463}
21464
21465// Fields allows partial responses to be retrieved. See
21466// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21467// for more information.
21468func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
21469	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21470	return c
21471}
21472
21473// IfNoneMatch sets the optional parameter which makes the operation
21474// fail if the object's ETag matches the given value. This is useful for
21475// getting updates only after the object has changed since the last
21476// request. Use googleapi.IsNotModified to check whether the response
21477// error from Do is the result of In-None-Match.
21478func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
21479	c.ifNoneMatch_ = entityTag
21480	return c
21481}
21482
21483// Context sets the context to be used in this call's Do method. Any
21484// pending HTTP request will be aborted if the provided context is
21485// canceled.
21486func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
21487	c.ctx_ = ctx
21488	return c
21489}
21490
21491// Header returns an http.Header that can be modified by the caller to
21492// add HTTP headers to the request.
21493func (c *CitiesListCall) Header() http.Header {
21494	if c.header_ == nil {
21495		c.header_ = make(http.Header)
21496	}
21497	return c.header_
21498}
21499
21500func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
21501	reqHeaders := make(http.Header)
21502	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21503	for k, v := range c.header_ {
21504		reqHeaders[k] = v
21505	}
21506	reqHeaders.Set("User-Agent", c.s.userAgent())
21507	if c.ifNoneMatch_ != "" {
21508		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21509	}
21510	var body io.Reader = nil
21511	c.urlParams_.Set("alt", alt)
21512	c.urlParams_.Set("prettyPrint", "false")
21513	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
21514	urls += "?" + c.urlParams_.Encode()
21515	req, err := http.NewRequest("GET", urls, body)
21516	if err != nil {
21517		return nil, err
21518	}
21519	req.Header = reqHeaders
21520	googleapi.Expand(req.URL, map[string]string{
21521		"profileId": strconv.FormatInt(c.profileId, 10),
21522	})
21523	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21524}
21525
21526// Do executes the "dfareporting.cities.list" call.
21527// Exactly one of *CitiesListResponse or error will be non-nil. Any
21528// non-2xx status code is an error. Response headers are in either
21529// *CitiesListResponse.ServerResponse.Header or (if a response was
21530// returned at all) in error.(*googleapi.Error).Header. Use
21531// googleapi.IsNotModified to check whether the returned error was
21532// because http.StatusNotModified was returned.
21533func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
21534	gensupport.SetOptions(c.urlParams_, opts...)
21535	res, err := c.doRequest("json")
21536	if res != nil && res.StatusCode == http.StatusNotModified {
21537		if res.Body != nil {
21538			res.Body.Close()
21539		}
21540		return nil, &googleapi.Error{
21541			Code:   res.StatusCode,
21542			Header: res.Header,
21543		}
21544	}
21545	if err != nil {
21546		return nil, err
21547	}
21548	defer googleapi.CloseBody(res)
21549	if err := googleapi.CheckResponse(res); err != nil {
21550		return nil, err
21551	}
21552	ret := &CitiesListResponse{
21553		ServerResponse: googleapi.ServerResponse{
21554			Header:         res.Header,
21555			HTTPStatusCode: res.StatusCode,
21556		},
21557	}
21558	target := &ret
21559	if err := gensupport.DecodeResponse(target, res); err != nil {
21560		return nil, err
21561	}
21562	return ret, nil
21563	// {
21564	//   "description": "Retrieves a list of cities, possibly filtered.",
21565	//   "httpMethod": "GET",
21566	//   "id": "dfareporting.cities.list",
21567	//   "parameterOrder": [
21568	//     "profileId"
21569	//   ],
21570	//   "parameters": {
21571	//     "countryDartIds": {
21572	//       "description": "Select only cities from these countries.",
21573	//       "format": "int64",
21574	//       "location": "query",
21575	//       "repeated": true,
21576	//       "type": "string"
21577	//     },
21578	//     "dartIds": {
21579	//       "description": "Select only cities with these DART IDs.",
21580	//       "format": "int64",
21581	//       "location": "query",
21582	//       "repeated": true,
21583	//       "type": "string"
21584	//     },
21585	//     "namePrefix": {
21586	//       "description": "Select only cities with names starting with this prefix.",
21587	//       "location": "query",
21588	//       "type": "string"
21589	//     },
21590	//     "profileId": {
21591	//       "description": "User profile ID associated with this request.",
21592	//       "format": "int64",
21593	//       "location": "path",
21594	//       "required": true,
21595	//       "type": "string"
21596	//     },
21597	//     "regionDartIds": {
21598	//       "description": "Select only cities from these regions.",
21599	//       "format": "int64",
21600	//       "location": "query",
21601	//       "repeated": true,
21602	//       "type": "string"
21603	//     }
21604	//   },
21605	//   "path": "userprofiles/{profileId}/cities",
21606	//   "response": {
21607	//     "$ref": "CitiesListResponse"
21608	//   },
21609	//   "scopes": [
21610	//     "https://www.googleapis.com/auth/dfatrafficking"
21611	//   ]
21612	// }
21613
21614}
21615
21616// method id "dfareporting.connectionTypes.get":
21617
21618type ConnectionTypesGetCall struct {
21619	s            *Service
21620	profileId    int64
21621	id           int64
21622	urlParams_   gensupport.URLParams
21623	ifNoneMatch_ string
21624	ctx_         context.Context
21625	header_      http.Header
21626}
21627
21628// Get: Gets one connection type by ID.
21629func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
21630	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21631	c.profileId = profileId
21632	c.id = id
21633	return c
21634}
21635
21636// Fields allows partial responses to be retrieved. See
21637// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21638// for more information.
21639func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
21640	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21641	return c
21642}
21643
21644// IfNoneMatch sets the optional parameter which makes the operation
21645// fail if the object's ETag matches the given value. This is useful for
21646// getting updates only after the object has changed since the last
21647// request. Use googleapi.IsNotModified to check whether the response
21648// error from Do is the result of In-None-Match.
21649func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
21650	c.ifNoneMatch_ = entityTag
21651	return c
21652}
21653
21654// Context sets the context to be used in this call's Do method. Any
21655// pending HTTP request will be aborted if the provided context is
21656// canceled.
21657func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
21658	c.ctx_ = ctx
21659	return c
21660}
21661
21662// Header returns an http.Header that can be modified by the caller to
21663// add HTTP headers to the request.
21664func (c *ConnectionTypesGetCall) Header() http.Header {
21665	if c.header_ == nil {
21666		c.header_ = make(http.Header)
21667	}
21668	return c.header_
21669}
21670
21671func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
21672	reqHeaders := make(http.Header)
21673	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21674	for k, v := range c.header_ {
21675		reqHeaders[k] = v
21676	}
21677	reqHeaders.Set("User-Agent", c.s.userAgent())
21678	if c.ifNoneMatch_ != "" {
21679		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21680	}
21681	var body io.Reader = nil
21682	c.urlParams_.Set("alt", alt)
21683	c.urlParams_.Set("prettyPrint", "false")
21684	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
21685	urls += "?" + c.urlParams_.Encode()
21686	req, err := http.NewRequest("GET", urls, body)
21687	if err != nil {
21688		return nil, err
21689	}
21690	req.Header = reqHeaders
21691	googleapi.Expand(req.URL, map[string]string{
21692		"profileId": strconv.FormatInt(c.profileId, 10),
21693		"id":        strconv.FormatInt(c.id, 10),
21694	})
21695	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21696}
21697
21698// Do executes the "dfareporting.connectionTypes.get" call.
21699// Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
21700// status code is an error. Response headers are in either
21701// *ConnectionType.ServerResponse.Header or (if a response was returned
21702// at all) in error.(*googleapi.Error).Header. Use
21703// googleapi.IsNotModified to check whether the returned error was
21704// because http.StatusNotModified was returned.
21705func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
21706	gensupport.SetOptions(c.urlParams_, opts...)
21707	res, err := c.doRequest("json")
21708	if res != nil && res.StatusCode == http.StatusNotModified {
21709		if res.Body != nil {
21710			res.Body.Close()
21711		}
21712		return nil, &googleapi.Error{
21713			Code:   res.StatusCode,
21714			Header: res.Header,
21715		}
21716	}
21717	if err != nil {
21718		return nil, err
21719	}
21720	defer googleapi.CloseBody(res)
21721	if err := googleapi.CheckResponse(res); err != nil {
21722		return nil, err
21723	}
21724	ret := &ConnectionType{
21725		ServerResponse: googleapi.ServerResponse{
21726			Header:         res.Header,
21727			HTTPStatusCode: res.StatusCode,
21728		},
21729	}
21730	target := &ret
21731	if err := gensupport.DecodeResponse(target, res); err != nil {
21732		return nil, err
21733	}
21734	return ret, nil
21735	// {
21736	//   "description": "Gets one connection type by ID.",
21737	//   "httpMethod": "GET",
21738	//   "id": "dfareporting.connectionTypes.get",
21739	//   "parameterOrder": [
21740	//     "profileId",
21741	//     "id"
21742	//   ],
21743	//   "parameters": {
21744	//     "id": {
21745	//       "description": "Connection type ID.",
21746	//       "format": "int64",
21747	//       "location": "path",
21748	//       "required": true,
21749	//       "type": "string"
21750	//     },
21751	//     "profileId": {
21752	//       "description": "User profile ID associated with this request.",
21753	//       "format": "int64",
21754	//       "location": "path",
21755	//       "required": true,
21756	//       "type": "string"
21757	//     }
21758	//   },
21759	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
21760	//   "response": {
21761	//     "$ref": "ConnectionType"
21762	//   },
21763	//   "scopes": [
21764	//     "https://www.googleapis.com/auth/dfatrafficking"
21765	//   ]
21766	// }
21767
21768}
21769
21770// method id "dfareporting.connectionTypes.list":
21771
21772type ConnectionTypesListCall struct {
21773	s            *Service
21774	profileId    int64
21775	urlParams_   gensupport.URLParams
21776	ifNoneMatch_ string
21777	ctx_         context.Context
21778	header_      http.Header
21779}
21780
21781// List: Retrieves a list of connection types.
21782func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
21783	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21784	c.profileId = profileId
21785	return c
21786}
21787
21788// Fields allows partial responses to be retrieved. See
21789// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21790// for more information.
21791func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
21792	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21793	return c
21794}
21795
21796// IfNoneMatch sets the optional parameter which makes the operation
21797// fail if the object's ETag matches the given value. This is useful for
21798// getting updates only after the object has changed since the last
21799// request. Use googleapi.IsNotModified to check whether the response
21800// error from Do is the result of In-None-Match.
21801func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
21802	c.ifNoneMatch_ = entityTag
21803	return c
21804}
21805
21806// Context sets the context to be used in this call's Do method. Any
21807// pending HTTP request will be aborted if the provided context is
21808// canceled.
21809func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
21810	c.ctx_ = ctx
21811	return c
21812}
21813
21814// Header returns an http.Header that can be modified by the caller to
21815// add HTTP headers to the request.
21816func (c *ConnectionTypesListCall) Header() http.Header {
21817	if c.header_ == nil {
21818		c.header_ = make(http.Header)
21819	}
21820	return c.header_
21821}
21822
21823func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
21824	reqHeaders := make(http.Header)
21825	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21826	for k, v := range c.header_ {
21827		reqHeaders[k] = v
21828	}
21829	reqHeaders.Set("User-Agent", c.s.userAgent())
21830	if c.ifNoneMatch_ != "" {
21831		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21832	}
21833	var body io.Reader = nil
21834	c.urlParams_.Set("alt", alt)
21835	c.urlParams_.Set("prettyPrint", "false")
21836	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
21837	urls += "?" + c.urlParams_.Encode()
21838	req, err := http.NewRequest("GET", urls, body)
21839	if err != nil {
21840		return nil, err
21841	}
21842	req.Header = reqHeaders
21843	googleapi.Expand(req.URL, map[string]string{
21844		"profileId": strconv.FormatInt(c.profileId, 10),
21845	})
21846	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21847}
21848
21849// Do executes the "dfareporting.connectionTypes.list" call.
21850// Exactly one of *ConnectionTypesListResponse or error will be non-nil.
21851// Any non-2xx status code is an error. Response headers are in either
21852// *ConnectionTypesListResponse.ServerResponse.Header or (if a response
21853// was returned at all) in error.(*googleapi.Error).Header. Use
21854// googleapi.IsNotModified to check whether the returned error was
21855// because http.StatusNotModified was returned.
21856func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
21857	gensupport.SetOptions(c.urlParams_, opts...)
21858	res, err := c.doRequest("json")
21859	if res != nil && res.StatusCode == http.StatusNotModified {
21860		if res.Body != nil {
21861			res.Body.Close()
21862		}
21863		return nil, &googleapi.Error{
21864			Code:   res.StatusCode,
21865			Header: res.Header,
21866		}
21867	}
21868	if err != nil {
21869		return nil, err
21870	}
21871	defer googleapi.CloseBody(res)
21872	if err := googleapi.CheckResponse(res); err != nil {
21873		return nil, err
21874	}
21875	ret := &ConnectionTypesListResponse{
21876		ServerResponse: googleapi.ServerResponse{
21877			Header:         res.Header,
21878			HTTPStatusCode: res.StatusCode,
21879		},
21880	}
21881	target := &ret
21882	if err := gensupport.DecodeResponse(target, res); err != nil {
21883		return nil, err
21884	}
21885	return ret, nil
21886	// {
21887	//   "description": "Retrieves a list of connection types.",
21888	//   "httpMethod": "GET",
21889	//   "id": "dfareporting.connectionTypes.list",
21890	//   "parameterOrder": [
21891	//     "profileId"
21892	//   ],
21893	//   "parameters": {
21894	//     "profileId": {
21895	//       "description": "User profile ID associated with this request.",
21896	//       "format": "int64",
21897	//       "location": "path",
21898	//       "required": true,
21899	//       "type": "string"
21900	//     }
21901	//   },
21902	//   "path": "userprofiles/{profileId}/connectionTypes",
21903	//   "response": {
21904	//     "$ref": "ConnectionTypesListResponse"
21905	//   },
21906	//   "scopes": [
21907	//     "https://www.googleapis.com/auth/dfatrafficking"
21908	//   ]
21909	// }
21910
21911}
21912
21913// method id "dfareporting.contentCategories.delete":
21914
21915type ContentCategoriesDeleteCall struct {
21916	s          *Service
21917	profileId  int64
21918	id         int64
21919	urlParams_ gensupport.URLParams
21920	ctx_       context.Context
21921	header_    http.Header
21922}
21923
21924// Delete: Deletes an existing content category.
21925func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
21926	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21927	c.profileId = profileId
21928	c.id = id
21929	return c
21930}
21931
21932// Fields allows partial responses to be retrieved. See
21933// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21934// for more information.
21935func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
21936	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21937	return c
21938}
21939
21940// Context sets the context to be used in this call's Do method. Any
21941// pending HTTP request will be aborted if the provided context is
21942// canceled.
21943func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
21944	c.ctx_ = ctx
21945	return c
21946}
21947
21948// Header returns an http.Header that can be modified by the caller to
21949// add HTTP headers to the request.
21950func (c *ContentCategoriesDeleteCall) Header() http.Header {
21951	if c.header_ == nil {
21952		c.header_ = make(http.Header)
21953	}
21954	return c.header_
21955}
21956
21957func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
21958	reqHeaders := make(http.Header)
21959	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21960	for k, v := range c.header_ {
21961		reqHeaders[k] = v
21962	}
21963	reqHeaders.Set("User-Agent", c.s.userAgent())
21964	var body io.Reader = nil
21965	c.urlParams_.Set("alt", alt)
21966	c.urlParams_.Set("prettyPrint", "false")
21967	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
21968	urls += "?" + c.urlParams_.Encode()
21969	req, err := http.NewRequest("DELETE", urls, body)
21970	if err != nil {
21971		return nil, err
21972	}
21973	req.Header = reqHeaders
21974	googleapi.Expand(req.URL, map[string]string{
21975		"profileId": strconv.FormatInt(c.profileId, 10),
21976		"id":        strconv.FormatInt(c.id, 10),
21977	})
21978	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21979}
21980
21981// Do executes the "dfareporting.contentCategories.delete" call.
21982func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
21983	gensupport.SetOptions(c.urlParams_, opts...)
21984	res, err := c.doRequest("json")
21985	if err != nil {
21986		return err
21987	}
21988	defer googleapi.CloseBody(res)
21989	if err := googleapi.CheckResponse(res); err != nil {
21990		return err
21991	}
21992	return nil
21993	// {
21994	//   "description": "Deletes an existing content category.",
21995	//   "httpMethod": "DELETE",
21996	//   "id": "dfareporting.contentCategories.delete",
21997	//   "parameterOrder": [
21998	//     "profileId",
21999	//     "id"
22000	//   ],
22001	//   "parameters": {
22002	//     "id": {
22003	//       "description": "Content category ID.",
22004	//       "format": "int64",
22005	//       "location": "path",
22006	//       "required": true,
22007	//       "type": "string"
22008	//     },
22009	//     "profileId": {
22010	//       "description": "User profile ID associated with this request.",
22011	//       "format": "int64",
22012	//       "location": "path",
22013	//       "required": true,
22014	//       "type": "string"
22015	//     }
22016	//   },
22017	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
22018	//   "scopes": [
22019	//     "https://www.googleapis.com/auth/dfatrafficking"
22020	//   ]
22021	// }
22022
22023}
22024
22025// method id "dfareporting.contentCategories.get":
22026
22027type ContentCategoriesGetCall struct {
22028	s            *Service
22029	profileId    int64
22030	id           int64
22031	urlParams_   gensupport.URLParams
22032	ifNoneMatch_ string
22033	ctx_         context.Context
22034	header_      http.Header
22035}
22036
22037// Get: Gets one content category by ID.
22038func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
22039	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22040	c.profileId = profileId
22041	c.id = id
22042	return c
22043}
22044
22045// Fields allows partial responses to be retrieved. See
22046// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22047// for more information.
22048func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
22049	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22050	return c
22051}
22052
22053// IfNoneMatch sets the optional parameter which makes the operation
22054// fail if the object's ETag matches the given value. This is useful for
22055// getting updates only after the object has changed since the last
22056// request. Use googleapi.IsNotModified to check whether the response
22057// error from Do is the result of In-None-Match.
22058func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
22059	c.ifNoneMatch_ = entityTag
22060	return c
22061}
22062
22063// Context sets the context to be used in this call's Do method. Any
22064// pending HTTP request will be aborted if the provided context is
22065// canceled.
22066func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
22067	c.ctx_ = ctx
22068	return c
22069}
22070
22071// Header returns an http.Header that can be modified by the caller to
22072// add HTTP headers to the request.
22073func (c *ContentCategoriesGetCall) Header() http.Header {
22074	if c.header_ == nil {
22075		c.header_ = make(http.Header)
22076	}
22077	return c.header_
22078}
22079
22080func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
22081	reqHeaders := make(http.Header)
22082	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22083	for k, v := range c.header_ {
22084		reqHeaders[k] = v
22085	}
22086	reqHeaders.Set("User-Agent", c.s.userAgent())
22087	if c.ifNoneMatch_ != "" {
22088		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22089	}
22090	var body io.Reader = nil
22091	c.urlParams_.Set("alt", alt)
22092	c.urlParams_.Set("prettyPrint", "false")
22093	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
22094	urls += "?" + c.urlParams_.Encode()
22095	req, err := http.NewRequest("GET", urls, body)
22096	if err != nil {
22097		return nil, err
22098	}
22099	req.Header = reqHeaders
22100	googleapi.Expand(req.URL, map[string]string{
22101		"profileId": strconv.FormatInt(c.profileId, 10),
22102		"id":        strconv.FormatInt(c.id, 10),
22103	})
22104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22105}
22106
22107// Do executes the "dfareporting.contentCategories.get" call.
22108// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
22109// status code is an error. Response headers are in either
22110// *ContentCategory.ServerResponse.Header or (if a response was returned
22111// at all) in error.(*googleapi.Error).Header. Use
22112// googleapi.IsNotModified to check whether the returned error was
22113// because http.StatusNotModified was returned.
22114func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
22115	gensupport.SetOptions(c.urlParams_, opts...)
22116	res, err := c.doRequest("json")
22117	if res != nil && res.StatusCode == http.StatusNotModified {
22118		if res.Body != nil {
22119			res.Body.Close()
22120		}
22121		return nil, &googleapi.Error{
22122			Code:   res.StatusCode,
22123			Header: res.Header,
22124		}
22125	}
22126	if err != nil {
22127		return nil, err
22128	}
22129	defer googleapi.CloseBody(res)
22130	if err := googleapi.CheckResponse(res); err != nil {
22131		return nil, err
22132	}
22133	ret := &ContentCategory{
22134		ServerResponse: googleapi.ServerResponse{
22135			Header:         res.Header,
22136			HTTPStatusCode: res.StatusCode,
22137		},
22138	}
22139	target := &ret
22140	if err := gensupport.DecodeResponse(target, res); err != nil {
22141		return nil, err
22142	}
22143	return ret, nil
22144	// {
22145	//   "description": "Gets one content category by ID.",
22146	//   "httpMethod": "GET",
22147	//   "id": "dfareporting.contentCategories.get",
22148	//   "parameterOrder": [
22149	//     "profileId",
22150	//     "id"
22151	//   ],
22152	//   "parameters": {
22153	//     "id": {
22154	//       "description": "Content category ID.",
22155	//       "format": "int64",
22156	//       "location": "path",
22157	//       "required": true,
22158	//       "type": "string"
22159	//     },
22160	//     "profileId": {
22161	//       "description": "User profile ID associated with this request.",
22162	//       "format": "int64",
22163	//       "location": "path",
22164	//       "required": true,
22165	//       "type": "string"
22166	//     }
22167	//   },
22168	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
22169	//   "response": {
22170	//     "$ref": "ContentCategory"
22171	//   },
22172	//   "scopes": [
22173	//     "https://www.googleapis.com/auth/dfatrafficking"
22174	//   ]
22175	// }
22176
22177}
22178
22179// method id "dfareporting.contentCategories.insert":
22180
22181type ContentCategoriesInsertCall struct {
22182	s               *Service
22183	profileId       int64
22184	contentcategory *ContentCategory
22185	urlParams_      gensupport.URLParams
22186	ctx_            context.Context
22187	header_         http.Header
22188}
22189
22190// Insert: Inserts a new content category.
22191func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
22192	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22193	c.profileId = profileId
22194	c.contentcategory = contentcategory
22195	return c
22196}
22197
22198// Fields allows partial responses to be retrieved. See
22199// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22200// for more information.
22201func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
22202	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22203	return c
22204}
22205
22206// Context sets the context to be used in this call's Do method. Any
22207// pending HTTP request will be aborted if the provided context is
22208// canceled.
22209func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
22210	c.ctx_ = ctx
22211	return c
22212}
22213
22214// Header returns an http.Header that can be modified by the caller to
22215// add HTTP headers to the request.
22216func (c *ContentCategoriesInsertCall) Header() http.Header {
22217	if c.header_ == nil {
22218		c.header_ = make(http.Header)
22219	}
22220	return c.header_
22221}
22222
22223func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
22224	reqHeaders := make(http.Header)
22225	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22226	for k, v := range c.header_ {
22227		reqHeaders[k] = v
22228	}
22229	reqHeaders.Set("User-Agent", c.s.userAgent())
22230	var body io.Reader = nil
22231	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
22232	if err != nil {
22233		return nil, err
22234	}
22235	reqHeaders.Set("Content-Type", "application/json")
22236	c.urlParams_.Set("alt", alt)
22237	c.urlParams_.Set("prettyPrint", "false")
22238	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
22239	urls += "?" + c.urlParams_.Encode()
22240	req, err := http.NewRequest("POST", urls, body)
22241	if err != nil {
22242		return nil, err
22243	}
22244	req.Header = reqHeaders
22245	googleapi.Expand(req.URL, map[string]string{
22246		"profileId": strconv.FormatInt(c.profileId, 10),
22247	})
22248	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22249}
22250
22251// Do executes the "dfareporting.contentCategories.insert" call.
22252// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
22253// status code is an error. Response headers are in either
22254// *ContentCategory.ServerResponse.Header or (if a response was returned
22255// at all) in error.(*googleapi.Error).Header. Use
22256// googleapi.IsNotModified to check whether the returned error was
22257// because http.StatusNotModified was returned.
22258func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
22259	gensupport.SetOptions(c.urlParams_, opts...)
22260	res, err := c.doRequest("json")
22261	if res != nil && res.StatusCode == http.StatusNotModified {
22262		if res.Body != nil {
22263			res.Body.Close()
22264		}
22265		return nil, &googleapi.Error{
22266			Code:   res.StatusCode,
22267			Header: res.Header,
22268		}
22269	}
22270	if err != nil {
22271		return nil, err
22272	}
22273	defer googleapi.CloseBody(res)
22274	if err := googleapi.CheckResponse(res); err != nil {
22275		return nil, err
22276	}
22277	ret := &ContentCategory{
22278		ServerResponse: googleapi.ServerResponse{
22279			Header:         res.Header,
22280			HTTPStatusCode: res.StatusCode,
22281		},
22282	}
22283	target := &ret
22284	if err := gensupport.DecodeResponse(target, res); err != nil {
22285		return nil, err
22286	}
22287	return ret, nil
22288	// {
22289	//   "description": "Inserts a new content category.",
22290	//   "httpMethod": "POST",
22291	//   "id": "dfareporting.contentCategories.insert",
22292	//   "parameterOrder": [
22293	//     "profileId"
22294	//   ],
22295	//   "parameters": {
22296	//     "profileId": {
22297	//       "description": "User profile ID associated with this request.",
22298	//       "format": "int64",
22299	//       "location": "path",
22300	//       "required": true,
22301	//       "type": "string"
22302	//     }
22303	//   },
22304	//   "path": "userprofiles/{profileId}/contentCategories",
22305	//   "request": {
22306	//     "$ref": "ContentCategory"
22307	//   },
22308	//   "response": {
22309	//     "$ref": "ContentCategory"
22310	//   },
22311	//   "scopes": [
22312	//     "https://www.googleapis.com/auth/dfatrafficking"
22313	//   ]
22314	// }
22315
22316}
22317
22318// method id "dfareporting.contentCategories.list":
22319
22320type ContentCategoriesListCall struct {
22321	s            *Service
22322	profileId    int64
22323	urlParams_   gensupport.URLParams
22324	ifNoneMatch_ string
22325	ctx_         context.Context
22326	header_      http.Header
22327}
22328
22329// List: Retrieves a list of content categories, possibly filtered. This
22330// method supports paging.
22331func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
22332	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22333	c.profileId = profileId
22334	return c
22335}
22336
22337// Ids sets the optional parameter "ids": Select only content categories
22338// with these IDs.
22339func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
22340	var ids_ []string
22341	for _, v := range ids {
22342		ids_ = append(ids_, fmt.Sprint(v))
22343	}
22344	c.urlParams_.SetMulti("ids", ids_)
22345	return c
22346}
22347
22348// MaxResults sets the optional parameter "maxResults": Maximum number
22349// of results to return.
22350func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
22351	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
22352	return c
22353}
22354
22355// PageToken sets the optional parameter "pageToken": Value of the
22356// nextPageToken from the previous result page.
22357func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
22358	c.urlParams_.Set("pageToken", pageToken)
22359	return c
22360}
22361
22362// SearchString sets the optional parameter "searchString": Allows
22363// searching for objects by name or ID. Wildcards (*) are allowed. For
22364// example, "contentcategory*2015" will return objects with names like
22365// "contentcategory June 2015", "contentcategory April 2015", or simply
22366// "contentcategory 2015". Most of the searches also add wildcards
22367// implicitly at the start and the end of the search string. For
22368// example, a search string of "contentcategory" will match objects with
22369// name "my contentcategory", "contentcategory 2015", or simply
22370// "contentcategory".
22371func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
22372	c.urlParams_.Set("searchString", searchString)
22373	return c
22374}
22375
22376// SortField sets the optional parameter "sortField": Field by which to
22377// sort the list.
22378//
22379// Possible values:
22380//   "ID" (default)
22381//   "NAME"
22382func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
22383	c.urlParams_.Set("sortField", sortField)
22384	return c
22385}
22386
22387// SortOrder sets the optional parameter "sortOrder": Order of sorted
22388// results.
22389//
22390// Possible values:
22391//   "ASCENDING" (default)
22392//   "DESCENDING"
22393func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
22394	c.urlParams_.Set("sortOrder", sortOrder)
22395	return c
22396}
22397
22398// Fields allows partial responses to be retrieved. See
22399// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22400// for more information.
22401func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
22402	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22403	return c
22404}
22405
22406// IfNoneMatch sets the optional parameter which makes the operation
22407// fail if the object's ETag matches the given value. This is useful for
22408// getting updates only after the object has changed since the last
22409// request. Use googleapi.IsNotModified to check whether the response
22410// error from Do is the result of In-None-Match.
22411func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
22412	c.ifNoneMatch_ = entityTag
22413	return c
22414}
22415
22416// Context sets the context to be used in this call's Do method. Any
22417// pending HTTP request will be aborted if the provided context is
22418// canceled.
22419func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
22420	c.ctx_ = ctx
22421	return c
22422}
22423
22424// Header returns an http.Header that can be modified by the caller to
22425// add HTTP headers to the request.
22426func (c *ContentCategoriesListCall) Header() http.Header {
22427	if c.header_ == nil {
22428		c.header_ = make(http.Header)
22429	}
22430	return c.header_
22431}
22432
22433func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
22434	reqHeaders := make(http.Header)
22435	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22436	for k, v := range c.header_ {
22437		reqHeaders[k] = v
22438	}
22439	reqHeaders.Set("User-Agent", c.s.userAgent())
22440	if c.ifNoneMatch_ != "" {
22441		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22442	}
22443	var body io.Reader = nil
22444	c.urlParams_.Set("alt", alt)
22445	c.urlParams_.Set("prettyPrint", "false")
22446	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
22447	urls += "?" + c.urlParams_.Encode()
22448	req, err := http.NewRequest("GET", urls, body)
22449	if err != nil {
22450		return nil, err
22451	}
22452	req.Header = reqHeaders
22453	googleapi.Expand(req.URL, map[string]string{
22454		"profileId": strconv.FormatInt(c.profileId, 10),
22455	})
22456	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22457}
22458
22459// Do executes the "dfareporting.contentCategories.list" call.
22460// Exactly one of *ContentCategoriesListResponse or error will be
22461// non-nil. Any non-2xx status code is an error. Response headers are in
22462// either *ContentCategoriesListResponse.ServerResponse.Header or (if a
22463// response was returned at all) in error.(*googleapi.Error).Header. Use
22464// googleapi.IsNotModified to check whether the returned error was
22465// because http.StatusNotModified was returned.
22466func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
22467	gensupport.SetOptions(c.urlParams_, opts...)
22468	res, err := c.doRequest("json")
22469	if res != nil && res.StatusCode == http.StatusNotModified {
22470		if res.Body != nil {
22471			res.Body.Close()
22472		}
22473		return nil, &googleapi.Error{
22474			Code:   res.StatusCode,
22475			Header: res.Header,
22476		}
22477	}
22478	if err != nil {
22479		return nil, err
22480	}
22481	defer googleapi.CloseBody(res)
22482	if err := googleapi.CheckResponse(res); err != nil {
22483		return nil, err
22484	}
22485	ret := &ContentCategoriesListResponse{
22486		ServerResponse: googleapi.ServerResponse{
22487			Header:         res.Header,
22488			HTTPStatusCode: res.StatusCode,
22489		},
22490	}
22491	target := &ret
22492	if err := gensupport.DecodeResponse(target, res); err != nil {
22493		return nil, err
22494	}
22495	return ret, nil
22496	// {
22497	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
22498	//   "httpMethod": "GET",
22499	//   "id": "dfareporting.contentCategories.list",
22500	//   "parameterOrder": [
22501	//     "profileId"
22502	//   ],
22503	//   "parameters": {
22504	//     "ids": {
22505	//       "description": "Select only content categories with these IDs.",
22506	//       "format": "int64",
22507	//       "location": "query",
22508	//       "repeated": true,
22509	//       "type": "string"
22510	//     },
22511	//     "maxResults": {
22512	//       "default": "1000",
22513	//       "description": "Maximum number of results to return.",
22514	//       "format": "int32",
22515	//       "location": "query",
22516	//       "maximum": "1000",
22517	//       "minimum": "0",
22518	//       "type": "integer"
22519	//     },
22520	//     "pageToken": {
22521	//       "description": "Value of the nextPageToken from the previous result page.",
22522	//       "location": "query",
22523	//       "type": "string"
22524	//     },
22525	//     "profileId": {
22526	//       "description": "User profile ID associated with this request.",
22527	//       "format": "int64",
22528	//       "location": "path",
22529	//       "required": true,
22530	//       "type": "string"
22531	//     },
22532	//     "searchString": {
22533	//       "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\".",
22534	//       "location": "query",
22535	//       "type": "string"
22536	//     },
22537	//     "sortField": {
22538	//       "default": "ID",
22539	//       "description": "Field by which to sort the list.",
22540	//       "enum": [
22541	//         "ID",
22542	//         "NAME"
22543	//       ],
22544	//       "enumDescriptions": [
22545	//         "",
22546	//         ""
22547	//       ],
22548	//       "location": "query",
22549	//       "type": "string"
22550	//     },
22551	//     "sortOrder": {
22552	//       "default": "ASCENDING",
22553	//       "description": "Order of sorted results.",
22554	//       "enum": [
22555	//         "ASCENDING",
22556	//         "DESCENDING"
22557	//       ],
22558	//       "enumDescriptions": [
22559	//         "",
22560	//         ""
22561	//       ],
22562	//       "location": "query",
22563	//       "type": "string"
22564	//     }
22565	//   },
22566	//   "path": "userprofiles/{profileId}/contentCategories",
22567	//   "response": {
22568	//     "$ref": "ContentCategoriesListResponse"
22569	//   },
22570	//   "scopes": [
22571	//     "https://www.googleapis.com/auth/dfatrafficking"
22572	//   ]
22573	// }
22574
22575}
22576
22577// Pages invokes f for each page of results.
22578// A non-nil error returned from f will halt the iteration.
22579// The provided context supersedes any context provided to the Context method.
22580func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
22581	c.ctx_ = ctx
22582	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22583	for {
22584		x, err := c.Do()
22585		if err != nil {
22586			return err
22587		}
22588		if err := f(x); err != nil {
22589			return err
22590		}
22591		if x.NextPageToken == "" {
22592			return nil
22593		}
22594		c.PageToken(x.NextPageToken)
22595	}
22596}
22597
22598// method id "dfareporting.contentCategories.patch":
22599
22600type ContentCategoriesPatchCall struct {
22601	s               *Service
22602	profileId       int64
22603	contentcategory *ContentCategory
22604	urlParams_      gensupport.URLParams
22605	ctx_            context.Context
22606	header_         http.Header
22607}
22608
22609// Patch: Updates an existing content category. This method supports
22610// patch semantics.
22611func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
22612	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22613	c.profileId = profileId
22614	c.urlParams_.Set("id", fmt.Sprint(id))
22615	c.contentcategory = contentcategory
22616	return c
22617}
22618
22619// Fields allows partial responses to be retrieved. See
22620// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22621// for more information.
22622func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
22623	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22624	return c
22625}
22626
22627// Context sets the context to be used in this call's Do method. Any
22628// pending HTTP request will be aborted if the provided context is
22629// canceled.
22630func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
22631	c.ctx_ = ctx
22632	return c
22633}
22634
22635// Header returns an http.Header that can be modified by the caller to
22636// add HTTP headers to the request.
22637func (c *ContentCategoriesPatchCall) Header() http.Header {
22638	if c.header_ == nil {
22639		c.header_ = make(http.Header)
22640	}
22641	return c.header_
22642}
22643
22644func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
22645	reqHeaders := make(http.Header)
22646	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22647	for k, v := range c.header_ {
22648		reqHeaders[k] = v
22649	}
22650	reqHeaders.Set("User-Agent", c.s.userAgent())
22651	var body io.Reader = nil
22652	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
22653	if err != nil {
22654		return nil, err
22655	}
22656	reqHeaders.Set("Content-Type", "application/json")
22657	c.urlParams_.Set("alt", alt)
22658	c.urlParams_.Set("prettyPrint", "false")
22659	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
22660	urls += "?" + c.urlParams_.Encode()
22661	req, err := http.NewRequest("PATCH", urls, body)
22662	if err != nil {
22663		return nil, err
22664	}
22665	req.Header = reqHeaders
22666	googleapi.Expand(req.URL, map[string]string{
22667		"profileId": strconv.FormatInt(c.profileId, 10),
22668	})
22669	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22670}
22671
22672// Do executes the "dfareporting.contentCategories.patch" call.
22673// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
22674// status code is an error. Response headers are in either
22675// *ContentCategory.ServerResponse.Header or (if a response was returned
22676// at all) in error.(*googleapi.Error).Header. Use
22677// googleapi.IsNotModified to check whether the returned error was
22678// because http.StatusNotModified was returned.
22679func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
22680	gensupport.SetOptions(c.urlParams_, opts...)
22681	res, err := c.doRequest("json")
22682	if res != nil && res.StatusCode == http.StatusNotModified {
22683		if res.Body != nil {
22684			res.Body.Close()
22685		}
22686		return nil, &googleapi.Error{
22687			Code:   res.StatusCode,
22688			Header: res.Header,
22689		}
22690	}
22691	if err != nil {
22692		return nil, err
22693	}
22694	defer googleapi.CloseBody(res)
22695	if err := googleapi.CheckResponse(res); err != nil {
22696		return nil, err
22697	}
22698	ret := &ContentCategory{
22699		ServerResponse: googleapi.ServerResponse{
22700			Header:         res.Header,
22701			HTTPStatusCode: res.StatusCode,
22702		},
22703	}
22704	target := &ret
22705	if err := gensupport.DecodeResponse(target, res); err != nil {
22706		return nil, err
22707	}
22708	return ret, nil
22709	// {
22710	//   "description": "Updates an existing content category. This method supports patch semantics.",
22711	//   "httpMethod": "PATCH",
22712	//   "id": "dfareporting.contentCategories.patch",
22713	//   "parameterOrder": [
22714	//     "profileId",
22715	//     "id"
22716	//   ],
22717	//   "parameters": {
22718	//     "id": {
22719	//       "description": "Content category ID.",
22720	//       "format": "int64",
22721	//       "location": "query",
22722	//       "required": true,
22723	//       "type": "string"
22724	//     },
22725	//     "profileId": {
22726	//       "description": "User profile ID associated with this request.",
22727	//       "format": "int64",
22728	//       "location": "path",
22729	//       "required": true,
22730	//       "type": "string"
22731	//     }
22732	//   },
22733	//   "path": "userprofiles/{profileId}/contentCategories",
22734	//   "request": {
22735	//     "$ref": "ContentCategory"
22736	//   },
22737	//   "response": {
22738	//     "$ref": "ContentCategory"
22739	//   },
22740	//   "scopes": [
22741	//     "https://www.googleapis.com/auth/dfatrafficking"
22742	//   ]
22743	// }
22744
22745}
22746
22747// method id "dfareporting.contentCategories.update":
22748
22749type ContentCategoriesUpdateCall struct {
22750	s               *Service
22751	profileId       int64
22752	contentcategory *ContentCategory
22753	urlParams_      gensupport.URLParams
22754	ctx_            context.Context
22755	header_         http.Header
22756}
22757
22758// Update: Updates an existing content category.
22759func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
22760	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22761	c.profileId = profileId
22762	c.contentcategory = contentcategory
22763	return c
22764}
22765
22766// Fields allows partial responses to be retrieved. See
22767// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22768// for more information.
22769func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
22770	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22771	return c
22772}
22773
22774// Context sets the context to be used in this call's Do method. Any
22775// pending HTTP request will be aborted if the provided context is
22776// canceled.
22777func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
22778	c.ctx_ = ctx
22779	return c
22780}
22781
22782// Header returns an http.Header that can be modified by the caller to
22783// add HTTP headers to the request.
22784func (c *ContentCategoriesUpdateCall) Header() http.Header {
22785	if c.header_ == nil {
22786		c.header_ = make(http.Header)
22787	}
22788	return c.header_
22789}
22790
22791func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
22792	reqHeaders := make(http.Header)
22793	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22794	for k, v := range c.header_ {
22795		reqHeaders[k] = v
22796	}
22797	reqHeaders.Set("User-Agent", c.s.userAgent())
22798	var body io.Reader = nil
22799	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
22800	if err != nil {
22801		return nil, err
22802	}
22803	reqHeaders.Set("Content-Type", "application/json")
22804	c.urlParams_.Set("alt", alt)
22805	c.urlParams_.Set("prettyPrint", "false")
22806	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
22807	urls += "?" + c.urlParams_.Encode()
22808	req, err := http.NewRequest("PUT", urls, body)
22809	if err != nil {
22810		return nil, err
22811	}
22812	req.Header = reqHeaders
22813	googleapi.Expand(req.URL, map[string]string{
22814		"profileId": strconv.FormatInt(c.profileId, 10),
22815	})
22816	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22817}
22818
22819// Do executes the "dfareporting.contentCategories.update" call.
22820// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
22821// status code is an error. Response headers are in either
22822// *ContentCategory.ServerResponse.Header or (if a response was returned
22823// at all) in error.(*googleapi.Error).Header. Use
22824// googleapi.IsNotModified to check whether the returned error was
22825// because http.StatusNotModified was returned.
22826func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
22827	gensupport.SetOptions(c.urlParams_, opts...)
22828	res, err := c.doRequest("json")
22829	if res != nil && res.StatusCode == http.StatusNotModified {
22830		if res.Body != nil {
22831			res.Body.Close()
22832		}
22833		return nil, &googleapi.Error{
22834			Code:   res.StatusCode,
22835			Header: res.Header,
22836		}
22837	}
22838	if err != nil {
22839		return nil, err
22840	}
22841	defer googleapi.CloseBody(res)
22842	if err := googleapi.CheckResponse(res); err != nil {
22843		return nil, err
22844	}
22845	ret := &ContentCategory{
22846		ServerResponse: googleapi.ServerResponse{
22847			Header:         res.Header,
22848			HTTPStatusCode: res.StatusCode,
22849		},
22850	}
22851	target := &ret
22852	if err := gensupport.DecodeResponse(target, res); err != nil {
22853		return nil, err
22854	}
22855	return ret, nil
22856	// {
22857	//   "description": "Updates an existing content category.",
22858	//   "httpMethod": "PUT",
22859	//   "id": "dfareporting.contentCategories.update",
22860	//   "parameterOrder": [
22861	//     "profileId"
22862	//   ],
22863	//   "parameters": {
22864	//     "profileId": {
22865	//       "description": "User profile ID associated with this request.",
22866	//       "format": "int64",
22867	//       "location": "path",
22868	//       "required": true,
22869	//       "type": "string"
22870	//     }
22871	//   },
22872	//   "path": "userprofiles/{profileId}/contentCategories",
22873	//   "request": {
22874	//     "$ref": "ContentCategory"
22875	//   },
22876	//   "response": {
22877	//     "$ref": "ContentCategory"
22878	//   },
22879	//   "scopes": [
22880	//     "https://www.googleapis.com/auth/dfatrafficking"
22881	//   ]
22882	// }
22883
22884}
22885
22886// method id "dfareporting.conversions.batchinsert":
22887
22888type ConversionsBatchinsertCall struct {
22889	s                             *Service
22890	profileId                     int64
22891	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
22892	urlParams_                    gensupport.URLParams
22893	ctx_                          context.Context
22894	header_                       http.Header
22895}
22896
22897// Batchinsert: Inserts conversions.
22898func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
22899	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22900	c.profileId = profileId
22901	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
22902	return c
22903}
22904
22905// Fields allows partial responses to be retrieved. See
22906// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22907// for more information.
22908func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
22909	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22910	return c
22911}
22912
22913// Context sets the context to be used in this call's Do method. Any
22914// pending HTTP request will be aborted if the provided context is
22915// canceled.
22916func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
22917	c.ctx_ = ctx
22918	return c
22919}
22920
22921// Header returns an http.Header that can be modified by the caller to
22922// add HTTP headers to the request.
22923func (c *ConversionsBatchinsertCall) Header() http.Header {
22924	if c.header_ == nil {
22925		c.header_ = make(http.Header)
22926	}
22927	return c.header_
22928}
22929
22930func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
22931	reqHeaders := make(http.Header)
22932	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22933	for k, v := range c.header_ {
22934		reqHeaders[k] = v
22935	}
22936	reqHeaders.Set("User-Agent", c.s.userAgent())
22937	var body io.Reader = nil
22938	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
22939	if err != nil {
22940		return nil, err
22941	}
22942	reqHeaders.Set("Content-Type", "application/json")
22943	c.urlParams_.Set("alt", alt)
22944	c.urlParams_.Set("prettyPrint", "false")
22945	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
22946	urls += "?" + c.urlParams_.Encode()
22947	req, err := http.NewRequest("POST", urls, body)
22948	if err != nil {
22949		return nil, err
22950	}
22951	req.Header = reqHeaders
22952	googleapi.Expand(req.URL, map[string]string{
22953		"profileId": strconv.FormatInt(c.profileId, 10),
22954	})
22955	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22956}
22957
22958// Do executes the "dfareporting.conversions.batchinsert" call.
22959// Exactly one of *ConversionsBatchInsertResponse or error will be
22960// non-nil. Any non-2xx status code is an error. Response headers are in
22961// either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
22962// response was returned at all) in error.(*googleapi.Error).Header. Use
22963// googleapi.IsNotModified to check whether the returned error was
22964// because http.StatusNotModified was returned.
22965func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
22966	gensupport.SetOptions(c.urlParams_, opts...)
22967	res, err := c.doRequest("json")
22968	if res != nil && res.StatusCode == http.StatusNotModified {
22969		if res.Body != nil {
22970			res.Body.Close()
22971		}
22972		return nil, &googleapi.Error{
22973			Code:   res.StatusCode,
22974			Header: res.Header,
22975		}
22976	}
22977	if err != nil {
22978		return nil, err
22979	}
22980	defer googleapi.CloseBody(res)
22981	if err := googleapi.CheckResponse(res); err != nil {
22982		return nil, err
22983	}
22984	ret := &ConversionsBatchInsertResponse{
22985		ServerResponse: googleapi.ServerResponse{
22986			Header:         res.Header,
22987			HTTPStatusCode: res.StatusCode,
22988		},
22989	}
22990	target := &ret
22991	if err := gensupport.DecodeResponse(target, res); err != nil {
22992		return nil, err
22993	}
22994	return ret, nil
22995	// {
22996	//   "description": "Inserts conversions.",
22997	//   "httpMethod": "POST",
22998	//   "id": "dfareporting.conversions.batchinsert",
22999	//   "parameterOrder": [
23000	//     "profileId"
23001	//   ],
23002	//   "parameters": {
23003	//     "profileId": {
23004	//       "description": "User profile ID associated with this request.",
23005	//       "format": "int64",
23006	//       "location": "path",
23007	//       "required": true,
23008	//       "type": "string"
23009	//     }
23010	//   },
23011	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
23012	//   "request": {
23013	//     "$ref": "ConversionsBatchInsertRequest"
23014	//   },
23015	//   "response": {
23016	//     "$ref": "ConversionsBatchInsertResponse"
23017	//   },
23018	//   "scopes": [
23019	//     "https://www.googleapis.com/auth/ddmconversions"
23020	//   ]
23021	// }
23022
23023}
23024
23025// method id "dfareporting.countries.get":
23026
23027type CountriesGetCall struct {
23028	s            *Service
23029	profileId    int64
23030	dartId       int64
23031	urlParams_   gensupport.URLParams
23032	ifNoneMatch_ string
23033	ctx_         context.Context
23034	header_      http.Header
23035}
23036
23037// Get: Gets one country by ID.
23038func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
23039	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23040	c.profileId = profileId
23041	c.dartId = dartId
23042	return c
23043}
23044
23045// Fields allows partial responses to be retrieved. See
23046// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23047// for more information.
23048func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
23049	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23050	return c
23051}
23052
23053// IfNoneMatch sets the optional parameter which makes the operation
23054// fail if the object's ETag matches the given value. This is useful for
23055// getting updates only after the object has changed since the last
23056// request. Use googleapi.IsNotModified to check whether the response
23057// error from Do is the result of In-None-Match.
23058func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
23059	c.ifNoneMatch_ = entityTag
23060	return c
23061}
23062
23063// Context sets the context to be used in this call's Do method. Any
23064// pending HTTP request will be aborted if the provided context is
23065// canceled.
23066func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
23067	c.ctx_ = ctx
23068	return c
23069}
23070
23071// Header returns an http.Header that can be modified by the caller to
23072// add HTTP headers to the request.
23073func (c *CountriesGetCall) Header() http.Header {
23074	if c.header_ == nil {
23075		c.header_ = make(http.Header)
23076	}
23077	return c.header_
23078}
23079
23080func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
23081	reqHeaders := make(http.Header)
23082	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23083	for k, v := range c.header_ {
23084		reqHeaders[k] = v
23085	}
23086	reqHeaders.Set("User-Agent", c.s.userAgent())
23087	if c.ifNoneMatch_ != "" {
23088		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23089	}
23090	var body io.Reader = nil
23091	c.urlParams_.Set("alt", alt)
23092	c.urlParams_.Set("prettyPrint", "false")
23093	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
23094	urls += "?" + c.urlParams_.Encode()
23095	req, err := http.NewRequest("GET", urls, body)
23096	if err != nil {
23097		return nil, err
23098	}
23099	req.Header = reqHeaders
23100	googleapi.Expand(req.URL, map[string]string{
23101		"profileId": strconv.FormatInt(c.profileId, 10),
23102		"dartId":    strconv.FormatInt(c.dartId, 10),
23103	})
23104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23105}
23106
23107// Do executes the "dfareporting.countries.get" call.
23108// Exactly one of *Country or error will be non-nil. Any non-2xx status
23109// code is an error. Response headers are in either
23110// *Country.ServerResponse.Header or (if a response was returned at all)
23111// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23112// check whether the returned error was because http.StatusNotModified
23113// was returned.
23114func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
23115	gensupport.SetOptions(c.urlParams_, opts...)
23116	res, err := c.doRequest("json")
23117	if res != nil && res.StatusCode == http.StatusNotModified {
23118		if res.Body != nil {
23119			res.Body.Close()
23120		}
23121		return nil, &googleapi.Error{
23122			Code:   res.StatusCode,
23123			Header: res.Header,
23124		}
23125	}
23126	if err != nil {
23127		return nil, err
23128	}
23129	defer googleapi.CloseBody(res)
23130	if err := googleapi.CheckResponse(res); err != nil {
23131		return nil, err
23132	}
23133	ret := &Country{
23134		ServerResponse: googleapi.ServerResponse{
23135			Header:         res.Header,
23136			HTTPStatusCode: res.StatusCode,
23137		},
23138	}
23139	target := &ret
23140	if err := gensupport.DecodeResponse(target, res); err != nil {
23141		return nil, err
23142	}
23143	return ret, nil
23144	// {
23145	//   "description": "Gets one country by ID.",
23146	//   "httpMethod": "GET",
23147	//   "id": "dfareporting.countries.get",
23148	//   "parameterOrder": [
23149	//     "profileId",
23150	//     "dartId"
23151	//   ],
23152	//   "parameters": {
23153	//     "dartId": {
23154	//       "description": "Country DART ID.",
23155	//       "format": "int64",
23156	//       "location": "path",
23157	//       "required": true,
23158	//       "type": "string"
23159	//     },
23160	//     "profileId": {
23161	//       "description": "User profile ID associated with this request.",
23162	//       "format": "int64",
23163	//       "location": "path",
23164	//       "required": true,
23165	//       "type": "string"
23166	//     }
23167	//   },
23168	//   "path": "userprofiles/{profileId}/countries/{dartId}",
23169	//   "response": {
23170	//     "$ref": "Country"
23171	//   },
23172	//   "scopes": [
23173	//     "https://www.googleapis.com/auth/dfatrafficking"
23174	//   ]
23175	// }
23176
23177}
23178
23179// method id "dfareporting.countries.list":
23180
23181type CountriesListCall struct {
23182	s            *Service
23183	profileId    int64
23184	urlParams_   gensupport.URLParams
23185	ifNoneMatch_ string
23186	ctx_         context.Context
23187	header_      http.Header
23188}
23189
23190// List: Retrieves a list of countries.
23191func (r *CountriesService) List(profileId int64) *CountriesListCall {
23192	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23193	c.profileId = profileId
23194	return c
23195}
23196
23197// Fields allows partial responses to be retrieved. See
23198// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23199// for more information.
23200func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
23201	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23202	return c
23203}
23204
23205// IfNoneMatch sets the optional parameter which makes the operation
23206// fail if the object's ETag matches the given value. This is useful for
23207// getting updates only after the object has changed since the last
23208// request. Use googleapi.IsNotModified to check whether the response
23209// error from Do is the result of In-None-Match.
23210func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
23211	c.ifNoneMatch_ = entityTag
23212	return c
23213}
23214
23215// Context sets the context to be used in this call's Do method. Any
23216// pending HTTP request will be aborted if the provided context is
23217// canceled.
23218func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
23219	c.ctx_ = ctx
23220	return c
23221}
23222
23223// Header returns an http.Header that can be modified by the caller to
23224// add HTTP headers to the request.
23225func (c *CountriesListCall) Header() http.Header {
23226	if c.header_ == nil {
23227		c.header_ = make(http.Header)
23228	}
23229	return c.header_
23230}
23231
23232func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
23233	reqHeaders := make(http.Header)
23234	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23235	for k, v := range c.header_ {
23236		reqHeaders[k] = v
23237	}
23238	reqHeaders.Set("User-Agent", c.s.userAgent())
23239	if c.ifNoneMatch_ != "" {
23240		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23241	}
23242	var body io.Reader = nil
23243	c.urlParams_.Set("alt", alt)
23244	c.urlParams_.Set("prettyPrint", "false")
23245	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
23246	urls += "?" + c.urlParams_.Encode()
23247	req, err := http.NewRequest("GET", urls, body)
23248	if err != nil {
23249		return nil, err
23250	}
23251	req.Header = reqHeaders
23252	googleapi.Expand(req.URL, map[string]string{
23253		"profileId": strconv.FormatInt(c.profileId, 10),
23254	})
23255	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23256}
23257
23258// Do executes the "dfareporting.countries.list" call.
23259// Exactly one of *CountriesListResponse or error will be non-nil. Any
23260// non-2xx status code is an error. Response headers are in either
23261// *CountriesListResponse.ServerResponse.Header or (if a response was
23262// returned at all) in error.(*googleapi.Error).Header. Use
23263// googleapi.IsNotModified to check whether the returned error was
23264// because http.StatusNotModified was returned.
23265func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
23266	gensupport.SetOptions(c.urlParams_, opts...)
23267	res, err := c.doRequest("json")
23268	if res != nil && res.StatusCode == http.StatusNotModified {
23269		if res.Body != nil {
23270			res.Body.Close()
23271		}
23272		return nil, &googleapi.Error{
23273			Code:   res.StatusCode,
23274			Header: res.Header,
23275		}
23276	}
23277	if err != nil {
23278		return nil, err
23279	}
23280	defer googleapi.CloseBody(res)
23281	if err := googleapi.CheckResponse(res); err != nil {
23282		return nil, err
23283	}
23284	ret := &CountriesListResponse{
23285		ServerResponse: googleapi.ServerResponse{
23286			Header:         res.Header,
23287			HTTPStatusCode: res.StatusCode,
23288		},
23289	}
23290	target := &ret
23291	if err := gensupport.DecodeResponse(target, res); err != nil {
23292		return nil, err
23293	}
23294	return ret, nil
23295	// {
23296	//   "description": "Retrieves a list of countries.",
23297	//   "httpMethod": "GET",
23298	//   "id": "dfareporting.countries.list",
23299	//   "parameterOrder": [
23300	//     "profileId"
23301	//   ],
23302	//   "parameters": {
23303	//     "profileId": {
23304	//       "description": "User profile ID associated with this request.",
23305	//       "format": "int64",
23306	//       "location": "path",
23307	//       "required": true,
23308	//       "type": "string"
23309	//     }
23310	//   },
23311	//   "path": "userprofiles/{profileId}/countries",
23312	//   "response": {
23313	//     "$ref": "CountriesListResponse"
23314	//   },
23315	//   "scopes": [
23316	//     "https://www.googleapis.com/auth/dfatrafficking"
23317	//   ]
23318	// }
23319
23320}
23321
23322// method id "dfareporting.creativeAssets.insert":
23323
23324type CreativeAssetsInsertCall struct {
23325	s                     *Service
23326	profileId             int64
23327	advertiserId          int64
23328	creativeassetmetadata *CreativeAssetMetadata
23329	urlParams_            gensupport.URLParams
23330	mediaInfo_            *gensupport.MediaInfo
23331	ctx_                  context.Context
23332	header_               http.Header
23333}
23334
23335// Insert: Inserts a new creative asset.
23336func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
23337	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23338	c.profileId = profileId
23339	c.advertiserId = advertiserId
23340	c.creativeassetmetadata = creativeassetmetadata
23341	return c
23342}
23343
23344// Media specifies the media to upload in one or more chunks. The chunk
23345// size may be controlled by supplying a MediaOption generated by
23346// googleapi.ChunkSize. The chunk size defaults to
23347// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
23348// upload request will be determined by sniffing the contents of r,
23349// unless a MediaOption generated by googleapi.ContentType is
23350// supplied.
23351// At most one of Media and ResumableMedia may be set.
23352func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
23353	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
23354	return c
23355}
23356
23357// ResumableMedia specifies the media to upload in chunks and can be
23358// canceled with ctx.
23359//
23360// Deprecated: use Media instead.
23361//
23362// At most one of Media and ResumableMedia may be set. mediaType
23363// identifies the MIME media type of the upload, such as "image/png". If
23364// mediaType is "", it will be auto-detected. The provided ctx will
23365// supersede any context previously provided to the Context method.
23366func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
23367	c.ctx_ = ctx
23368	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
23369	return c
23370}
23371
23372// ProgressUpdater provides a callback function that will be called
23373// after every chunk. It should be a low-latency function in order to
23374// not slow down the upload operation. This should only be called when
23375// using ResumableMedia (as opposed to Media).
23376func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
23377	c.mediaInfo_.SetProgressUpdater(pu)
23378	return c
23379}
23380
23381// Fields allows partial responses to be retrieved. See
23382// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23383// for more information.
23384func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
23385	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23386	return c
23387}
23388
23389// Context sets the context to be used in this call's Do method. Any
23390// pending HTTP request will be aborted if the provided context is
23391// canceled.
23392// This context will supersede any context previously provided to the
23393// ResumableMedia method.
23394func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
23395	c.ctx_ = ctx
23396	return c
23397}
23398
23399// Header returns an http.Header that can be modified by the caller to
23400// add HTTP headers to the request.
23401func (c *CreativeAssetsInsertCall) Header() http.Header {
23402	if c.header_ == nil {
23403		c.header_ = make(http.Header)
23404	}
23405	return c.header_
23406}
23407
23408func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
23409	reqHeaders := make(http.Header)
23410	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23411	for k, v := range c.header_ {
23412		reqHeaders[k] = v
23413	}
23414	reqHeaders.Set("User-Agent", c.s.userAgent())
23415	var body io.Reader = nil
23416	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
23417	if err != nil {
23418		return nil, err
23419	}
23420	reqHeaders.Set("Content-Type", "application/json")
23421	c.urlParams_.Set("alt", alt)
23422	c.urlParams_.Set("prettyPrint", "false")
23423	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
23424	if c.mediaInfo_ != nil {
23425		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v2.7/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
23426		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
23427	}
23428	if body == nil {
23429		body = new(bytes.Buffer)
23430		reqHeaders.Set("Content-Type", "application/json")
23431	}
23432	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
23433	defer cleanup()
23434	urls += "?" + c.urlParams_.Encode()
23435	req, err := http.NewRequest("POST", urls, body)
23436	if err != nil {
23437		return nil, err
23438	}
23439	req.Header = reqHeaders
23440	req.GetBody = getBody
23441	googleapi.Expand(req.URL, map[string]string{
23442		"profileId":    strconv.FormatInt(c.profileId, 10),
23443		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23444	})
23445	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23446}
23447
23448// Do executes the "dfareporting.creativeAssets.insert" call.
23449// Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
23450// non-2xx status code is an error. Response headers are in either
23451// *CreativeAssetMetadata.ServerResponse.Header or (if a response was
23452// returned at all) in error.(*googleapi.Error).Header. Use
23453// googleapi.IsNotModified to check whether the returned error was
23454// because http.StatusNotModified was returned.
23455func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
23456	gensupport.SetOptions(c.urlParams_, opts...)
23457	res, err := c.doRequest("json")
23458	if res != nil && res.StatusCode == http.StatusNotModified {
23459		if res.Body != nil {
23460			res.Body.Close()
23461		}
23462		return nil, &googleapi.Error{
23463			Code:   res.StatusCode,
23464			Header: res.Header,
23465		}
23466	}
23467	if err != nil {
23468		return nil, err
23469	}
23470	defer googleapi.CloseBody(res)
23471	if err := googleapi.CheckResponse(res); err != nil {
23472		return nil, err
23473	}
23474	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
23475	if rx != nil {
23476		rx.Client = c.s.client
23477		rx.UserAgent = c.s.userAgent()
23478		ctx := c.ctx_
23479		if ctx == nil {
23480			ctx = context.TODO()
23481		}
23482		res, err = rx.Upload(ctx)
23483		if err != nil {
23484			return nil, err
23485		}
23486		defer res.Body.Close()
23487		if err := googleapi.CheckResponse(res); err != nil {
23488			return nil, err
23489		}
23490	}
23491	ret := &CreativeAssetMetadata{
23492		ServerResponse: googleapi.ServerResponse{
23493			Header:         res.Header,
23494			HTTPStatusCode: res.StatusCode,
23495		},
23496	}
23497	target := &ret
23498	if err := gensupport.DecodeResponse(target, res); err != nil {
23499		return nil, err
23500	}
23501	return ret, nil
23502	// {
23503	//   "description": "Inserts a new creative asset.",
23504	//   "httpMethod": "POST",
23505	//   "id": "dfareporting.creativeAssets.insert",
23506	//   "mediaUpload": {
23507	//     "accept": [
23508	//       "*/*"
23509	//     ],
23510	//     "maxSize": "1024MB",
23511	//     "protocols": {
23512	//       "resumable": {
23513	//         "multipart": true,
23514	//         "path": "/resumable/upload/dfareporting/v2.7/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
23515	//       },
23516	//       "simple": {
23517	//         "multipart": true,
23518	//         "path": "/upload/dfareporting/v2.7/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
23519	//       }
23520	//     }
23521	//   },
23522	//   "parameterOrder": [
23523	//     "profileId",
23524	//     "advertiserId"
23525	//   ],
23526	//   "parameters": {
23527	//     "advertiserId": {
23528	//       "description": "Advertiser ID of this creative. This is a required field.",
23529	//       "format": "int64",
23530	//       "location": "path",
23531	//       "required": true,
23532	//       "type": "string"
23533	//     },
23534	//     "profileId": {
23535	//       "description": "User profile ID associated with this request.",
23536	//       "format": "int64",
23537	//       "location": "path",
23538	//       "required": true,
23539	//       "type": "string"
23540	//     }
23541	//   },
23542	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
23543	//   "request": {
23544	//     "$ref": "CreativeAssetMetadata"
23545	//   },
23546	//   "response": {
23547	//     "$ref": "CreativeAssetMetadata"
23548	//   },
23549	//   "scopes": [
23550	//     "https://www.googleapis.com/auth/dfatrafficking"
23551	//   ],
23552	//   "supportsMediaUpload": true
23553	// }
23554
23555}
23556
23557// method id "dfareporting.creativeFieldValues.delete":
23558
23559type CreativeFieldValuesDeleteCall struct {
23560	s               *Service
23561	profileId       int64
23562	creativeFieldId int64
23563	id              int64
23564	urlParams_      gensupport.URLParams
23565	ctx_            context.Context
23566	header_         http.Header
23567}
23568
23569// Delete: Deletes an existing creative field value.
23570func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
23571	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23572	c.profileId = profileId
23573	c.creativeFieldId = creativeFieldId
23574	c.id = id
23575	return c
23576}
23577
23578// Fields allows partial responses to be retrieved. See
23579// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23580// for more information.
23581func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
23582	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23583	return c
23584}
23585
23586// Context sets the context to be used in this call's Do method. Any
23587// pending HTTP request will be aborted if the provided context is
23588// canceled.
23589func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
23590	c.ctx_ = ctx
23591	return c
23592}
23593
23594// Header returns an http.Header that can be modified by the caller to
23595// add HTTP headers to the request.
23596func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
23597	if c.header_ == nil {
23598		c.header_ = make(http.Header)
23599	}
23600	return c.header_
23601}
23602
23603func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
23604	reqHeaders := make(http.Header)
23605	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23606	for k, v := range c.header_ {
23607		reqHeaders[k] = v
23608	}
23609	reqHeaders.Set("User-Agent", c.s.userAgent())
23610	var body io.Reader = nil
23611	c.urlParams_.Set("alt", alt)
23612	c.urlParams_.Set("prettyPrint", "false")
23613	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
23614	urls += "?" + c.urlParams_.Encode()
23615	req, err := http.NewRequest("DELETE", urls, body)
23616	if err != nil {
23617		return nil, err
23618	}
23619	req.Header = reqHeaders
23620	googleapi.Expand(req.URL, map[string]string{
23621		"profileId":       strconv.FormatInt(c.profileId, 10),
23622		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
23623		"id":              strconv.FormatInt(c.id, 10),
23624	})
23625	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23626}
23627
23628// Do executes the "dfareporting.creativeFieldValues.delete" call.
23629func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
23630	gensupport.SetOptions(c.urlParams_, opts...)
23631	res, err := c.doRequest("json")
23632	if err != nil {
23633		return err
23634	}
23635	defer googleapi.CloseBody(res)
23636	if err := googleapi.CheckResponse(res); err != nil {
23637		return err
23638	}
23639	return nil
23640	// {
23641	//   "description": "Deletes an existing creative field value.",
23642	//   "httpMethod": "DELETE",
23643	//   "id": "dfareporting.creativeFieldValues.delete",
23644	//   "parameterOrder": [
23645	//     "profileId",
23646	//     "creativeFieldId",
23647	//     "id"
23648	//   ],
23649	//   "parameters": {
23650	//     "creativeFieldId": {
23651	//       "description": "Creative field ID for this creative field value.",
23652	//       "format": "int64",
23653	//       "location": "path",
23654	//       "required": true,
23655	//       "type": "string"
23656	//     },
23657	//     "id": {
23658	//       "description": "Creative Field Value ID",
23659	//       "format": "int64",
23660	//       "location": "path",
23661	//       "required": true,
23662	//       "type": "string"
23663	//     },
23664	//     "profileId": {
23665	//       "description": "User profile ID associated with this request.",
23666	//       "format": "int64",
23667	//       "location": "path",
23668	//       "required": true,
23669	//       "type": "string"
23670	//     }
23671	//   },
23672	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
23673	//   "scopes": [
23674	//     "https://www.googleapis.com/auth/dfatrafficking"
23675	//   ]
23676	// }
23677
23678}
23679
23680// method id "dfareporting.creativeFieldValues.get":
23681
23682type CreativeFieldValuesGetCall struct {
23683	s               *Service
23684	profileId       int64
23685	creativeFieldId int64
23686	id              int64
23687	urlParams_      gensupport.URLParams
23688	ifNoneMatch_    string
23689	ctx_            context.Context
23690	header_         http.Header
23691}
23692
23693// Get: Gets one creative field value by ID.
23694func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
23695	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23696	c.profileId = profileId
23697	c.creativeFieldId = creativeFieldId
23698	c.id = id
23699	return c
23700}
23701
23702// Fields allows partial responses to be retrieved. See
23703// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23704// for more information.
23705func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
23706	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23707	return c
23708}
23709
23710// IfNoneMatch sets the optional parameter which makes the operation
23711// fail if the object's ETag matches the given value. This is useful for
23712// getting updates only after the object has changed since the last
23713// request. Use googleapi.IsNotModified to check whether the response
23714// error from Do is the result of In-None-Match.
23715func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
23716	c.ifNoneMatch_ = entityTag
23717	return c
23718}
23719
23720// Context sets the context to be used in this call's Do method. Any
23721// pending HTTP request will be aborted if the provided context is
23722// canceled.
23723func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
23724	c.ctx_ = ctx
23725	return c
23726}
23727
23728// Header returns an http.Header that can be modified by the caller to
23729// add HTTP headers to the request.
23730func (c *CreativeFieldValuesGetCall) Header() http.Header {
23731	if c.header_ == nil {
23732		c.header_ = make(http.Header)
23733	}
23734	return c.header_
23735}
23736
23737func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
23738	reqHeaders := make(http.Header)
23739	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23740	for k, v := range c.header_ {
23741		reqHeaders[k] = v
23742	}
23743	reqHeaders.Set("User-Agent", c.s.userAgent())
23744	if c.ifNoneMatch_ != "" {
23745		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23746	}
23747	var body io.Reader = nil
23748	c.urlParams_.Set("alt", alt)
23749	c.urlParams_.Set("prettyPrint", "false")
23750	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
23751	urls += "?" + c.urlParams_.Encode()
23752	req, err := http.NewRequest("GET", urls, body)
23753	if err != nil {
23754		return nil, err
23755	}
23756	req.Header = reqHeaders
23757	googleapi.Expand(req.URL, map[string]string{
23758		"profileId":       strconv.FormatInt(c.profileId, 10),
23759		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
23760		"id":              strconv.FormatInt(c.id, 10),
23761	})
23762	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23763}
23764
23765// Do executes the "dfareporting.creativeFieldValues.get" call.
23766// Exactly one of *CreativeFieldValue or error will be non-nil. Any
23767// non-2xx status code is an error. Response headers are in either
23768// *CreativeFieldValue.ServerResponse.Header or (if a response was
23769// returned at all) in error.(*googleapi.Error).Header. Use
23770// googleapi.IsNotModified to check whether the returned error was
23771// because http.StatusNotModified was returned.
23772func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
23773	gensupport.SetOptions(c.urlParams_, opts...)
23774	res, err := c.doRequest("json")
23775	if res != nil && res.StatusCode == http.StatusNotModified {
23776		if res.Body != nil {
23777			res.Body.Close()
23778		}
23779		return nil, &googleapi.Error{
23780			Code:   res.StatusCode,
23781			Header: res.Header,
23782		}
23783	}
23784	if err != nil {
23785		return nil, err
23786	}
23787	defer googleapi.CloseBody(res)
23788	if err := googleapi.CheckResponse(res); err != nil {
23789		return nil, err
23790	}
23791	ret := &CreativeFieldValue{
23792		ServerResponse: googleapi.ServerResponse{
23793			Header:         res.Header,
23794			HTTPStatusCode: res.StatusCode,
23795		},
23796	}
23797	target := &ret
23798	if err := gensupport.DecodeResponse(target, res); err != nil {
23799		return nil, err
23800	}
23801	return ret, nil
23802	// {
23803	//   "description": "Gets one creative field value by ID.",
23804	//   "httpMethod": "GET",
23805	//   "id": "dfareporting.creativeFieldValues.get",
23806	//   "parameterOrder": [
23807	//     "profileId",
23808	//     "creativeFieldId",
23809	//     "id"
23810	//   ],
23811	//   "parameters": {
23812	//     "creativeFieldId": {
23813	//       "description": "Creative field ID for this creative field value.",
23814	//       "format": "int64",
23815	//       "location": "path",
23816	//       "required": true,
23817	//       "type": "string"
23818	//     },
23819	//     "id": {
23820	//       "description": "Creative Field Value ID",
23821	//       "format": "int64",
23822	//       "location": "path",
23823	//       "required": true,
23824	//       "type": "string"
23825	//     },
23826	//     "profileId": {
23827	//       "description": "User profile ID associated with this request.",
23828	//       "format": "int64",
23829	//       "location": "path",
23830	//       "required": true,
23831	//       "type": "string"
23832	//     }
23833	//   },
23834	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
23835	//   "response": {
23836	//     "$ref": "CreativeFieldValue"
23837	//   },
23838	//   "scopes": [
23839	//     "https://www.googleapis.com/auth/dfatrafficking"
23840	//   ]
23841	// }
23842
23843}
23844
23845// method id "dfareporting.creativeFieldValues.insert":
23846
23847type CreativeFieldValuesInsertCall struct {
23848	s                  *Service
23849	profileId          int64
23850	creativeFieldId    int64
23851	creativefieldvalue *CreativeFieldValue
23852	urlParams_         gensupport.URLParams
23853	ctx_               context.Context
23854	header_            http.Header
23855}
23856
23857// Insert: Inserts a new creative field value.
23858func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
23859	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23860	c.profileId = profileId
23861	c.creativeFieldId = creativeFieldId
23862	c.creativefieldvalue = creativefieldvalue
23863	return c
23864}
23865
23866// Fields allows partial responses to be retrieved. See
23867// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23868// for more information.
23869func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
23870	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23871	return c
23872}
23873
23874// Context sets the context to be used in this call's Do method. Any
23875// pending HTTP request will be aborted if the provided context is
23876// canceled.
23877func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
23878	c.ctx_ = ctx
23879	return c
23880}
23881
23882// Header returns an http.Header that can be modified by the caller to
23883// add HTTP headers to the request.
23884func (c *CreativeFieldValuesInsertCall) Header() http.Header {
23885	if c.header_ == nil {
23886		c.header_ = make(http.Header)
23887	}
23888	return c.header_
23889}
23890
23891func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
23892	reqHeaders := make(http.Header)
23893	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23894	for k, v := range c.header_ {
23895		reqHeaders[k] = v
23896	}
23897	reqHeaders.Set("User-Agent", c.s.userAgent())
23898	var body io.Reader = nil
23899	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
23900	if err != nil {
23901		return nil, err
23902	}
23903	reqHeaders.Set("Content-Type", "application/json")
23904	c.urlParams_.Set("alt", alt)
23905	c.urlParams_.Set("prettyPrint", "false")
23906	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
23907	urls += "?" + c.urlParams_.Encode()
23908	req, err := http.NewRequest("POST", urls, body)
23909	if err != nil {
23910		return nil, err
23911	}
23912	req.Header = reqHeaders
23913	googleapi.Expand(req.URL, map[string]string{
23914		"profileId":       strconv.FormatInt(c.profileId, 10),
23915		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
23916	})
23917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23918}
23919
23920// Do executes the "dfareporting.creativeFieldValues.insert" call.
23921// Exactly one of *CreativeFieldValue or error will be non-nil. Any
23922// non-2xx status code is an error. Response headers are in either
23923// *CreativeFieldValue.ServerResponse.Header or (if a response was
23924// returned at all) in error.(*googleapi.Error).Header. Use
23925// googleapi.IsNotModified to check whether the returned error was
23926// because http.StatusNotModified was returned.
23927func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
23928	gensupport.SetOptions(c.urlParams_, opts...)
23929	res, err := c.doRequest("json")
23930	if res != nil && res.StatusCode == http.StatusNotModified {
23931		if res.Body != nil {
23932			res.Body.Close()
23933		}
23934		return nil, &googleapi.Error{
23935			Code:   res.StatusCode,
23936			Header: res.Header,
23937		}
23938	}
23939	if err != nil {
23940		return nil, err
23941	}
23942	defer googleapi.CloseBody(res)
23943	if err := googleapi.CheckResponse(res); err != nil {
23944		return nil, err
23945	}
23946	ret := &CreativeFieldValue{
23947		ServerResponse: googleapi.ServerResponse{
23948			Header:         res.Header,
23949			HTTPStatusCode: res.StatusCode,
23950		},
23951	}
23952	target := &ret
23953	if err := gensupport.DecodeResponse(target, res); err != nil {
23954		return nil, err
23955	}
23956	return ret, nil
23957	// {
23958	//   "description": "Inserts a new creative field value.",
23959	//   "httpMethod": "POST",
23960	//   "id": "dfareporting.creativeFieldValues.insert",
23961	//   "parameterOrder": [
23962	//     "profileId",
23963	//     "creativeFieldId"
23964	//   ],
23965	//   "parameters": {
23966	//     "creativeFieldId": {
23967	//       "description": "Creative field ID for this creative field value.",
23968	//       "format": "int64",
23969	//       "location": "path",
23970	//       "required": true,
23971	//       "type": "string"
23972	//     },
23973	//     "profileId": {
23974	//       "description": "User profile ID associated with this request.",
23975	//       "format": "int64",
23976	//       "location": "path",
23977	//       "required": true,
23978	//       "type": "string"
23979	//     }
23980	//   },
23981	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
23982	//   "request": {
23983	//     "$ref": "CreativeFieldValue"
23984	//   },
23985	//   "response": {
23986	//     "$ref": "CreativeFieldValue"
23987	//   },
23988	//   "scopes": [
23989	//     "https://www.googleapis.com/auth/dfatrafficking"
23990	//   ]
23991	// }
23992
23993}
23994
23995// method id "dfareporting.creativeFieldValues.list":
23996
23997type CreativeFieldValuesListCall struct {
23998	s               *Service
23999	profileId       int64
24000	creativeFieldId int64
24001	urlParams_      gensupport.URLParams
24002	ifNoneMatch_    string
24003	ctx_            context.Context
24004	header_         http.Header
24005}
24006
24007// List: Retrieves a list of creative field values, possibly filtered.
24008// This method supports paging.
24009func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
24010	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24011	c.profileId = profileId
24012	c.creativeFieldId = creativeFieldId
24013	return c
24014}
24015
24016// Ids sets the optional parameter "ids": Select only creative field
24017// values with these IDs.
24018func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
24019	var ids_ []string
24020	for _, v := range ids {
24021		ids_ = append(ids_, fmt.Sprint(v))
24022	}
24023	c.urlParams_.SetMulti("ids", ids_)
24024	return c
24025}
24026
24027// MaxResults sets the optional parameter "maxResults": Maximum number
24028// of results to return.
24029func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
24030	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
24031	return c
24032}
24033
24034// PageToken sets the optional parameter "pageToken": Value of the
24035// nextPageToken from the previous result page.
24036func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
24037	c.urlParams_.Set("pageToken", pageToken)
24038	return c
24039}
24040
24041// SearchString sets the optional parameter "searchString": Allows
24042// searching for creative field values by their values. Wildcards (e.g.
24043// *) are not allowed.
24044func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
24045	c.urlParams_.Set("searchString", searchString)
24046	return c
24047}
24048
24049// SortField sets the optional parameter "sortField": Field by which to
24050// sort the list.
24051//
24052// Possible values:
24053//   "ID" (default)
24054//   "VALUE"
24055func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
24056	c.urlParams_.Set("sortField", sortField)
24057	return c
24058}
24059
24060// SortOrder sets the optional parameter "sortOrder": Order of sorted
24061// results.
24062//
24063// Possible values:
24064//   "ASCENDING" (default)
24065//   "DESCENDING"
24066func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
24067	c.urlParams_.Set("sortOrder", sortOrder)
24068	return c
24069}
24070
24071// Fields allows partial responses to be retrieved. See
24072// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24073// for more information.
24074func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
24075	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24076	return c
24077}
24078
24079// IfNoneMatch sets the optional parameter which makes the operation
24080// fail if the object's ETag matches the given value. This is useful for
24081// getting updates only after the object has changed since the last
24082// request. Use googleapi.IsNotModified to check whether the response
24083// error from Do is the result of In-None-Match.
24084func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
24085	c.ifNoneMatch_ = entityTag
24086	return c
24087}
24088
24089// Context sets the context to be used in this call's Do method. Any
24090// pending HTTP request will be aborted if the provided context is
24091// canceled.
24092func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
24093	c.ctx_ = ctx
24094	return c
24095}
24096
24097// Header returns an http.Header that can be modified by the caller to
24098// add HTTP headers to the request.
24099func (c *CreativeFieldValuesListCall) Header() http.Header {
24100	if c.header_ == nil {
24101		c.header_ = make(http.Header)
24102	}
24103	return c.header_
24104}
24105
24106func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
24107	reqHeaders := make(http.Header)
24108	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24109	for k, v := range c.header_ {
24110		reqHeaders[k] = v
24111	}
24112	reqHeaders.Set("User-Agent", c.s.userAgent())
24113	if c.ifNoneMatch_ != "" {
24114		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24115	}
24116	var body io.Reader = nil
24117	c.urlParams_.Set("alt", alt)
24118	c.urlParams_.Set("prettyPrint", "false")
24119	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
24120	urls += "?" + c.urlParams_.Encode()
24121	req, err := http.NewRequest("GET", urls, body)
24122	if err != nil {
24123		return nil, err
24124	}
24125	req.Header = reqHeaders
24126	googleapi.Expand(req.URL, map[string]string{
24127		"profileId":       strconv.FormatInt(c.profileId, 10),
24128		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
24129	})
24130	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24131}
24132
24133// Do executes the "dfareporting.creativeFieldValues.list" call.
24134// Exactly one of *CreativeFieldValuesListResponse or error will be
24135// non-nil. Any non-2xx status code is an error. Response headers are in
24136// either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
24137// a response was returned at all) in error.(*googleapi.Error).Header.
24138// Use googleapi.IsNotModified to check whether the returned error was
24139// because http.StatusNotModified was returned.
24140func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
24141	gensupport.SetOptions(c.urlParams_, opts...)
24142	res, err := c.doRequest("json")
24143	if res != nil && res.StatusCode == http.StatusNotModified {
24144		if res.Body != nil {
24145			res.Body.Close()
24146		}
24147		return nil, &googleapi.Error{
24148			Code:   res.StatusCode,
24149			Header: res.Header,
24150		}
24151	}
24152	if err != nil {
24153		return nil, err
24154	}
24155	defer googleapi.CloseBody(res)
24156	if err := googleapi.CheckResponse(res); err != nil {
24157		return nil, err
24158	}
24159	ret := &CreativeFieldValuesListResponse{
24160		ServerResponse: googleapi.ServerResponse{
24161			Header:         res.Header,
24162			HTTPStatusCode: res.StatusCode,
24163		},
24164	}
24165	target := &ret
24166	if err := gensupport.DecodeResponse(target, res); err != nil {
24167		return nil, err
24168	}
24169	return ret, nil
24170	// {
24171	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
24172	//   "httpMethod": "GET",
24173	//   "id": "dfareporting.creativeFieldValues.list",
24174	//   "parameterOrder": [
24175	//     "profileId",
24176	//     "creativeFieldId"
24177	//   ],
24178	//   "parameters": {
24179	//     "creativeFieldId": {
24180	//       "description": "Creative field ID for this creative field value.",
24181	//       "format": "int64",
24182	//       "location": "path",
24183	//       "required": true,
24184	//       "type": "string"
24185	//     },
24186	//     "ids": {
24187	//       "description": "Select only creative field values with these IDs.",
24188	//       "format": "int64",
24189	//       "location": "query",
24190	//       "repeated": true,
24191	//       "type": "string"
24192	//     },
24193	//     "maxResults": {
24194	//       "default": "1000",
24195	//       "description": "Maximum number of results to return.",
24196	//       "format": "int32",
24197	//       "location": "query",
24198	//       "maximum": "1000",
24199	//       "minimum": "0",
24200	//       "type": "integer"
24201	//     },
24202	//     "pageToken": {
24203	//       "description": "Value of the nextPageToken from the previous result page.",
24204	//       "location": "query",
24205	//       "type": "string"
24206	//     },
24207	//     "profileId": {
24208	//       "description": "User profile ID associated with this request.",
24209	//       "format": "int64",
24210	//       "location": "path",
24211	//       "required": true,
24212	//       "type": "string"
24213	//     },
24214	//     "searchString": {
24215	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
24216	//       "location": "query",
24217	//       "type": "string"
24218	//     },
24219	//     "sortField": {
24220	//       "default": "ID",
24221	//       "description": "Field by which to sort the list.",
24222	//       "enum": [
24223	//         "ID",
24224	//         "VALUE"
24225	//       ],
24226	//       "enumDescriptions": [
24227	//         "",
24228	//         ""
24229	//       ],
24230	//       "location": "query",
24231	//       "type": "string"
24232	//     },
24233	//     "sortOrder": {
24234	//       "default": "ASCENDING",
24235	//       "description": "Order of sorted results.",
24236	//       "enum": [
24237	//         "ASCENDING",
24238	//         "DESCENDING"
24239	//       ],
24240	//       "enumDescriptions": [
24241	//         "",
24242	//         ""
24243	//       ],
24244	//       "location": "query",
24245	//       "type": "string"
24246	//     }
24247	//   },
24248	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
24249	//   "response": {
24250	//     "$ref": "CreativeFieldValuesListResponse"
24251	//   },
24252	//   "scopes": [
24253	//     "https://www.googleapis.com/auth/dfatrafficking"
24254	//   ]
24255	// }
24256
24257}
24258
24259// Pages invokes f for each page of results.
24260// A non-nil error returned from f will halt the iteration.
24261// The provided context supersedes any context provided to the Context method.
24262func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
24263	c.ctx_ = ctx
24264	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
24265	for {
24266		x, err := c.Do()
24267		if err != nil {
24268			return err
24269		}
24270		if err := f(x); err != nil {
24271			return err
24272		}
24273		if x.NextPageToken == "" {
24274			return nil
24275		}
24276		c.PageToken(x.NextPageToken)
24277	}
24278}
24279
24280// method id "dfareporting.creativeFieldValues.patch":
24281
24282type CreativeFieldValuesPatchCall struct {
24283	s                  *Service
24284	profileId          int64
24285	creativeFieldId    int64
24286	creativefieldvalue *CreativeFieldValue
24287	urlParams_         gensupport.URLParams
24288	ctx_               context.Context
24289	header_            http.Header
24290}
24291
24292// Patch: Updates an existing creative field value. This method supports
24293// patch semantics.
24294func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
24295	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24296	c.profileId = profileId
24297	c.creativeFieldId = creativeFieldId
24298	c.urlParams_.Set("id", fmt.Sprint(id))
24299	c.creativefieldvalue = creativefieldvalue
24300	return c
24301}
24302
24303// Fields allows partial responses to be retrieved. See
24304// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24305// for more information.
24306func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
24307	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24308	return c
24309}
24310
24311// Context sets the context to be used in this call's Do method. Any
24312// pending HTTP request will be aborted if the provided context is
24313// canceled.
24314func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
24315	c.ctx_ = ctx
24316	return c
24317}
24318
24319// Header returns an http.Header that can be modified by the caller to
24320// add HTTP headers to the request.
24321func (c *CreativeFieldValuesPatchCall) Header() http.Header {
24322	if c.header_ == nil {
24323		c.header_ = make(http.Header)
24324	}
24325	return c.header_
24326}
24327
24328func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
24329	reqHeaders := make(http.Header)
24330	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24331	for k, v := range c.header_ {
24332		reqHeaders[k] = v
24333	}
24334	reqHeaders.Set("User-Agent", c.s.userAgent())
24335	var body io.Reader = nil
24336	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
24337	if err != nil {
24338		return nil, err
24339	}
24340	reqHeaders.Set("Content-Type", "application/json")
24341	c.urlParams_.Set("alt", alt)
24342	c.urlParams_.Set("prettyPrint", "false")
24343	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
24344	urls += "?" + c.urlParams_.Encode()
24345	req, err := http.NewRequest("PATCH", urls, body)
24346	if err != nil {
24347		return nil, err
24348	}
24349	req.Header = reqHeaders
24350	googleapi.Expand(req.URL, map[string]string{
24351		"profileId":       strconv.FormatInt(c.profileId, 10),
24352		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
24353	})
24354	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24355}
24356
24357// Do executes the "dfareporting.creativeFieldValues.patch" call.
24358// Exactly one of *CreativeFieldValue or error will be non-nil. Any
24359// non-2xx status code is an error. Response headers are in either
24360// *CreativeFieldValue.ServerResponse.Header or (if a response was
24361// returned at all) in error.(*googleapi.Error).Header. Use
24362// googleapi.IsNotModified to check whether the returned error was
24363// because http.StatusNotModified was returned.
24364func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
24365	gensupport.SetOptions(c.urlParams_, opts...)
24366	res, err := c.doRequest("json")
24367	if res != nil && res.StatusCode == http.StatusNotModified {
24368		if res.Body != nil {
24369			res.Body.Close()
24370		}
24371		return nil, &googleapi.Error{
24372			Code:   res.StatusCode,
24373			Header: res.Header,
24374		}
24375	}
24376	if err != nil {
24377		return nil, err
24378	}
24379	defer googleapi.CloseBody(res)
24380	if err := googleapi.CheckResponse(res); err != nil {
24381		return nil, err
24382	}
24383	ret := &CreativeFieldValue{
24384		ServerResponse: googleapi.ServerResponse{
24385			Header:         res.Header,
24386			HTTPStatusCode: res.StatusCode,
24387		},
24388	}
24389	target := &ret
24390	if err := gensupport.DecodeResponse(target, res); err != nil {
24391		return nil, err
24392	}
24393	return ret, nil
24394	// {
24395	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
24396	//   "httpMethod": "PATCH",
24397	//   "id": "dfareporting.creativeFieldValues.patch",
24398	//   "parameterOrder": [
24399	//     "profileId",
24400	//     "creativeFieldId",
24401	//     "id"
24402	//   ],
24403	//   "parameters": {
24404	//     "creativeFieldId": {
24405	//       "description": "Creative field ID for this creative field value.",
24406	//       "format": "int64",
24407	//       "location": "path",
24408	//       "required": true,
24409	//       "type": "string"
24410	//     },
24411	//     "id": {
24412	//       "description": "Creative Field Value ID",
24413	//       "format": "int64",
24414	//       "location": "query",
24415	//       "required": true,
24416	//       "type": "string"
24417	//     },
24418	//     "profileId": {
24419	//       "description": "User profile ID associated with this request.",
24420	//       "format": "int64",
24421	//       "location": "path",
24422	//       "required": true,
24423	//       "type": "string"
24424	//     }
24425	//   },
24426	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
24427	//   "request": {
24428	//     "$ref": "CreativeFieldValue"
24429	//   },
24430	//   "response": {
24431	//     "$ref": "CreativeFieldValue"
24432	//   },
24433	//   "scopes": [
24434	//     "https://www.googleapis.com/auth/dfatrafficking"
24435	//   ]
24436	// }
24437
24438}
24439
24440// method id "dfareporting.creativeFieldValues.update":
24441
24442type CreativeFieldValuesUpdateCall struct {
24443	s                  *Service
24444	profileId          int64
24445	creativeFieldId    int64
24446	creativefieldvalue *CreativeFieldValue
24447	urlParams_         gensupport.URLParams
24448	ctx_               context.Context
24449	header_            http.Header
24450}
24451
24452// Update: Updates an existing creative field value.
24453func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
24454	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24455	c.profileId = profileId
24456	c.creativeFieldId = creativeFieldId
24457	c.creativefieldvalue = creativefieldvalue
24458	return c
24459}
24460
24461// Fields allows partial responses to be retrieved. See
24462// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24463// for more information.
24464func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
24465	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24466	return c
24467}
24468
24469// Context sets the context to be used in this call's Do method. Any
24470// pending HTTP request will be aborted if the provided context is
24471// canceled.
24472func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
24473	c.ctx_ = ctx
24474	return c
24475}
24476
24477// Header returns an http.Header that can be modified by the caller to
24478// add HTTP headers to the request.
24479func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
24480	if c.header_ == nil {
24481		c.header_ = make(http.Header)
24482	}
24483	return c.header_
24484}
24485
24486func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
24487	reqHeaders := make(http.Header)
24488	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24489	for k, v := range c.header_ {
24490		reqHeaders[k] = v
24491	}
24492	reqHeaders.Set("User-Agent", c.s.userAgent())
24493	var body io.Reader = nil
24494	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
24495	if err != nil {
24496		return nil, err
24497	}
24498	reqHeaders.Set("Content-Type", "application/json")
24499	c.urlParams_.Set("alt", alt)
24500	c.urlParams_.Set("prettyPrint", "false")
24501	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
24502	urls += "?" + c.urlParams_.Encode()
24503	req, err := http.NewRequest("PUT", urls, body)
24504	if err != nil {
24505		return nil, err
24506	}
24507	req.Header = reqHeaders
24508	googleapi.Expand(req.URL, map[string]string{
24509		"profileId":       strconv.FormatInt(c.profileId, 10),
24510		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
24511	})
24512	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24513}
24514
24515// Do executes the "dfareporting.creativeFieldValues.update" call.
24516// Exactly one of *CreativeFieldValue or error will be non-nil. Any
24517// non-2xx status code is an error. Response headers are in either
24518// *CreativeFieldValue.ServerResponse.Header or (if a response was
24519// returned at all) in error.(*googleapi.Error).Header. Use
24520// googleapi.IsNotModified to check whether the returned error was
24521// because http.StatusNotModified was returned.
24522func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
24523	gensupport.SetOptions(c.urlParams_, opts...)
24524	res, err := c.doRequest("json")
24525	if res != nil && res.StatusCode == http.StatusNotModified {
24526		if res.Body != nil {
24527			res.Body.Close()
24528		}
24529		return nil, &googleapi.Error{
24530			Code:   res.StatusCode,
24531			Header: res.Header,
24532		}
24533	}
24534	if err != nil {
24535		return nil, err
24536	}
24537	defer googleapi.CloseBody(res)
24538	if err := googleapi.CheckResponse(res); err != nil {
24539		return nil, err
24540	}
24541	ret := &CreativeFieldValue{
24542		ServerResponse: googleapi.ServerResponse{
24543			Header:         res.Header,
24544			HTTPStatusCode: res.StatusCode,
24545		},
24546	}
24547	target := &ret
24548	if err := gensupport.DecodeResponse(target, res); err != nil {
24549		return nil, err
24550	}
24551	return ret, nil
24552	// {
24553	//   "description": "Updates an existing creative field value.",
24554	//   "httpMethod": "PUT",
24555	//   "id": "dfareporting.creativeFieldValues.update",
24556	//   "parameterOrder": [
24557	//     "profileId",
24558	//     "creativeFieldId"
24559	//   ],
24560	//   "parameters": {
24561	//     "creativeFieldId": {
24562	//       "description": "Creative field ID for this creative field value.",
24563	//       "format": "int64",
24564	//       "location": "path",
24565	//       "required": true,
24566	//       "type": "string"
24567	//     },
24568	//     "profileId": {
24569	//       "description": "User profile ID associated with this request.",
24570	//       "format": "int64",
24571	//       "location": "path",
24572	//       "required": true,
24573	//       "type": "string"
24574	//     }
24575	//   },
24576	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
24577	//   "request": {
24578	//     "$ref": "CreativeFieldValue"
24579	//   },
24580	//   "response": {
24581	//     "$ref": "CreativeFieldValue"
24582	//   },
24583	//   "scopes": [
24584	//     "https://www.googleapis.com/auth/dfatrafficking"
24585	//   ]
24586	// }
24587
24588}
24589
24590// method id "dfareporting.creativeFields.delete":
24591
24592type CreativeFieldsDeleteCall struct {
24593	s          *Service
24594	profileId  int64
24595	id         int64
24596	urlParams_ gensupport.URLParams
24597	ctx_       context.Context
24598	header_    http.Header
24599}
24600
24601// Delete: Deletes an existing creative field.
24602func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
24603	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24604	c.profileId = profileId
24605	c.id = id
24606	return c
24607}
24608
24609// Fields allows partial responses to be retrieved. See
24610// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24611// for more information.
24612func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
24613	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24614	return c
24615}
24616
24617// Context sets the context to be used in this call's Do method. Any
24618// pending HTTP request will be aborted if the provided context is
24619// canceled.
24620func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
24621	c.ctx_ = ctx
24622	return c
24623}
24624
24625// Header returns an http.Header that can be modified by the caller to
24626// add HTTP headers to the request.
24627func (c *CreativeFieldsDeleteCall) Header() http.Header {
24628	if c.header_ == nil {
24629		c.header_ = make(http.Header)
24630	}
24631	return c.header_
24632}
24633
24634func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
24635	reqHeaders := make(http.Header)
24636	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24637	for k, v := range c.header_ {
24638		reqHeaders[k] = v
24639	}
24640	reqHeaders.Set("User-Agent", c.s.userAgent())
24641	var body io.Reader = nil
24642	c.urlParams_.Set("alt", alt)
24643	c.urlParams_.Set("prettyPrint", "false")
24644	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
24645	urls += "?" + c.urlParams_.Encode()
24646	req, err := http.NewRequest("DELETE", urls, body)
24647	if err != nil {
24648		return nil, err
24649	}
24650	req.Header = reqHeaders
24651	googleapi.Expand(req.URL, map[string]string{
24652		"profileId": strconv.FormatInt(c.profileId, 10),
24653		"id":        strconv.FormatInt(c.id, 10),
24654	})
24655	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24656}
24657
24658// Do executes the "dfareporting.creativeFields.delete" call.
24659func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
24660	gensupport.SetOptions(c.urlParams_, opts...)
24661	res, err := c.doRequest("json")
24662	if err != nil {
24663		return err
24664	}
24665	defer googleapi.CloseBody(res)
24666	if err := googleapi.CheckResponse(res); err != nil {
24667		return err
24668	}
24669	return nil
24670	// {
24671	//   "description": "Deletes an existing creative field.",
24672	//   "httpMethod": "DELETE",
24673	//   "id": "dfareporting.creativeFields.delete",
24674	//   "parameterOrder": [
24675	//     "profileId",
24676	//     "id"
24677	//   ],
24678	//   "parameters": {
24679	//     "id": {
24680	//       "description": "Creative Field ID",
24681	//       "format": "int64",
24682	//       "location": "path",
24683	//       "required": true,
24684	//       "type": "string"
24685	//     },
24686	//     "profileId": {
24687	//       "description": "User profile ID associated with this request.",
24688	//       "format": "int64",
24689	//       "location": "path",
24690	//       "required": true,
24691	//       "type": "string"
24692	//     }
24693	//   },
24694	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
24695	//   "scopes": [
24696	//     "https://www.googleapis.com/auth/dfatrafficking"
24697	//   ]
24698	// }
24699
24700}
24701
24702// method id "dfareporting.creativeFields.get":
24703
24704type CreativeFieldsGetCall struct {
24705	s            *Service
24706	profileId    int64
24707	id           int64
24708	urlParams_   gensupport.URLParams
24709	ifNoneMatch_ string
24710	ctx_         context.Context
24711	header_      http.Header
24712}
24713
24714// Get: Gets one creative field by ID.
24715func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
24716	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24717	c.profileId = profileId
24718	c.id = id
24719	return c
24720}
24721
24722// Fields allows partial responses to be retrieved. See
24723// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24724// for more information.
24725func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
24726	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24727	return c
24728}
24729
24730// IfNoneMatch sets the optional parameter which makes the operation
24731// fail if the object's ETag matches the given value. This is useful for
24732// getting updates only after the object has changed since the last
24733// request. Use googleapi.IsNotModified to check whether the response
24734// error from Do is the result of In-None-Match.
24735func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
24736	c.ifNoneMatch_ = entityTag
24737	return c
24738}
24739
24740// Context sets the context to be used in this call's Do method. Any
24741// pending HTTP request will be aborted if the provided context is
24742// canceled.
24743func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
24744	c.ctx_ = ctx
24745	return c
24746}
24747
24748// Header returns an http.Header that can be modified by the caller to
24749// add HTTP headers to the request.
24750func (c *CreativeFieldsGetCall) Header() http.Header {
24751	if c.header_ == nil {
24752		c.header_ = make(http.Header)
24753	}
24754	return c.header_
24755}
24756
24757func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
24758	reqHeaders := make(http.Header)
24759	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24760	for k, v := range c.header_ {
24761		reqHeaders[k] = v
24762	}
24763	reqHeaders.Set("User-Agent", c.s.userAgent())
24764	if c.ifNoneMatch_ != "" {
24765		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24766	}
24767	var body io.Reader = nil
24768	c.urlParams_.Set("alt", alt)
24769	c.urlParams_.Set("prettyPrint", "false")
24770	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
24771	urls += "?" + c.urlParams_.Encode()
24772	req, err := http.NewRequest("GET", urls, body)
24773	if err != nil {
24774		return nil, err
24775	}
24776	req.Header = reqHeaders
24777	googleapi.Expand(req.URL, map[string]string{
24778		"profileId": strconv.FormatInt(c.profileId, 10),
24779		"id":        strconv.FormatInt(c.id, 10),
24780	})
24781	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24782}
24783
24784// Do executes the "dfareporting.creativeFields.get" call.
24785// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
24786// status code is an error. Response headers are in either
24787// *CreativeField.ServerResponse.Header or (if a response was returned
24788// at all) in error.(*googleapi.Error).Header. Use
24789// googleapi.IsNotModified to check whether the returned error was
24790// because http.StatusNotModified was returned.
24791func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
24792	gensupport.SetOptions(c.urlParams_, opts...)
24793	res, err := c.doRequest("json")
24794	if res != nil && res.StatusCode == http.StatusNotModified {
24795		if res.Body != nil {
24796			res.Body.Close()
24797		}
24798		return nil, &googleapi.Error{
24799			Code:   res.StatusCode,
24800			Header: res.Header,
24801		}
24802	}
24803	if err != nil {
24804		return nil, err
24805	}
24806	defer googleapi.CloseBody(res)
24807	if err := googleapi.CheckResponse(res); err != nil {
24808		return nil, err
24809	}
24810	ret := &CreativeField{
24811		ServerResponse: googleapi.ServerResponse{
24812			Header:         res.Header,
24813			HTTPStatusCode: res.StatusCode,
24814		},
24815	}
24816	target := &ret
24817	if err := gensupport.DecodeResponse(target, res); err != nil {
24818		return nil, err
24819	}
24820	return ret, nil
24821	// {
24822	//   "description": "Gets one creative field by ID.",
24823	//   "httpMethod": "GET",
24824	//   "id": "dfareporting.creativeFields.get",
24825	//   "parameterOrder": [
24826	//     "profileId",
24827	//     "id"
24828	//   ],
24829	//   "parameters": {
24830	//     "id": {
24831	//       "description": "Creative Field ID",
24832	//       "format": "int64",
24833	//       "location": "path",
24834	//       "required": true,
24835	//       "type": "string"
24836	//     },
24837	//     "profileId": {
24838	//       "description": "User profile ID associated with this request.",
24839	//       "format": "int64",
24840	//       "location": "path",
24841	//       "required": true,
24842	//       "type": "string"
24843	//     }
24844	//   },
24845	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
24846	//   "response": {
24847	//     "$ref": "CreativeField"
24848	//   },
24849	//   "scopes": [
24850	//     "https://www.googleapis.com/auth/dfatrafficking"
24851	//   ]
24852	// }
24853
24854}
24855
24856// method id "dfareporting.creativeFields.insert":
24857
24858type CreativeFieldsInsertCall struct {
24859	s             *Service
24860	profileId     int64
24861	creativefield *CreativeField
24862	urlParams_    gensupport.URLParams
24863	ctx_          context.Context
24864	header_       http.Header
24865}
24866
24867// Insert: Inserts a new creative field.
24868func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
24869	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24870	c.profileId = profileId
24871	c.creativefield = creativefield
24872	return c
24873}
24874
24875// Fields allows partial responses to be retrieved. See
24876// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24877// for more information.
24878func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
24879	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24880	return c
24881}
24882
24883// Context sets the context to be used in this call's Do method. Any
24884// pending HTTP request will be aborted if the provided context is
24885// canceled.
24886func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
24887	c.ctx_ = ctx
24888	return c
24889}
24890
24891// Header returns an http.Header that can be modified by the caller to
24892// add HTTP headers to the request.
24893func (c *CreativeFieldsInsertCall) Header() http.Header {
24894	if c.header_ == nil {
24895		c.header_ = make(http.Header)
24896	}
24897	return c.header_
24898}
24899
24900func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
24901	reqHeaders := make(http.Header)
24902	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24903	for k, v := range c.header_ {
24904		reqHeaders[k] = v
24905	}
24906	reqHeaders.Set("User-Agent", c.s.userAgent())
24907	var body io.Reader = nil
24908	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
24909	if err != nil {
24910		return nil, err
24911	}
24912	reqHeaders.Set("Content-Type", "application/json")
24913	c.urlParams_.Set("alt", alt)
24914	c.urlParams_.Set("prettyPrint", "false")
24915	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
24916	urls += "?" + c.urlParams_.Encode()
24917	req, err := http.NewRequest("POST", urls, body)
24918	if err != nil {
24919		return nil, err
24920	}
24921	req.Header = reqHeaders
24922	googleapi.Expand(req.URL, map[string]string{
24923		"profileId": strconv.FormatInt(c.profileId, 10),
24924	})
24925	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24926}
24927
24928// Do executes the "dfareporting.creativeFields.insert" call.
24929// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
24930// status code is an error. Response headers are in either
24931// *CreativeField.ServerResponse.Header or (if a response was returned
24932// at all) in error.(*googleapi.Error).Header. Use
24933// googleapi.IsNotModified to check whether the returned error was
24934// because http.StatusNotModified was returned.
24935func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
24936	gensupport.SetOptions(c.urlParams_, opts...)
24937	res, err := c.doRequest("json")
24938	if res != nil && res.StatusCode == http.StatusNotModified {
24939		if res.Body != nil {
24940			res.Body.Close()
24941		}
24942		return nil, &googleapi.Error{
24943			Code:   res.StatusCode,
24944			Header: res.Header,
24945		}
24946	}
24947	if err != nil {
24948		return nil, err
24949	}
24950	defer googleapi.CloseBody(res)
24951	if err := googleapi.CheckResponse(res); err != nil {
24952		return nil, err
24953	}
24954	ret := &CreativeField{
24955		ServerResponse: googleapi.ServerResponse{
24956			Header:         res.Header,
24957			HTTPStatusCode: res.StatusCode,
24958		},
24959	}
24960	target := &ret
24961	if err := gensupport.DecodeResponse(target, res); err != nil {
24962		return nil, err
24963	}
24964	return ret, nil
24965	// {
24966	//   "description": "Inserts a new creative field.",
24967	//   "httpMethod": "POST",
24968	//   "id": "dfareporting.creativeFields.insert",
24969	//   "parameterOrder": [
24970	//     "profileId"
24971	//   ],
24972	//   "parameters": {
24973	//     "profileId": {
24974	//       "description": "User profile ID associated with this request.",
24975	//       "format": "int64",
24976	//       "location": "path",
24977	//       "required": true,
24978	//       "type": "string"
24979	//     }
24980	//   },
24981	//   "path": "userprofiles/{profileId}/creativeFields",
24982	//   "request": {
24983	//     "$ref": "CreativeField"
24984	//   },
24985	//   "response": {
24986	//     "$ref": "CreativeField"
24987	//   },
24988	//   "scopes": [
24989	//     "https://www.googleapis.com/auth/dfatrafficking"
24990	//   ]
24991	// }
24992
24993}
24994
24995// method id "dfareporting.creativeFields.list":
24996
24997type CreativeFieldsListCall struct {
24998	s            *Service
24999	profileId    int64
25000	urlParams_   gensupport.URLParams
25001	ifNoneMatch_ string
25002	ctx_         context.Context
25003	header_      http.Header
25004}
25005
25006// List: Retrieves a list of creative fields, possibly filtered. This
25007// method supports paging.
25008func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
25009	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25010	c.profileId = profileId
25011	return c
25012}
25013
25014// AdvertiserIds sets the optional parameter "advertiserIds": Select
25015// only creative fields that belong to these advertisers.
25016func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
25017	var advertiserIds_ []string
25018	for _, v := range advertiserIds {
25019		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
25020	}
25021	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
25022	return c
25023}
25024
25025// Ids sets the optional parameter "ids": Select only creative fields
25026// with these IDs.
25027func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
25028	var ids_ []string
25029	for _, v := range ids {
25030		ids_ = append(ids_, fmt.Sprint(v))
25031	}
25032	c.urlParams_.SetMulti("ids", ids_)
25033	return c
25034}
25035
25036// MaxResults sets the optional parameter "maxResults": Maximum number
25037// of results to return.
25038func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
25039	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25040	return c
25041}
25042
25043// PageToken sets the optional parameter "pageToken": Value of the
25044// nextPageToken from the previous result page.
25045func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
25046	c.urlParams_.Set("pageToken", pageToken)
25047	return c
25048}
25049
25050// SearchString sets the optional parameter "searchString": Allows
25051// searching for creative fields by name or ID. Wildcards (*) are
25052// allowed. For example, "creativefield*2015" will return creative
25053// fields with names like "creativefield June 2015", "creativefield
25054// April 2015", or simply "creativefield 2015". Most of the searches
25055// also add wild-cards implicitly at the start and the end of the search
25056// string. For example, a search string of "creativefield" will match
25057// creative fields with the name "my creativefield", "creativefield
25058// 2015", or simply "creativefield".
25059func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
25060	c.urlParams_.Set("searchString", searchString)
25061	return c
25062}
25063
25064// SortField sets the optional parameter "sortField": Field by which to
25065// sort the list.
25066//
25067// Possible values:
25068//   "ID" (default)
25069//   "NAME"
25070func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
25071	c.urlParams_.Set("sortField", sortField)
25072	return c
25073}
25074
25075// SortOrder sets the optional parameter "sortOrder": Order of sorted
25076// results.
25077//
25078// Possible values:
25079//   "ASCENDING" (default)
25080//   "DESCENDING"
25081func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
25082	c.urlParams_.Set("sortOrder", sortOrder)
25083	return c
25084}
25085
25086// Fields allows partial responses to be retrieved. See
25087// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25088// for more information.
25089func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
25090	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25091	return c
25092}
25093
25094// IfNoneMatch sets the optional parameter which makes the operation
25095// fail if the object's ETag matches the given value. This is useful for
25096// getting updates only after the object has changed since the last
25097// request. Use googleapi.IsNotModified to check whether the response
25098// error from Do is the result of In-None-Match.
25099func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
25100	c.ifNoneMatch_ = entityTag
25101	return c
25102}
25103
25104// Context sets the context to be used in this call's Do method. Any
25105// pending HTTP request will be aborted if the provided context is
25106// canceled.
25107func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
25108	c.ctx_ = ctx
25109	return c
25110}
25111
25112// Header returns an http.Header that can be modified by the caller to
25113// add HTTP headers to the request.
25114func (c *CreativeFieldsListCall) Header() http.Header {
25115	if c.header_ == nil {
25116		c.header_ = make(http.Header)
25117	}
25118	return c.header_
25119}
25120
25121func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
25122	reqHeaders := make(http.Header)
25123	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25124	for k, v := range c.header_ {
25125		reqHeaders[k] = v
25126	}
25127	reqHeaders.Set("User-Agent", c.s.userAgent())
25128	if c.ifNoneMatch_ != "" {
25129		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25130	}
25131	var body io.Reader = nil
25132	c.urlParams_.Set("alt", alt)
25133	c.urlParams_.Set("prettyPrint", "false")
25134	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
25135	urls += "?" + c.urlParams_.Encode()
25136	req, err := http.NewRequest("GET", urls, body)
25137	if err != nil {
25138		return nil, err
25139	}
25140	req.Header = reqHeaders
25141	googleapi.Expand(req.URL, map[string]string{
25142		"profileId": strconv.FormatInt(c.profileId, 10),
25143	})
25144	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25145}
25146
25147// Do executes the "dfareporting.creativeFields.list" call.
25148// Exactly one of *CreativeFieldsListResponse or error will be non-nil.
25149// Any non-2xx status code is an error. Response headers are in either
25150// *CreativeFieldsListResponse.ServerResponse.Header or (if a response
25151// was returned at all) in error.(*googleapi.Error).Header. Use
25152// googleapi.IsNotModified to check whether the returned error was
25153// because http.StatusNotModified was returned.
25154func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
25155	gensupport.SetOptions(c.urlParams_, opts...)
25156	res, err := c.doRequest("json")
25157	if res != nil && res.StatusCode == http.StatusNotModified {
25158		if res.Body != nil {
25159			res.Body.Close()
25160		}
25161		return nil, &googleapi.Error{
25162			Code:   res.StatusCode,
25163			Header: res.Header,
25164		}
25165	}
25166	if err != nil {
25167		return nil, err
25168	}
25169	defer googleapi.CloseBody(res)
25170	if err := googleapi.CheckResponse(res); err != nil {
25171		return nil, err
25172	}
25173	ret := &CreativeFieldsListResponse{
25174		ServerResponse: googleapi.ServerResponse{
25175			Header:         res.Header,
25176			HTTPStatusCode: res.StatusCode,
25177		},
25178	}
25179	target := &ret
25180	if err := gensupport.DecodeResponse(target, res); err != nil {
25181		return nil, err
25182	}
25183	return ret, nil
25184	// {
25185	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
25186	//   "httpMethod": "GET",
25187	//   "id": "dfareporting.creativeFields.list",
25188	//   "parameterOrder": [
25189	//     "profileId"
25190	//   ],
25191	//   "parameters": {
25192	//     "advertiserIds": {
25193	//       "description": "Select only creative fields that belong to these advertisers.",
25194	//       "format": "int64",
25195	//       "location": "query",
25196	//       "repeated": true,
25197	//       "type": "string"
25198	//     },
25199	//     "ids": {
25200	//       "description": "Select only creative fields with these IDs.",
25201	//       "format": "int64",
25202	//       "location": "query",
25203	//       "repeated": true,
25204	//       "type": "string"
25205	//     },
25206	//     "maxResults": {
25207	//       "default": "1000",
25208	//       "description": "Maximum number of results to return.",
25209	//       "format": "int32",
25210	//       "location": "query",
25211	//       "maximum": "1000",
25212	//       "minimum": "0",
25213	//       "type": "integer"
25214	//     },
25215	//     "pageToken": {
25216	//       "description": "Value of the nextPageToken from the previous result page.",
25217	//       "location": "query",
25218	//       "type": "string"
25219	//     },
25220	//     "profileId": {
25221	//       "description": "User profile ID associated with this request.",
25222	//       "format": "int64",
25223	//       "location": "path",
25224	//       "required": true,
25225	//       "type": "string"
25226	//     },
25227	//     "searchString": {
25228	//       "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\".",
25229	//       "location": "query",
25230	//       "type": "string"
25231	//     },
25232	//     "sortField": {
25233	//       "default": "ID",
25234	//       "description": "Field by which to sort the list.",
25235	//       "enum": [
25236	//         "ID",
25237	//         "NAME"
25238	//       ],
25239	//       "enumDescriptions": [
25240	//         "",
25241	//         ""
25242	//       ],
25243	//       "location": "query",
25244	//       "type": "string"
25245	//     },
25246	//     "sortOrder": {
25247	//       "default": "ASCENDING",
25248	//       "description": "Order of sorted results.",
25249	//       "enum": [
25250	//         "ASCENDING",
25251	//         "DESCENDING"
25252	//       ],
25253	//       "enumDescriptions": [
25254	//         "",
25255	//         ""
25256	//       ],
25257	//       "location": "query",
25258	//       "type": "string"
25259	//     }
25260	//   },
25261	//   "path": "userprofiles/{profileId}/creativeFields",
25262	//   "response": {
25263	//     "$ref": "CreativeFieldsListResponse"
25264	//   },
25265	//   "scopes": [
25266	//     "https://www.googleapis.com/auth/dfatrafficking"
25267	//   ]
25268	// }
25269
25270}
25271
25272// Pages invokes f for each page of results.
25273// A non-nil error returned from f will halt the iteration.
25274// The provided context supersedes any context provided to the Context method.
25275func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
25276	c.ctx_ = ctx
25277	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25278	for {
25279		x, err := c.Do()
25280		if err != nil {
25281			return err
25282		}
25283		if err := f(x); err != nil {
25284			return err
25285		}
25286		if x.NextPageToken == "" {
25287			return nil
25288		}
25289		c.PageToken(x.NextPageToken)
25290	}
25291}
25292
25293// method id "dfareporting.creativeFields.patch":
25294
25295type CreativeFieldsPatchCall struct {
25296	s             *Service
25297	profileId     int64
25298	creativefield *CreativeField
25299	urlParams_    gensupport.URLParams
25300	ctx_          context.Context
25301	header_       http.Header
25302}
25303
25304// Patch: Updates an existing creative field. This method supports patch
25305// semantics.
25306func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
25307	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25308	c.profileId = profileId
25309	c.urlParams_.Set("id", fmt.Sprint(id))
25310	c.creativefield = creativefield
25311	return c
25312}
25313
25314// Fields allows partial responses to be retrieved. See
25315// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25316// for more information.
25317func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
25318	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25319	return c
25320}
25321
25322// Context sets the context to be used in this call's Do method. Any
25323// pending HTTP request will be aborted if the provided context is
25324// canceled.
25325func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
25326	c.ctx_ = ctx
25327	return c
25328}
25329
25330// Header returns an http.Header that can be modified by the caller to
25331// add HTTP headers to the request.
25332func (c *CreativeFieldsPatchCall) Header() http.Header {
25333	if c.header_ == nil {
25334		c.header_ = make(http.Header)
25335	}
25336	return c.header_
25337}
25338
25339func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
25340	reqHeaders := make(http.Header)
25341	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25342	for k, v := range c.header_ {
25343		reqHeaders[k] = v
25344	}
25345	reqHeaders.Set("User-Agent", c.s.userAgent())
25346	var body io.Reader = nil
25347	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
25348	if err != nil {
25349		return nil, err
25350	}
25351	reqHeaders.Set("Content-Type", "application/json")
25352	c.urlParams_.Set("alt", alt)
25353	c.urlParams_.Set("prettyPrint", "false")
25354	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
25355	urls += "?" + c.urlParams_.Encode()
25356	req, err := http.NewRequest("PATCH", urls, body)
25357	if err != nil {
25358		return nil, err
25359	}
25360	req.Header = reqHeaders
25361	googleapi.Expand(req.URL, map[string]string{
25362		"profileId": strconv.FormatInt(c.profileId, 10),
25363	})
25364	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25365}
25366
25367// Do executes the "dfareporting.creativeFields.patch" call.
25368// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
25369// status code is an error. Response headers are in either
25370// *CreativeField.ServerResponse.Header or (if a response was returned
25371// at all) in error.(*googleapi.Error).Header. Use
25372// googleapi.IsNotModified to check whether the returned error was
25373// because http.StatusNotModified was returned.
25374func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
25375	gensupport.SetOptions(c.urlParams_, opts...)
25376	res, err := c.doRequest("json")
25377	if res != nil && res.StatusCode == http.StatusNotModified {
25378		if res.Body != nil {
25379			res.Body.Close()
25380		}
25381		return nil, &googleapi.Error{
25382			Code:   res.StatusCode,
25383			Header: res.Header,
25384		}
25385	}
25386	if err != nil {
25387		return nil, err
25388	}
25389	defer googleapi.CloseBody(res)
25390	if err := googleapi.CheckResponse(res); err != nil {
25391		return nil, err
25392	}
25393	ret := &CreativeField{
25394		ServerResponse: googleapi.ServerResponse{
25395			Header:         res.Header,
25396			HTTPStatusCode: res.StatusCode,
25397		},
25398	}
25399	target := &ret
25400	if err := gensupport.DecodeResponse(target, res); err != nil {
25401		return nil, err
25402	}
25403	return ret, nil
25404	// {
25405	//   "description": "Updates an existing creative field. This method supports patch semantics.",
25406	//   "httpMethod": "PATCH",
25407	//   "id": "dfareporting.creativeFields.patch",
25408	//   "parameterOrder": [
25409	//     "profileId",
25410	//     "id"
25411	//   ],
25412	//   "parameters": {
25413	//     "id": {
25414	//       "description": "Creative Field ID",
25415	//       "format": "int64",
25416	//       "location": "query",
25417	//       "required": true,
25418	//       "type": "string"
25419	//     },
25420	//     "profileId": {
25421	//       "description": "User profile ID associated with this request.",
25422	//       "format": "int64",
25423	//       "location": "path",
25424	//       "required": true,
25425	//       "type": "string"
25426	//     }
25427	//   },
25428	//   "path": "userprofiles/{profileId}/creativeFields",
25429	//   "request": {
25430	//     "$ref": "CreativeField"
25431	//   },
25432	//   "response": {
25433	//     "$ref": "CreativeField"
25434	//   },
25435	//   "scopes": [
25436	//     "https://www.googleapis.com/auth/dfatrafficking"
25437	//   ]
25438	// }
25439
25440}
25441
25442// method id "dfareporting.creativeFields.update":
25443
25444type CreativeFieldsUpdateCall struct {
25445	s             *Service
25446	profileId     int64
25447	creativefield *CreativeField
25448	urlParams_    gensupport.URLParams
25449	ctx_          context.Context
25450	header_       http.Header
25451}
25452
25453// Update: Updates an existing creative field.
25454func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
25455	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25456	c.profileId = profileId
25457	c.creativefield = creativefield
25458	return c
25459}
25460
25461// Fields allows partial responses to be retrieved. See
25462// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25463// for more information.
25464func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
25465	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25466	return c
25467}
25468
25469// Context sets the context to be used in this call's Do method. Any
25470// pending HTTP request will be aborted if the provided context is
25471// canceled.
25472func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
25473	c.ctx_ = ctx
25474	return c
25475}
25476
25477// Header returns an http.Header that can be modified by the caller to
25478// add HTTP headers to the request.
25479func (c *CreativeFieldsUpdateCall) Header() http.Header {
25480	if c.header_ == nil {
25481		c.header_ = make(http.Header)
25482	}
25483	return c.header_
25484}
25485
25486func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
25487	reqHeaders := make(http.Header)
25488	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25489	for k, v := range c.header_ {
25490		reqHeaders[k] = v
25491	}
25492	reqHeaders.Set("User-Agent", c.s.userAgent())
25493	var body io.Reader = nil
25494	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
25495	if err != nil {
25496		return nil, err
25497	}
25498	reqHeaders.Set("Content-Type", "application/json")
25499	c.urlParams_.Set("alt", alt)
25500	c.urlParams_.Set("prettyPrint", "false")
25501	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
25502	urls += "?" + c.urlParams_.Encode()
25503	req, err := http.NewRequest("PUT", urls, body)
25504	if err != nil {
25505		return nil, err
25506	}
25507	req.Header = reqHeaders
25508	googleapi.Expand(req.URL, map[string]string{
25509		"profileId": strconv.FormatInt(c.profileId, 10),
25510	})
25511	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25512}
25513
25514// Do executes the "dfareporting.creativeFields.update" call.
25515// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
25516// status code is an error. Response headers are in either
25517// *CreativeField.ServerResponse.Header or (if a response was returned
25518// at all) in error.(*googleapi.Error).Header. Use
25519// googleapi.IsNotModified to check whether the returned error was
25520// because http.StatusNotModified was returned.
25521func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
25522	gensupport.SetOptions(c.urlParams_, opts...)
25523	res, err := c.doRequest("json")
25524	if res != nil && res.StatusCode == http.StatusNotModified {
25525		if res.Body != nil {
25526			res.Body.Close()
25527		}
25528		return nil, &googleapi.Error{
25529			Code:   res.StatusCode,
25530			Header: res.Header,
25531		}
25532	}
25533	if err != nil {
25534		return nil, err
25535	}
25536	defer googleapi.CloseBody(res)
25537	if err := googleapi.CheckResponse(res); err != nil {
25538		return nil, err
25539	}
25540	ret := &CreativeField{
25541		ServerResponse: googleapi.ServerResponse{
25542			Header:         res.Header,
25543			HTTPStatusCode: res.StatusCode,
25544		},
25545	}
25546	target := &ret
25547	if err := gensupport.DecodeResponse(target, res); err != nil {
25548		return nil, err
25549	}
25550	return ret, nil
25551	// {
25552	//   "description": "Updates an existing creative field.",
25553	//   "httpMethod": "PUT",
25554	//   "id": "dfareporting.creativeFields.update",
25555	//   "parameterOrder": [
25556	//     "profileId"
25557	//   ],
25558	//   "parameters": {
25559	//     "profileId": {
25560	//       "description": "User profile ID associated with this request.",
25561	//       "format": "int64",
25562	//       "location": "path",
25563	//       "required": true,
25564	//       "type": "string"
25565	//     }
25566	//   },
25567	//   "path": "userprofiles/{profileId}/creativeFields",
25568	//   "request": {
25569	//     "$ref": "CreativeField"
25570	//   },
25571	//   "response": {
25572	//     "$ref": "CreativeField"
25573	//   },
25574	//   "scopes": [
25575	//     "https://www.googleapis.com/auth/dfatrafficking"
25576	//   ]
25577	// }
25578
25579}
25580
25581// method id "dfareporting.creativeGroups.get":
25582
25583type CreativeGroupsGetCall struct {
25584	s            *Service
25585	profileId    int64
25586	id           int64
25587	urlParams_   gensupport.URLParams
25588	ifNoneMatch_ string
25589	ctx_         context.Context
25590	header_      http.Header
25591}
25592
25593// Get: Gets one creative group by ID.
25594func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
25595	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25596	c.profileId = profileId
25597	c.id = id
25598	return c
25599}
25600
25601// Fields allows partial responses to be retrieved. See
25602// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25603// for more information.
25604func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
25605	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25606	return c
25607}
25608
25609// IfNoneMatch sets the optional parameter which makes the operation
25610// fail if the object's ETag matches the given value. This is useful for
25611// getting updates only after the object has changed since the last
25612// request. Use googleapi.IsNotModified to check whether the response
25613// error from Do is the result of In-None-Match.
25614func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
25615	c.ifNoneMatch_ = entityTag
25616	return c
25617}
25618
25619// Context sets the context to be used in this call's Do method. Any
25620// pending HTTP request will be aborted if the provided context is
25621// canceled.
25622func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
25623	c.ctx_ = ctx
25624	return c
25625}
25626
25627// Header returns an http.Header that can be modified by the caller to
25628// add HTTP headers to the request.
25629func (c *CreativeGroupsGetCall) Header() http.Header {
25630	if c.header_ == nil {
25631		c.header_ = make(http.Header)
25632	}
25633	return c.header_
25634}
25635
25636func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
25637	reqHeaders := make(http.Header)
25638	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25639	for k, v := range c.header_ {
25640		reqHeaders[k] = v
25641	}
25642	reqHeaders.Set("User-Agent", c.s.userAgent())
25643	if c.ifNoneMatch_ != "" {
25644		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25645	}
25646	var body io.Reader = nil
25647	c.urlParams_.Set("alt", alt)
25648	c.urlParams_.Set("prettyPrint", "false")
25649	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
25650	urls += "?" + c.urlParams_.Encode()
25651	req, err := http.NewRequest("GET", urls, body)
25652	if err != nil {
25653		return nil, err
25654	}
25655	req.Header = reqHeaders
25656	googleapi.Expand(req.URL, map[string]string{
25657		"profileId": strconv.FormatInt(c.profileId, 10),
25658		"id":        strconv.FormatInt(c.id, 10),
25659	})
25660	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25661}
25662
25663// Do executes the "dfareporting.creativeGroups.get" call.
25664// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
25665// status code is an error. Response headers are in either
25666// *CreativeGroup.ServerResponse.Header or (if a response was returned
25667// at all) in error.(*googleapi.Error).Header. Use
25668// googleapi.IsNotModified to check whether the returned error was
25669// because http.StatusNotModified was returned.
25670func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
25671	gensupport.SetOptions(c.urlParams_, opts...)
25672	res, err := c.doRequest("json")
25673	if res != nil && res.StatusCode == http.StatusNotModified {
25674		if res.Body != nil {
25675			res.Body.Close()
25676		}
25677		return nil, &googleapi.Error{
25678			Code:   res.StatusCode,
25679			Header: res.Header,
25680		}
25681	}
25682	if err != nil {
25683		return nil, err
25684	}
25685	defer googleapi.CloseBody(res)
25686	if err := googleapi.CheckResponse(res); err != nil {
25687		return nil, err
25688	}
25689	ret := &CreativeGroup{
25690		ServerResponse: googleapi.ServerResponse{
25691			Header:         res.Header,
25692			HTTPStatusCode: res.StatusCode,
25693		},
25694	}
25695	target := &ret
25696	if err := gensupport.DecodeResponse(target, res); err != nil {
25697		return nil, err
25698	}
25699	return ret, nil
25700	// {
25701	//   "description": "Gets one creative group by ID.",
25702	//   "httpMethod": "GET",
25703	//   "id": "dfareporting.creativeGroups.get",
25704	//   "parameterOrder": [
25705	//     "profileId",
25706	//     "id"
25707	//   ],
25708	//   "parameters": {
25709	//     "id": {
25710	//       "description": "Creative group ID.",
25711	//       "format": "int64",
25712	//       "location": "path",
25713	//       "required": true,
25714	//       "type": "string"
25715	//     },
25716	//     "profileId": {
25717	//       "description": "User profile ID associated with this request.",
25718	//       "format": "int64",
25719	//       "location": "path",
25720	//       "required": true,
25721	//       "type": "string"
25722	//     }
25723	//   },
25724	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
25725	//   "response": {
25726	//     "$ref": "CreativeGroup"
25727	//   },
25728	//   "scopes": [
25729	//     "https://www.googleapis.com/auth/dfatrafficking"
25730	//   ]
25731	// }
25732
25733}
25734
25735// method id "dfareporting.creativeGroups.insert":
25736
25737type CreativeGroupsInsertCall struct {
25738	s             *Service
25739	profileId     int64
25740	creativegroup *CreativeGroup
25741	urlParams_    gensupport.URLParams
25742	ctx_          context.Context
25743	header_       http.Header
25744}
25745
25746// Insert: Inserts a new creative group.
25747func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
25748	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25749	c.profileId = profileId
25750	c.creativegroup = creativegroup
25751	return c
25752}
25753
25754// Fields allows partial responses to be retrieved. See
25755// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25756// for more information.
25757func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
25758	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25759	return c
25760}
25761
25762// Context sets the context to be used in this call's Do method. Any
25763// pending HTTP request will be aborted if the provided context is
25764// canceled.
25765func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
25766	c.ctx_ = ctx
25767	return c
25768}
25769
25770// Header returns an http.Header that can be modified by the caller to
25771// add HTTP headers to the request.
25772func (c *CreativeGroupsInsertCall) Header() http.Header {
25773	if c.header_ == nil {
25774		c.header_ = make(http.Header)
25775	}
25776	return c.header_
25777}
25778
25779func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
25780	reqHeaders := make(http.Header)
25781	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25782	for k, v := range c.header_ {
25783		reqHeaders[k] = v
25784	}
25785	reqHeaders.Set("User-Agent", c.s.userAgent())
25786	var body io.Reader = nil
25787	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
25788	if err != nil {
25789		return nil, err
25790	}
25791	reqHeaders.Set("Content-Type", "application/json")
25792	c.urlParams_.Set("alt", alt)
25793	c.urlParams_.Set("prettyPrint", "false")
25794	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
25795	urls += "?" + c.urlParams_.Encode()
25796	req, err := http.NewRequest("POST", urls, body)
25797	if err != nil {
25798		return nil, err
25799	}
25800	req.Header = reqHeaders
25801	googleapi.Expand(req.URL, map[string]string{
25802		"profileId": strconv.FormatInt(c.profileId, 10),
25803	})
25804	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25805}
25806
25807// Do executes the "dfareporting.creativeGroups.insert" call.
25808// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
25809// status code is an error. Response headers are in either
25810// *CreativeGroup.ServerResponse.Header or (if a response was returned
25811// at all) in error.(*googleapi.Error).Header. Use
25812// googleapi.IsNotModified to check whether the returned error was
25813// because http.StatusNotModified was returned.
25814func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
25815	gensupport.SetOptions(c.urlParams_, opts...)
25816	res, err := c.doRequest("json")
25817	if res != nil && res.StatusCode == http.StatusNotModified {
25818		if res.Body != nil {
25819			res.Body.Close()
25820		}
25821		return nil, &googleapi.Error{
25822			Code:   res.StatusCode,
25823			Header: res.Header,
25824		}
25825	}
25826	if err != nil {
25827		return nil, err
25828	}
25829	defer googleapi.CloseBody(res)
25830	if err := googleapi.CheckResponse(res); err != nil {
25831		return nil, err
25832	}
25833	ret := &CreativeGroup{
25834		ServerResponse: googleapi.ServerResponse{
25835			Header:         res.Header,
25836			HTTPStatusCode: res.StatusCode,
25837		},
25838	}
25839	target := &ret
25840	if err := gensupport.DecodeResponse(target, res); err != nil {
25841		return nil, err
25842	}
25843	return ret, nil
25844	// {
25845	//   "description": "Inserts a new creative group.",
25846	//   "httpMethod": "POST",
25847	//   "id": "dfareporting.creativeGroups.insert",
25848	//   "parameterOrder": [
25849	//     "profileId"
25850	//   ],
25851	//   "parameters": {
25852	//     "profileId": {
25853	//       "description": "User profile ID associated with this request.",
25854	//       "format": "int64",
25855	//       "location": "path",
25856	//       "required": true,
25857	//       "type": "string"
25858	//     }
25859	//   },
25860	//   "path": "userprofiles/{profileId}/creativeGroups",
25861	//   "request": {
25862	//     "$ref": "CreativeGroup"
25863	//   },
25864	//   "response": {
25865	//     "$ref": "CreativeGroup"
25866	//   },
25867	//   "scopes": [
25868	//     "https://www.googleapis.com/auth/dfatrafficking"
25869	//   ]
25870	// }
25871
25872}
25873
25874// method id "dfareporting.creativeGroups.list":
25875
25876type CreativeGroupsListCall struct {
25877	s            *Service
25878	profileId    int64
25879	urlParams_   gensupport.URLParams
25880	ifNoneMatch_ string
25881	ctx_         context.Context
25882	header_      http.Header
25883}
25884
25885// List: Retrieves a list of creative groups, possibly filtered. This
25886// method supports paging.
25887func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
25888	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25889	c.profileId = profileId
25890	return c
25891}
25892
25893// AdvertiserIds sets the optional parameter "advertiserIds": Select
25894// only creative groups that belong to these advertisers.
25895func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
25896	var advertiserIds_ []string
25897	for _, v := range advertiserIds {
25898		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
25899	}
25900	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
25901	return c
25902}
25903
25904// GroupNumber sets the optional parameter "groupNumber": Select only
25905// creative groups that belong to this subgroup.
25906func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
25907	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
25908	return c
25909}
25910
25911// Ids sets the optional parameter "ids": Select only creative groups
25912// with these IDs.
25913func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
25914	var ids_ []string
25915	for _, v := range ids {
25916		ids_ = append(ids_, fmt.Sprint(v))
25917	}
25918	c.urlParams_.SetMulti("ids", ids_)
25919	return c
25920}
25921
25922// MaxResults sets the optional parameter "maxResults": Maximum number
25923// of results to return.
25924func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
25925	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25926	return c
25927}
25928
25929// PageToken sets the optional parameter "pageToken": Value of the
25930// nextPageToken from the previous result page.
25931func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
25932	c.urlParams_.Set("pageToken", pageToken)
25933	return c
25934}
25935
25936// SearchString sets the optional parameter "searchString": Allows
25937// searching for creative groups by name or ID. Wildcards (*) are
25938// allowed. For example, "creativegroup*2015" will return creative
25939// groups with names like "creativegroup June 2015", "creativegroup
25940// April 2015", or simply "creativegroup 2015". Most of the searches
25941// also add wild-cards implicitly at the start and the end of the search
25942// string. For example, a search string of "creativegroup" will match
25943// creative groups with the name "my creativegroup", "creativegroup
25944// 2015", or simply "creativegroup".
25945func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
25946	c.urlParams_.Set("searchString", searchString)
25947	return c
25948}
25949
25950// SortField sets the optional parameter "sortField": Field by which to
25951// sort the list.
25952//
25953// Possible values:
25954//   "ID" (default)
25955//   "NAME"
25956func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
25957	c.urlParams_.Set("sortField", sortField)
25958	return c
25959}
25960
25961// SortOrder sets the optional parameter "sortOrder": Order of sorted
25962// results.
25963//
25964// Possible values:
25965//   "ASCENDING" (default)
25966//   "DESCENDING"
25967func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
25968	c.urlParams_.Set("sortOrder", sortOrder)
25969	return c
25970}
25971
25972// Fields allows partial responses to be retrieved. See
25973// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25974// for more information.
25975func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
25976	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25977	return c
25978}
25979
25980// IfNoneMatch sets the optional parameter which makes the operation
25981// fail if the object's ETag matches the given value. This is useful for
25982// getting updates only after the object has changed since the last
25983// request. Use googleapi.IsNotModified to check whether the response
25984// error from Do is the result of In-None-Match.
25985func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
25986	c.ifNoneMatch_ = entityTag
25987	return c
25988}
25989
25990// Context sets the context to be used in this call's Do method. Any
25991// pending HTTP request will be aborted if the provided context is
25992// canceled.
25993func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
25994	c.ctx_ = ctx
25995	return c
25996}
25997
25998// Header returns an http.Header that can be modified by the caller to
25999// add HTTP headers to the request.
26000func (c *CreativeGroupsListCall) Header() http.Header {
26001	if c.header_ == nil {
26002		c.header_ = make(http.Header)
26003	}
26004	return c.header_
26005}
26006
26007func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
26008	reqHeaders := make(http.Header)
26009	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26010	for k, v := range c.header_ {
26011		reqHeaders[k] = v
26012	}
26013	reqHeaders.Set("User-Agent", c.s.userAgent())
26014	if c.ifNoneMatch_ != "" {
26015		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26016	}
26017	var body io.Reader = nil
26018	c.urlParams_.Set("alt", alt)
26019	c.urlParams_.Set("prettyPrint", "false")
26020	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
26021	urls += "?" + c.urlParams_.Encode()
26022	req, err := http.NewRequest("GET", urls, body)
26023	if err != nil {
26024		return nil, err
26025	}
26026	req.Header = reqHeaders
26027	googleapi.Expand(req.URL, map[string]string{
26028		"profileId": strconv.FormatInt(c.profileId, 10),
26029	})
26030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26031}
26032
26033// Do executes the "dfareporting.creativeGroups.list" call.
26034// Exactly one of *CreativeGroupsListResponse or error will be non-nil.
26035// Any non-2xx status code is an error. Response headers are in either
26036// *CreativeGroupsListResponse.ServerResponse.Header or (if a response
26037// was returned at all) in error.(*googleapi.Error).Header. Use
26038// googleapi.IsNotModified to check whether the returned error was
26039// because http.StatusNotModified was returned.
26040func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
26041	gensupport.SetOptions(c.urlParams_, opts...)
26042	res, err := c.doRequest("json")
26043	if res != nil && res.StatusCode == http.StatusNotModified {
26044		if res.Body != nil {
26045			res.Body.Close()
26046		}
26047		return nil, &googleapi.Error{
26048			Code:   res.StatusCode,
26049			Header: res.Header,
26050		}
26051	}
26052	if err != nil {
26053		return nil, err
26054	}
26055	defer googleapi.CloseBody(res)
26056	if err := googleapi.CheckResponse(res); err != nil {
26057		return nil, err
26058	}
26059	ret := &CreativeGroupsListResponse{
26060		ServerResponse: googleapi.ServerResponse{
26061			Header:         res.Header,
26062			HTTPStatusCode: res.StatusCode,
26063		},
26064	}
26065	target := &ret
26066	if err := gensupport.DecodeResponse(target, res); err != nil {
26067		return nil, err
26068	}
26069	return ret, nil
26070	// {
26071	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
26072	//   "httpMethod": "GET",
26073	//   "id": "dfareporting.creativeGroups.list",
26074	//   "parameterOrder": [
26075	//     "profileId"
26076	//   ],
26077	//   "parameters": {
26078	//     "advertiserIds": {
26079	//       "description": "Select only creative groups that belong to these advertisers.",
26080	//       "format": "int64",
26081	//       "location": "query",
26082	//       "repeated": true,
26083	//       "type": "string"
26084	//     },
26085	//     "groupNumber": {
26086	//       "description": "Select only creative groups that belong to this subgroup.",
26087	//       "format": "int32",
26088	//       "location": "query",
26089	//       "maximum": "2",
26090	//       "minimum": "1",
26091	//       "type": "integer"
26092	//     },
26093	//     "ids": {
26094	//       "description": "Select only creative groups with these IDs.",
26095	//       "format": "int64",
26096	//       "location": "query",
26097	//       "repeated": true,
26098	//       "type": "string"
26099	//     },
26100	//     "maxResults": {
26101	//       "default": "1000",
26102	//       "description": "Maximum number of results to return.",
26103	//       "format": "int32",
26104	//       "location": "query",
26105	//       "maximum": "1000",
26106	//       "minimum": "0",
26107	//       "type": "integer"
26108	//     },
26109	//     "pageToken": {
26110	//       "description": "Value of the nextPageToken from the previous result page.",
26111	//       "location": "query",
26112	//       "type": "string"
26113	//     },
26114	//     "profileId": {
26115	//       "description": "User profile ID associated with this request.",
26116	//       "format": "int64",
26117	//       "location": "path",
26118	//       "required": true,
26119	//       "type": "string"
26120	//     },
26121	//     "searchString": {
26122	//       "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\".",
26123	//       "location": "query",
26124	//       "type": "string"
26125	//     },
26126	//     "sortField": {
26127	//       "default": "ID",
26128	//       "description": "Field by which to sort the list.",
26129	//       "enum": [
26130	//         "ID",
26131	//         "NAME"
26132	//       ],
26133	//       "enumDescriptions": [
26134	//         "",
26135	//         ""
26136	//       ],
26137	//       "location": "query",
26138	//       "type": "string"
26139	//     },
26140	//     "sortOrder": {
26141	//       "default": "ASCENDING",
26142	//       "description": "Order of sorted results.",
26143	//       "enum": [
26144	//         "ASCENDING",
26145	//         "DESCENDING"
26146	//       ],
26147	//       "enumDescriptions": [
26148	//         "",
26149	//         ""
26150	//       ],
26151	//       "location": "query",
26152	//       "type": "string"
26153	//     }
26154	//   },
26155	//   "path": "userprofiles/{profileId}/creativeGroups",
26156	//   "response": {
26157	//     "$ref": "CreativeGroupsListResponse"
26158	//   },
26159	//   "scopes": [
26160	//     "https://www.googleapis.com/auth/dfatrafficking"
26161	//   ]
26162	// }
26163
26164}
26165
26166// Pages invokes f for each page of results.
26167// A non-nil error returned from f will halt the iteration.
26168// The provided context supersedes any context provided to the Context method.
26169func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
26170	c.ctx_ = ctx
26171	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26172	for {
26173		x, err := c.Do()
26174		if err != nil {
26175			return err
26176		}
26177		if err := f(x); err != nil {
26178			return err
26179		}
26180		if x.NextPageToken == "" {
26181			return nil
26182		}
26183		c.PageToken(x.NextPageToken)
26184	}
26185}
26186
26187// method id "dfareporting.creativeGroups.patch":
26188
26189type CreativeGroupsPatchCall struct {
26190	s             *Service
26191	profileId     int64
26192	creativegroup *CreativeGroup
26193	urlParams_    gensupport.URLParams
26194	ctx_          context.Context
26195	header_       http.Header
26196}
26197
26198// Patch: Updates an existing creative group. This method supports patch
26199// semantics.
26200func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
26201	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26202	c.profileId = profileId
26203	c.urlParams_.Set("id", fmt.Sprint(id))
26204	c.creativegroup = creativegroup
26205	return c
26206}
26207
26208// Fields allows partial responses to be retrieved. See
26209// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26210// for more information.
26211func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
26212	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26213	return c
26214}
26215
26216// Context sets the context to be used in this call's Do method. Any
26217// pending HTTP request will be aborted if the provided context is
26218// canceled.
26219func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
26220	c.ctx_ = ctx
26221	return c
26222}
26223
26224// Header returns an http.Header that can be modified by the caller to
26225// add HTTP headers to the request.
26226func (c *CreativeGroupsPatchCall) Header() http.Header {
26227	if c.header_ == nil {
26228		c.header_ = make(http.Header)
26229	}
26230	return c.header_
26231}
26232
26233func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
26234	reqHeaders := make(http.Header)
26235	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26236	for k, v := range c.header_ {
26237		reqHeaders[k] = v
26238	}
26239	reqHeaders.Set("User-Agent", c.s.userAgent())
26240	var body io.Reader = nil
26241	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
26242	if err != nil {
26243		return nil, err
26244	}
26245	reqHeaders.Set("Content-Type", "application/json")
26246	c.urlParams_.Set("alt", alt)
26247	c.urlParams_.Set("prettyPrint", "false")
26248	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
26249	urls += "?" + c.urlParams_.Encode()
26250	req, err := http.NewRequest("PATCH", urls, body)
26251	if err != nil {
26252		return nil, err
26253	}
26254	req.Header = reqHeaders
26255	googleapi.Expand(req.URL, map[string]string{
26256		"profileId": strconv.FormatInt(c.profileId, 10),
26257	})
26258	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26259}
26260
26261// Do executes the "dfareporting.creativeGroups.patch" call.
26262// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
26263// status code is an error. Response headers are in either
26264// *CreativeGroup.ServerResponse.Header or (if a response was returned
26265// at all) in error.(*googleapi.Error).Header. Use
26266// googleapi.IsNotModified to check whether the returned error was
26267// because http.StatusNotModified was returned.
26268func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
26269	gensupport.SetOptions(c.urlParams_, opts...)
26270	res, err := c.doRequest("json")
26271	if res != nil && res.StatusCode == http.StatusNotModified {
26272		if res.Body != nil {
26273			res.Body.Close()
26274		}
26275		return nil, &googleapi.Error{
26276			Code:   res.StatusCode,
26277			Header: res.Header,
26278		}
26279	}
26280	if err != nil {
26281		return nil, err
26282	}
26283	defer googleapi.CloseBody(res)
26284	if err := googleapi.CheckResponse(res); err != nil {
26285		return nil, err
26286	}
26287	ret := &CreativeGroup{
26288		ServerResponse: googleapi.ServerResponse{
26289			Header:         res.Header,
26290			HTTPStatusCode: res.StatusCode,
26291		},
26292	}
26293	target := &ret
26294	if err := gensupport.DecodeResponse(target, res); err != nil {
26295		return nil, err
26296	}
26297	return ret, nil
26298	// {
26299	//   "description": "Updates an existing creative group. This method supports patch semantics.",
26300	//   "httpMethod": "PATCH",
26301	//   "id": "dfareporting.creativeGroups.patch",
26302	//   "parameterOrder": [
26303	//     "profileId",
26304	//     "id"
26305	//   ],
26306	//   "parameters": {
26307	//     "id": {
26308	//       "description": "Creative group ID.",
26309	//       "format": "int64",
26310	//       "location": "query",
26311	//       "required": true,
26312	//       "type": "string"
26313	//     },
26314	//     "profileId": {
26315	//       "description": "User profile ID associated with this request.",
26316	//       "format": "int64",
26317	//       "location": "path",
26318	//       "required": true,
26319	//       "type": "string"
26320	//     }
26321	//   },
26322	//   "path": "userprofiles/{profileId}/creativeGroups",
26323	//   "request": {
26324	//     "$ref": "CreativeGroup"
26325	//   },
26326	//   "response": {
26327	//     "$ref": "CreativeGroup"
26328	//   },
26329	//   "scopes": [
26330	//     "https://www.googleapis.com/auth/dfatrafficking"
26331	//   ]
26332	// }
26333
26334}
26335
26336// method id "dfareporting.creativeGroups.update":
26337
26338type CreativeGroupsUpdateCall struct {
26339	s             *Service
26340	profileId     int64
26341	creativegroup *CreativeGroup
26342	urlParams_    gensupport.URLParams
26343	ctx_          context.Context
26344	header_       http.Header
26345}
26346
26347// Update: Updates an existing creative group.
26348func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
26349	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26350	c.profileId = profileId
26351	c.creativegroup = creativegroup
26352	return c
26353}
26354
26355// Fields allows partial responses to be retrieved. See
26356// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26357// for more information.
26358func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
26359	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26360	return c
26361}
26362
26363// Context sets the context to be used in this call's Do method. Any
26364// pending HTTP request will be aborted if the provided context is
26365// canceled.
26366func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
26367	c.ctx_ = ctx
26368	return c
26369}
26370
26371// Header returns an http.Header that can be modified by the caller to
26372// add HTTP headers to the request.
26373func (c *CreativeGroupsUpdateCall) Header() http.Header {
26374	if c.header_ == nil {
26375		c.header_ = make(http.Header)
26376	}
26377	return c.header_
26378}
26379
26380func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
26381	reqHeaders := make(http.Header)
26382	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26383	for k, v := range c.header_ {
26384		reqHeaders[k] = v
26385	}
26386	reqHeaders.Set("User-Agent", c.s.userAgent())
26387	var body io.Reader = nil
26388	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
26389	if err != nil {
26390		return nil, err
26391	}
26392	reqHeaders.Set("Content-Type", "application/json")
26393	c.urlParams_.Set("alt", alt)
26394	c.urlParams_.Set("prettyPrint", "false")
26395	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
26396	urls += "?" + c.urlParams_.Encode()
26397	req, err := http.NewRequest("PUT", urls, body)
26398	if err != nil {
26399		return nil, err
26400	}
26401	req.Header = reqHeaders
26402	googleapi.Expand(req.URL, map[string]string{
26403		"profileId": strconv.FormatInt(c.profileId, 10),
26404	})
26405	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26406}
26407
26408// Do executes the "dfareporting.creativeGroups.update" call.
26409// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
26410// status code is an error. Response headers are in either
26411// *CreativeGroup.ServerResponse.Header or (if a response was returned
26412// at all) in error.(*googleapi.Error).Header. Use
26413// googleapi.IsNotModified to check whether the returned error was
26414// because http.StatusNotModified was returned.
26415func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
26416	gensupport.SetOptions(c.urlParams_, opts...)
26417	res, err := c.doRequest("json")
26418	if res != nil && res.StatusCode == http.StatusNotModified {
26419		if res.Body != nil {
26420			res.Body.Close()
26421		}
26422		return nil, &googleapi.Error{
26423			Code:   res.StatusCode,
26424			Header: res.Header,
26425		}
26426	}
26427	if err != nil {
26428		return nil, err
26429	}
26430	defer googleapi.CloseBody(res)
26431	if err := googleapi.CheckResponse(res); err != nil {
26432		return nil, err
26433	}
26434	ret := &CreativeGroup{
26435		ServerResponse: googleapi.ServerResponse{
26436			Header:         res.Header,
26437			HTTPStatusCode: res.StatusCode,
26438		},
26439	}
26440	target := &ret
26441	if err := gensupport.DecodeResponse(target, res); err != nil {
26442		return nil, err
26443	}
26444	return ret, nil
26445	// {
26446	//   "description": "Updates an existing creative group.",
26447	//   "httpMethod": "PUT",
26448	//   "id": "dfareporting.creativeGroups.update",
26449	//   "parameterOrder": [
26450	//     "profileId"
26451	//   ],
26452	//   "parameters": {
26453	//     "profileId": {
26454	//       "description": "User profile ID associated with this request.",
26455	//       "format": "int64",
26456	//       "location": "path",
26457	//       "required": true,
26458	//       "type": "string"
26459	//     }
26460	//   },
26461	//   "path": "userprofiles/{profileId}/creativeGroups",
26462	//   "request": {
26463	//     "$ref": "CreativeGroup"
26464	//   },
26465	//   "response": {
26466	//     "$ref": "CreativeGroup"
26467	//   },
26468	//   "scopes": [
26469	//     "https://www.googleapis.com/auth/dfatrafficking"
26470	//   ]
26471	// }
26472
26473}
26474
26475// method id "dfareporting.creatives.get":
26476
26477type CreativesGetCall struct {
26478	s            *Service
26479	profileId    int64
26480	id           int64
26481	urlParams_   gensupport.URLParams
26482	ifNoneMatch_ string
26483	ctx_         context.Context
26484	header_      http.Header
26485}
26486
26487// Get: Gets one creative by ID.
26488func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
26489	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26490	c.profileId = profileId
26491	c.id = id
26492	return c
26493}
26494
26495// Fields allows partial responses to be retrieved. See
26496// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26497// for more information.
26498func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
26499	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26500	return c
26501}
26502
26503// IfNoneMatch sets the optional parameter which makes the operation
26504// fail if the object's ETag matches the given value. This is useful for
26505// getting updates only after the object has changed since the last
26506// request. Use googleapi.IsNotModified to check whether the response
26507// error from Do is the result of In-None-Match.
26508func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
26509	c.ifNoneMatch_ = entityTag
26510	return c
26511}
26512
26513// Context sets the context to be used in this call's Do method. Any
26514// pending HTTP request will be aborted if the provided context is
26515// canceled.
26516func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
26517	c.ctx_ = ctx
26518	return c
26519}
26520
26521// Header returns an http.Header that can be modified by the caller to
26522// add HTTP headers to the request.
26523func (c *CreativesGetCall) Header() http.Header {
26524	if c.header_ == nil {
26525		c.header_ = make(http.Header)
26526	}
26527	return c.header_
26528}
26529
26530func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
26531	reqHeaders := make(http.Header)
26532	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26533	for k, v := range c.header_ {
26534		reqHeaders[k] = v
26535	}
26536	reqHeaders.Set("User-Agent", c.s.userAgent())
26537	if c.ifNoneMatch_ != "" {
26538		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26539	}
26540	var body io.Reader = nil
26541	c.urlParams_.Set("alt", alt)
26542	c.urlParams_.Set("prettyPrint", "false")
26543	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
26544	urls += "?" + c.urlParams_.Encode()
26545	req, err := http.NewRequest("GET", urls, body)
26546	if err != nil {
26547		return nil, err
26548	}
26549	req.Header = reqHeaders
26550	googleapi.Expand(req.URL, map[string]string{
26551		"profileId": strconv.FormatInt(c.profileId, 10),
26552		"id":        strconv.FormatInt(c.id, 10),
26553	})
26554	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26555}
26556
26557// Do executes the "dfareporting.creatives.get" call.
26558// Exactly one of *Creative or error will be non-nil. Any non-2xx status
26559// code is an error. Response headers are in either
26560// *Creative.ServerResponse.Header or (if a response was returned at
26561// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26562// to check whether the returned error was because
26563// http.StatusNotModified was returned.
26564func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
26565	gensupport.SetOptions(c.urlParams_, opts...)
26566	res, err := c.doRequest("json")
26567	if res != nil && res.StatusCode == http.StatusNotModified {
26568		if res.Body != nil {
26569			res.Body.Close()
26570		}
26571		return nil, &googleapi.Error{
26572			Code:   res.StatusCode,
26573			Header: res.Header,
26574		}
26575	}
26576	if err != nil {
26577		return nil, err
26578	}
26579	defer googleapi.CloseBody(res)
26580	if err := googleapi.CheckResponse(res); err != nil {
26581		return nil, err
26582	}
26583	ret := &Creative{
26584		ServerResponse: googleapi.ServerResponse{
26585			Header:         res.Header,
26586			HTTPStatusCode: res.StatusCode,
26587		},
26588	}
26589	target := &ret
26590	if err := gensupport.DecodeResponse(target, res); err != nil {
26591		return nil, err
26592	}
26593	return ret, nil
26594	// {
26595	//   "description": "Gets one creative by ID.",
26596	//   "httpMethod": "GET",
26597	//   "id": "dfareporting.creatives.get",
26598	//   "parameterOrder": [
26599	//     "profileId",
26600	//     "id"
26601	//   ],
26602	//   "parameters": {
26603	//     "id": {
26604	//       "description": "Creative ID.",
26605	//       "format": "int64",
26606	//       "location": "path",
26607	//       "required": true,
26608	//       "type": "string"
26609	//     },
26610	//     "profileId": {
26611	//       "description": "User profile ID associated with this request.",
26612	//       "format": "int64",
26613	//       "location": "path",
26614	//       "required": true,
26615	//       "type": "string"
26616	//     }
26617	//   },
26618	//   "path": "userprofiles/{profileId}/creatives/{id}",
26619	//   "response": {
26620	//     "$ref": "Creative"
26621	//   },
26622	//   "scopes": [
26623	//     "https://www.googleapis.com/auth/dfatrafficking"
26624	//   ]
26625	// }
26626
26627}
26628
26629// method id "dfareporting.creatives.insert":
26630
26631type CreativesInsertCall struct {
26632	s          *Service
26633	profileId  int64
26634	creative   *Creative
26635	urlParams_ gensupport.URLParams
26636	ctx_       context.Context
26637	header_    http.Header
26638}
26639
26640// Insert: Inserts a new creative.
26641func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
26642	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26643	c.profileId = profileId
26644	c.creative = creative
26645	return c
26646}
26647
26648// Fields allows partial responses to be retrieved. See
26649// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26650// for more information.
26651func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
26652	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26653	return c
26654}
26655
26656// Context sets the context to be used in this call's Do method. Any
26657// pending HTTP request will be aborted if the provided context is
26658// canceled.
26659func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
26660	c.ctx_ = ctx
26661	return c
26662}
26663
26664// Header returns an http.Header that can be modified by the caller to
26665// add HTTP headers to the request.
26666func (c *CreativesInsertCall) Header() http.Header {
26667	if c.header_ == nil {
26668		c.header_ = make(http.Header)
26669	}
26670	return c.header_
26671}
26672
26673func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
26674	reqHeaders := make(http.Header)
26675	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26676	for k, v := range c.header_ {
26677		reqHeaders[k] = v
26678	}
26679	reqHeaders.Set("User-Agent", c.s.userAgent())
26680	var body io.Reader = nil
26681	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
26682	if err != nil {
26683		return nil, err
26684	}
26685	reqHeaders.Set("Content-Type", "application/json")
26686	c.urlParams_.Set("alt", alt)
26687	c.urlParams_.Set("prettyPrint", "false")
26688	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
26689	urls += "?" + c.urlParams_.Encode()
26690	req, err := http.NewRequest("POST", urls, body)
26691	if err != nil {
26692		return nil, err
26693	}
26694	req.Header = reqHeaders
26695	googleapi.Expand(req.URL, map[string]string{
26696		"profileId": strconv.FormatInt(c.profileId, 10),
26697	})
26698	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26699}
26700
26701// Do executes the "dfareporting.creatives.insert" call.
26702// Exactly one of *Creative or error will be non-nil. Any non-2xx status
26703// code is an error. Response headers are in either
26704// *Creative.ServerResponse.Header or (if a response was returned at
26705// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26706// to check whether the returned error was because
26707// http.StatusNotModified was returned.
26708func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
26709	gensupport.SetOptions(c.urlParams_, opts...)
26710	res, err := c.doRequest("json")
26711	if res != nil && res.StatusCode == http.StatusNotModified {
26712		if res.Body != nil {
26713			res.Body.Close()
26714		}
26715		return nil, &googleapi.Error{
26716			Code:   res.StatusCode,
26717			Header: res.Header,
26718		}
26719	}
26720	if err != nil {
26721		return nil, err
26722	}
26723	defer googleapi.CloseBody(res)
26724	if err := googleapi.CheckResponse(res); err != nil {
26725		return nil, err
26726	}
26727	ret := &Creative{
26728		ServerResponse: googleapi.ServerResponse{
26729			Header:         res.Header,
26730			HTTPStatusCode: res.StatusCode,
26731		},
26732	}
26733	target := &ret
26734	if err := gensupport.DecodeResponse(target, res); err != nil {
26735		return nil, err
26736	}
26737	return ret, nil
26738	// {
26739	//   "description": "Inserts a new creative.",
26740	//   "httpMethod": "POST",
26741	//   "id": "dfareporting.creatives.insert",
26742	//   "parameterOrder": [
26743	//     "profileId"
26744	//   ],
26745	//   "parameters": {
26746	//     "profileId": {
26747	//       "description": "User profile ID associated with this request.",
26748	//       "format": "int64",
26749	//       "location": "path",
26750	//       "required": true,
26751	//       "type": "string"
26752	//     }
26753	//   },
26754	//   "path": "userprofiles/{profileId}/creatives",
26755	//   "request": {
26756	//     "$ref": "Creative"
26757	//   },
26758	//   "response": {
26759	//     "$ref": "Creative"
26760	//   },
26761	//   "scopes": [
26762	//     "https://www.googleapis.com/auth/dfatrafficking"
26763	//   ]
26764	// }
26765
26766}
26767
26768// method id "dfareporting.creatives.list":
26769
26770type CreativesListCall struct {
26771	s            *Service
26772	profileId    int64
26773	urlParams_   gensupport.URLParams
26774	ifNoneMatch_ string
26775	ctx_         context.Context
26776	header_      http.Header
26777}
26778
26779// List: Retrieves a list of creatives, possibly filtered. This method
26780// supports paging.
26781func (r *CreativesService) List(profileId int64) *CreativesListCall {
26782	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26783	c.profileId = profileId
26784	return c
26785}
26786
26787// Active sets the optional parameter "active": Select only active
26788// creatives. Leave blank to select active and inactive creatives.
26789func (c *CreativesListCall) Active(active bool) *CreativesListCall {
26790	c.urlParams_.Set("active", fmt.Sprint(active))
26791	return c
26792}
26793
26794// AdvertiserId sets the optional parameter "advertiserId": Select only
26795// creatives with this advertiser ID.
26796func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
26797	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
26798	return c
26799}
26800
26801// Archived sets the optional parameter "archived": Select only archived
26802// creatives. Leave blank to select archived and unarchived creatives.
26803func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
26804	c.urlParams_.Set("archived", fmt.Sprint(archived))
26805	return c
26806}
26807
26808// CampaignId sets the optional parameter "campaignId": Select only
26809// creatives with this campaign ID.
26810func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
26811	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
26812	return c
26813}
26814
26815// CompanionCreativeIds sets the optional parameter
26816// "companionCreativeIds": Select only in-stream video creatives with
26817// these companion IDs.
26818func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
26819	var companionCreativeIds_ []string
26820	for _, v := range companionCreativeIds {
26821		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
26822	}
26823	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
26824	return c
26825}
26826
26827// CreativeFieldIds sets the optional parameter "creativeFieldIds":
26828// Select only creatives with these creative field IDs.
26829func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
26830	var creativeFieldIds_ []string
26831	for _, v := range creativeFieldIds {
26832		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
26833	}
26834	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
26835	return c
26836}
26837
26838// Ids sets the optional parameter "ids": Select only creatives with
26839// these IDs.
26840func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
26841	var ids_ []string
26842	for _, v := range ids {
26843		ids_ = append(ids_, fmt.Sprint(v))
26844	}
26845	c.urlParams_.SetMulti("ids", ids_)
26846	return c
26847}
26848
26849// MaxResults sets the optional parameter "maxResults": Maximum number
26850// of results to return.
26851func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
26852	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26853	return c
26854}
26855
26856// PageToken sets the optional parameter "pageToken": Value of the
26857// nextPageToken from the previous result page.
26858func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
26859	c.urlParams_.Set("pageToken", pageToken)
26860	return c
26861}
26862
26863// RenderingIds sets the optional parameter "renderingIds": Select only
26864// creatives with these rendering IDs.
26865func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
26866	var renderingIds_ []string
26867	for _, v := range renderingIds {
26868		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
26869	}
26870	c.urlParams_.SetMulti("renderingIds", renderingIds_)
26871	return c
26872}
26873
26874// SearchString sets the optional parameter "searchString": Allows
26875// searching for objects by name or ID. Wildcards (*) are allowed. For
26876// example, "creative*2015" will return objects with names like
26877// "creative June 2015", "creative April 2015", or simply "creative
26878// 2015". Most of the searches also add wildcards implicitly at the
26879// start and the end of the search string. For example, a search string
26880// of "creative" will match objects with name "my creative", "creative
26881// 2015", or simply "creative".
26882func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
26883	c.urlParams_.Set("searchString", searchString)
26884	return c
26885}
26886
26887// SizeIds sets the optional parameter "sizeIds": Select only creatives
26888// with these size IDs.
26889func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
26890	var sizeIds_ []string
26891	for _, v := range sizeIds {
26892		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
26893	}
26894	c.urlParams_.SetMulti("sizeIds", sizeIds_)
26895	return c
26896}
26897
26898// SortField sets the optional parameter "sortField": Field by which to
26899// sort the list.
26900//
26901// Possible values:
26902//   "ID" (default)
26903//   "NAME"
26904func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
26905	c.urlParams_.Set("sortField", sortField)
26906	return c
26907}
26908
26909// SortOrder sets the optional parameter "sortOrder": Order of sorted
26910// results.
26911//
26912// Possible values:
26913//   "ASCENDING" (default)
26914//   "DESCENDING"
26915func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
26916	c.urlParams_.Set("sortOrder", sortOrder)
26917	return c
26918}
26919
26920// StudioCreativeId sets the optional parameter "studioCreativeId":
26921// Select only creatives corresponding to this Studio creative ID.
26922func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
26923	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
26924	return c
26925}
26926
26927// Types sets the optional parameter "types": Select only creatives with
26928// these creative types.
26929//
26930// Possible values:
26931//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
26932//   "CUSTOM_DISPLAY"
26933//   "CUSTOM_DISPLAY_INTERSTITIAL"
26934//   "DISPLAY"
26935//   "DISPLAY_IMAGE_GALLERY"
26936//   "DISPLAY_REDIRECT"
26937//   "FLASH_INPAGE"
26938//   "HTML5_BANNER"
26939//   "IMAGE"
26940//   "INSTREAM_VIDEO"
26941//   "INSTREAM_VIDEO_REDIRECT"
26942//   "INTERNAL_REDIRECT"
26943//   "INTERSTITIAL_INTERNAL_REDIRECT"
26944//   "RICH_MEDIA_DISPLAY_BANNER"
26945//   "RICH_MEDIA_DISPLAY_EXPANDING"
26946//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
26947//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
26948//   "RICH_MEDIA_IM_EXPAND"
26949//   "RICH_MEDIA_INPAGE_FLOATING"
26950//   "RICH_MEDIA_MOBILE_IN_APP"
26951//   "RICH_MEDIA_PEEL_DOWN"
26952//   "TRACKING_TEXT"
26953//   "VPAID_LINEAR_VIDEO"
26954//   "VPAID_NON_LINEAR_VIDEO"
26955func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
26956	c.urlParams_.SetMulti("types", append([]string{}, types...))
26957	return c
26958}
26959
26960// Fields allows partial responses to be retrieved. See
26961// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26962// for more information.
26963func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
26964	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26965	return c
26966}
26967
26968// IfNoneMatch sets the optional parameter which makes the operation
26969// fail if the object's ETag matches the given value. This is useful for
26970// getting updates only after the object has changed since the last
26971// request. Use googleapi.IsNotModified to check whether the response
26972// error from Do is the result of In-None-Match.
26973func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
26974	c.ifNoneMatch_ = entityTag
26975	return c
26976}
26977
26978// Context sets the context to be used in this call's Do method. Any
26979// pending HTTP request will be aborted if the provided context is
26980// canceled.
26981func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
26982	c.ctx_ = ctx
26983	return c
26984}
26985
26986// Header returns an http.Header that can be modified by the caller to
26987// add HTTP headers to the request.
26988func (c *CreativesListCall) Header() http.Header {
26989	if c.header_ == nil {
26990		c.header_ = make(http.Header)
26991	}
26992	return c.header_
26993}
26994
26995func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
26996	reqHeaders := make(http.Header)
26997	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26998	for k, v := range c.header_ {
26999		reqHeaders[k] = v
27000	}
27001	reqHeaders.Set("User-Agent", c.s.userAgent())
27002	if c.ifNoneMatch_ != "" {
27003		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27004	}
27005	var body io.Reader = nil
27006	c.urlParams_.Set("alt", alt)
27007	c.urlParams_.Set("prettyPrint", "false")
27008	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
27009	urls += "?" + c.urlParams_.Encode()
27010	req, err := http.NewRequest("GET", urls, body)
27011	if err != nil {
27012		return nil, err
27013	}
27014	req.Header = reqHeaders
27015	googleapi.Expand(req.URL, map[string]string{
27016		"profileId": strconv.FormatInt(c.profileId, 10),
27017	})
27018	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27019}
27020
27021// Do executes the "dfareporting.creatives.list" call.
27022// Exactly one of *CreativesListResponse or error will be non-nil. Any
27023// non-2xx status code is an error. Response headers are in either
27024// *CreativesListResponse.ServerResponse.Header or (if a response was
27025// returned at all) in error.(*googleapi.Error).Header. Use
27026// googleapi.IsNotModified to check whether the returned error was
27027// because http.StatusNotModified was returned.
27028func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
27029	gensupport.SetOptions(c.urlParams_, opts...)
27030	res, err := c.doRequest("json")
27031	if res != nil && res.StatusCode == http.StatusNotModified {
27032		if res.Body != nil {
27033			res.Body.Close()
27034		}
27035		return nil, &googleapi.Error{
27036			Code:   res.StatusCode,
27037			Header: res.Header,
27038		}
27039	}
27040	if err != nil {
27041		return nil, err
27042	}
27043	defer googleapi.CloseBody(res)
27044	if err := googleapi.CheckResponse(res); err != nil {
27045		return nil, err
27046	}
27047	ret := &CreativesListResponse{
27048		ServerResponse: googleapi.ServerResponse{
27049			Header:         res.Header,
27050			HTTPStatusCode: res.StatusCode,
27051		},
27052	}
27053	target := &ret
27054	if err := gensupport.DecodeResponse(target, res); err != nil {
27055		return nil, err
27056	}
27057	return ret, nil
27058	// {
27059	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
27060	//   "httpMethod": "GET",
27061	//   "id": "dfareporting.creatives.list",
27062	//   "parameterOrder": [
27063	//     "profileId"
27064	//   ],
27065	//   "parameters": {
27066	//     "active": {
27067	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
27068	//       "location": "query",
27069	//       "type": "boolean"
27070	//     },
27071	//     "advertiserId": {
27072	//       "description": "Select only creatives with this advertiser ID.",
27073	//       "format": "int64",
27074	//       "location": "query",
27075	//       "type": "string"
27076	//     },
27077	//     "archived": {
27078	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
27079	//       "location": "query",
27080	//       "type": "boolean"
27081	//     },
27082	//     "campaignId": {
27083	//       "description": "Select only creatives with this campaign ID.",
27084	//       "format": "int64",
27085	//       "location": "query",
27086	//       "type": "string"
27087	//     },
27088	//     "companionCreativeIds": {
27089	//       "description": "Select only in-stream video creatives with these companion IDs.",
27090	//       "format": "int64",
27091	//       "location": "query",
27092	//       "repeated": true,
27093	//       "type": "string"
27094	//     },
27095	//     "creativeFieldIds": {
27096	//       "description": "Select only creatives with these creative field IDs.",
27097	//       "format": "int64",
27098	//       "location": "query",
27099	//       "repeated": true,
27100	//       "type": "string"
27101	//     },
27102	//     "ids": {
27103	//       "description": "Select only creatives with these IDs.",
27104	//       "format": "int64",
27105	//       "location": "query",
27106	//       "repeated": true,
27107	//       "type": "string"
27108	//     },
27109	//     "maxResults": {
27110	//       "default": "1000",
27111	//       "description": "Maximum number of results to return.",
27112	//       "format": "int32",
27113	//       "location": "query",
27114	//       "maximum": "1000",
27115	//       "minimum": "0",
27116	//       "type": "integer"
27117	//     },
27118	//     "pageToken": {
27119	//       "description": "Value of the nextPageToken from the previous result page.",
27120	//       "location": "query",
27121	//       "type": "string"
27122	//     },
27123	//     "profileId": {
27124	//       "description": "User profile ID associated with this request.",
27125	//       "format": "int64",
27126	//       "location": "path",
27127	//       "required": true,
27128	//       "type": "string"
27129	//     },
27130	//     "renderingIds": {
27131	//       "description": "Select only creatives with these rendering IDs.",
27132	//       "format": "int64",
27133	//       "location": "query",
27134	//       "repeated": true,
27135	//       "type": "string"
27136	//     },
27137	//     "searchString": {
27138	//       "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\".",
27139	//       "location": "query",
27140	//       "type": "string"
27141	//     },
27142	//     "sizeIds": {
27143	//       "description": "Select only creatives with these size IDs.",
27144	//       "format": "int64",
27145	//       "location": "query",
27146	//       "repeated": true,
27147	//       "type": "string"
27148	//     },
27149	//     "sortField": {
27150	//       "default": "ID",
27151	//       "description": "Field by which to sort the list.",
27152	//       "enum": [
27153	//         "ID",
27154	//         "NAME"
27155	//       ],
27156	//       "enumDescriptions": [
27157	//         "",
27158	//         ""
27159	//       ],
27160	//       "location": "query",
27161	//       "type": "string"
27162	//     },
27163	//     "sortOrder": {
27164	//       "default": "ASCENDING",
27165	//       "description": "Order of sorted results.",
27166	//       "enum": [
27167	//         "ASCENDING",
27168	//         "DESCENDING"
27169	//       ],
27170	//       "enumDescriptions": [
27171	//         "",
27172	//         ""
27173	//       ],
27174	//       "location": "query",
27175	//       "type": "string"
27176	//     },
27177	//     "studioCreativeId": {
27178	//       "description": "Select only creatives corresponding to this Studio creative ID.",
27179	//       "format": "int64",
27180	//       "location": "query",
27181	//       "type": "string"
27182	//     },
27183	//     "types": {
27184	//       "description": "Select only creatives with these creative types.",
27185	//       "enum": [
27186	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
27187	//         "CUSTOM_DISPLAY",
27188	//         "CUSTOM_DISPLAY_INTERSTITIAL",
27189	//         "DISPLAY",
27190	//         "DISPLAY_IMAGE_GALLERY",
27191	//         "DISPLAY_REDIRECT",
27192	//         "FLASH_INPAGE",
27193	//         "HTML5_BANNER",
27194	//         "IMAGE",
27195	//         "INSTREAM_VIDEO",
27196	//         "INSTREAM_VIDEO_REDIRECT",
27197	//         "INTERNAL_REDIRECT",
27198	//         "INTERSTITIAL_INTERNAL_REDIRECT",
27199	//         "RICH_MEDIA_DISPLAY_BANNER",
27200	//         "RICH_MEDIA_DISPLAY_EXPANDING",
27201	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
27202	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
27203	//         "RICH_MEDIA_IM_EXPAND",
27204	//         "RICH_MEDIA_INPAGE_FLOATING",
27205	//         "RICH_MEDIA_MOBILE_IN_APP",
27206	//         "RICH_MEDIA_PEEL_DOWN",
27207	//         "TRACKING_TEXT",
27208	//         "VPAID_LINEAR_VIDEO",
27209	//         "VPAID_NON_LINEAR_VIDEO"
27210	//       ],
27211	//       "enumDescriptions": [
27212	//         "",
27213	//         "",
27214	//         "",
27215	//         "",
27216	//         "",
27217	//         "",
27218	//         "",
27219	//         "",
27220	//         "",
27221	//         "",
27222	//         "",
27223	//         "",
27224	//         "",
27225	//         "",
27226	//         "",
27227	//         "",
27228	//         "",
27229	//         "",
27230	//         "",
27231	//         "",
27232	//         "",
27233	//         "",
27234	//         "",
27235	//         ""
27236	//       ],
27237	//       "location": "query",
27238	//       "repeated": true,
27239	//       "type": "string"
27240	//     }
27241	//   },
27242	//   "path": "userprofiles/{profileId}/creatives",
27243	//   "response": {
27244	//     "$ref": "CreativesListResponse"
27245	//   },
27246	//   "scopes": [
27247	//     "https://www.googleapis.com/auth/dfatrafficking"
27248	//   ]
27249	// }
27250
27251}
27252
27253// Pages invokes f for each page of results.
27254// A non-nil error returned from f will halt the iteration.
27255// The provided context supersedes any context provided to the Context method.
27256func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
27257	c.ctx_ = ctx
27258	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27259	for {
27260		x, err := c.Do()
27261		if err != nil {
27262			return err
27263		}
27264		if err := f(x); err != nil {
27265			return err
27266		}
27267		if x.NextPageToken == "" {
27268			return nil
27269		}
27270		c.PageToken(x.NextPageToken)
27271	}
27272}
27273
27274// method id "dfareporting.creatives.patch":
27275
27276type CreativesPatchCall struct {
27277	s          *Service
27278	profileId  int64
27279	creative   *Creative
27280	urlParams_ gensupport.URLParams
27281	ctx_       context.Context
27282	header_    http.Header
27283}
27284
27285// Patch: Updates an existing creative. This method supports patch
27286// semantics.
27287func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
27288	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27289	c.profileId = profileId
27290	c.urlParams_.Set("id", fmt.Sprint(id))
27291	c.creative = creative
27292	return c
27293}
27294
27295// Fields allows partial responses to be retrieved. See
27296// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27297// for more information.
27298func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
27299	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27300	return c
27301}
27302
27303// Context sets the context to be used in this call's Do method. Any
27304// pending HTTP request will be aborted if the provided context is
27305// canceled.
27306func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
27307	c.ctx_ = ctx
27308	return c
27309}
27310
27311// Header returns an http.Header that can be modified by the caller to
27312// add HTTP headers to the request.
27313func (c *CreativesPatchCall) Header() http.Header {
27314	if c.header_ == nil {
27315		c.header_ = make(http.Header)
27316	}
27317	return c.header_
27318}
27319
27320func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
27321	reqHeaders := make(http.Header)
27322	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27323	for k, v := range c.header_ {
27324		reqHeaders[k] = v
27325	}
27326	reqHeaders.Set("User-Agent", c.s.userAgent())
27327	var body io.Reader = nil
27328	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
27329	if err != nil {
27330		return nil, err
27331	}
27332	reqHeaders.Set("Content-Type", "application/json")
27333	c.urlParams_.Set("alt", alt)
27334	c.urlParams_.Set("prettyPrint", "false")
27335	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
27336	urls += "?" + c.urlParams_.Encode()
27337	req, err := http.NewRequest("PATCH", urls, body)
27338	if err != nil {
27339		return nil, err
27340	}
27341	req.Header = reqHeaders
27342	googleapi.Expand(req.URL, map[string]string{
27343		"profileId": strconv.FormatInt(c.profileId, 10),
27344	})
27345	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27346}
27347
27348// Do executes the "dfareporting.creatives.patch" call.
27349// Exactly one of *Creative or error will be non-nil. Any non-2xx status
27350// code is an error. Response headers are in either
27351// *Creative.ServerResponse.Header or (if a response was returned at
27352// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27353// to check whether the returned error was because
27354// http.StatusNotModified was returned.
27355func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
27356	gensupport.SetOptions(c.urlParams_, opts...)
27357	res, err := c.doRequest("json")
27358	if res != nil && res.StatusCode == http.StatusNotModified {
27359		if res.Body != nil {
27360			res.Body.Close()
27361		}
27362		return nil, &googleapi.Error{
27363			Code:   res.StatusCode,
27364			Header: res.Header,
27365		}
27366	}
27367	if err != nil {
27368		return nil, err
27369	}
27370	defer googleapi.CloseBody(res)
27371	if err := googleapi.CheckResponse(res); err != nil {
27372		return nil, err
27373	}
27374	ret := &Creative{
27375		ServerResponse: googleapi.ServerResponse{
27376			Header:         res.Header,
27377			HTTPStatusCode: res.StatusCode,
27378		},
27379	}
27380	target := &ret
27381	if err := gensupport.DecodeResponse(target, res); err != nil {
27382		return nil, err
27383	}
27384	return ret, nil
27385	// {
27386	//   "description": "Updates an existing creative. This method supports patch semantics.",
27387	//   "httpMethod": "PATCH",
27388	//   "id": "dfareporting.creatives.patch",
27389	//   "parameterOrder": [
27390	//     "profileId",
27391	//     "id"
27392	//   ],
27393	//   "parameters": {
27394	//     "id": {
27395	//       "description": "Creative ID.",
27396	//       "format": "int64",
27397	//       "location": "query",
27398	//       "required": true,
27399	//       "type": "string"
27400	//     },
27401	//     "profileId": {
27402	//       "description": "User profile ID associated with this request.",
27403	//       "format": "int64",
27404	//       "location": "path",
27405	//       "required": true,
27406	//       "type": "string"
27407	//     }
27408	//   },
27409	//   "path": "userprofiles/{profileId}/creatives",
27410	//   "request": {
27411	//     "$ref": "Creative"
27412	//   },
27413	//   "response": {
27414	//     "$ref": "Creative"
27415	//   },
27416	//   "scopes": [
27417	//     "https://www.googleapis.com/auth/dfatrafficking"
27418	//   ]
27419	// }
27420
27421}
27422
27423// method id "dfareporting.creatives.update":
27424
27425type CreativesUpdateCall struct {
27426	s          *Service
27427	profileId  int64
27428	creative   *Creative
27429	urlParams_ gensupport.URLParams
27430	ctx_       context.Context
27431	header_    http.Header
27432}
27433
27434// Update: Updates an existing creative.
27435func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
27436	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27437	c.profileId = profileId
27438	c.creative = creative
27439	return c
27440}
27441
27442// Fields allows partial responses to be retrieved. See
27443// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27444// for more information.
27445func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
27446	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27447	return c
27448}
27449
27450// Context sets the context to be used in this call's Do method. Any
27451// pending HTTP request will be aborted if the provided context is
27452// canceled.
27453func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
27454	c.ctx_ = ctx
27455	return c
27456}
27457
27458// Header returns an http.Header that can be modified by the caller to
27459// add HTTP headers to the request.
27460func (c *CreativesUpdateCall) Header() http.Header {
27461	if c.header_ == nil {
27462		c.header_ = make(http.Header)
27463	}
27464	return c.header_
27465}
27466
27467func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
27468	reqHeaders := make(http.Header)
27469	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27470	for k, v := range c.header_ {
27471		reqHeaders[k] = v
27472	}
27473	reqHeaders.Set("User-Agent", c.s.userAgent())
27474	var body io.Reader = nil
27475	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
27476	if err != nil {
27477		return nil, err
27478	}
27479	reqHeaders.Set("Content-Type", "application/json")
27480	c.urlParams_.Set("alt", alt)
27481	c.urlParams_.Set("prettyPrint", "false")
27482	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
27483	urls += "?" + c.urlParams_.Encode()
27484	req, err := http.NewRequest("PUT", urls, body)
27485	if err != nil {
27486		return nil, err
27487	}
27488	req.Header = reqHeaders
27489	googleapi.Expand(req.URL, map[string]string{
27490		"profileId": strconv.FormatInt(c.profileId, 10),
27491	})
27492	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27493}
27494
27495// Do executes the "dfareporting.creatives.update" call.
27496// Exactly one of *Creative or error will be non-nil. Any non-2xx status
27497// code is an error. Response headers are in either
27498// *Creative.ServerResponse.Header or (if a response was returned at
27499// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27500// to check whether the returned error was because
27501// http.StatusNotModified was returned.
27502func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
27503	gensupport.SetOptions(c.urlParams_, opts...)
27504	res, err := c.doRequest("json")
27505	if res != nil && res.StatusCode == http.StatusNotModified {
27506		if res.Body != nil {
27507			res.Body.Close()
27508		}
27509		return nil, &googleapi.Error{
27510			Code:   res.StatusCode,
27511			Header: res.Header,
27512		}
27513	}
27514	if err != nil {
27515		return nil, err
27516	}
27517	defer googleapi.CloseBody(res)
27518	if err := googleapi.CheckResponse(res); err != nil {
27519		return nil, err
27520	}
27521	ret := &Creative{
27522		ServerResponse: googleapi.ServerResponse{
27523			Header:         res.Header,
27524			HTTPStatusCode: res.StatusCode,
27525		},
27526	}
27527	target := &ret
27528	if err := gensupport.DecodeResponse(target, res); err != nil {
27529		return nil, err
27530	}
27531	return ret, nil
27532	// {
27533	//   "description": "Updates an existing creative.",
27534	//   "httpMethod": "PUT",
27535	//   "id": "dfareporting.creatives.update",
27536	//   "parameterOrder": [
27537	//     "profileId"
27538	//   ],
27539	//   "parameters": {
27540	//     "profileId": {
27541	//       "description": "User profile ID associated with this request.",
27542	//       "format": "int64",
27543	//       "location": "path",
27544	//       "required": true,
27545	//       "type": "string"
27546	//     }
27547	//   },
27548	//   "path": "userprofiles/{profileId}/creatives",
27549	//   "request": {
27550	//     "$ref": "Creative"
27551	//   },
27552	//   "response": {
27553	//     "$ref": "Creative"
27554	//   },
27555	//   "scopes": [
27556	//     "https://www.googleapis.com/auth/dfatrafficking"
27557	//   ]
27558	// }
27559
27560}
27561
27562// method id "dfareporting.dimensionValues.query":
27563
27564type DimensionValuesQueryCall struct {
27565	s                     *Service
27566	profileId             int64
27567	dimensionvaluerequest *DimensionValueRequest
27568	urlParams_            gensupport.URLParams
27569	ctx_                  context.Context
27570	header_               http.Header
27571}
27572
27573// Query: Retrieves list of report dimension values for a list of
27574// filters.
27575func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
27576	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27577	c.profileId = profileId
27578	c.dimensionvaluerequest = dimensionvaluerequest
27579	return c
27580}
27581
27582// MaxResults sets the optional parameter "maxResults": Maximum number
27583// of results to return.
27584func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
27585	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27586	return c
27587}
27588
27589// PageToken sets the optional parameter "pageToken": The value of the
27590// nextToken from the previous result page.
27591func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
27592	c.urlParams_.Set("pageToken", pageToken)
27593	return c
27594}
27595
27596// Fields allows partial responses to be retrieved. See
27597// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27598// for more information.
27599func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
27600	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27601	return c
27602}
27603
27604// Context sets the context to be used in this call's Do method. Any
27605// pending HTTP request will be aborted if the provided context is
27606// canceled.
27607func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
27608	c.ctx_ = ctx
27609	return c
27610}
27611
27612// Header returns an http.Header that can be modified by the caller to
27613// add HTTP headers to the request.
27614func (c *DimensionValuesQueryCall) Header() http.Header {
27615	if c.header_ == nil {
27616		c.header_ = make(http.Header)
27617	}
27618	return c.header_
27619}
27620
27621func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
27622	reqHeaders := make(http.Header)
27623	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27624	for k, v := range c.header_ {
27625		reqHeaders[k] = v
27626	}
27627	reqHeaders.Set("User-Agent", c.s.userAgent())
27628	var body io.Reader = nil
27629	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
27630	if err != nil {
27631		return nil, err
27632	}
27633	reqHeaders.Set("Content-Type", "application/json")
27634	c.urlParams_.Set("alt", alt)
27635	c.urlParams_.Set("prettyPrint", "false")
27636	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
27637	urls += "?" + c.urlParams_.Encode()
27638	req, err := http.NewRequest("POST", urls, body)
27639	if err != nil {
27640		return nil, err
27641	}
27642	req.Header = reqHeaders
27643	googleapi.Expand(req.URL, map[string]string{
27644		"profileId": strconv.FormatInt(c.profileId, 10),
27645	})
27646	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27647}
27648
27649// Do executes the "dfareporting.dimensionValues.query" call.
27650// Exactly one of *DimensionValueList or error will be non-nil. Any
27651// non-2xx status code is an error. Response headers are in either
27652// *DimensionValueList.ServerResponse.Header or (if a response was
27653// returned at all) in error.(*googleapi.Error).Header. Use
27654// googleapi.IsNotModified to check whether the returned error was
27655// because http.StatusNotModified was returned.
27656func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
27657	gensupport.SetOptions(c.urlParams_, opts...)
27658	res, err := c.doRequest("json")
27659	if res != nil && res.StatusCode == http.StatusNotModified {
27660		if res.Body != nil {
27661			res.Body.Close()
27662		}
27663		return nil, &googleapi.Error{
27664			Code:   res.StatusCode,
27665			Header: res.Header,
27666		}
27667	}
27668	if err != nil {
27669		return nil, err
27670	}
27671	defer googleapi.CloseBody(res)
27672	if err := googleapi.CheckResponse(res); err != nil {
27673		return nil, err
27674	}
27675	ret := &DimensionValueList{
27676		ServerResponse: googleapi.ServerResponse{
27677			Header:         res.Header,
27678			HTTPStatusCode: res.StatusCode,
27679		},
27680	}
27681	target := &ret
27682	if err := gensupport.DecodeResponse(target, res); err != nil {
27683		return nil, err
27684	}
27685	return ret, nil
27686	// {
27687	//   "description": "Retrieves list of report dimension values for a list of filters.",
27688	//   "httpMethod": "POST",
27689	//   "id": "dfareporting.dimensionValues.query",
27690	//   "parameterOrder": [
27691	//     "profileId"
27692	//   ],
27693	//   "parameters": {
27694	//     "maxResults": {
27695	//       "default": "100",
27696	//       "description": "Maximum number of results to return.",
27697	//       "format": "int32",
27698	//       "location": "query",
27699	//       "maximum": "100",
27700	//       "minimum": "0",
27701	//       "type": "integer"
27702	//     },
27703	//     "pageToken": {
27704	//       "description": "The value of the nextToken from the previous result page.",
27705	//       "location": "query",
27706	//       "type": "string"
27707	//     },
27708	//     "profileId": {
27709	//       "description": "The DFA user profile ID.",
27710	//       "format": "int64",
27711	//       "location": "path",
27712	//       "required": true,
27713	//       "type": "string"
27714	//     }
27715	//   },
27716	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
27717	//   "request": {
27718	//     "$ref": "DimensionValueRequest"
27719	//   },
27720	//   "response": {
27721	//     "$ref": "DimensionValueList"
27722	//   },
27723	//   "scopes": [
27724	//     "https://www.googleapis.com/auth/dfareporting"
27725	//   ]
27726	// }
27727
27728}
27729
27730// Pages invokes f for each page of results.
27731// A non-nil error returned from f will halt the iteration.
27732// The provided context supersedes any context provided to the Context method.
27733func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
27734	c.ctx_ = ctx
27735	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27736	for {
27737		x, err := c.Do()
27738		if err != nil {
27739			return err
27740		}
27741		if err := f(x); err != nil {
27742			return err
27743		}
27744		if x.NextPageToken == "" {
27745			return nil
27746		}
27747		c.PageToken(x.NextPageToken)
27748	}
27749}
27750
27751// method id "dfareporting.directorySiteContacts.get":
27752
27753type DirectorySiteContactsGetCall struct {
27754	s            *Service
27755	profileId    int64
27756	id           int64
27757	urlParams_   gensupport.URLParams
27758	ifNoneMatch_ string
27759	ctx_         context.Context
27760	header_      http.Header
27761}
27762
27763// Get: Gets one directory site contact by ID.
27764func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
27765	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27766	c.profileId = profileId
27767	c.id = id
27768	return c
27769}
27770
27771// Fields allows partial responses to be retrieved. See
27772// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27773// for more information.
27774func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
27775	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27776	return c
27777}
27778
27779// IfNoneMatch sets the optional parameter which makes the operation
27780// fail if the object's ETag matches the given value. This is useful for
27781// getting updates only after the object has changed since the last
27782// request. Use googleapi.IsNotModified to check whether the response
27783// error from Do is the result of In-None-Match.
27784func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
27785	c.ifNoneMatch_ = entityTag
27786	return c
27787}
27788
27789// Context sets the context to be used in this call's Do method. Any
27790// pending HTTP request will be aborted if the provided context is
27791// canceled.
27792func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
27793	c.ctx_ = ctx
27794	return c
27795}
27796
27797// Header returns an http.Header that can be modified by the caller to
27798// add HTTP headers to the request.
27799func (c *DirectorySiteContactsGetCall) Header() http.Header {
27800	if c.header_ == nil {
27801		c.header_ = make(http.Header)
27802	}
27803	return c.header_
27804}
27805
27806func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
27807	reqHeaders := make(http.Header)
27808	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27809	for k, v := range c.header_ {
27810		reqHeaders[k] = v
27811	}
27812	reqHeaders.Set("User-Agent", c.s.userAgent())
27813	if c.ifNoneMatch_ != "" {
27814		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27815	}
27816	var body io.Reader = nil
27817	c.urlParams_.Set("alt", alt)
27818	c.urlParams_.Set("prettyPrint", "false")
27819	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
27820	urls += "?" + c.urlParams_.Encode()
27821	req, err := http.NewRequest("GET", urls, body)
27822	if err != nil {
27823		return nil, err
27824	}
27825	req.Header = reqHeaders
27826	googleapi.Expand(req.URL, map[string]string{
27827		"profileId": strconv.FormatInt(c.profileId, 10),
27828		"id":        strconv.FormatInt(c.id, 10),
27829	})
27830	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27831}
27832
27833// Do executes the "dfareporting.directorySiteContacts.get" call.
27834// Exactly one of *DirectorySiteContact or error will be non-nil. Any
27835// non-2xx status code is an error. Response headers are in either
27836// *DirectorySiteContact.ServerResponse.Header or (if a response was
27837// returned at all) in error.(*googleapi.Error).Header. Use
27838// googleapi.IsNotModified to check whether the returned error was
27839// because http.StatusNotModified was returned.
27840func (c *DirectorySiteContactsGetCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContact, error) {
27841	gensupport.SetOptions(c.urlParams_, opts...)
27842	res, err := c.doRequest("json")
27843	if res != nil && res.StatusCode == http.StatusNotModified {
27844		if res.Body != nil {
27845			res.Body.Close()
27846		}
27847		return nil, &googleapi.Error{
27848			Code:   res.StatusCode,
27849			Header: res.Header,
27850		}
27851	}
27852	if err != nil {
27853		return nil, err
27854	}
27855	defer googleapi.CloseBody(res)
27856	if err := googleapi.CheckResponse(res); err != nil {
27857		return nil, err
27858	}
27859	ret := &DirectorySiteContact{
27860		ServerResponse: googleapi.ServerResponse{
27861			Header:         res.Header,
27862			HTTPStatusCode: res.StatusCode,
27863		},
27864	}
27865	target := &ret
27866	if err := gensupport.DecodeResponse(target, res); err != nil {
27867		return nil, err
27868	}
27869	return ret, nil
27870	// {
27871	//   "description": "Gets one directory site contact by ID.",
27872	//   "httpMethod": "GET",
27873	//   "id": "dfareporting.directorySiteContacts.get",
27874	//   "parameterOrder": [
27875	//     "profileId",
27876	//     "id"
27877	//   ],
27878	//   "parameters": {
27879	//     "id": {
27880	//       "description": "Directory site contact ID.",
27881	//       "format": "int64",
27882	//       "location": "path",
27883	//       "required": true,
27884	//       "type": "string"
27885	//     },
27886	//     "profileId": {
27887	//       "description": "User profile ID associated with this request.",
27888	//       "format": "int64",
27889	//       "location": "path",
27890	//       "required": true,
27891	//       "type": "string"
27892	//     }
27893	//   },
27894	//   "path": "userprofiles/{profileId}/directorySiteContacts/{id}",
27895	//   "response": {
27896	//     "$ref": "DirectorySiteContact"
27897	//   },
27898	//   "scopes": [
27899	//     "https://www.googleapis.com/auth/dfatrafficking"
27900	//   ]
27901	// }
27902
27903}
27904
27905// method id "dfareporting.directorySiteContacts.list":
27906
27907type DirectorySiteContactsListCall struct {
27908	s            *Service
27909	profileId    int64
27910	urlParams_   gensupport.URLParams
27911	ifNoneMatch_ string
27912	ctx_         context.Context
27913	header_      http.Header
27914}
27915
27916// List: Retrieves a list of directory site contacts, possibly filtered.
27917// This method supports paging.
27918func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
27919	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27920	c.profileId = profileId
27921	return c
27922}
27923
27924// DirectorySiteIds sets the optional parameter "directorySiteIds":
27925// Select only directory site contacts with these directory site IDs.
27926// This is a required field.
27927func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds ...int64) *DirectorySiteContactsListCall {
27928	var directorySiteIds_ []string
27929	for _, v := range directorySiteIds {
27930		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
27931	}
27932	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
27933	return c
27934}
27935
27936// Ids sets the optional parameter "ids": Select only directory site
27937// contacts with these IDs.
27938func (c *DirectorySiteContactsListCall) Ids(ids ...int64) *DirectorySiteContactsListCall {
27939	var ids_ []string
27940	for _, v := range ids {
27941		ids_ = append(ids_, fmt.Sprint(v))
27942	}
27943	c.urlParams_.SetMulti("ids", ids_)
27944	return c
27945}
27946
27947// MaxResults sets the optional parameter "maxResults": Maximum number
27948// of results to return.
27949func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
27950	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27951	return c
27952}
27953
27954// PageToken sets the optional parameter "pageToken": Value of the
27955// nextPageToken from the previous result page.
27956func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
27957	c.urlParams_.Set("pageToken", pageToken)
27958	return c
27959}
27960
27961// SearchString sets the optional parameter "searchString": Allows
27962// searching for objects by name, ID or email. Wildcards (*) are
27963// allowed. For example, "directory site contact*2015" will return
27964// objects with names like "directory site contact June 2015",
27965// "directory site contact April 2015", or simply "directory site
27966// contact 2015". Most of the searches also add wildcards implicitly at
27967// the start and the end of the search string. For example, a search
27968// string of "directory site contact" will match objects with name "my
27969// directory site contact", "directory site contact 2015", or simply
27970// "directory site contact".
27971func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
27972	c.urlParams_.Set("searchString", searchString)
27973	return c
27974}
27975
27976// SortField sets the optional parameter "sortField": Field by which to
27977// sort the list.
27978//
27979// Possible values:
27980//   "ID" (default)
27981//   "NAME"
27982func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
27983	c.urlParams_.Set("sortField", sortField)
27984	return c
27985}
27986
27987// SortOrder sets the optional parameter "sortOrder": Order of sorted
27988// results.
27989//
27990// Possible values:
27991//   "ASCENDING" (default)
27992//   "DESCENDING"
27993func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
27994	c.urlParams_.Set("sortOrder", sortOrder)
27995	return c
27996}
27997
27998// Fields allows partial responses to be retrieved. See
27999// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28000// for more information.
28001func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
28002	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28003	return c
28004}
28005
28006// IfNoneMatch sets the optional parameter which makes the operation
28007// fail if the object's ETag matches the given value. This is useful for
28008// getting updates only after the object has changed since the last
28009// request. Use googleapi.IsNotModified to check whether the response
28010// error from Do is the result of In-None-Match.
28011func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
28012	c.ifNoneMatch_ = entityTag
28013	return c
28014}
28015
28016// Context sets the context to be used in this call's Do method. Any
28017// pending HTTP request will be aborted if the provided context is
28018// canceled.
28019func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
28020	c.ctx_ = ctx
28021	return c
28022}
28023
28024// Header returns an http.Header that can be modified by the caller to
28025// add HTTP headers to the request.
28026func (c *DirectorySiteContactsListCall) Header() http.Header {
28027	if c.header_ == nil {
28028		c.header_ = make(http.Header)
28029	}
28030	return c.header_
28031}
28032
28033func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
28034	reqHeaders := make(http.Header)
28035	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28036	for k, v := range c.header_ {
28037		reqHeaders[k] = v
28038	}
28039	reqHeaders.Set("User-Agent", c.s.userAgent())
28040	if c.ifNoneMatch_ != "" {
28041		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28042	}
28043	var body io.Reader = nil
28044	c.urlParams_.Set("alt", alt)
28045	c.urlParams_.Set("prettyPrint", "false")
28046	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
28047	urls += "?" + c.urlParams_.Encode()
28048	req, err := http.NewRequest("GET", urls, body)
28049	if err != nil {
28050		return nil, err
28051	}
28052	req.Header = reqHeaders
28053	googleapi.Expand(req.URL, map[string]string{
28054		"profileId": strconv.FormatInt(c.profileId, 10),
28055	})
28056	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28057}
28058
28059// Do executes the "dfareporting.directorySiteContacts.list" call.
28060// Exactly one of *DirectorySiteContactsListResponse or error will be
28061// non-nil. Any non-2xx status code is an error. Response headers are in
28062// either *DirectorySiteContactsListResponse.ServerResponse.Header or
28063// (if a response was returned at all) in
28064// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28065// whether the returned error was because http.StatusNotModified was
28066// returned.
28067func (c *DirectorySiteContactsListCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContactsListResponse, error) {
28068	gensupport.SetOptions(c.urlParams_, opts...)
28069	res, err := c.doRequest("json")
28070	if res != nil && res.StatusCode == http.StatusNotModified {
28071		if res.Body != nil {
28072			res.Body.Close()
28073		}
28074		return nil, &googleapi.Error{
28075			Code:   res.StatusCode,
28076			Header: res.Header,
28077		}
28078	}
28079	if err != nil {
28080		return nil, err
28081	}
28082	defer googleapi.CloseBody(res)
28083	if err := googleapi.CheckResponse(res); err != nil {
28084		return nil, err
28085	}
28086	ret := &DirectorySiteContactsListResponse{
28087		ServerResponse: googleapi.ServerResponse{
28088			Header:         res.Header,
28089			HTTPStatusCode: res.StatusCode,
28090		},
28091	}
28092	target := &ret
28093	if err := gensupport.DecodeResponse(target, res); err != nil {
28094		return nil, err
28095	}
28096	return ret, nil
28097	// {
28098	//   "description": "Retrieves a list of directory site contacts, possibly filtered. This method supports paging.",
28099	//   "httpMethod": "GET",
28100	//   "id": "dfareporting.directorySiteContacts.list",
28101	//   "parameterOrder": [
28102	//     "profileId"
28103	//   ],
28104	//   "parameters": {
28105	//     "directorySiteIds": {
28106	//       "description": "Select only directory site contacts with these directory site IDs. This is a required field.",
28107	//       "format": "int64",
28108	//       "location": "query",
28109	//       "repeated": true,
28110	//       "type": "string"
28111	//     },
28112	//     "ids": {
28113	//       "description": "Select only directory site contacts with these IDs.",
28114	//       "format": "int64",
28115	//       "location": "query",
28116	//       "repeated": true,
28117	//       "type": "string"
28118	//     },
28119	//     "maxResults": {
28120	//       "default": "1000",
28121	//       "description": "Maximum number of results to return.",
28122	//       "format": "int32",
28123	//       "location": "query",
28124	//       "maximum": "1000",
28125	//       "minimum": "0",
28126	//       "type": "integer"
28127	//     },
28128	//     "pageToken": {
28129	//       "description": "Value of the nextPageToken from the previous result page.",
28130	//       "location": "query",
28131	//       "type": "string"
28132	//     },
28133	//     "profileId": {
28134	//       "description": "User profile ID associated with this request.",
28135	//       "format": "int64",
28136	//       "location": "path",
28137	//       "required": true,
28138	//       "type": "string"
28139	//     },
28140	//     "searchString": {
28141	//       "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"directory site contact*2015\" will return objects with names like \"directory site contact June 2015\", \"directory site contact April 2015\", or simply \"directory site contact 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site contact\" will match objects with name \"my directory site contact\", \"directory site contact 2015\", or simply \"directory site contact\".",
28142	//       "location": "query",
28143	//       "type": "string"
28144	//     },
28145	//     "sortField": {
28146	//       "default": "ID",
28147	//       "description": "Field by which to sort the list.",
28148	//       "enum": [
28149	//         "ID",
28150	//         "NAME"
28151	//       ],
28152	//       "enumDescriptions": [
28153	//         "",
28154	//         ""
28155	//       ],
28156	//       "location": "query",
28157	//       "type": "string"
28158	//     },
28159	//     "sortOrder": {
28160	//       "default": "ASCENDING",
28161	//       "description": "Order of sorted results.",
28162	//       "enum": [
28163	//         "ASCENDING",
28164	//         "DESCENDING"
28165	//       ],
28166	//       "enumDescriptions": [
28167	//         "",
28168	//         ""
28169	//       ],
28170	//       "location": "query",
28171	//       "type": "string"
28172	//     }
28173	//   },
28174	//   "path": "userprofiles/{profileId}/directorySiteContacts",
28175	//   "response": {
28176	//     "$ref": "DirectorySiteContactsListResponse"
28177	//   },
28178	//   "scopes": [
28179	//     "https://www.googleapis.com/auth/dfatrafficking"
28180	//   ]
28181	// }
28182
28183}
28184
28185// Pages invokes f for each page of results.
28186// A non-nil error returned from f will halt the iteration.
28187// The provided context supersedes any context provided to the Context method.
28188func (c *DirectorySiteContactsListCall) Pages(ctx context.Context, f func(*DirectorySiteContactsListResponse) error) error {
28189	c.ctx_ = ctx
28190	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28191	for {
28192		x, err := c.Do()
28193		if err != nil {
28194			return err
28195		}
28196		if err := f(x); err != nil {
28197			return err
28198		}
28199		if x.NextPageToken == "" {
28200			return nil
28201		}
28202		c.PageToken(x.NextPageToken)
28203	}
28204}
28205
28206// method id "dfareporting.directorySites.get":
28207
28208type DirectorySitesGetCall struct {
28209	s            *Service
28210	profileId    int64
28211	id           int64
28212	urlParams_   gensupport.URLParams
28213	ifNoneMatch_ string
28214	ctx_         context.Context
28215	header_      http.Header
28216}
28217
28218// Get: Gets one directory site by ID.
28219func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
28220	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28221	c.profileId = profileId
28222	c.id = id
28223	return c
28224}
28225
28226// Fields allows partial responses to be retrieved. See
28227// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28228// for more information.
28229func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
28230	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28231	return c
28232}
28233
28234// IfNoneMatch sets the optional parameter which makes the operation
28235// fail if the object's ETag matches the given value. This is useful for
28236// getting updates only after the object has changed since the last
28237// request. Use googleapi.IsNotModified to check whether the response
28238// error from Do is the result of In-None-Match.
28239func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
28240	c.ifNoneMatch_ = entityTag
28241	return c
28242}
28243
28244// Context sets the context to be used in this call's Do method. Any
28245// pending HTTP request will be aborted if the provided context is
28246// canceled.
28247func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
28248	c.ctx_ = ctx
28249	return c
28250}
28251
28252// Header returns an http.Header that can be modified by the caller to
28253// add HTTP headers to the request.
28254func (c *DirectorySitesGetCall) Header() http.Header {
28255	if c.header_ == nil {
28256		c.header_ = make(http.Header)
28257	}
28258	return c.header_
28259}
28260
28261func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
28262	reqHeaders := make(http.Header)
28263	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28264	for k, v := range c.header_ {
28265		reqHeaders[k] = v
28266	}
28267	reqHeaders.Set("User-Agent", c.s.userAgent())
28268	if c.ifNoneMatch_ != "" {
28269		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28270	}
28271	var body io.Reader = nil
28272	c.urlParams_.Set("alt", alt)
28273	c.urlParams_.Set("prettyPrint", "false")
28274	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
28275	urls += "?" + c.urlParams_.Encode()
28276	req, err := http.NewRequest("GET", urls, body)
28277	if err != nil {
28278		return nil, err
28279	}
28280	req.Header = reqHeaders
28281	googleapi.Expand(req.URL, map[string]string{
28282		"profileId": strconv.FormatInt(c.profileId, 10),
28283		"id":        strconv.FormatInt(c.id, 10),
28284	})
28285	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28286}
28287
28288// Do executes the "dfareporting.directorySites.get" call.
28289// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
28290// status code is an error. Response headers are in either
28291// *DirectorySite.ServerResponse.Header or (if a response was returned
28292// at all) in error.(*googleapi.Error).Header. Use
28293// googleapi.IsNotModified to check whether the returned error was
28294// because http.StatusNotModified was returned.
28295func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
28296	gensupport.SetOptions(c.urlParams_, opts...)
28297	res, err := c.doRequest("json")
28298	if res != nil && res.StatusCode == http.StatusNotModified {
28299		if res.Body != nil {
28300			res.Body.Close()
28301		}
28302		return nil, &googleapi.Error{
28303			Code:   res.StatusCode,
28304			Header: res.Header,
28305		}
28306	}
28307	if err != nil {
28308		return nil, err
28309	}
28310	defer googleapi.CloseBody(res)
28311	if err := googleapi.CheckResponse(res); err != nil {
28312		return nil, err
28313	}
28314	ret := &DirectorySite{
28315		ServerResponse: googleapi.ServerResponse{
28316			Header:         res.Header,
28317			HTTPStatusCode: res.StatusCode,
28318		},
28319	}
28320	target := &ret
28321	if err := gensupport.DecodeResponse(target, res); err != nil {
28322		return nil, err
28323	}
28324	return ret, nil
28325	// {
28326	//   "description": "Gets one directory site by ID.",
28327	//   "httpMethod": "GET",
28328	//   "id": "dfareporting.directorySites.get",
28329	//   "parameterOrder": [
28330	//     "profileId",
28331	//     "id"
28332	//   ],
28333	//   "parameters": {
28334	//     "id": {
28335	//       "description": "Directory site ID.",
28336	//       "format": "int64",
28337	//       "location": "path",
28338	//       "required": true,
28339	//       "type": "string"
28340	//     },
28341	//     "profileId": {
28342	//       "description": "User profile ID associated with this request.",
28343	//       "format": "int64",
28344	//       "location": "path",
28345	//       "required": true,
28346	//       "type": "string"
28347	//     }
28348	//   },
28349	//   "path": "userprofiles/{profileId}/directorySites/{id}",
28350	//   "response": {
28351	//     "$ref": "DirectorySite"
28352	//   },
28353	//   "scopes": [
28354	//     "https://www.googleapis.com/auth/dfatrafficking"
28355	//   ]
28356	// }
28357
28358}
28359
28360// method id "dfareporting.directorySites.insert":
28361
28362type DirectorySitesInsertCall struct {
28363	s             *Service
28364	profileId     int64
28365	directorysite *DirectorySite
28366	urlParams_    gensupport.URLParams
28367	ctx_          context.Context
28368	header_       http.Header
28369}
28370
28371// Insert: Inserts a new directory site.
28372func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
28373	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28374	c.profileId = profileId
28375	c.directorysite = directorysite
28376	return c
28377}
28378
28379// Fields allows partial responses to be retrieved. See
28380// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28381// for more information.
28382func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
28383	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28384	return c
28385}
28386
28387// Context sets the context to be used in this call's Do method. Any
28388// pending HTTP request will be aborted if the provided context is
28389// canceled.
28390func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
28391	c.ctx_ = ctx
28392	return c
28393}
28394
28395// Header returns an http.Header that can be modified by the caller to
28396// add HTTP headers to the request.
28397func (c *DirectorySitesInsertCall) Header() http.Header {
28398	if c.header_ == nil {
28399		c.header_ = make(http.Header)
28400	}
28401	return c.header_
28402}
28403
28404func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
28405	reqHeaders := make(http.Header)
28406	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28407	for k, v := range c.header_ {
28408		reqHeaders[k] = v
28409	}
28410	reqHeaders.Set("User-Agent", c.s.userAgent())
28411	var body io.Reader = nil
28412	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
28413	if err != nil {
28414		return nil, err
28415	}
28416	reqHeaders.Set("Content-Type", "application/json")
28417	c.urlParams_.Set("alt", alt)
28418	c.urlParams_.Set("prettyPrint", "false")
28419	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
28420	urls += "?" + c.urlParams_.Encode()
28421	req, err := http.NewRequest("POST", urls, body)
28422	if err != nil {
28423		return nil, err
28424	}
28425	req.Header = reqHeaders
28426	googleapi.Expand(req.URL, map[string]string{
28427		"profileId": strconv.FormatInt(c.profileId, 10),
28428	})
28429	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28430}
28431
28432// Do executes the "dfareporting.directorySites.insert" call.
28433// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
28434// status code is an error. Response headers are in either
28435// *DirectorySite.ServerResponse.Header or (if a response was returned
28436// at all) in error.(*googleapi.Error).Header. Use
28437// googleapi.IsNotModified to check whether the returned error was
28438// because http.StatusNotModified was returned.
28439func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
28440	gensupport.SetOptions(c.urlParams_, opts...)
28441	res, err := c.doRequest("json")
28442	if res != nil && res.StatusCode == http.StatusNotModified {
28443		if res.Body != nil {
28444			res.Body.Close()
28445		}
28446		return nil, &googleapi.Error{
28447			Code:   res.StatusCode,
28448			Header: res.Header,
28449		}
28450	}
28451	if err != nil {
28452		return nil, err
28453	}
28454	defer googleapi.CloseBody(res)
28455	if err := googleapi.CheckResponse(res); err != nil {
28456		return nil, err
28457	}
28458	ret := &DirectorySite{
28459		ServerResponse: googleapi.ServerResponse{
28460			Header:         res.Header,
28461			HTTPStatusCode: res.StatusCode,
28462		},
28463	}
28464	target := &ret
28465	if err := gensupport.DecodeResponse(target, res); err != nil {
28466		return nil, err
28467	}
28468	return ret, nil
28469	// {
28470	//   "description": "Inserts a new directory site.",
28471	//   "httpMethod": "POST",
28472	//   "id": "dfareporting.directorySites.insert",
28473	//   "parameterOrder": [
28474	//     "profileId"
28475	//   ],
28476	//   "parameters": {
28477	//     "profileId": {
28478	//       "description": "User profile ID associated with this request.",
28479	//       "format": "int64",
28480	//       "location": "path",
28481	//       "required": true,
28482	//       "type": "string"
28483	//     }
28484	//   },
28485	//   "path": "userprofiles/{profileId}/directorySites",
28486	//   "request": {
28487	//     "$ref": "DirectorySite"
28488	//   },
28489	//   "response": {
28490	//     "$ref": "DirectorySite"
28491	//   },
28492	//   "scopes": [
28493	//     "https://www.googleapis.com/auth/dfatrafficking"
28494	//   ]
28495	// }
28496
28497}
28498
28499// method id "dfareporting.directorySites.list":
28500
28501type DirectorySitesListCall struct {
28502	s            *Service
28503	profileId    int64
28504	urlParams_   gensupport.URLParams
28505	ifNoneMatch_ string
28506	ctx_         context.Context
28507	header_      http.Header
28508}
28509
28510// List: Retrieves a list of directory sites, possibly filtered. This
28511// method supports paging.
28512func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
28513	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28514	c.profileId = profileId
28515	return c
28516}
28517
28518// AcceptsInStreamVideoPlacements sets the optional parameter
28519// "acceptsInStreamVideoPlacements": This search filter is no longer
28520// supported and will have no effect on the results returned.
28521func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
28522	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
28523	return c
28524}
28525
28526// AcceptsInterstitialPlacements sets the optional parameter
28527// "acceptsInterstitialPlacements": This search filter is no longer
28528// supported and will have no effect on the results returned.
28529func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
28530	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
28531	return c
28532}
28533
28534// AcceptsPublisherPaidPlacements sets the optional parameter
28535// "acceptsPublisherPaidPlacements": Select only directory sites that
28536// accept publisher paid placements. This field can be left blank.
28537func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
28538	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
28539	return c
28540}
28541
28542// Active sets the optional parameter "active": Select only active
28543// directory sites. Leave blank to retrieve both active and inactive
28544// directory sites.
28545func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
28546	c.urlParams_.Set("active", fmt.Sprint(active))
28547	return c
28548}
28549
28550// CountryId sets the optional parameter "countryId": Select only
28551// directory sites with this country ID.
28552func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
28553	c.urlParams_.Set("countryId", fmt.Sprint(countryId))
28554	return c
28555}
28556
28557// DfpNetworkCode sets the optional parameter "dfp_network_code": Select
28558// only directory sites with this DFP network code.
28559func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
28560	c.urlParams_.Set("dfp_network_code", dfpNetworkCode)
28561	return c
28562}
28563
28564// Ids sets the optional parameter "ids": Select only directory sites
28565// with these IDs.
28566func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
28567	var ids_ []string
28568	for _, v := range ids {
28569		ids_ = append(ids_, fmt.Sprint(v))
28570	}
28571	c.urlParams_.SetMulti("ids", ids_)
28572	return c
28573}
28574
28575// MaxResults sets the optional parameter "maxResults": Maximum number
28576// of results to return.
28577func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
28578	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28579	return c
28580}
28581
28582// PageToken sets the optional parameter "pageToken": Value of the
28583// nextPageToken from the previous result page.
28584func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
28585	c.urlParams_.Set("pageToken", pageToken)
28586	return c
28587}
28588
28589// ParentId sets the optional parameter "parentId": Select only
28590// directory sites with this parent ID.
28591func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
28592	c.urlParams_.Set("parentId", fmt.Sprint(parentId))
28593	return c
28594}
28595
28596// SearchString sets the optional parameter "searchString": Allows
28597// searching for objects by name, ID or URL. Wildcards (*) are allowed.
28598// For example, "directory site*2015" will return objects with names
28599// like "directory site June 2015", "directory site April 2015", or
28600// simply "directory site 2015". Most of the searches also add wildcards
28601// implicitly at the start and the end of the search string. For
28602// example, a search string of "directory site" will match objects with
28603// name "my directory site", "directory site 2015" or simply, "directory
28604// site".
28605func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
28606	c.urlParams_.Set("searchString", searchString)
28607	return c
28608}
28609
28610// SortField sets the optional parameter "sortField": Field by which to
28611// sort the list.
28612//
28613// Possible values:
28614//   "ID" (default)
28615//   "NAME"
28616func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
28617	c.urlParams_.Set("sortField", sortField)
28618	return c
28619}
28620
28621// SortOrder sets the optional parameter "sortOrder": Order of sorted
28622// results.
28623//
28624// Possible values:
28625//   "ASCENDING" (default)
28626//   "DESCENDING"
28627func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
28628	c.urlParams_.Set("sortOrder", sortOrder)
28629	return c
28630}
28631
28632// Fields allows partial responses to be retrieved. See
28633// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28634// for more information.
28635func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
28636	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28637	return c
28638}
28639
28640// IfNoneMatch sets the optional parameter which makes the operation
28641// fail if the object's ETag matches the given value. This is useful for
28642// getting updates only after the object has changed since the last
28643// request. Use googleapi.IsNotModified to check whether the response
28644// error from Do is the result of In-None-Match.
28645func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
28646	c.ifNoneMatch_ = entityTag
28647	return c
28648}
28649
28650// Context sets the context to be used in this call's Do method. Any
28651// pending HTTP request will be aborted if the provided context is
28652// canceled.
28653func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
28654	c.ctx_ = ctx
28655	return c
28656}
28657
28658// Header returns an http.Header that can be modified by the caller to
28659// add HTTP headers to the request.
28660func (c *DirectorySitesListCall) Header() http.Header {
28661	if c.header_ == nil {
28662		c.header_ = make(http.Header)
28663	}
28664	return c.header_
28665}
28666
28667func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
28668	reqHeaders := make(http.Header)
28669	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28670	for k, v := range c.header_ {
28671		reqHeaders[k] = v
28672	}
28673	reqHeaders.Set("User-Agent", c.s.userAgent())
28674	if c.ifNoneMatch_ != "" {
28675		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28676	}
28677	var body io.Reader = nil
28678	c.urlParams_.Set("alt", alt)
28679	c.urlParams_.Set("prettyPrint", "false")
28680	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
28681	urls += "?" + c.urlParams_.Encode()
28682	req, err := http.NewRequest("GET", urls, body)
28683	if err != nil {
28684		return nil, err
28685	}
28686	req.Header = reqHeaders
28687	googleapi.Expand(req.URL, map[string]string{
28688		"profileId": strconv.FormatInt(c.profileId, 10),
28689	})
28690	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28691}
28692
28693// Do executes the "dfareporting.directorySites.list" call.
28694// Exactly one of *DirectorySitesListResponse or error will be non-nil.
28695// Any non-2xx status code is an error. Response headers are in either
28696// *DirectorySitesListResponse.ServerResponse.Header or (if a response
28697// was returned at all) in error.(*googleapi.Error).Header. Use
28698// googleapi.IsNotModified to check whether the returned error was
28699// because http.StatusNotModified was returned.
28700func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
28701	gensupport.SetOptions(c.urlParams_, opts...)
28702	res, err := c.doRequest("json")
28703	if res != nil && res.StatusCode == http.StatusNotModified {
28704		if res.Body != nil {
28705			res.Body.Close()
28706		}
28707		return nil, &googleapi.Error{
28708			Code:   res.StatusCode,
28709			Header: res.Header,
28710		}
28711	}
28712	if err != nil {
28713		return nil, err
28714	}
28715	defer googleapi.CloseBody(res)
28716	if err := googleapi.CheckResponse(res); err != nil {
28717		return nil, err
28718	}
28719	ret := &DirectorySitesListResponse{
28720		ServerResponse: googleapi.ServerResponse{
28721			Header:         res.Header,
28722			HTTPStatusCode: res.StatusCode,
28723		},
28724	}
28725	target := &ret
28726	if err := gensupport.DecodeResponse(target, res); err != nil {
28727		return nil, err
28728	}
28729	return ret, nil
28730	// {
28731	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
28732	//   "httpMethod": "GET",
28733	//   "id": "dfareporting.directorySites.list",
28734	//   "parameterOrder": [
28735	//     "profileId"
28736	//   ],
28737	//   "parameters": {
28738	//     "acceptsInStreamVideoPlacements": {
28739	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
28740	//       "location": "query",
28741	//       "type": "boolean"
28742	//     },
28743	//     "acceptsInterstitialPlacements": {
28744	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
28745	//       "location": "query",
28746	//       "type": "boolean"
28747	//     },
28748	//     "acceptsPublisherPaidPlacements": {
28749	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
28750	//       "location": "query",
28751	//       "type": "boolean"
28752	//     },
28753	//     "active": {
28754	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
28755	//       "location": "query",
28756	//       "type": "boolean"
28757	//     },
28758	//     "countryId": {
28759	//       "description": "Select only directory sites with this country ID.",
28760	//       "format": "int64",
28761	//       "location": "query",
28762	//       "type": "string"
28763	//     },
28764	//     "dfp_network_code": {
28765	//       "description": "Select only directory sites with this DFP network code.",
28766	//       "location": "query",
28767	//       "type": "string"
28768	//     },
28769	//     "ids": {
28770	//       "description": "Select only directory sites with these IDs.",
28771	//       "format": "int64",
28772	//       "location": "query",
28773	//       "repeated": true,
28774	//       "type": "string"
28775	//     },
28776	//     "maxResults": {
28777	//       "default": "1000",
28778	//       "description": "Maximum number of results to return.",
28779	//       "format": "int32",
28780	//       "location": "query",
28781	//       "maximum": "1000",
28782	//       "minimum": "0",
28783	//       "type": "integer"
28784	//     },
28785	//     "pageToken": {
28786	//       "description": "Value of the nextPageToken from the previous result page.",
28787	//       "location": "query",
28788	//       "type": "string"
28789	//     },
28790	//     "parentId": {
28791	//       "description": "Select only directory sites with this parent ID.",
28792	//       "format": "int64",
28793	//       "location": "query",
28794	//       "type": "string"
28795	//     },
28796	//     "profileId": {
28797	//       "description": "User profile ID associated with this request.",
28798	//       "format": "int64",
28799	//       "location": "path",
28800	//       "required": true,
28801	//       "type": "string"
28802	//     },
28803	//     "searchString": {
28804	//       "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\".",
28805	//       "location": "query",
28806	//       "type": "string"
28807	//     },
28808	//     "sortField": {
28809	//       "default": "ID",
28810	//       "description": "Field by which to sort the list.",
28811	//       "enum": [
28812	//         "ID",
28813	//         "NAME"
28814	//       ],
28815	//       "enumDescriptions": [
28816	//         "",
28817	//         ""
28818	//       ],
28819	//       "location": "query",
28820	//       "type": "string"
28821	//     },
28822	//     "sortOrder": {
28823	//       "default": "ASCENDING",
28824	//       "description": "Order of sorted results.",
28825	//       "enum": [
28826	//         "ASCENDING",
28827	//         "DESCENDING"
28828	//       ],
28829	//       "enumDescriptions": [
28830	//         "",
28831	//         ""
28832	//       ],
28833	//       "location": "query",
28834	//       "type": "string"
28835	//     }
28836	//   },
28837	//   "path": "userprofiles/{profileId}/directorySites",
28838	//   "response": {
28839	//     "$ref": "DirectorySitesListResponse"
28840	//   },
28841	//   "scopes": [
28842	//     "https://www.googleapis.com/auth/dfatrafficking"
28843	//   ]
28844	// }
28845
28846}
28847
28848// Pages invokes f for each page of results.
28849// A non-nil error returned from f will halt the iteration.
28850// The provided context supersedes any context provided to the Context method.
28851func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
28852	c.ctx_ = ctx
28853	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28854	for {
28855		x, err := c.Do()
28856		if err != nil {
28857			return err
28858		}
28859		if err := f(x); err != nil {
28860			return err
28861		}
28862		if x.NextPageToken == "" {
28863			return nil
28864		}
28865		c.PageToken(x.NextPageToken)
28866	}
28867}
28868
28869// method id "dfareporting.dynamicTargetingKeys.delete":
28870
28871type DynamicTargetingKeysDeleteCall struct {
28872	s          *Service
28873	profileId  int64
28874	objectId   int64
28875	urlParams_ gensupport.URLParams
28876	ctx_       context.Context
28877	header_    http.Header
28878}
28879
28880// Delete: Deletes an existing dynamic targeting key.
28881func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
28882	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28883	c.profileId = profileId
28884	c.objectId = objectId
28885	c.urlParams_.Set("name", name)
28886	c.urlParams_.Set("objectType", objectType)
28887	return c
28888}
28889
28890// Fields allows partial responses to be retrieved. See
28891// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28892// for more information.
28893func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
28894	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28895	return c
28896}
28897
28898// Context sets the context to be used in this call's Do method. Any
28899// pending HTTP request will be aborted if the provided context is
28900// canceled.
28901func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
28902	c.ctx_ = ctx
28903	return c
28904}
28905
28906// Header returns an http.Header that can be modified by the caller to
28907// add HTTP headers to the request.
28908func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
28909	if c.header_ == nil {
28910		c.header_ = make(http.Header)
28911	}
28912	return c.header_
28913}
28914
28915func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
28916	reqHeaders := make(http.Header)
28917	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28918	for k, v := range c.header_ {
28919		reqHeaders[k] = v
28920	}
28921	reqHeaders.Set("User-Agent", c.s.userAgent())
28922	var body io.Reader = nil
28923	c.urlParams_.Set("alt", alt)
28924	c.urlParams_.Set("prettyPrint", "false")
28925	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
28926	urls += "?" + c.urlParams_.Encode()
28927	req, err := http.NewRequest("DELETE", urls, body)
28928	if err != nil {
28929		return nil, err
28930	}
28931	req.Header = reqHeaders
28932	googleapi.Expand(req.URL, map[string]string{
28933		"profileId": strconv.FormatInt(c.profileId, 10),
28934		"objectId":  strconv.FormatInt(c.objectId, 10),
28935	})
28936	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28937}
28938
28939// Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
28940func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
28941	gensupport.SetOptions(c.urlParams_, opts...)
28942	res, err := c.doRequest("json")
28943	if err != nil {
28944		return err
28945	}
28946	defer googleapi.CloseBody(res)
28947	if err := googleapi.CheckResponse(res); err != nil {
28948		return err
28949	}
28950	return nil
28951	// {
28952	//   "description": "Deletes an existing dynamic targeting key.",
28953	//   "httpMethod": "DELETE",
28954	//   "id": "dfareporting.dynamicTargetingKeys.delete",
28955	//   "parameterOrder": [
28956	//     "profileId",
28957	//     "objectId",
28958	//     "name",
28959	//     "objectType"
28960	//   ],
28961	//   "parameters": {
28962	//     "name": {
28963	//       "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.",
28964	//       "location": "query",
28965	//       "required": true,
28966	//       "type": "string"
28967	//     },
28968	//     "objectId": {
28969	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
28970	//       "format": "int64",
28971	//       "location": "path",
28972	//       "required": true,
28973	//       "type": "string"
28974	//     },
28975	//     "objectType": {
28976	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
28977	//       "enum": [
28978	//         "OBJECT_AD",
28979	//         "OBJECT_ADVERTISER",
28980	//         "OBJECT_CREATIVE",
28981	//         "OBJECT_PLACEMENT"
28982	//       ],
28983	//       "enumDescriptions": [
28984	//         "",
28985	//         "",
28986	//         "",
28987	//         ""
28988	//       ],
28989	//       "location": "query",
28990	//       "required": true,
28991	//       "type": "string"
28992	//     },
28993	//     "profileId": {
28994	//       "description": "User profile ID associated with this request.",
28995	//       "format": "int64",
28996	//       "location": "path",
28997	//       "required": true,
28998	//       "type": "string"
28999	//     }
29000	//   },
29001	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
29002	//   "scopes": [
29003	//     "https://www.googleapis.com/auth/dfatrafficking"
29004	//   ]
29005	// }
29006
29007}
29008
29009// method id "dfareporting.dynamicTargetingKeys.insert":
29010
29011type DynamicTargetingKeysInsertCall struct {
29012	s                   *Service
29013	profileId           int64
29014	dynamictargetingkey *DynamicTargetingKey
29015	urlParams_          gensupport.URLParams
29016	ctx_                context.Context
29017	header_             http.Header
29018}
29019
29020// Insert: Inserts a new dynamic targeting key. Keys must be created at
29021// the advertiser level before being assigned to the advertiser's ads,
29022// creatives, or placements. There is a maximum of 1000 keys per
29023// advertiser, out of which a maximum of 20 keys can be assigned per ad,
29024// creative, or placement.
29025func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
29026	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29027	c.profileId = profileId
29028	c.dynamictargetingkey = dynamictargetingkey
29029	return c
29030}
29031
29032// Fields allows partial responses to be retrieved. See
29033// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29034// for more information.
29035func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
29036	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29037	return c
29038}
29039
29040// Context sets the context to be used in this call's Do method. Any
29041// pending HTTP request will be aborted if the provided context is
29042// canceled.
29043func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
29044	c.ctx_ = ctx
29045	return c
29046}
29047
29048// Header returns an http.Header that can be modified by the caller to
29049// add HTTP headers to the request.
29050func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
29051	if c.header_ == nil {
29052		c.header_ = make(http.Header)
29053	}
29054	return c.header_
29055}
29056
29057func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
29058	reqHeaders := make(http.Header)
29059	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29060	for k, v := range c.header_ {
29061		reqHeaders[k] = v
29062	}
29063	reqHeaders.Set("User-Agent", c.s.userAgent())
29064	var body io.Reader = nil
29065	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
29066	if err != nil {
29067		return nil, err
29068	}
29069	reqHeaders.Set("Content-Type", "application/json")
29070	c.urlParams_.Set("alt", alt)
29071	c.urlParams_.Set("prettyPrint", "false")
29072	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
29073	urls += "?" + c.urlParams_.Encode()
29074	req, err := http.NewRequest("POST", urls, body)
29075	if err != nil {
29076		return nil, err
29077	}
29078	req.Header = reqHeaders
29079	googleapi.Expand(req.URL, map[string]string{
29080		"profileId": strconv.FormatInt(c.profileId, 10),
29081	})
29082	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29083}
29084
29085// Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
29086// Exactly one of *DynamicTargetingKey or error will be non-nil. Any
29087// non-2xx status code is an error. Response headers are in either
29088// *DynamicTargetingKey.ServerResponse.Header or (if a response was
29089// returned at all) in error.(*googleapi.Error).Header. Use
29090// googleapi.IsNotModified to check whether the returned error was
29091// because http.StatusNotModified was returned.
29092func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
29093	gensupport.SetOptions(c.urlParams_, opts...)
29094	res, err := c.doRequest("json")
29095	if res != nil && res.StatusCode == http.StatusNotModified {
29096		if res.Body != nil {
29097			res.Body.Close()
29098		}
29099		return nil, &googleapi.Error{
29100			Code:   res.StatusCode,
29101			Header: res.Header,
29102		}
29103	}
29104	if err != nil {
29105		return nil, err
29106	}
29107	defer googleapi.CloseBody(res)
29108	if err := googleapi.CheckResponse(res); err != nil {
29109		return nil, err
29110	}
29111	ret := &DynamicTargetingKey{
29112		ServerResponse: googleapi.ServerResponse{
29113			Header:         res.Header,
29114			HTTPStatusCode: res.StatusCode,
29115		},
29116	}
29117	target := &ret
29118	if err := gensupport.DecodeResponse(target, res); err != nil {
29119		return nil, err
29120	}
29121	return ret, nil
29122	// {
29123	//   "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.",
29124	//   "httpMethod": "POST",
29125	//   "id": "dfareporting.dynamicTargetingKeys.insert",
29126	//   "parameterOrder": [
29127	//     "profileId"
29128	//   ],
29129	//   "parameters": {
29130	//     "profileId": {
29131	//       "description": "User profile ID associated with this request.",
29132	//       "format": "int64",
29133	//       "location": "path",
29134	//       "required": true,
29135	//       "type": "string"
29136	//     }
29137	//   },
29138	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
29139	//   "request": {
29140	//     "$ref": "DynamicTargetingKey"
29141	//   },
29142	//   "response": {
29143	//     "$ref": "DynamicTargetingKey"
29144	//   },
29145	//   "scopes": [
29146	//     "https://www.googleapis.com/auth/dfatrafficking"
29147	//   ]
29148	// }
29149
29150}
29151
29152// method id "dfareporting.dynamicTargetingKeys.list":
29153
29154type DynamicTargetingKeysListCall struct {
29155	s            *Service
29156	profileId    int64
29157	urlParams_   gensupport.URLParams
29158	ifNoneMatch_ string
29159	ctx_         context.Context
29160	header_      http.Header
29161}
29162
29163// List: Retrieves a list of dynamic targeting keys.
29164func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
29165	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29166	c.profileId = profileId
29167	return c
29168}
29169
29170// AdvertiserId sets the optional parameter "advertiserId": Select only
29171// dynamic targeting keys whose object has this advertiser ID.
29172func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
29173	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
29174	return c
29175}
29176
29177// Names sets the optional parameter "names": Select only dynamic
29178// targeting keys exactly matching these names.
29179func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
29180	c.urlParams_.SetMulti("names", append([]string{}, names...))
29181	return c
29182}
29183
29184// ObjectId sets the optional parameter "objectId": Select only dynamic
29185// targeting keys with this object ID.
29186func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
29187	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
29188	return c
29189}
29190
29191// ObjectType sets the optional parameter "objectType": Select only
29192// dynamic targeting keys with this object type.
29193//
29194// Possible values:
29195//   "OBJECT_AD"
29196//   "OBJECT_ADVERTISER"
29197//   "OBJECT_CREATIVE"
29198//   "OBJECT_PLACEMENT"
29199func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
29200	c.urlParams_.Set("objectType", objectType)
29201	return c
29202}
29203
29204// Fields allows partial responses to be retrieved. See
29205// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29206// for more information.
29207func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
29208	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29209	return c
29210}
29211
29212// IfNoneMatch sets the optional parameter which makes the operation
29213// fail if the object's ETag matches the given value. This is useful for
29214// getting updates only after the object has changed since the last
29215// request. Use googleapi.IsNotModified to check whether the response
29216// error from Do is the result of In-None-Match.
29217func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
29218	c.ifNoneMatch_ = entityTag
29219	return c
29220}
29221
29222// Context sets the context to be used in this call's Do method. Any
29223// pending HTTP request will be aborted if the provided context is
29224// canceled.
29225func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
29226	c.ctx_ = ctx
29227	return c
29228}
29229
29230// Header returns an http.Header that can be modified by the caller to
29231// add HTTP headers to the request.
29232func (c *DynamicTargetingKeysListCall) Header() http.Header {
29233	if c.header_ == nil {
29234		c.header_ = make(http.Header)
29235	}
29236	return c.header_
29237}
29238
29239func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
29240	reqHeaders := make(http.Header)
29241	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29242	for k, v := range c.header_ {
29243		reqHeaders[k] = v
29244	}
29245	reqHeaders.Set("User-Agent", c.s.userAgent())
29246	if c.ifNoneMatch_ != "" {
29247		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29248	}
29249	var body io.Reader = nil
29250	c.urlParams_.Set("alt", alt)
29251	c.urlParams_.Set("prettyPrint", "false")
29252	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
29253	urls += "?" + c.urlParams_.Encode()
29254	req, err := http.NewRequest("GET", urls, body)
29255	if err != nil {
29256		return nil, err
29257	}
29258	req.Header = reqHeaders
29259	googleapi.Expand(req.URL, map[string]string{
29260		"profileId": strconv.FormatInt(c.profileId, 10),
29261	})
29262	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29263}
29264
29265// Do executes the "dfareporting.dynamicTargetingKeys.list" call.
29266// Exactly one of *DynamicTargetingKeysListResponse or error will be
29267// non-nil. Any non-2xx status code is an error. Response headers are in
29268// either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
29269// a response was returned at all) in error.(*googleapi.Error).Header.
29270// Use googleapi.IsNotModified to check whether the returned error was
29271// because http.StatusNotModified was returned.
29272func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
29273	gensupport.SetOptions(c.urlParams_, opts...)
29274	res, err := c.doRequest("json")
29275	if res != nil && res.StatusCode == http.StatusNotModified {
29276		if res.Body != nil {
29277			res.Body.Close()
29278		}
29279		return nil, &googleapi.Error{
29280			Code:   res.StatusCode,
29281			Header: res.Header,
29282		}
29283	}
29284	if err != nil {
29285		return nil, err
29286	}
29287	defer googleapi.CloseBody(res)
29288	if err := googleapi.CheckResponse(res); err != nil {
29289		return nil, err
29290	}
29291	ret := &DynamicTargetingKeysListResponse{
29292		ServerResponse: googleapi.ServerResponse{
29293			Header:         res.Header,
29294			HTTPStatusCode: res.StatusCode,
29295		},
29296	}
29297	target := &ret
29298	if err := gensupport.DecodeResponse(target, res); err != nil {
29299		return nil, err
29300	}
29301	return ret, nil
29302	// {
29303	//   "description": "Retrieves a list of dynamic targeting keys.",
29304	//   "httpMethod": "GET",
29305	//   "id": "dfareporting.dynamicTargetingKeys.list",
29306	//   "parameterOrder": [
29307	//     "profileId"
29308	//   ],
29309	//   "parameters": {
29310	//     "advertiserId": {
29311	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
29312	//       "format": "int64",
29313	//       "location": "query",
29314	//       "type": "string"
29315	//     },
29316	//     "names": {
29317	//       "description": "Select only dynamic targeting keys exactly matching these names.",
29318	//       "location": "query",
29319	//       "repeated": true,
29320	//       "type": "string"
29321	//     },
29322	//     "objectId": {
29323	//       "description": "Select only dynamic targeting keys with this object ID.",
29324	//       "format": "int64",
29325	//       "location": "query",
29326	//       "type": "string"
29327	//     },
29328	//     "objectType": {
29329	//       "description": "Select only dynamic targeting keys with this object type.",
29330	//       "enum": [
29331	//         "OBJECT_AD",
29332	//         "OBJECT_ADVERTISER",
29333	//         "OBJECT_CREATIVE",
29334	//         "OBJECT_PLACEMENT"
29335	//       ],
29336	//       "enumDescriptions": [
29337	//         "",
29338	//         "",
29339	//         "",
29340	//         ""
29341	//       ],
29342	//       "location": "query",
29343	//       "type": "string"
29344	//     },
29345	//     "profileId": {
29346	//       "description": "User profile ID associated with this request.",
29347	//       "format": "int64",
29348	//       "location": "path",
29349	//       "required": true,
29350	//       "type": "string"
29351	//     }
29352	//   },
29353	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
29354	//   "response": {
29355	//     "$ref": "DynamicTargetingKeysListResponse"
29356	//   },
29357	//   "scopes": [
29358	//     "https://www.googleapis.com/auth/dfatrafficking"
29359	//   ]
29360	// }
29361
29362}
29363
29364// method id "dfareporting.eventTags.delete":
29365
29366type EventTagsDeleteCall struct {
29367	s          *Service
29368	profileId  int64
29369	id         int64
29370	urlParams_ gensupport.URLParams
29371	ctx_       context.Context
29372	header_    http.Header
29373}
29374
29375// Delete: Deletes an existing event tag.
29376func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
29377	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29378	c.profileId = profileId
29379	c.id = id
29380	return c
29381}
29382
29383// Fields allows partial responses to be retrieved. See
29384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29385// for more information.
29386func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
29387	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29388	return c
29389}
29390
29391// Context sets the context to be used in this call's Do method. Any
29392// pending HTTP request will be aborted if the provided context is
29393// canceled.
29394func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
29395	c.ctx_ = ctx
29396	return c
29397}
29398
29399// Header returns an http.Header that can be modified by the caller to
29400// add HTTP headers to the request.
29401func (c *EventTagsDeleteCall) Header() http.Header {
29402	if c.header_ == nil {
29403		c.header_ = make(http.Header)
29404	}
29405	return c.header_
29406}
29407
29408func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
29409	reqHeaders := make(http.Header)
29410	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29411	for k, v := range c.header_ {
29412		reqHeaders[k] = v
29413	}
29414	reqHeaders.Set("User-Agent", c.s.userAgent())
29415	var body io.Reader = nil
29416	c.urlParams_.Set("alt", alt)
29417	c.urlParams_.Set("prettyPrint", "false")
29418	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
29419	urls += "?" + c.urlParams_.Encode()
29420	req, err := http.NewRequest("DELETE", urls, body)
29421	if err != nil {
29422		return nil, err
29423	}
29424	req.Header = reqHeaders
29425	googleapi.Expand(req.URL, map[string]string{
29426		"profileId": strconv.FormatInt(c.profileId, 10),
29427		"id":        strconv.FormatInt(c.id, 10),
29428	})
29429	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29430}
29431
29432// Do executes the "dfareporting.eventTags.delete" call.
29433func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
29434	gensupport.SetOptions(c.urlParams_, opts...)
29435	res, err := c.doRequest("json")
29436	if err != nil {
29437		return err
29438	}
29439	defer googleapi.CloseBody(res)
29440	if err := googleapi.CheckResponse(res); err != nil {
29441		return err
29442	}
29443	return nil
29444	// {
29445	//   "description": "Deletes an existing event tag.",
29446	//   "httpMethod": "DELETE",
29447	//   "id": "dfareporting.eventTags.delete",
29448	//   "parameterOrder": [
29449	//     "profileId",
29450	//     "id"
29451	//   ],
29452	//   "parameters": {
29453	//     "id": {
29454	//       "description": "Event tag ID.",
29455	//       "format": "int64",
29456	//       "location": "path",
29457	//       "required": true,
29458	//       "type": "string"
29459	//     },
29460	//     "profileId": {
29461	//       "description": "User profile ID associated with this request.",
29462	//       "format": "int64",
29463	//       "location": "path",
29464	//       "required": true,
29465	//       "type": "string"
29466	//     }
29467	//   },
29468	//   "path": "userprofiles/{profileId}/eventTags/{id}",
29469	//   "scopes": [
29470	//     "https://www.googleapis.com/auth/dfatrafficking"
29471	//   ]
29472	// }
29473
29474}
29475
29476// method id "dfareporting.eventTags.get":
29477
29478type EventTagsGetCall struct {
29479	s            *Service
29480	profileId    int64
29481	id           int64
29482	urlParams_   gensupport.URLParams
29483	ifNoneMatch_ string
29484	ctx_         context.Context
29485	header_      http.Header
29486}
29487
29488// Get: Gets one event tag by ID.
29489func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
29490	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29491	c.profileId = profileId
29492	c.id = id
29493	return c
29494}
29495
29496// Fields allows partial responses to be retrieved. See
29497// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29498// for more information.
29499func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
29500	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29501	return c
29502}
29503
29504// IfNoneMatch sets the optional parameter which makes the operation
29505// fail if the object's ETag matches the given value. This is useful for
29506// getting updates only after the object has changed since the last
29507// request. Use googleapi.IsNotModified to check whether the response
29508// error from Do is the result of In-None-Match.
29509func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
29510	c.ifNoneMatch_ = entityTag
29511	return c
29512}
29513
29514// Context sets the context to be used in this call's Do method. Any
29515// pending HTTP request will be aborted if the provided context is
29516// canceled.
29517func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
29518	c.ctx_ = ctx
29519	return c
29520}
29521
29522// Header returns an http.Header that can be modified by the caller to
29523// add HTTP headers to the request.
29524func (c *EventTagsGetCall) Header() http.Header {
29525	if c.header_ == nil {
29526		c.header_ = make(http.Header)
29527	}
29528	return c.header_
29529}
29530
29531func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
29532	reqHeaders := make(http.Header)
29533	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29534	for k, v := range c.header_ {
29535		reqHeaders[k] = v
29536	}
29537	reqHeaders.Set("User-Agent", c.s.userAgent())
29538	if c.ifNoneMatch_ != "" {
29539		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29540	}
29541	var body io.Reader = nil
29542	c.urlParams_.Set("alt", alt)
29543	c.urlParams_.Set("prettyPrint", "false")
29544	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
29545	urls += "?" + c.urlParams_.Encode()
29546	req, err := http.NewRequest("GET", urls, body)
29547	if err != nil {
29548		return nil, err
29549	}
29550	req.Header = reqHeaders
29551	googleapi.Expand(req.URL, map[string]string{
29552		"profileId": strconv.FormatInt(c.profileId, 10),
29553		"id":        strconv.FormatInt(c.id, 10),
29554	})
29555	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29556}
29557
29558// Do executes the "dfareporting.eventTags.get" call.
29559// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
29560// code is an error. Response headers are in either
29561// *EventTag.ServerResponse.Header or (if a response was returned at
29562// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29563// to check whether the returned error was because
29564// http.StatusNotModified was returned.
29565func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
29566	gensupport.SetOptions(c.urlParams_, opts...)
29567	res, err := c.doRequest("json")
29568	if res != nil && res.StatusCode == http.StatusNotModified {
29569		if res.Body != nil {
29570			res.Body.Close()
29571		}
29572		return nil, &googleapi.Error{
29573			Code:   res.StatusCode,
29574			Header: res.Header,
29575		}
29576	}
29577	if err != nil {
29578		return nil, err
29579	}
29580	defer googleapi.CloseBody(res)
29581	if err := googleapi.CheckResponse(res); err != nil {
29582		return nil, err
29583	}
29584	ret := &EventTag{
29585		ServerResponse: googleapi.ServerResponse{
29586			Header:         res.Header,
29587			HTTPStatusCode: res.StatusCode,
29588		},
29589	}
29590	target := &ret
29591	if err := gensupport.DecodeResponse(target, res); err != nil {
29592		return nil, err
29593	}
29594	return ret, nil
29595	// {
29596	//   "description": "Gets one event tag by ID.",
29597	//   "httpMethod": "GET",
29598	//   "id": "dfareporting.eventTags.get",
29599	//   "parameterOrder": [
29600	//     "profileId",
29601	//     "id"
29602	//   ],
29603	//   "parameters": {
29604	//     "id": {
29605	//       "description": "Event tag ID.",
29606	//       "format": "int64",
29607	//       "location": "path",
29608	//       "required": true,
29609	//       "type": "string"
29610	//     },
29611	//     "profileId": {
29612	//       "description": "User profile ID associated with this request.",
29613	//       "format": "int64",
29614	//       "location": "path",
29615	//       "required": true,
29616	//       "type": "string"
29617	//     }
29618	//   },
29619	//   "path": "userprofiles/{profileId}/eventTags/{id}",
29620	//   "response": {
29621	//     "$ref": "EventTag"
29622	//   },
29623	//   "scopes": [
29624	//     "https://www.googleapis.com/auth/dfatrafficking"
29625	//   ]
29626	// }
29627
29628}
29629
29630// method id "dfareporting.eventTags.insert":
29631
29632type EventTagsInsertCall struct {
29633	s          *Service
29634	profileId  int64
29635	eventtag   *EventTag
29636	urlParams_ gensupport.URLParams
29637	ctx_       context.Context
29638	header_    http.Header
29639}
29640
29641// Insert: Inserts a new event tag.
29642func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
29643	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29644	c.profileId = profileId
29645	c.eventtag = eventtag
29646	return c
29647}
29648
29649// Fields allows partial responses to be retrieved. See
29650// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29651// for more information.
29652func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
29653	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29654	return c
29655}
29656
29657// Context sets the context to be used in this call's Do method. Any
29658// pending HTTP request will be aborted if the provided context is
29659// canceled.
29660func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
29661	c.ctx_ = ctx
29662	return c
29663}
29664
29665// Header returns an http.Header that can be modified by the caller to
29666// add HTTP headers to the request.
29667func (c *EventTagsInsertCall) Header() http.Header {
29668	if c.header_ == nil {
29669		c.header_ = make(http.Header)
29670	}
29671	return c.header_
29672}
29673
29674func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
29675	reqHeaders := make(http.Header)
29676	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29677	for k, v := range c.header_ {
29678		reqHeaders[k] = v
29679	}
29680	reqHeaders.Set("User-Agent", c.s.userAgent())
29681	var body io.Reader = nil
29682	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
29683	if err != nil {
29684		return nil, err
29685	}
29686	reqHeaders.Set("Content-Type", "application/json")
29687	c.urlParams_.Set("alt", alt)
29688	c.urlParams_.Set("prettyPrint", "false")
29689	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
29690	urls += "?" + c.urlParams_.Encode()
29691	req, err := http.NewRequest("POST", urls, body)
29692	if err != nil {
29693		return nil, err
29694	}
29695	req.Header = reqHeaders
29696	googleapi.Expand(req.URL, map[string]string{
29697		"profileId": strconv.FormatInt(c.profileId, 10),
29698	})
29699	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29700}
29701
29702// Do executes the "dfareporting.eventTags.insert" call.
29703// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
29704// code is an error. Response headers are in either
29705// *EventTag.ServerResponse.Header or (if a response was returned at
29706// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29707// to check whether the returned error was because
29708// http.StatusNotModified was returned.
29709func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
29710	gensupport.SetOptions(c.urlParams_, opts...)
29711	res, err := c.doRequest("json")
29712	if res != nil && res.StatusCode == http.StatusNotModified {
29713		if res.Body != nil {
29714			res.Body.Close()
29715		}
29716		return nil, &googleapi.Error{
29717			Code:   res.StatusCode,
29718			Header: res.Header,
29719		}
29720	}
29721	if err != nil {
29722		return nil, err
29723	}
29724	defer googleapi.CloseBody(res)
29725	if err := googleapi.CheckResponse(res); err != nil {
29726		return nil, err
29727	}
29728	ret := &EventTag{
29729		ServerResponse: googleapi.ServerResponse{
29730			Header:         res.Header,
29731			HTTPStatusCode: res.StatusCode,
29732		},
29733	}
29734	target := &ret
29735	if err := gensupport.DecodeResponse(target, res); err != nil {
29736		return nil, err
29737	}
29738	return ret, nil
29739	// {
29740	//   "description": "Inserts a new event tag.",
29741	//   "httpMethod": "POST",
29742	//   "id": "dfareporting.eventTags.insert",
29743	//   "parameterOrder": [
29744	//     "profileId"
29745	//   ],
29746	//   "parameters": {
29747	//     "profileId": {
29748	//       "description": "User profile ID associated with this request.",
29749	//       "format": "int64",
29750	//       "location": "path",
29751	//       "required": true,
29752	//       "type": "string"
29753	//     }
29754	//   },
29755	//   "path": "userprofiles/{profileId}/eventTags",
29756	//   "request": {
29757	//     "$ref": "EventTag"
29758	//   },
29759	//   "response": {
29760	//     "$ref": "EventTag"
29761	//   },
29762	//   "scopes": [
29763	//     "https://www.googleapis.com/auth/dfatrafficking"
29764	//   ]
29765	// }
29766
29767}
29768
29769// method id "dfareporting.eventTags.list":
29770
29771type EventTagsListCall struct {
29772	s            *Service
29773	profileId    int64
29774	urlParams_   gensupport.URLParams
29775	ifNoneMatch_ string
29776	ctx_         context.Context
29777	header_      http.Header
29778}
29779
29780// List: Retrieves a list of event tags, possibly filtered.
29781func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
29782	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29783	c.profileId = profileId
29784	return c
29785}
29786
29787// AdId sets the optional parameter "adId": Select only event tags that
29788// belong to this ad.
29789func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
29790	c.urlParams_.Set("adId", fmt.Sprint(adId))
29791	return c
29792}
29793
29794// AdvertiserId sets the optional parameter "advertiserId": Select only
29795// event tags that belong to this advertiser.
29796func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
29797	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
29798	return c
29799}
29800
29801// CampaignId sets the optional parameter "campaignId": Select only
29802// event tags that belong to this campaign.
29803func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
29804	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
29805	return c
29806}
29807
29808// DefinitionsOnly sets the optional parameter "definitionsOnly":
29809// Examine only the specified campaign or advertiser's event tags for
29810// matching selector criteria. When set to false, the parent advertiser
29811// and parent campaign of the specified ad or campaign is examined as
29812// well. In addition, when set to false, the status field is examined as
29813// well, along with the enabledByDefault field. This parameter can not
29814// be set to true when adId is specified as ads do not define their own
29815// even tags.
29816func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
29817	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
29818	return c
29819}
29820
29821// Enabled sets the optional parameter "enabled": Select only enabled
29822// event tags. What is considered enabled or disabled depends on the
29823// definitionsOnly parameter. When definitionsOnly is set to true, only
29824// the specified advertiser or campaign's event tags' enabledByDefault
29825// field is examined. When definitionsOnly is set to false, the
29826// specified ad or specified campaign's parent advertiser's or parent
29827// campaign's event tags' enabledByDefault and status fields are
29828// examined as well.
29829func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
29830	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
29831	return c
29832}
29833
29834// EventTagTypes sets the optional parameter "eventTagTypes": Select
29835// only event tags with the specified event tag types. Event tag types
29836// can be used to specify whether to use a third-party pixel, a
29837// third-party JavaScript URL, or a third-party click-through URL for
29838// either impression or click tracking.
29839//
29840// Possible values:
29841//   "CLICK_THROUGH_EVENT_TAG"
29842//   "IMPRESSION_IMAGE_EVENT_TAG"
29843//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
29844func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
29845	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
29846	return c
29847}
29848
29849// Ids sets the optional parameter "ids": Select only event tags with
29850// these IDs.
29851func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
29852	var ids_ []string
29853	for _, v := range ids {
29854		ids_ = append(ids_, fmt.Sprint(v))
29855	}
29856	c.urlParams_.SetMulti("ids", ids_)
29857	return c
29858}
29859
29860// SearchString sets the optional parameter "searchString": Allows
29861// searching for objects by name or ID. Wildcards (*) are allowed. For
29862// example, "eventtag*2015" will return objects with names like
29863// "eventtag June 2015", "eventtag April 2015", or simply "eventtag
29864// 2015". Most of the searches also add wildcards implicitly at the
29865// start and the end of the search string. For example, a search string
29866// of "eventtag" will match objects with name "my eventtag", "eventtag
29867// 2015", or simply "eventtag".
29868func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
29869	c.urlParams_.Set("searchString", searchString)
29870	return c
29871}
29872
29873// SortField sets the optional parameter "sortField": Field by which to
29874// sort the list.
29875//
29876// Possible values:
29877//   "ID" (default)
29878//   "NAME"
29879func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
29880	c.urlParams_.Set("sortField", sortField)
29881	return c
29882}
29883
29884// SortOrder sets the optional parameter "sortOrder": Order of sorted
29885// results.
29886//
29887// Possible values:
29888//   "ASCENDING" (default)
29889//   "DESCENDING"
29890func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
29891	c.urlParams_.Set("sortOrder", sortOrder)
29892	return c
29893}
29894
29895// Fields allows partial responses to be retrieved. See
29896// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29897// for more information.
29898func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
29899	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29900	return c
29901}
29902
29903// IfNoneMatch sets the optional parameter which makes the operation
29904// fail if the object's ETag matches the given value. This is useful for
29905// getting updates only after the object has changed since the last
29906// request. Use googleapi.IsNotModified to check whether the response
29907// error from Do is the result of In-None-Match.
29908func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
29909	c.ifNoneMatch_ = entityTag
29910	return c
29911}
29912
29913// Context sets the context to be used in this call's Do method. Any
29914// pending HTTP request will be aborted if the provided context is
29915// canceled.
29916func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
29917	c.ctx_ = ctx
29918	return c
29919}
29920
29921// Header returns an http.Header that can be modified by the caller to
29922// add HTTP headers to the request.
29923func (c *EventTagsListCall) Header() http.Header {
29924	if c.header_ == nil {
29925		c.header_ = make(http.Header)
29926	}
29927	return c.header_
29928}
29929
29930func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
29931	reqHeaders := make(http.Header)
29932	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29933	for k, v := range c.header_ {
29934		reqHeaders[k] = v
29935	}
29936	reqHeaders.Set("User-Agent", c.s.userAgent())
29937	if c.ifNoneMatch_ != "" {
29938		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29939	}
29940	var body io.Reader = nil
29941	c.urlParams_.Set("alt", alt)
29942	c.urlParams_.Set("prettyPrint", "false")
29943	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
29944	urls += "?" + c.urlParams_.Encode()
29945	req, err := http.NewRequest("GET", urls, body)
29946	if err != nil {
29947		return nil, err
29948	}
29949	req.Header = reqHeaders
29950	googleapi.Expand(req.URL, map[string]string{
29951		"profileId": strconv.FormatInt(c.profileId, 10),
29952	})
29953	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29954}
29955
29956// Do executes the "dfareporting.eventTags.list" call.
29957// Exactly one of *EventTagsListResponse or error will be non-nil. Any
29958// non-2xx status code is an error. Response headers are in either
29959// *EventTagsListResponse.ServerResponse.Header or (if a response was
29960// returned at all) in error.(*googleapi.Error).Header. Use
29961// googleapi.IsNotModified to check whether the returned error was
29962// because http.StatusNotModified was returned.
29963func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
29964	gensupport.SetOptions(c.urlParams_, opts...)
29965	res, err := c.doRequest("json")
29966	if res != nil && res.StatusCode == http.StatusNotModified {
29967		if res.Body != nil {
29968			res.Body.Close()
29969		}
29970		return nil, &googleapi.Error{
29971			Code:   res.StatusCode,
29972			Header: res.Header,
29973		}
29974	}
29975	if err != nil {
29976		return nil, err
29977	}
29978	defer googleapi.CloseBody(res)
29979	if err := googleapi.CheckResponse(res); err != nil {
29980		return nil, err
29981	}
29982	ret := &EventTagsListResponse{
29983		ServerResponse: googleapi.ServerResponse{
29984			Header:         res.Header,
29985			HTTPStatusCode: res.StatusCode,
29986		},
29987	}
29988	target := &ret
29989	if err := gensupport.DecodeResponse(target, res); err != nil {
29990		return nil, err
29991	}
29992	return ret, nil
29993	// {
29994	//   "description": "Retrieves a list of event tags, possibly filtered.",
29995	//   "httpMethod": "GET",
29996	//   "id": "dfareporting.eventTags.list",
29997	//   "parameterOrder": [
29998	//     "profileId"
29999	//   ],
30000	//   "parameters": {
30001	//     "adId": {
30002	//       "description": "Select only event tags that belong to this ad.",
30003	//       "format": "int64",
30004	//       "location": "query",
30005	//       "type": "string"
30006	//     },
30007	//     "advertiserId": {
30008	//       "description": "Select only event tags that belong to this advertiser.",
30009	//       "format": "int64",
30010	//       "location": "query",
30011	//       "type": "string"
30012	//     },
30013	//     "campaignId": {
30014	//       "description": "Select only event tags that belong to this campaign.",
30015	//       "format": "int64",
30016	//       "location": "query",
30017	//       "type": "string"
30018	//     },
30019	//     "definitionsOnly": {
30020	//       "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.",
30021	//       "location": "query",
30022	//       "type": "boolean"
30023	//     },
30024	//     "enabled": {
30025	//       "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.",
30026	//       "location": "query",
30027	//       "type": "boolean"
30028	//     },
30029	//     "eventTagTypes": {
30030	//       "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.",
30031	//       "enum": [
30032	//         "CLICK_THROUGH_EVENT_TAG",
30033	//         "IMPRESSION_IMAGE_EVENT_TAG",
30034	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
30035	//       ],
30036	//       "enumDescriptions": [
30037	//         "",
30038	//         "",
30039	//         ""
30040	//       ],
30041	//       "location": "query",
30042	//       "repeated": true,
30043	//       "type": "string"
30044	//     },
30045	//     "ids": {
30046	//       "description": "Select only event tags with these IDs.",
30047	//       "format": "int64",
30048	//       "location": "query",
30049	//       "repeated": true,
30050	//       "type": "string"
30051	//     },
30052	//     "profileId": {
30053	//       "description": "User profile ID associated with this request.",
30054	//       "format": "int64",
30055	//       "location": "path",
30056	//       "required": true,
30057	//       "type": "string"
30058	//     },
30059	//     "searchString": {
30060	//       "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\".",
30061	//       "location": "query",
30062	//       "type": "string"
30063	//     },
30064	//     "sortField": {
30065	//       "default": "ID",
30066	//       "description": "Field by which to sort the list.",
30067	//       "enum": [
30068	//         "ID",
30069	//         "NAME"
30070	//       ],
30071	//       "enumDescriptions": [
30072	//         "",
30073	//         ""
30074	//       ],
30075	//       "location": "query",
30076	//       "type": "string"
30077	//     },
30078	//     "sortOrder": {
30079	//       "default": "ASCENDING",
30080	//       "description": "Order of sorted results.",
30081	//       "enum": [
30082	//         "ASCENDING",
30083	//         "DESCENDING"
30084	//       ],
30085	//       "enumDescriptions": [
30086	//         "",
30087	//         ""
30088	//       ],
30089	//       "location": "query",
30090	//       "type": "string"
30091	//     }
30092	//   },
30093	//   "path": "userprofiles/{profileId}/eventTags",
30094	//   "response": {
30095	//     "$ref": "EventTagsListResponse"
30096	//   },
30097	//   "scopes": [
30098	//     "https://www.googleapis.com/auth/dfatrafficking"
30099	//   ]
30100	// }
30101
30102}
30103
30104// method id "dfareporting.eventTags.patch":
30105
30106type EventTagsPatchCall struct {
30107	s          *Service
30108	profileId  int64
30109	eventtag   *EventTag
30110	urlParams_ gensupport.URLParams
30111	ctx_       context.Context
30112	header_    http.Header
30113}
30114
30115// Patch: Updates an existing event tag. This method supports patch
30116// semantics.
30117func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
30118	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30119	c.profileId = profileId
30120	c.urlParams_.Set("id", fmt.Sprint(id))
30121	c.eventtag = eventtag
30122	return c
30123}
30124
30125// Fields allows partial responses to be retrieved. See
30126// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30127// for more information.
30128func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
30129	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30130	return c
30131}
30132
30133// Context sets the context to be used in this call's Do method. Any
30134// pending HTTP request will be aborted if the provided context is
30135// canceled.
30136func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
30137	c.ctx_ = ctx
30138	return c
30139}
30140
30141// Header returns an http.Header that can be modified by the caller to
30142// add HTTP headers to the request.
30143func (c *EventTagsPatchCall) Header() http.Header {
30144	if c.header_ == nil {
30145		c.header_ = make(http.Header)
30146	}
30147	return c.header_
30148}
30149
30150func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
30151	reqHeaders := make(http.Header)
30152	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30153	for k, v := range c.header_ {
30154		reqHeaders[k] = v
30155	}
30156	reqHeaders.Set("User-Agent", c.s.userAgent())
30157	var body io.Reader = nil
30158	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
30159	if err != nil {
30160		return nil, err
30161	}
30162	reqHeaders.Set("Content-Type", "application/json")
30163	c.urlParams_.Set("alt", alt)
30164	c.urlParams_.Set("prettyPrint", "false")
30165	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30166	urls += "?" + c.urlParams_.Encode()
30167	req, err := http.NewRequest("PATCH", urls, body)
30168	if err != nil {
30169		return nil, err
30170	}
30171	req.Header = reqHeaders
30172	googleapi.Expand(req.URL, map[string]string{
30173		"profileId": strconv.FormatInt(c.profileId, 10),
30174	})
30175	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30176}
30177
30178// Do executes the "dfareporting.eventTags.patch" call.
30179// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30180// code is an error. Response headers are in either
30181// *EventTag.ServerResponse.Header or (if a response was returned at
30182// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30183// to check whether the returned error was because
30184// http.StatusNotModified was returned.
30185func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30186	gensupport.SetOptions(c.urlParams_, opts...)
30187	res, err := c.doRequest("json")
30188	if res != nil && res.StatusCode == http.StatusNotModified {
30189		if res.Body != nil {
30190			res.Body.Close()
30191		}
30192		return nil, &googleapi.Error{
30193			Code:   res.StatusCode,
30194			Header: res.Header,
30195		}
30196	}
30197	if err != nil {
30198		return nil, err
30199	}
30200	defer googleapi.CloseBody(res)
30201	if err := googleapi.CheckResponse(res); err != nil {
30202		return nil, err
30203	}
30204	ret := &EventTag{
30205		ServerResponse: googleapi.ServerResponse{
30206			Header:         res.Header,
30207			HTTPStatusCode: res.StatusCode,
30208		},
30209	}
30210	target := &ret
30211	if err := gensupport.DecodeResponse(target, res); err != nil {
30212		return nil, err
30213	}
30214	return ret, nil
30215	// {
30216	//   "description": "Updates an existing event tag. This method supports patch semantics.",
30217	//   "httpMethod": "PATCH",
30218	//   "id": "dfareporting.eventTags.patch",
30219	//   "parameterOrder": [
30220	//     "profileId",
30221	//     "id"
30222	//   ],
30223	//   "parameters": {
30224	//     "id": {
30225	//       "description": "Event tag ID.",
30226	//       "format": "int64",
30227	//       "location": "query",
30228	//       "required": true,
30229	//       "type": "string"
30230	//     },
30231	//     "profileId": {
30232	//       "description": "User profile ID associated with this request.",
30233	//       "format": "int64",
30234	//       "location": "path",
30235	//       "required": true,
30236	//       "type": "string"
30237	//     }
30238	//   },
30239	//   "path": "userprofiles/{profileId}/eventTags",
30240	//   "request": {
30241	//     "$ref": "EventTag"
30242	//   },
30243	//   "response": {
30244	//     "$ref": "EventTag"
30245	//   },
30246	//   "scopes": [
30247	//     "https://www.googleapis.com/auth/dfatrafficking"
30248	//   ]
30249	// }
30250
30251}
30252
30253// method id "dfareporting.eventTags.update":
30254
30255type EventTagsUpdateCall struct {
30256	s          *Service
30257	profileId  int64
30258	eventtag   *EventTag
30259	urlParams_ gensupport.URLParams
30260	ctx_       context.Context
30261	header_    http.Header
30262}
30263
30264// Update: Updates an existing event tag.
30265func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
30266	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30267	c.profileId = profileId
30268	c.eventtag = eventtag
30269	return c
30270}
30271
30272// Fields allows partial responses to be retrieved. See
30273// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30274// for more information.
30275func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
30276	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30277	return c
30278}
30279
30280// Context sets the context to be used in this call's Do method. Any
30281// pending HTTP request will be aborted if the provided context is
30282// canceled.
30283func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
30284	c.ctx_ = ctx
30285	return c
30286}
30287
30288// Header returns an http.Header that can be modified by the caller to
30289// add HTTP headers to the request.
30290func (c *EventTagsUpdateCall) Header() http.Header {
30291	if c.header_ == nil {
30292		c.header_ = make(http.Header)
30293	}
30294	return c.header_
30295}
30296
30297func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
30298	reqHeaders := make(http.Header)
30299	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30300	for k, v := range c.header_ {
30301		reqHeaders[k] = v
30302	}
30303	reqHeaders.Set("User-Agent", c.s.userAgent())
30304	var body io.Reader = nil
30305	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
30306	if err != nil {
30307		return nil, err
30308	}
30309	reqHeaders.Set("Content-Type", "application/json")
30310	c.urlParams_.Set("alt", alt)
30311	c.urlParams_.Set("prettyPrint", "false")
30312	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30313	urls += "?" + c.urlParams_.Encode()
30314	req, err := http.NewRequest("PUT", urls, body)
30315	if err != nil {
30316		return nil, err
30317	}
30318	req.Header = reqHeaders
30319	googleapi.Expand(req.URL, map[string]string{
30320		"profileId": strconv.FormatInt(c.profileId, 10),
30321	})
30322	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30323}
30324
30325// Do executes the "dfareporting.eventTags.update" call.
30326// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30327// code is an error. Response headers are in either
30328// *EventTag.ServerResponse.Header or (if a response was returned at
30329// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30330// to check whether the returned error was because
30331// http.StatusNotModified was returned.
30332func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30333	gensupport.SetOptions(c.urlParams_, opts...)
30334	res, err := c.doRequest("json")
30335	if res != nil && res.StatusCode == http.StatusNotModified {
30336		if res.Body != nil {
30337			res.Body.Close()
30338		}
30339		return nil, &googleapi.Error{
30340			Code:   res.StatusCode,
30341			Header: res.Header,
30342		}
30343	}
30344	if err != nil {
30345		return nil, err
30346	}
30347	defer googleapi.CloseBody(res)
30348	if err := googleapi.CheckResponse(res); err != nil {
30349		return nil, err
30350	}
30351	ret := &EventTag{
30352		ServerResponse: googleapi.ServerResponse{
30353			Header:         res.Header,
30354			HTTPStatusCode: res.StatusCode,
30355		},
30356	}
30357	target := &ret
30358	if err := gensupport.DecodeResponse(target, res); err != nil {
30359		return nil, err
30360	}
30361	return ret, nil
30362	// {
30363	//   "description": "Updates an existing event tag.",
30364	//   "httpMethod": "PUT",
30365	//   "id": "dfareporting.eventTags.update",
30366	//   "parameterOrder": [
30367	//     "profileId"
30368	//   ],
30369	//   "parameters": {
30370	//     "profileId": {
30371	//       "description": "User profile ID associated with this request.",
30372	//       "format": "int64",
30373	//       "location": "path",
30374	//       "required": true,
30375	//       "type": "string"
30376	//     }
30377	//   },
30378	//   "path": "userprofiles/{profileId}/eventTags",
30379	//   "request": {
30380	//     "$ref": "EventTag"
30381	//   },
30382	//   "response": {
30383	//     "$ref": "EventTag"
30384	//   },
30385	//   "scopes": [
30386	//     "https://www.googleapis.com/auth/dfatrafficking"
30387	//   ]
30388	// }
30389
30390}
30391
30392// method id "dfareporting.files.get":
30393
30394type FilesGetCall struct {
30395	s            *Service
30396	reportId     int64
30397	fileId       int64
30398	urlParams_   gensupport.URLParams
30399	ifNoneMatch_ string
30400	ctx_         context.Context
30401	header_      http.Header
30402}
30403
30404// Get: Retrieves a report file by its report ID and file ID. This
30405// method supports media download.
30406func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
30407	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30408	c.reportId = reportId
30409	c.fileId = fileId
30410	return c
30411}
30412
30413// Fields allows partial responses to be retrieved. See
30414// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30415// for more information.
30416func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
30417	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30418	return c
30419}
30420
30421// IfNoneMatch sets the optional parameter which makes the operation
30422// fail if the object's ETag matches the given value. This is useful for
30423// getting updates only after the object has changed since the last
30424// request. Use googleapi.IsNotModified to check whether the response
30425// error from Do is the result of In-None-Match.
30426func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
30427	c.ifNoneMatch_ = entityTag
30428	return c
30429}
30430
30431// Context sets the context to be used in this call's Do and Download
30432// methods. Any pending HTTP request will be aborted if the provided
30433// context is canceled.
30434func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
30435	c.ctx_ = ctx
30436	return c
30437}
30438
30439// Header returns an http.Header that can be modified by the caller to
30440// add HTTP headers to the request.
30441func (c *FilesGetCall) Header() http.Header {
30442	if c.header_ == nil {
30443		c.header_ = make(http.Header)
30444	}
30445	return c.header_
30446}
30447
30448func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
30449	reqHeaders := make(http.Header)
30450	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30451	for k, v := range c.header_ {
30452		reqHeaders[k] = v
30453	}
30454	reqHeaders.Set("User-Agent", c.s.userAgent())
30455	if c.ifNoneMatch_ != "" {
30456		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30457	}
30458	var body io.Reader = nil
30459	c.urlParams_.Set("alt", alt)
30460	c.urlParams_.Set("prettyPrint", "false")
30461	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
30462	urls += "?" + c.urlParams_.Encode()
30463	req, err := http.NewRequest("GET", urls, body)
30464	if err != nil {
30465		return nil, err
30466	}
30467	req.Header = reqHeaders
30468	googleapi.Expand(req.URL, map[string]string{
30469		"reportId": strconv.FormatInt(c.reportId, 10),
30470		"fileId":   strconv.FormatInt(c.fileId, 10),
30471	})
30472	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30473}
30474
30475// Download fetches the API endpoint's "media" value, instead of the normal
30476// API response value. If the returned error is nil, the Response is guaranteed to
30477// have a 2xx status code. Callers must close the Response.Body as usual.
30478func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
30479	gensupport.SetOptions(c.urlParams_, opts...)
30480	res, err := c.doRequest("media")
30481	if err != nil {
30482		return nil, err
30483	}
30484	if err := googleapi.CheckMediaResponse(res); err != nil {
30485		res.Body.Close()
30486		return nil, err
30487	}
30488	return res, nil
30489}
30490
30491// Do executes the "dfareporting.files.get" call.
30492// Exactly one of *File or error will be non-nil. Any non-2xx status
30493// code is an error. Response headers are in either
30494// *File.ServerResponse.Header or (if a response was returned at all) in
30495// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30496// whether the returned error was because http.StatusNotModified was
30497// returned.
30498func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
30499	gensupport.SetOptions(c.urlParams_, opts...)
30500	res, err := c.doRequest("json")
30501	if res != nil && res.StatusCode == http.StatusNotModified {
30502		if res.Body != nil {
30503			res.Body.Close()
30504		}
30505		return nil, &googleapi.Error{
30506			Code:   res.StatusCode,
30507			Header: res.Header,
30508		}
30509	}
30510	if err != nil {
30511		return nil, err
30512	}
30513	defer googleapi.CloseBody(res)
30514	if err := googleapi.CheckResponse(res); err != nil {
30515		return nil, err
30516	}
30517	ret := &File{
30518		ServerResponse: googleapi.ServerResponse{
30519			Header:         res.Header,
30520			HTTPStatusCode: res.StatusCode,
30521		},
30522	}
30523	target := &ret
30524	if err := gensupport.DecodeResponse(target, res); err != nil {
30525		return nil, err
30526	}
30527	return ret, nil
30528	// {
30529	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
30530	//   "httpMethod": "GET",
30531	//   "id": "dfareporting.files.get",
30532	//   "parameterOrder": [
30533	//     "reportId",
30534	//     "fileId"
30535	//   ],
30536	//   "parameters": {
30537	//     "fileId": {
30538	//       "description": "The ID of the report file.",
30539	//       "format": "int64",
30540	//       "location": "path",
30541	//       "required": true,
30542	//       "type": "string"
30543	//     },
30544	//     "reportId": {
30545	//       "description": "The ID of the report.",
30546	//       "format": "int64",
30547	//       "location": "path",
30548	//       "required": true,
30549	//       "type": "string"
30550	//     }
30551	//   },
30552	//   "path": "reports/{reportId}/files/{fileId}",
30553	//   "response": {
30554	//     "$ref": "File"
30555	//   },
30556	//   "scopes": [
30557	//     "https://www.googleapis.com/auth/dfareporting"
30558	//   ],
30559	//   "supportsMediaDownload": true
30560	// }
30561
30562}
30563
30564// method id "dfareporting.files.list":
30565
30566type FilesListCall struct {
30567	s            *Service
30568	profileId    int64
30569	urlParams_   gensupport.URLParams
30570	ifNoneMatch_ string
30571	ctx_         context.Context
30572	header_      http.Header
30573}
30574
30575// List: Lists files for a user profile.
30576func (r *FilesService) List(profileId int64) *FilesListCall {
30577	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30578	c.profileId = profileId
30579	return c
30580}
30581
30582// MaxResults sets the optional parameter "maxResults": Maximum number
30583// of results to return.
30584func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
30585	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
30586	return c
30587}
30588
30589// PageToken sets the optional parameter "pageToken": The value of the
30590// nextToken from the previous result page.
30591func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
30592	c.urlParams_.Set("pageToken", pageToken)
30593	return c
30594}
30595
30596// Scope sets the optional parameter "scope": The scope that defines
30597// which results are returned.
30598//
30599// Possible values:
30600//   "ALL" - All files in account.
30601//   "MINE" (default) - My files.
30602//   "SHARED_WITH_ME" - Files shared with me.
30603func (c *FilesListCall) Scope(scope string) *FilesListCall {
30604	c.urlParams_.Set("scope", scope)
30605	return c
30606}
30607
30608// SortField sets the optional parameter "sortField": The field by which
30609// to sort the list.
30610//
30611// Possible values:
30612//   "ID" - Sort by file ID.
30613//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
30614func (c *FilesListCall) SortField(sortField string) *FilesListCall {
30615	c.urlParams_.Set("sortField", sortField)
30616	return c
30617}
30618
30619// SortOrder sets the optional parameter "sortOrder": Order of sorted
30620// results.
30621//
30622// Possible values:
30623//   "ASCENDING" - Ascending order.
30624//   "DESCENDING" (default) - Descending order.
30625func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
30626	c.urlParams_.Set("sortOrder", sortOrder)
30627	return c
30628}
30629
30630// Fields allows partial responses to be retrieved. See
30631// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30632// for more information.
30633func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
30634	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30635	return c
30636}
30637
30638// IfNoneMatch sets the optional parameter which makes the operation
30639// fail if the object's ETag matches the given value. This is useful for
30640// getting updates only after the object has changed since the last
30641// request. Use googleapi.IsNotModified to check whether the response
30642// error from Do is the result of In-None-Match.
30643func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
30644	c.ifNoneMatch_ = entityTag
30645	return c
30646}
30647
30648// Context sets the context to be used in this call's Do method. Any
30649// pending HTTP request will be aborted if the provided context is
30650// canceled.
30651func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
30652	c.ctx_ = ctx
30653	return c
30654}
30655
30656// Header returns an http.Header that can be modified by the caller to
30657// add HTTP headers to the request.
30658func (c *FilesListCall) Header() http.Header {
30659	if c.header_ == nil {
30660		c.header_ = make(http.Header)
30661	}
30662	return c.header_
30663}
30664
30665func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
30666	reqHeaders := make(http.Header)
30667	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30668	for k, v := range c.header_ {
30669		reqHeaders[k] = v
30670	}
30671	reqHeaders.Set("User-Agent", c.s.userAgent())
30672	if c.ifNoneMatch_ != "" {
30673		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30674	}
30675	var body io.Reader = nil
30676	c.urlParams_.Set("alt", alt)
30677	c.urlParams_.Set("prettyPrint", "false")
30678	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
30679	urls += "?" + c.urlParams_.Encode()
30680	req, err := http.NewRequest("GET", urls, body)
30681	if err != nil {
30682		return nil, err
30683	}
30684	req.Header = reqHeaders
30685	googleapi.Expand(req.URL, map[string]string{
30686		"profileId": strconv.FormatInt(c.profileId, 10),
30687	})
30688	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30689}
30690
30691// Do executes the "dfareporting.files.list" call.
30692// Exactly one of *FileList or error will be non-nil. Any non-2xx status
30693// code is an error. Response headers are in either
30694// *FileList.ServerResponse.Header or (if a response was returned at
30695// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30696// to check whether the returned error was because
30697// http.StatusNotModified was returned.
30698func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
30699	gensupport.SetOptions(c.urlParams_, opts...)
30700	res, err := c.doRequest("json")
30701	if res != nil && res.StatusCode == http.StatusNotModified {
30702		if res.Body != nil {
30703			res.Body.Close()
30704		}
30705		return nil, &googleapi.Error{
30706			Code:   res.StatusCode,
30707			Header: res.Header,
30708		}
30709	}
30710	if err != nil {
30711		return nil, err
30712	}
30713	defer googleapi.CloseBody(res)
30714	if err := googleapi.CheckResponse(res); err != nil {
30715		return nil, err
30716	}
30717	ret := &FileList{
30718		ServerResponse: googleapi.ServerResponse{
30719			Header:         res.Header,
30720			HTTPStatusCode: res.StatusCode,
30721		},
30722	}
30723	target := &ret
30724	if err := gensupport.DecodeResponse(target, res); err != nil {
30725		return nil, err
30726	}
30727	return ret, nil
30728	// {
30729	//   "description": "Lists files for a user profile.",
30730	//   "httpMethod": "GET",
30731	//   "id": "dfareporting.files.list",
30732	//   "parameterOrder": [
30733	//     "profileId"
30734	//   ],
30735	//   "parameters": {
30736	//     "maxResults": {
30737	//       "default": "10",
30738	//       "description": "Maximum number of results to return.",
30739	//       "format": "int32",
30740	//       "location": "query",
30741	//       "maximum": "10",
30742	//       "minimum": "0",
30743	//       "type": "integer"
30744	//     },
30745	//     "pageToken": {
30746	//       "description": "The value of the nextToken from the previous result page.",
30747	//       "location": "query",
30748	//       "type": "string"
30749	//     },
30750	//     "profileId": {
30751	//       "description": "The DFA profile ID.",
30752	//       "format": "int64",
30753	//       "location": "path",
30754	//       "required": true,
30755	//       "type": "string"
30756	//     },
30757	//     "scope": {
30758	//       "default": "MINE",
30759	//       "description": "The scope that defines which results are returned.",
30760	//       "enum": [
30761	//         "ALL",
30762	//         "MINE",
30763	//         "SHARED_WITH_ME"
30764	//       ],
30765	//       "enumDescriptions": [
30766	//         "All files in account.",
30767	//         "My files.",
30768	//         "Files shared with me."
30769	//       ],
30770	//       "location": "query",
30771	//       "type": "string"
30772	//     },
30773	//     "sortField": {
30774	//       "default": "LAST_MODIFIED_TIME",
30775	//       "description": "The field by which to sort the list.",
30776	//       "enum": [
30777	//         "ID",
30778	//         "LAST_MODIFIED_TIME"
30779	//       ],
30780	//       "enumDescriptions": [
30781	//         "Sort by file ID.",
30782	//         "Sort by 'lastmodifiedAt' field."
30783	//       ],
30784	//       "location": "query",
30785	//       "type": "string"
30786	//     },
30787	//     "sortOrder": {
30788	//       "default": "DESCENDING",
30789	//       "description": "Order of sorted results.",
30790	//       "enum": [
30791	//         "ASCENDING",
30792	//         "DESCENDING"
30793	//       ],
30794	//       "enumDescriptions": [
30795	//         "Ascending order.",
30796	//         "Descending order."
30797	//       ],
30798	//       "location": "query",
30799	//       "type": "string"
30800	//     }
30801	//   },
30802	//   "path": "userprofiles/{profileId}/files",
30803	//   "response": {
30804	//     "$ref": "FileList"
30805	//   },
30806	//   "scopes": [
30807	//     "https://www.googleapis.com/auth/dfareporting"
30808	//   ]
30809	// }
30810
30811}
30812
30813// Pages invokes f for each page of results.
30814// A non-nil error returned from f will halt the iteration.
30815// The provided context supersedes any context provided to the Context method.
30816func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
30817	c.ctx_ = ctx
30818	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30819	for {
30820		x, err := c.Do()
30821		if err != nil {
30822			return err
30823		}
30824		if err := f(x); err != nil {
30825			return err
30826		}
30827		if x.NextPageToken == "" {
30828			return nil
30829		}
30830		c.PageToken(x.NextPageToken)
30831	}
30832}
30833
30834// method id "dfareporting.floodlightActivities.delete":
30835
30836type FloodlightActivitiesDeleteCall struct {
30837	s          *Service
30838	profileId  int64
30839	id         int64
30840	urlParams_ gensupport.URLParams
30841	ctx_       context.Context
30842	header_    http.Header
30843}
30844
30845// Delete: Deletes an existing floodlight activity.
30846func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
30847	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30848	c.profileId = profileId
30849	c.id = id
30850	return c
30851}
30852
30853// Fields allows partial responses to be retrieved. See
30854// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30855// for more information.
30856func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
30857	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30858	return c
30859}
30860
30861// Context sets the context to be used in this call's Do method. Any
30862// pending HTTP request will be aborted if the provided context is
30863// canceled.
30864func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
30865	c.ctx_ = ctx
30866	return c
30867}
30868
30869// Header returns an http.Header that can be modified by the caller to
30870// add HTTP headers to the request.
30871func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
30872	if c.header_ == nil {
30873		c.header_ = make(http.Header)
30874	}
30875	return c.header_
30876}
30877
30878func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
30879	reqHeaders := make(http.Header)
30880	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30881	for k, v := range c.header_ {
30882		reqHeaders[k] = v
30883	}
30884	reqHeaders.Set("User-Agent", c.s.userAgent())
30885	var body io.Reader = nil
30886	c.urlParams_.Set("alt", alt)
30887	c.urlParams_.Set("prettyPrint", "false")
30888	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
30889	urls += "?" + c.urlParams_.Encode()
30890	req, err := http.NewRequest("DELETE", urls, body)
30891	if err != nil {
30892		return nil, err
30893	}
30894	req.Header = reqHeaders
30895	googleapi.Expand(req.URL, map[string]string{
30896		"profileId": strconv.FormatInt(c.profileId, 10),
30897		"id":        strconv.FormatInt(c.id, 10),
30898	})
30899	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30900}
30901
30902// Do executes the "dfareporting.floodlightActivities.delete" call.
30903func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
30904	gensupport.SetOptions(c.urlParams_, opts...)
30905	res, err := c.doRequest("json")
30906	if err != nil {
30907		return err
30908	}
30909	defer googleapi.CloseBody(res)
30910	if err := googleapi.CheckResponse(res); err != nil {
30911		return err
30912	}
30913	return nil
30914	// {
30915	//   "description": "Deletes an existing floodlight activity.",
30916	//   "httpMethod": "DELETE",
30917	//   "id": "dfareporting.floodlightActivities.delete",
30918	//   "parameterOrder": [
30919	//     "profileId",
30920	//     "id"
30921	//   ],
30922	//   "parameters": {
30923	//     "id": {
30924	//       "description": "Floodlight activity ID.",
30925	//       "format": "int64",
30926	//       "location": "path",
30927	//       "required": true,
30928	//       "type": "string"
30929	//     },
30930	//     "profileId": {
30931	//       "description": "User profile ID associated with this request.",
30932	//       "format": "int64",
30933	//       "location": "path",
30934	//       "required": true,
30935	//       "type": "string"
30936	//     }
30937	//   },
30938	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
30939	//   "scopes": [
30940	//     "https://www.googleapis.com/auth/dfatrafficking"
30941	//   ]
30942	// }
30943
30944}
30945
30946// method id "dfareporting.floodlightActivities.generatetag":
30947
30948type FloodlightActivitiesGeneratetagCall struct {
30949	s          *Service
30950	profileId  int64
30951	urlParams_ gensupport.URLParams
30952	ctx_       context.Context
30953	header_    http.Header
30954}
30955
30956// Generatetag: Generates a tag for a floodlight activity.
30957func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
30958	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30959	c.profileId = profileId
30960	return c
30961}
30962
30963// FloodlightActivityId sets the optional parameter
30964// "floodlightActivityId": Floodlight activity ID for which we want to
30965// generate a tag.
30966func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
30967	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
30968	return c
30969}
30970
30971// Fields allows partial responses to be retrieved. See
30972// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30973// for more information.
30974func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
30975	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30976	return c
30977}
30978
30979// Context sets the context to be used in this call's Do method. Any
30980// pending HTTP request will be aborted if the provided context is
30981// canceled.
30982func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
30983	c.ctx_ = ctx
30984	return c
30985}
30986
30987// Header returns an http.Header that can be modified by the caller to
30988// add HTTP headers to the request.
30989func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
30990	if c.header_ == nil {
30991		c.header_ = make(http.Header)
30992	}
30993	return c.header_
30994}
30995
30996func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
30997	reqHeaders := make(http.Header)
30998	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30999	for k, v := range c.header_ {
31000		reqHeaders[k] = v
31001	}
31002	reqHeaders.Set("User-Agent", c.s.userAgent())
31003	var body io.Reader = nil
31004	c.urlParams_.Set("alt", alt)
31005	c.urlParams_.Set("prettyPrint", "false")
31006	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
31007	urls += "?" + c.urlParams_.Encode()
31008	req, err := http.NewRequest("POST", urls, body)
31009	if err != nil {
31010		return nil, err
31011	}
31012	req.Header = reqHeaders
31013	googleapi.Expand(req.URL, map[string]string{
31014		"profileId": strconv.FormatInt(c.profileId, 10),
31015	})
31016	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31017}
31018
31019// Do executes the "dfareporting.floodlightActivities.generatetag" call.
31020// Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
31021// be non-nil. Any non-2xx status code is an error. Response headers are
31022// in either
31023// *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
31024// a response was returned at all) in error.(*googleapi.Error).Header.
31025// Use googleapi.IsNotModified to check whether the returned error was
31026// because http.StatusNotModified was returned.
31027func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
31028	gensupport.SetOptions(c.urlParams_, opts...)
31029	res, err := c.doRequest("json")
31030	if res != nil && res.StatusCode == http.StatusNotModified {
31031		if res.Body != nil {
31032			res.Body.Close()
31033		}
31034		return nil, &googleapi.Error{
31035			Code:   res.StatusCode,
31036			Header: res.Header,
31037		}
31038	}
31039	if err != nil {
31040		return nil, err
31041	}
31042	defer googleapi.CloseBody(res)
31043	if err := googleapi.CheckResponse(res); err != nil {
31044		return nil, err
31045	}
31046	ret := &FloodlightActivitiesGenerateTagResponse{
31047		ServerResponse: googleapi.ServerResponse{
31048			Header:         res.Header,
31049			HTTPStatusCode: res.StatusCode,
31050		},
31051	}
31052	target := &ret
31053	if err := gensupport.DecodeResponse(target, res); err != nil {
31054		return nil, err
31055	}
31056	return ret, nil
31057	// {
31058	//   "description": "Generates a tag for a floodlight activity.",
31059	//   "httpMethod": "POST",
31060	//   "id": "dfareporting.floodlightActivities.generatetag",
31061	//   "parameterOrder": [
31062	//     "profileId"
31063	//   ],
31064	//   "parameters": {
31065	//     "floodlightActivityId": {
31066	//       "description": "Floodlight activity ID for which we want to generate a tag.",
31067	//       "format": "int64",
31068	//       "location": "query",
31069	//       "type": "string"
31070	//     },
31071	//     "profileId": {
31072	//       "description": "User profile ID associated with this request.",
31073	//       "format": "int64",
31074	//       "location": "path",
31075	//       "required": true,
31076	//       "type": "string"
31077	//     }
31078	//   },
31079	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
31080	//   "response": {
31081	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
31082	//   },
31083	//   "scopes": [
31084	//     "https://www.googleapis.com/auth/dfatrafficking"
31085	//   ]
31086	// }
31087
31088}
31089
31090// method id "dfareporting.floodlightActivities.get":
31091
31092type FloodlightActivitiesGetCall struct {
31093	s            *Service
31094	profileId    int64
31095	id           int64
31096	urlParams_   gensupport.URLParams
31097	ifNoneMatch_ string
31098	ctx_         context.Context
31099	header_      http.Header
31100}
31101
31102// Get: Gets one floodlight activity by ID.
31103func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
31104	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31105	c.profileId = profileId
31106	c.id = id
31107	return c
31108}
31109
31110// Fields allows partial responses to be retrieved. See
31111// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31112// for more information.
31113func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
31114	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31115	return c
31116}
31117
31118// IfNoneMatch sets the optional parameter which makes the operation
31119// fail if the object's ETag matches the given value. This is useful for
31120// getting updates only after the object has changed since the last
31121// request. Use googleapi.IsNotModified to check whether the response
31122// error from Do is the result of In-None-Match.
31123func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
31124	c.ifNoneMatch_ = entityTag
31125	return c
31126}
31127
31128// Context sets the context to be used in this call's Do method. Any
31129// pending HTTP request will be aborted if the provided context is
31130// canceled.
31131func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
31132	c.ctx_ = ctx
31133	return c
31134}
31135
31136// Header returns an http.Header that can be modified by the caller to
31137// add HTTP headers to the request.
31138func (c *FloodlightActivitiesGetCall) Header() http.Header {
31139	if c.header_ == nil {
31140		c.header_ = make(http.Header)
31141	}
31142	return c.header_
31143}
31144
31145func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
31146	reqHeaders := make(http.Header)
31147	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31148	for k, v := range c.header_ {
31149		reqHeaders[k] = v
31150	}
31151	reqHeaders.Set("User-Agent", c.s.userAgent())
31152	if c.ifNoneMatch_ != "" {
31153		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31154	}
31155	var body io.Reader = nil
31156	c.urlParams_.Set("alt", alt)
31157	c.urlParams_.Set("prettyPrint", "false")
31158	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
31159	urls += "?" + c.urlParams_.Encode()
31160	req, err := http.NewRequest("GET", urls, body)
31161	if err != nil {
31162		return nil, err
31163	}
31164	req.Header = reqHeaders
31165	googleapi.Expand(req.URL, map[string]string{
31166		"profileId": strconv.FormatInt(c.profileId, 10),
31167		"id":        strconv.FormatInt(c.id, 10),
31168	})
31169	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31170}
31171
31172// Do executes the "dfareporting.floodlightActivities.get" call.
31173// Exactly one of *FloodlightActivity or error will be non-nil. Any
31174// non-2xx status code is an error. Response headers are in either
31175// *FloodlightActivity.ServerResponse.Header or (if a response was
31176// returned at all) in error.(*googleapi.Error).Header. Use
31177// googleapi.IsNotModified to check whether the returned error was
31178// because http.StatusNotModified was returned.
31179func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
31180	gensupport.SetOptions(c.urlParams_, opts...)
31181	res, err := c.doRequest("json")
31182	if res != nil && res.StatusCode == http.StatusNotModified {
31183		if res.Body != nil {
31184			res.Body.Close()
31185		}
31186		return nil, &googleapi.Error{
31187			Code:   res.StatusCode,
31188			Header: res.Header,
31189		}
31190	}
31191	if err != nil {
31192		return nil, err
31193	}
31194	defer googleapi.CloseBody(res)
31195	if err := googleapi.CheckResponse(res); err != nil {
31196		return nil, err
31197	}
31198	ret := &FloodlightActivity{
31199		ServerResponse: googleapi.ServerResponse{
31200			Header:         res.Header,
31201			HTTPStatusCode: res.StatusCode,
31202		},
31203	}
31204	target := &ret
31205	if err := gensupport.DecodeResponse(target, res); err != nil {
31206		return nil, err
31207	}
31208	return ret, nil
31209	// {
31210	//   "description": "Gets one floodlight activity by ID.",
31211	//   "httpMethod": "GET",
31212	//   "id": "dfareporting.floodlightActivities.get",
31213	//   "parameterOrder": [
31214	//     "profileId",
31215	//     "id"
31216	//   ],
31217	//   "parameters": {
31218	//     "id": {
31219	//       "description": "Floodlight activity ID.",
31220	//       "format": "int64",
31221	//       "location": "path",
31222	//       "required": true,
31223	//       "type": "string"
31224	//     },
31225	//     "profileId": {
31226	//       "description": "User profile ID associated with this request.",
31227	//       "format": "int64",
31228	//       "location": "path",
31229	//       "required": true,
31230	//       "type": "string"
31231	//     }
31232	//   },
31233	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
31234	//   "response": {
31235	//     "$ref": "FloodlightActivity"
31236	//   },
31237	//   "scopes": [
31238	//     "https://www.googleapis.com/auth/dfatrafficking"
31239	//   ]
31240	// }
31241
31242}
31243
31244// method id "dfareporting.floodlightActivities.insert":
31245
31246type FloodlightActivitiesInsertCall struct {
31247	s                  *Service
31248	profileId          int64
31249	floodlightactivity *FloodlightActivity
31250	urlParams_         gensupport.URLParams
31251	ctx_               context.Context
31252	header_            http.Header
31253}
31254
31255// Insert: Inserts a new floodlight activity.
31256func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
31257	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31258	c.profileId = profileId
31259	c.floodlightactivity = floodlightactivity
31260	return c
31261}
31262
31263// Fields allows partial responses to be retrieved. See
31264// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31265// for more information.
31266func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
31267	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31268	return c
31269}
31270
31271// Context sets the context to be used in this call's Do method. Any
31272// pending HTTP request will be aborted if the provided context is
31273// canceled.
31274func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
31275	c.ctx_ = ctx
31276	return c
31277}
31278
31279// Header returns an http.Header that can be modified by the caller to
31280// add HTTP headers to the request.
31281func (c *FloodlightActivitiesInsertCall) Header() http.Header {
31282	if c.header_ == nil {
31283		c.header_ = make(http.Header)
31284	}
31285	return c.header_
31286}
31287
31288func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
31289	reqHeaders := make(http.Header)
31290	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31291	for k, v := range c.header_ {
31292		reqHeaders[k] = v
31293	}
31294	reqHeaders.Set("User-Agent", c.s.userAgent())
31295	var body io.Reader = nil
31296	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
31297	if err != nil {
31298		return nil, err
31299	}
31300	reqHeaders.Set("Content-Type", "application/json")
31301	c.urlParams_.Set("alt", alt)
31302	c.urlParams_.Set("prettyPrint", "false")
31303	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
31304	urls += "?" + c.urlParams_.Encode()
31305	req, err := http.NewRequest("POST", urls, body)
31306	if err != nil {
31307		return nil, err
31308	}
31309	req.Header = reqHeaders
31310	googleapi.Expand(req.URL, map[string]string{
31311		"profileId": strconv.FormatInt(c.profileId, 10),
31312	})
31313	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31314}
31315
31316// Do executes the "dfareporting.floodlightActivities.insert" call.
31317// Exactly one of *FloodlightActivity or error will be non-nil. Any
31318// non-2xx status code is an error. Response headers are in either
31319// *FloodlightActivity.ServerResponse.Header or (if a response was
31320// returned at all) in error.(*googleapi.Error).Header. Use
31321// googleapi.IsNotModified to check whether the returned error was
31322// because http.StatusNotModified was returned.
31323func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
31324	gensupport.SetOptions(c.urlParams_, opts...)
31325	res, err := c.doRequest("json")
31326	if res != nil && res.StatusCode == http.StatusNotModified {
31327		if res.Body != nil {
31328			res.Body.Close()
31329		}
31330		return nil, &googleapi.Error{
31331			Code:   res.StatusCode,
31332			Header: res.Header,
31333		}
31334	}
31335	if err != nil {
31336		return nil, err
31337	}
31338	defer googleapi.CloseBody(res)
31339	if err := googleapi.CheckResponse(res); err != nil {
31340		return nil, err
31341	}
31342	ret := &FloodlightActivity{
31343		ServerResponse: googleapi.ServerResponse{
31344			Header:         res.Header,
31345			HTTPStatusCode: res.StatusCode,
31346		},
31347	}
31348	target := &ret
31349	if err := gensupport.DecodeResponse(target, res); err != nil {
31350		return nil, err
31351	}
31352	return ret, nil
31353	// {
31354	//   "description": "Inserts a new floodlight activity.",
31355	//   "httpMethod": "POST",
31356	//   "id": "dfareporting.floodlightActivities.insert",
31357	//   "parameterOrder": [
31358	//     "profileId"
31359	//   ],
31360	//   "parameters": {
31361	//     "profileId": {
31362	//       "description": "User profile ID associated with this request.",
31363	//       "format": "int64",
31364	//       "location": "path",
31365	//       "required": true,
31366	//       "type": "string"
31367	//     }
31368	//   },
31369	//   "path": "userprofiles/{profileId}/floodlightActivities",
31370	//   "request": {
31371	//     "$ref": "FloodlightActivity"
31372	//   },
31373	//   "response": {
31374	//     "$ref": "FloodlightActivity"
31375	//   },
31376	//   "scopes": [
31377	//     "https://www.googleapis.com/auth/dfatrafficking"
31378	//   ]
31379	// }
31380
31381}
31382
31383// method id "dfareporting.floodlightActivities.list":
31384
31385type FloodlightActivitiesListCall struct {
31386	s            *Service
31387	profileId    int64
31388	urlParams_   gensupport.URLParams
31389	ifNoneMatch_ string
31390	ctx_         context.Context
31391	header_      http.Header
31392}
31393
31394// List: Retrieves a list of floodlight activities, possibly filtered.
31395// This method supports paging.
31396func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
31397	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31398	c.profileId = profileId
31399	return c
31400}
31401
31402// AdvertiserId sets the optional parameter "advertiserId": Select only
31403// floodlight activities for the specified advertiser ID. Must specify
31404// either ids, advertiserId, or floodlightConfigurationId for a
31405// non-empty result.
31406func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
31407	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31408	return c
31409}
31410
31411// FloodlightActivityGroupIds sets the optional parameter
31412// "floodlightActivityGroupIds": Select only floodlight activities with
31413// the specified floodlight activity group IDs.
31414func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
31415	var floodlightActivityGroupIds_ []string
31416	for _, v := range floodlightActivityGroupIds {
31417		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
31418	}
31419	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
31420	return c
31421}
31422
31423// FloodlightActivityGroupName sets the optional parameter
31424// "floodlightActivityGroupName": Select only floodlight activities with
31425// the specified floodlight activity group name.
31426func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
31427	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
31428	return c
31429}
31430
31431// FloodlightActivityGroupTagString sets the optional parameter
31432// "floodlightActivityGroupTagString": Select only floodlight activities
31433// with the specified floodlight activity group tag string.
31434func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
31435	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
31436	return c
31437}
31438
31439// FloodlightActivityGroupType sets the optional parameter
31440// "floodlightActivityGroupType": Select only floodlight activities with
31441// the specified floodlight activity group type.
31442//
31443// Possible values:
31444//   "COUNTER"
31445//   "SALE"
31446func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
31447	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
31448	return c
31449}
31450
31451// FloodlightConfigurationId sets the optional parameter
31452// "floodlightConfigurationId": Select only floodlight activities for
31453// the specified floodlight configuration ID. Must specify either ids,
31454// advertiserId, or floodlightConfigurationId for a non-empty result.
31455func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
31456	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
31457	return c
31458}
31459
31460// Ids sets the optional parameter "ids": Select only floodlight
31461// activities with the specified IDs. Must specify either ids,
31462// advertiserId, or floodlightConfigurationId for a non-empty result.
31463func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
31464	var ids_ []string
31465	for _, v := range ids {
31466		ids_ = append(ids_, fmt.Sprint(v))
31467	}
31468	c.urlParams_.SetMulti("ids", ids_)
31469	return c
31470}
31471
31472// MaxResults sets the optional parameter "maxResults": Maximum number
31473// of results to return.
31474func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
31475	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
31476	return c
31477}
31478
31479// PageToken sets the optional parameter "pageToken": Value of the
31480// nextPageToken from the previous result page.
31481func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
31482	c.urlParams_.Set("pageToken", pageToken)
31483	return c
31484}
31485
31486// SearchString sets the optional parameter "searchString": Allows
31487// searching for objects by name or ID. Wildcards (*) are allowed. For
31488// example, "floodlightactivity*2015" will return objects with names
31489// like "floodlightactivity June 2015", "floodlightactivity April 2015",
31490// or simply "floodlightactivity 2015". Most of the searches also add
31491// wildcards implicitly at the start and the end of the search string.
31492// For example, a search string of "floodlightactivity" will match
31493// objects with name "my floodlightactivity activity",
31494// "floodlightactivity 2015", or simply "floodlightactivity".
31495func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
31496	c.urlParams_.Set("searchString", searchString)
31497	return c
31498}
31499
31500// SortField sets the optional parameter "sortField": Field by which to
31501// sort the list.
31502//
31503// Possible values:
31504//   "ID" (default)
31505//   "NAME"
31506func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
31507	c.urlParams_.Set("sortField", sortField)
31508	return c
31509}
31510
31511// SortOrder sets the optional parameter "sortOrder": Order of sorted
31512// results.
31513//
31514// Possible values:
31515//   "ASCENDING" (default)
31516//   "DESCENDING"
31517func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
31518	c.urlParams_.Set("sortOrder", sortOrder)
31519	return c
31520}
31521
31522// TagString sets the optional parameter "tagString": Select only
31523// floodlight activities with the specified tag string.
31524func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
31525	c.urlParams_.Set("tagString", tagString)
31526	return c
31527}
31528
31529// Fields allows partial responses to be retrieved. See
31530// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31531// for more information.
31532func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
31533	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31534	return c
31535}
31536
31537// IfNoneMatch sets the optional parameter which makes the operation
31538// fail if the object's ETag matches the given value. This is useful for
31539// getting updates only after the object has changed since the last
31540// request. Use googleapi.IsNotModified to check whether the response
31541// error from Do is the result of In-None-Match.
31542func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
31543	c.ifNoneMatch_ = entityTag
31544	return c
31545}
31546
31547// Context sets the context to be used in this call's Do method. Any
31548// pending HTTP request will be aborted if the provided context is
31549// canceled.
31550func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
31551	c.ctx_ = ctx
31552	return c
31553}
31554
31555// Header returns an http.Header that can be modified by the caller to
31556// add HTTP headers to the request.
31557func (c *FloodlightActivitiesListCall) Header() http.Header {
31558	if c.header_ == nil {
31559		c.header_ = make(http.Header)
31560	}
31561	return c.header_
31562}
31563
31564func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
31565	reqHeaders := make(http.Header)
31566	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31567	for k, v := range c.header_ {
31568		reqHeaders[k] = v
31569	}
31570	reqHeaders.Set("User-Agent", c.s.userAgent())
31571	if c.ifNoneMatch_ != "" {
31572		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31573	}
31574	var body io.Reader = nil
31575	c.urlParams_.Set("alt", alt)
31576	c.urlParams_.Set("prettyPrint", "false")
31577	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
31578	urls += "?" + c.urlParams_.Encode()
31579	req, err := http.NewRequest("GET", urls, body)
31580	if err != nil {
31581		return nil, err
31582	}
31583	req.Header = reqHeaders
31584	googleapi.Expand(req.URL, map[string]string{
31585		"profileId": strconv.FormatInt(c.profileId, 10),
31586	})
31587	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31588}
31589
31590// Do executes the "dfareporting.floodlightActivities.list" call.
31591// Exactly one of *FloodlightActivitiesListResponse or error will be
31592// non-nil. Any non-2xx status code is an error. Response headers are in
31593// either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
31594// a response was returned at all) in error.(*googleapi.Error).Header.
31595// Use googleapi.IsNotModified to check whether the returned error was
31596// because http.StatusNotModified was returned.
31597func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
31598	gensupport.SetOptions(c.urlParams_, opts...)
31599	res, err := c.doRequest("json")
31600	if res != nil && res.StatusCode == http.StatusNotModified {
31601		if res.Body != nil {
31602			res.Body.Close()
31603		}
31604		return nil, &googleapi.Error{
31605			Code:   res.StatusCode,
31606			Header: res.Header,
31607		}
31608	}
31609	if err != nil {
31610		return nil, err
31611	}
31612	defer googleapi.CloseBody(res)
31613	if err := googleapi.CheckResponse(res); err != nil {
31614		return nil, err
31615	}
31616	ret := &FloodlightActivitiesListResponse{
31617		ServerResponse: googleapi.ServerResponse{
31618			Header:         res.Header,
31619			HTTPStatusCode: res.StatusCode,
31620		},
31621	}
31622	target := &ret
31623	if err := gensupport.DecodeResponse(target, res); err != nil {
31624		return nil, err
31625	}
31626	return ret, nil
31627	// {
31628	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
31629	//   "httpMethod": "GET",
31630	//   "id": "dfareporting.floodlightActivities.list",
31631	//   "parameterOrder": [
31632	//     "profileId"
31633	//   ],
31634	//   "parameters": {
31635	//     "advertiserId": {
31636	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
31637	//       "format": "int64",
31638	//       "location": "query",
31639	//       "type": "string"
31640	//     },
31641	//     "floodlightActivityGroupIds": {
31642	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
31643	//       "format": "int64",
31644	//       "location": "query",
31645	//       "repeated": true,
31646	//       "type": "string"
31647	//     },
31648	//     "floodlightActivityGroupName": {
31649	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
31650	//       "location": "query",
31651	//       "type": "string"
31652	//     },
31653	//     "floodlightActivityGroupTagString": {
31654	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
31655	//       "location": "query",
31656	//       "type": "string"
31657	//     },
31658	//     "floodlightActivityGroupType": {
31659	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
31660	//       "enum": [
31661	//         "COUNTER",
31662	//         "SALE"
31663	//       ],
31664	//       "enumDescriptions": [
31665	//         "",
31666	//         ""
31667	//       ],
31668	//       "location": "query",
31669	//       "type": "string"
31670	//     },
31671	//     "floodlightConfigurationId": {
31672	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
31673	//       "format": "int64",
31674	//       "location": "query",
31675	//       "type": "string"
31676	//     },
31677	//     "ids": {
31678	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
31679	//       "format": "int64",
31680	//       "location": "query",
31681	//       "repeated": true,
31682	//       "type": "string"
31683	//     },
31684	//     "maxResults": {
31685	//       "default": "1000",
31686	//       "description": "Maximum number of results to return.",
31687	//       "format": "int32",
31688	//       "location": "query",
31689	//       "maximum": "1000",
31690	//       "minimum": "0",
31691	//       "type": "integer"
31692	//     },
31693	//     "pageToken": {
31694	//       "description": "Value of the nextPageToken from the previous result page.",
31695	//       "location": "query",
31696	//       "type": "string"
31697	//     },
31698	//     "profileId": {
31699	//       "description": "User profile ID associated with this request.",
31700	//       "format": "int64",
31701	//       "location": "path",
31702	//       "required": true,
31703	//       "type": "string"
31704	//     },
31705	//     "searchString": {
31706	//       "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\".",
31707	//       "location": "query",
31708	//       "type": "string"
31709	//     },
31710	//     "sortField": {
31711	//       "default": "ID",
31712	//       "description": "Field by which to sort the list.",
31713	//       "enum": [
31714	//         "ID",
31715	//         "NAME"
31716	//       ],
31717	//       "enumDescriptions": [
31718	//         "",
31719	//         ""
31720	//       ],
31721	//       "location": "query",
31722	//       "type": "string"
31723	//     },
31724	//     "sortOrder": {
31725	//       "default": "ASCENDING",
31726	//       "description": "Order of sorted results.",
31727	//       "enum": [
31728	//         "ASCENDING",
31729	//         "DESCENDING"
31730	//       ],
31731	//       "enumDescriptions": [
31732	//         "",
31733	//         ""
31734	//       ],
31735	//       "location": "query",
31736	//       "type": "string"
31737	//     },
31738	//     "tagString": {
31739	//       "description": "Select only floodlight activities with the specified tag string.",
31740	//       "location": "query",
31741	//       "type": "string"
31742	//     }
31743	//   },
31744	//   "path": "userprofiles/{profileId}/floodlightActivities",
31745	//   "response": {
31746	//     "$ref": "FloodlightActivitiesListResponse"
31747	//   },
31748	//   "scopes": [
31749	//     "https://www.googleapis.com/auth/dfatrafficking"
31750	//   ]
31751	// }
31752
31753}
31754
31755// Pages invokes f for each page of results.
31756// A non-nil error returned from f will halt the iteration.
31757// The provided context supersedes any context provided to the Context method.
31758func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
31759	c.ctx_ = ctx
31760	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31761	for {
31762		x, err := c.Do()
31763		if err != nil {
31764			return err
31765		}
31766		if err := f(x); err != nil {
31767			return err
31768		}
31769		if x.NextPageToken == "" {
31770			return nil
31771		}
31772		c.PageToken(x.NextPageToken)
31773	}
31774}
31775
31776// method id "dfareporting.floodlightActivities.patch":
31777
31778type FloodlightActivitiesPatchCall struct {
31779	s                  *Service
31780	profileId          int64
31781	floodlightactivity *FloodlightActivity
31782	urlParams_         gensupport.URLParams
31783	ctx_               context.Context
31784	header_            http.Header
31785}
31786
31787// Patch: Updates an existing floodlight activity. This method supports
31788// patch semantics.
31789func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
31790	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31791	c.profileId = profileId
31792	c.urlParams_.Set("id", fmt.Sprint(id))
31793	c.floodlightactivity = floodlightactivity
31794	return c
31795}
31796
31797// Fields allows partial responses to be retrieved. See
31798// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31799// for more information.
31800func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
31801	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31802	return c
31803}
31804
31805// Context sets the context to be used in this call's Do method. Any
31806// pending HTTP request will be aborted if the provided context is
31807// canceled.
31808func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
31809	c.ctx_ = ctx
31810	return c
31811}
31812
31813// Header returns an http.Header that can be modified by the caller to
31814// add HTTP headers to the request.
31815func (c *FloodlightActivitiesPatchCall) Header() http.Header {
31816	if c.header_ == nil {
31817		c.header_ = make(http.Header)
31818	}
31819	return c.header_
31820}
31821
31822func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
31823	reqHeaders := make(http.Header)
31824	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31825	for k, v := range c.header_ {
31826		reqHeaders[k] = v
31827	}
31828	reqHeaders.Set("User-Agent", c.s.userAgent())
31829	var body io.Reader = nil
31830	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
31831	if err != nil {
31832		return nil, err
31833	}
31834	reqHeaders.Set("Content-Type", "application/json")
31835	c.urlParams_.Set("alt", alt)
31836	c.urlParams_.Set("prettyPrint", "false")
31837	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
31838	urls += "?" + c.urlParams_.Encode()
31839	req, err := http.NewRequest("PATCH", urls, body)
31840	if err != nil {
31841		return nil, err
31842	}
31843	req.Header = reqHeaders
31844	googleapi.Expand(req.URL, map[string]string{
31845		"profileId": strconv.FormatInt(c.profileId, 10),
31846	})
31847	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31848}
31849
31850// Do executes the "dfareporting.floodlightActivities.patch" call.
31851// Exactly one of *FloodlightActivity or error will be non-nil. Any
31852// non-2xx status code is an error. Response headers are in either
31853// *FloodlightActivity.ServerResponse.Header or (if a response was
31854// returned at all) in error.(*googleapi.Error).Header. Use
31855// googleapi.IsNotModified to check whether the returned error was
31856// because http.StatusNotModified was returned.
31857func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
31858	gensupport.SetOptions(c.urlParams_, opts...)
31859	res, err := c.doRequest("json")
31860	if res != nil && res.StatusCode == http.StatusNotModified {
31861		if res.Body != nil {
31862			res.Body.Close()
31863		}
31864		return nil, &googleapi.Error{
31865			Code:   res.StatusCode,
31866			Header: res.Header,
31867		}
31868	}
31869	if err != nil {
31870		return nil, err
31871	}
31872	defer googleapi.CloseBody(res)
31873	if err := googleapi.CheckResponse(res); err != nil {
31874		return nil, err
31875	}
31876	ret := &FloodlightActivity{
31877		ServerResponse: googleapi.ServerResponse{
31878			Header:         res.Header,
31879			HTTPStatusCode: res.StatusCode,
31880		},
31881	}
31882	target := &ret
31883	if err := gensupport.DecodeResponse(target, res); err != nil {
31884		return nil, err
31885	}
31886	return ret, nil
31887	// {
31888	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
31889	//   "httpMethod": "PATCH",
31890	//   "id": "dfareporting.floodlightActivities.patch",
31891	//   "parameterOrder": [
31892	//     "profileId",
31893	//     "id"
31894	//   ],
31895	//   "parameters": {
31896	//     "id": {
31897	//       "description": "Floodlight activity ID.",
31898	//       "format": "int64",
31899	//       "location": "query",
31900	//       "required": true,
31901	//       "type": "string"
31902	//     },
31903	//     "profileId": {
31904	//       "description": "User profile ID associated with this request.",
31905	//       "format": "int64",
31906	//       "location": "path",
31907	//       "required": true,
31908	//       "type": "string"
31909	//     }
31910	//   },
31911	//   "path": "userprofiles/{profileId}/floodlightActivities",
31912	//   "request": {
31913	//     "$ref": "FloodlightActivity"
31914	//   },
31915	//   "response": {
31916	//     "$ref": "FloodlightActivity"
31917	//   },
31918	//   "scopes": [
31919	//     "https://www.googleapis.com/auth/dfatrafficking"
31920	//   ]
31921	// }
31922
31923}
31924
31925// method id "dfareporting.floodlightActivities.update":
31926
31927type FloodlightActivitiesUpdateCall struct {
31928	s                  *Service
31929	profileId          int64
31930	floodlightactivity *FloodlightActivity
31931	urlParams_         gensupport.URLParams
31932	ctx_               context.Context
31933	header_            http.Header
31934}
31935
31936// Update: Updates an existing floodlight activity.
31937func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
31938	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31939	c.profileId = profileId
31940	c.floodlightactivity = floodlightactivity
31941	return c
31942}
31943
31944// Fields allows partial responses to be retrieved. See
31945// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31946// for more information.
31947func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
31948	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31949	return c
31950}
31951
31952// Context sets the context to be used in this call's Do method. Any
31953// pending HTTP request will be aborted if the provided context is
31954// canceled.
31955func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
31956	c.ctx_ = ctx
31957	return c
31958}
31959
31960// Header returns an http.Header that can be modified by the caller to
31961// add HTTP headers to the request.
31962func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
31963	if c.header_ == nil {
31964		c.header_ = make(http.Header)
31965	}
31966	return c.header_
31967}
31968
31969func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
31970	reqHeaders := make(http.Header)
31971	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31972	for k, v := range c.header_ {
31973		reqHeaders[k] = v
31974	}
31975	reqHeaders.Set("User-Agent", c.s.userAgent())
31976	var body io.Reader = nil
31977	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
31978	if err != nil {
31979		return nil, err
31980	}
31981	reqHeaders.Set("Content-Type", "application/json")
31982	c.urlParams_.Set("alt", alt)
31983	c.urlParams_.Set("prettyPrint", "false")
31984	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
31985	urls += "?" + c.urlParams_.Encode()
31986	req, err := http.NewRequest("PUT", urls, body)
31987	if err != nil {
31988		return nil, err
31989	}
31990	req.Header = reqHeaders
31991	googleapi.Expand(req.URL, map[string]string{
31992		"profileId": strconv.FormatInt(c.profileId, 10),
31993	})
31994	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31995}
31996
31997// Do executes the "dfareporting.floodlightActivities.update" call.
31998// Exactly one of *FloodlightActivity or error will be non-nil. Any
31999// non-2xx status code is an error. Response headers are in either
32000// *FloodlightActivity.ServerResponse.Header or (if a response was
32001// returned at all) in error.(*googleapi.Error).Header. Use
32002// googleapi.IsNotModified to check whether the returned error was
32003// because http.StatusNotModified was returned.
32004func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32005	gensupport.SetOptions(c.urlParams_, opts...)
32006	res, err := c.doRequest("json")
32007	if res != nil && res.StatusCode == http.StatusNotModified {
32008		if res.Body != nil {
32009			res.Body.Close()
32010		}
32011		return nil, &googleapi.Error{
32012			Code:   res.StatusCode,
32013			Header: res.Header,
32014		}
32015	}
32016	if err != nil {
32017		return nil, err
32018	}
32019	defer googleapi.CloseBody(res)
32020	if err := googleapi.CheckResponse(res); err != nil {
32021		return nil, err
32022	}
32023	ret := &FloodlightActivity{
32024		ServerResponse: googleapi.ServerResponse{
32025			Header:         res.Header,
32026			HTTPStatusCode: res.StatusCode,
32027		},
32028	}
32029	target := &ret
32030	if err := gensupport.DecodeResponse(target, res); err != nil {
32031		return nil, err
32032	}
32033	return ret, nil
32034	// {
32035	//   "description": "Updates an existing floodlight activity.",
32036	//   "httpMethod": "PUT",
32037	//   "id": "dfareporting.floodlightActivities.update",
32038	//   "parameterOrder": [
32039	//     "profileId"
32040	//   ],
32041	//   "parameters": {
32042	//     "profileId": {
32043	//       "description": "User profile ID associated with this request.",
32044	//       "format": "int64",
32045	//       "location": "path",
32046	//       "required": true,
32047	//       "type": "string"
32048	//     }
32049	//   },
32050	//   "path": "userprofiles/{profileId}/floodlightActivities",
32051	//   "request": {
32052	//     "$ref": "FloodlightActivity"
32053	//   },
32054	//   "response": {
32055	//     "$ref": "FloodlightActivity"
32056	//   },
32057	//   "scopes": [
32058	//     "https://www.googleapis.com/auth/dfatrafficking"
32059	//   ]
32060	// }
32061
32062}
32063
32064// method id "dfareporting.floodlightActivityGroups.get":
32065
32066type FloodlightActivityGroupsGetCall struct {
32067	s            *Service
32068	profileId    int64
32069	id           int64
32070	urlParams_   gensupport.URLParams
32071	ifNoneMatch_ string
32072	ctx_         context.Context
32073	header_      http.Header
32074}
32075
32076// Get: Gets one floodlight activity group by ID.
32077func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
32078	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32079	c.profileId = profileId
32080	c.id = id
32081	return c
32082}
32083
32084// Fields allows partial responses to be retrieved. See
32085// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32086// for more information.
32087func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
32088	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32089	return c
32090}
32091
32092// IfNoneMatch sets the optional parameter which makes the operation
32093// fail if the object's ETag matches the given value. This is useful for
32094// getting updates only after the object has changed since the last
32095// request. Use googleapi.IsNotModified to check whether the response
32096// error from Do is the result of In-None-Match.
32097func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
32098	c.ifNoneMatch_ = entityTag
32099	return c
32100}
32101
32102// Context sets the context to be used in this call's Do method. Any
32103// pending HTTP request will be aborted if the provided context is
32104// canceled.
32105func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
32106	c.ctx_ = ctx
32107	return c
32108}
32109
32110// Header returns an http.Header that can be modified by the caller to
32111// add HTTP headers to the request.
32112func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
32113	if c.header_ == nil {
32114		c.header_ = make(http.Header)
32115	}
32116	return c.header_
32117}
32118
32119func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
32120	reqHeaders := make(http.Header)
32121	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32122	for k, v := range c.header_ {
32123		reqHeaders[k] = v
32124	}
32125	reqHeaders.Set("User-Agent", c.s.userAgent())
32126	if c.ifNoneMatch_ != "" {
32127		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32128	}
32129	var body io.Reader = nil
32130	c.urlParams_.Set("alt", alt)
32131	c.urlParams_.Set("prettyPrint", "false")
32132	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
32133	urls += "?" + c.urlParams_.Encode()
32134	req, err := http.NewRequest("GET", urls, body)
32135	if err != nil {
32136		return nil, err
32137	}
32138	req.Header = reqHeaders
32139	googleapi.Expand(req.URL, map[string]string{
32140		"profileId": strconv.FormatInt(c.profileId, 10),
32141		"id":        strconv.FormatInt(c.id, 10),
32142	})
32143	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32144}
32145
32146// Do executes the "dfareporting.floodlightActivityGroups.get" call.
32147// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
32148// non-2xx status code is an error. Response headers are in either
32149// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
32150// returned at all) in error.(*googleapi.Error).Header. Use
32151// googleapi.IsNotModified to check whether the returned error was
32152// because http.StatusNotModified was returned.
32153func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
32154	gensupport.SetOptions(c.urlParams_, opts...)
32155	res, err := c.doRequest("json")
32156	if res != nil && res.StatusCode == http.StatusNotModified {
32157		if res.Body != nil {
32158			res.Body.Close()
32159		}
32160		return nil, &googleapi.Error{
32161			Code:   res.StatusCode,
32162			Header: res.Header,
32163		}
32164	}
32165	if err != nil {
32166		return nil, err
32167	}
32168	defer googleapi.CloseBody(res)
32169	if err := googleapi.CheckResponse(res); err != nil {
32170		return nil, err
32171	}
32172	ret := &FloodlightActivityGroup{
32173		ServerResponse: googleapi.ServerResponse{
32174			Header:         res.Header,
32175			HTTPStatusCode: res.StatusCode,
32176		},
32177	}
32178	target := &ret
32179	if err := gensupport.DecodeResponse(target, res); err != nil {
32180		return nil, err
32181	}
32182	return ret, nil
32183	// {
32184	//   "description": "Gets one floodlight activity group by ID.",
32185	//   "httpMethod": "GET",
32186	//   "id": "dfareporting.floodlightActivityGroups.get",
32187	//   "parameterOrder": [
32188	//     "profileId",
32189	//     "id"
32190	//   ],
32191	//   "parameters": {
32192	//     "id": {
32193	//       "description": "Floodlight activity Group ID.",
32194	//       "format": "int64",
32195	//       "location": "path",
32196	//       "required": true,
32197	//       "type": "string"
32198	//     },
32199	//     "profileId": {
32200	//       "description": "User profile ID associated with this request.",
32201	//       "format": "int64",
32202	//       "location": "path",
32203	//       "required": true,
32204	//       "type": "string"
32205	//     }
32206	//   },
32207	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
32208	//   "response": {
32209	//     "$ref": "FloodlightActivityGroup"
32210	//   },
32211	//   "scopes": [
32212	//     "https://www.googleapis.com/auth/dfatrafficking"
32213	//   ]
32214	// }
32215
32216}
32217
32218// method id "dfareporting.floodlightActivityGroups.insert":
32219
32220type FloodlightActivityGroupsInsertCall struct {
32221	s                       *Service
32222	profileId               int64
32223	floodlightactivitygroup *FloodlightActivityGroup
32224	urlParams_              gensupport.URLParams
32225	ctx_                    context.Context
32226	header_                 http.Header
32227}
32228
32229// Insert: Inserts a new floodlight activity group.
32230func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
32231	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32232	c.profileId = profileId
32233	c.floodlightactivitygroup = floodlightactivitygroup
32234	return c
32235}
32236
32237// Fields allows partial responses to be retrieved. See
32238// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32239// for more information.
32240func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
32241	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32242	return c
32243}
32244
32245// Context sets the context to be used in this call's Do method. Any
32246// pending HTTP request will be aborted if the provided context is
32247// canceled.
32248func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
32249	c.ctx_ = ctx
32250	return c
32251}
32252
32253// Header returns an http.Header that can be modified by the caller to
32254// add HTTP headers to the request.
32255func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
32256	if c.header_ == nil {
32257		c.header_ = make(http.Header)
32258	}
32259	return c.header_
32260}
32261
32262func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
32263	reqHeaders := make(http.Header)
32264	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32265	for k, v := range c.header_ {
32266		reqHeaders[k] = v
32267	}
32268	reqHeaders.Set("User-Agent", c.s.userAgent())
32269	var body io.Reader = nil
32270	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
32271	if err != nil {
32272		return nil, err
32273	}
32274	reqHeaders.Set("Content-Type", "application/json")
32275	c.urlParams_.Set("alt", alt)
32276	c.urlParams_.Set("prettyPrint", "false")
32277	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
32278	urls += "?" + c.urlParams_.Encode()
32279	req, err := http.NewRequest("POST", urls, body)
32280	if err != nil {
32281		return nil, err
32282	}
32283	req.Header = reqHeaders
32284	googleapi.Expand(req.URL, map[string]string{
32285		"profileId": strconv.FormatInt(c.profileId, 10),
32286	})
32287	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32288}
32289
32290// Do executes the "dfareporting.floodlightActivityGroups.insert" call.
32291// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
32292// non-2xx status code is an error. Response headers are in either
32293// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
32294// returned at all) in error.(*googleapi.Error).Header. Use
32295// googleapi.IsNotModified to check whether the returned error was
32296// because http.StatusNotModified was returned.
32297func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
32298	gensupport.SetOptions(c.urlParams_, opts...)
32299	res, err := c.doRequest("json")
32300	if res != nil && res.StatusCode == http.StatusNotModified {
32301		if res.Body != nil {
32302			res.Body.Close()
32303		}
32304		return nil, &googleapi.Error{
32305			Code:   res.StatusCode,
32306			Header: res.Header,
32307		}
32308	}
32309	if err != nil {
32310		return nil, err
32311	}
32312	defer googleapi.CloseBody(res)
32313	if err := googleapi.CheckResponse(res); err != nil {
32314		return nil, err
32315	}
32316	ret := &FloodlightActivityGroup{
32317		ServerResponse: googleapi.ServerResponse{
32318			Header:         res.Header,
32319			HTTPStatusCode: res.StatusCode,
32320		},
32321	}
32322	target := &ret
32323	if err := gensupport.DecodeResponse(target, res); err != nil {
32324		return nil, err
32325	}
32326	return ret, nil
32327	// {
32328	//   "description": "Inserts a new floodlight activity group.",
32329	//   "httpMethod": "POST",
32330	//   "id": "dfareporting.floodlightActivityGroups.insert",
32331	//   "parameterOrder": [
32332	//     "profileId"
32333	//   ],
32334	//   "parameters": {
32335	//     "profileId": {
32336	//       "description": "User profile ID associated with this request.",
32337	//       "format": "int64",
32338	//       "location": "path",
32339	//       "required": true,
32340	//       "type": "string"
32341	//     }
32342	//   },
32343	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
32344	//   "request": {
32345	//     "$ref": "FloodlightActivityGroup"
32346	//   },
32347	//   "response": {
32348	//     "$ref": "FloodlightActivityGroup"
32349	//   },
32350	//   "scopes": [
32351	//     "https://www.googleapis.com/auth/dfatrafficking"
32352	//   ]
32353	// }
32354
32355}
32356
32357// method id "dfareporting.floodlightActivityGroups.list":
32358
32359type FloodlightActivityGroupsListCall struct {
32360	s            *Service
32361	profileId    int64
32362	urlParams_   gensupport.URLParams
32363	ifNoneMatch_ string
32364	ctx_         context.Context
32365	header_      http.Header
32366}
32367
32368// List: Retrieves a list of floodlight activity groups, possibly
32369// filtered. This method supports paging.
32370func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
32371	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32372	c.profileId = profileId
32373	return c
32374}
32375
32376// AdvertiserId sets the optional parameter "advertiserId": Select only
32377// floodlight activity groups with the specified advertiser ID. Must
32378// specify either advertiserId or floodlightConfigurationId for a
32379// non-empty result.
32380func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
32381	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32382	return c
32383}
32384
32385// FloodlightConfigurationId sets the optional parameter
32386// "floodlightConfigurationId": Select only floodlight activity groups
32387// with the specified floodlight configuration ID. Must specify either
32388// advertiserId, or floodlightConfigurationId for a non-empty result.
32389func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
32390	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
32391	return c
32392}
32393
32394// Ids sets the optional parameter "ids": Select only floodlight
32395// activity groups with the specified IDs. Must specify either
32396// advertiserId or floodlightConfigurationId for a non-empty result.
32397func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
32398	var ids_ []string
32399	for _, v := range ids {
32400		ids_ = append(ids_, fmt.Sprint(v))
32401	}
32402	c.urlParams_.SetMulti("ids", ids_)
32403	return c
32404}
32405
32406// MaxResults sets the optional parameter "maxResults": Maximum number
32407// of results to return.
32408func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
32409	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32410	return c
32411}
32412
32413// PageToken sets the optional parameter "pageToken": Value of the
32414// nextPageToken from the previous result page.
32415func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
32416	c.urlParams_.Set("pageToken", pageToken)
32417	return c
32418}
32419
32420// SearchString sets the optional parameter "searchString": Allows
32421// searching for objects by name or ID. Wildcards (*) are allowed. For
32422// example, "floodlightactivitygroup*2015" will return objects with
32423// names like "floodlightactivitygroup June 2015",
32424// "floodlightactivitygroup April 2015", or simply
32425// "floodlightactivitygroup 2015". Most of the searches also add
32426// wildcards implicitly at the start and the end of the search string.
32427// For example, a search string of "floodlightactivitygroup" will match
32428// objects with name "my floodlightactivitygroup activity",
32429// "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
32430func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
32431	c.urlParams_.Set("searchString", searchString)
32432	return c
32433}
32434
32435// SortField sets the optional parameter "sortField": Field by which to
32436// sort the list.
32437//
32438// Possible values:
32439//   "ID" (default)
32440//   "NAME"
32441func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
32442	c.urlParams_.Set("sortField", sortField)
32443	return c
32444}
32445
32446// SortOrder sets the optional parameter "sortOrder": Order of sorted
32447// results.
32448//
32449// Possible values:
32450//   "ASCENDING" (default)
32451//   "DESCENDING"
32452func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
32453	c.urlParams_.Set("sortOrder", sortOrder)
32454	return c
32455}
32456
32457// Type sets the optional parameter "type": Select only floodlight
32458// activity groups with the specified floodlight activity group type.
32459//
32460// Possible values:
32461//   "COUNTER"
32462//   "SALE"
32463func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
32464	c.urlParams_.Set("type", type_)
32465	return c
32466}
32467
32468// Fields allows partial responses to be retrieved. See
32469// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32470// for more information.
32471func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
32472	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32473	return c
32474}
32475
32476// IfNoneMatch sets the optional parameter which makes the operation
32477// fail if the object's ETag matches the given value. This is useful for
32478// getting updates only after the object has changed since the last
32479// request. Use googleapi.IsNotModified to check whether the response
32480// error from Do is the result of In-None-Match.
32481func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
32482	c.ifNoneMatch_ = entityTag
32483	return c
32484}
32485
32486// Context sets the context to be used in this call's Do method. Any
32487// pending HTTP request will be aborted if the provided context is
32488// canceled.
32489func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
32490	c.ctx_ = ctx
32491	return c
32492}
32493
32494// Header returns an http.Header that can be modified by the caller to
32495// add HTTP headers to the request.
32496func (c *FloodlightActivityGroupsListCall) Header() http.Header {
32497	if c.header_ == nil {
32498		c.header_ = make(http.Header)
32499	}
32500	return c.header_
32501}
32502
32503func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
32504	reqHeaders := make(http.Header)
32505	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32506	for k, v := range c.header_ {
32507		reqHeaders[k] = v
32508	}
32509	reqHeaders.Set("User-Agent", c.s.userAgent())
32510	if c.ifNoneMatch_ != "" {
32511		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32512	}
32513	var body io.Reader = nil
32514	c.urlParams_.Set("alt", alt)
32515	c.urlParams_.Set("prettyPrint", "false")
32516	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
32517	urls += "?" + c.urlParams_.Encode()
32518	req, err := http.NewRequest("GET", urls, body)
32519	if err != nil {
32520		return nil, err
32521	}
32522	req.Header = reqHeaders
32523	googleapi.Expand(req.URL, map[string]string{
32524		"profileId": strconv.FormatInt(c.profileId, 10),
32525	})
32526	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32527}
32528
32529// Do executes the "dfareporting.floodlightActivityGroups.list" call.
32530// Exactly one of *FloodlightActivityGroupsListResponse or error will be
32531// non-nil. Any non-2xx status code is an error. Response headers are in
32532// either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
32533// (if a response was returned at all) in
32534// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
32535// whether the returned error was because http.StatusNotModified was
32536// returned.
32537func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
32538	gensupport.SetOptions(c.urlParams_, opts...)
32539	res, err := c.doRequest("json")
32540	if res != nil && res.StatusCode == http.StatusNotModified {
32541		if res.Body != nil {
32542			res.Body.Close()
32543		}
32544		return nil, &googleapi.Error{
32545			Code:   res.StatusCode,
32546			Header: res.Header,
32547		}
32548	}
32549	if err != nil {
32550		return nil, err
32551	}
32552	defer googleapi.CloseBody(res)
32553	if err := googleapi.CheckResponse(res); err != nil {
32554		return nil, err
32555	}
32556	ret := &FloodlightActivityGroupsListResponse{
32557		ServerResponse: googleapi.ServerResponse{
32558			Header:         res.Header,
32559			HTTPStatusCode: res.StatusCode,
32560		},
32561	}
32562	target := &ret
32563	if err := gensupport.DecodeResponse(target, res); err != nil {
32564		return nil, err
32565	}
32566	return ret, nil
32567	// {
32568	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
32569	//   "httpMethod": "GET",
32570	//   "id": "dfareporting.floodlightActivityGroups.list",
32571	//   "parameterOrder": [
32572	//     "profileId"
32573	//   ],
32574	//   "parameters": {
32575	//     "advertiserId": {
32576	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
32577	//       "format": "int64",
32578	//       "location": "query",
32579	//       "type": "string"
32580	//     },
32581	//     "floodlightConfigurationId": {
32582	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
32583	//       "format": "int64",
32584	//       "location": "query",
32585	//       "type": "string"
32586	//     },
32587	//     "ids": {
32588	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
32589	//       "format": "int64",
32590	//       "location": "query",
32591	//       "repeated": true,
32592	//       "type": "string"
32593	//     },
32594	//     "maxResults": {
32595	//       "default": "1000",
32596	//       "description": "Maximum number of results to return.",
32597	//       "format": "int32",
32598	//       "location": "query",
32599	//       "maximum": "1000",
32600	//       "minimum": "0",
32601	//       "type": "integer"
32602	//     },
32603	//     "pageToken": {
32604	//       "description": "Value of the nextPageToken from the previous result page.",
32605	//       "location": "query",
32606	//       "type": "string"
32607	//     },
32608	//     "profileId": {
32609	//       "description": "User profile ID associated with this request.",
32610	//       "format": "int64",
32611	//       "location": "path",
32612	//       "required": true,
32613	//       "type": "string"
32614	//     },
32615	//     "searchString": {
32616	//       "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\".",
32617	//       "location": "query",
32618	//       "type": "string"
32619	//     },
32620	//     "sortField": {
32621	//       "default": "ID",
32622	//       "description": "Field by which to sort the list.",
32623	//       "enum": [
32624	//         "ID",
32625	//         "NAME"
32626	//       ],
32627	//       "enumDescriptions": [
32628	//         "",
32629	//         ""
32630	//       ],
32631	//       "location": "query",
32632	//       "type": "string"
32633	//     },
32634	//     "sortOrder": {
32635	//       "default": "ASCENDING",
32636	//       "description": "Order of sorted results.",
32637	//       "enum": [
32638	//         "ASCENDING",
32639	//         "DESCENDING"
32640	//       ],
32641	//       "enumDescriptions": [
32642	//         "",
32643	//         ""
32644	//       ],
32645	//       "location": "query",
32646	//       "type": "string"
32647	//     },
32648	//     "type": {
32649	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
32650	//       "enum": [
32651	//         "COUNTER",
32652	//         "SALE"
32653	//       ],
32654	//       "enumDescriptions": [
32655	//         "",
32656	//         ""
32657	//       ],
32658	//       "location": "query",
32659	//       "type": "string"
32660	//     }
32661	//   },
32662	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
32663	//   "response": {
32664	//     "$ref": "FloodlightActivityGroupsListResponse"
32665	//   },
32666	//   "scopes": [
32667	//     "https://www.googleapis.com/auth/dfatrafficking"
32668	//   ]
32669	// }
32670
32671}
32672
32673// Pages invokes f for each page of results.
32674// A non-nil error returned from f will halt the iteration.
32675// The provided context supersedes any context provided to the Context method.
32676func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
32677	c.ctx_ = ctx
32678	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32679	for {
32680		x, err := c.Do()
32681		if err != nil {
32682			return err
32683		}
32684		if err := f(x); err != nil {
32685			return err
32686		}
32687		if x.NextPageToken == "" {
32688			return nil
32689		}
32690		c.PageToken(x.NextPageToken)
32691	}
32692}
32693
32694// method id "dfareporting.floodlightActivityGroups.patch":
32695
32696type FloodlightActivityGroupsPatchCall struct {
32697	s                       *Service
32698	profileId               int64
32699	floodlightactivitygroup *FloodlightActivityGroup
32700	urlParams_              gensupport.URLParams
32701	ctx_                    context.Context
32702	header_                 http.Header
32703}
32704
32705// Patch: Updates an existing floodlight activity group. This method
32706// supports patch semantics.
32707func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
32708	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32709	c.profileId = profileId
32710	c.urlParams_.Set("id", fmt.Sprint(id))
32711	c.floodlightactivitygroup = floodlightactivitygroup
32712	return c
32713}
32714
32715// Fields allows partial responses to be retrieved. See
32716// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32717// for more information.
32718func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
32719	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32720	return c
32721}
32722
32723// Context sets the context to be used in this call's Do method. Any
32724// pending HTTP request will be aborted if the provided context is
32725// canceled.
32726func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
32727	c.ctx_ = ctx
32728	return c
32729}
32730
32731// Header returns an http.Header that can be modified by the caller to
32732// add HTTP headers to the request.
32733func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
32734	if c.header_ == nil {
32735		c.header_ = make(http.Header)
32736	}
32737	return c.header_
32738}
32739
32740func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
32741	reqHeaders := make(http.Header)
32742	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32743	for k, v := range c.header_ {
32744		reqHeaders[k] = v
32745	}
32746	reqHeaders.Set("User-Agent", c.s.userAgent())
32747	var body io.Reader = nil
32748	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
32749	if err != nil {
32750		return nil, err
32751	}
32752	reqHeaders.Set("Content-Type", "application/json")
32753	c.urlParams_.Set("alt", alt)
32754	c.urlParams_.Set("prettyPrint", "false")
32755	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
32756	urls += "?" + c.urlParams_.Encode()
32757	req, err := http.NewRequest("PATCH", urls, body)
32758	if err != nil {
32759		return nil, err
32760	}
32761	req.Header = reqHeaders
32762	googleapi.Expand(req.URL, map[string]string{
32763		"profileId": strconv.FormatInt(c.profileId, 10),
32764	})
32765	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32766}
32767
32768// Do executes the "dfareporting.floodlightActivityGroups.patch" call.
32769// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
32770// non-2xx status code is an error. Response headers are in either
32771// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
32772// returned at all) in error.(*googleapi.Error).Header. Use
32773// googleapi.IsNotModified to check whether the returned error was
32774// because http.StatusNotModified was returned.
32775func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
32776	gensupport.SetOptions(c.urlParams_, opts...)
32777	res, err := c.doRequest("json")
32778	if res != nil && res.StatusCode == http.StatusNotModified {
32779		if res.Body != nil {
32780			res.Body.Close()
32781		}
32782		return nil, &googleapi.Error{
32783			Code:   res.StatusCode,
32784			Header: res.Header,
32785		}
32786	}
32787	if err != nil {
32788		return nil, err
32789	}
32790	defer googleapi.CloseBody(res)
32791	if err := googleapi.CheckResponse(res); err != nil {
32792		return nil, err
32793	}
32794	ret := &FloodlightActivityGroup{
32795		ServerResponse: googleapi.ServerResponse{
32796			Header:         res.Header,
32797			HTTPStatusCode: res.StatusCode,
32798		},
32799	}
32800	target := &ret
32801	if err := gensupport.DecodeResponse(target, res); err != nil {
32802		return nil, err
32803	}
32804	return ret, nil
32805	// {
32806	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
32807	//   "httpMethod": "PATCH",
32808	//   "id": "dfareporting.floodlightActivityGroups.patch",
32809	//   "parameterOrder": [
32810	//     "profileId",
32811	//     "id"
32812	//   ],
32813	//   "parameters": {
32814	//     "id": {
32815	//       "description": "Floodlight activity Group ID.",
32816	//       "format": "int64",
32817	//       "location": "query",
32818	//       "required": true,
32819	//       "type": "string"
32820	//     },
32821	//     "profileId": {
32822	//       "description": "User profile ID associated with this request.",
32823	//       "format": "int64",
32824	//       "location": "path",
32825	//       "required": true,
32826	//       "type": "string"
32827	//     }
32828	//   },
32829	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
32830	//   "request": {
32831	//     "$ref": "FloodlightActivityGroup"
32832	//   },
32833	//   "response": {
32834	//     "$ref": "FloodlightActivityGroup"
32835	//   },
32836	//   "scopes": [
32837	//     "https://www.googleapis.com/auth/dfatrafficking"
32838	//   ]
32839	// }
32840
32841}
32842
32843// method id "dfareporting.floodlightActivityGroups.update":
32844
32845type FloodlightActivityGroupsUpdateCall struct {
32846	s                       *Service
32847	profileId               int64
32848	floodlightactivitygroup *FloodlightActivityGroup
32849	urlParams_              gensupport.URLParams
32850	ctx_                    context.Context
32851	header_                 http.Header
32852}
32853
32854// Update: Updates an existing floodlight activity group.
32855func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
32856	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32857	c.profileId = profileId
32858	c.floodlightactivitygroup = floodlightactivitygroup
32859	return c
32860}
32861
32862// Fields allows partial responses to be retrieved. See
32863// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32864// for more information.
32865func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
32866	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32867	return c
32868}
32869
32870// Context sets the context to be used in this call's Do method. Any
32871// pending HTTP request will be aborted if the provided context is
32872// canceled.
32873func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
32874	c.ctx_ = ctx
32875	return c
32876}
32877
32878// Header returns an http.Header that can be modified by the caller to
32879// add HTTP headers to the request.
32880func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
32881	if c.header_ == nil {
32882		c.header_ = make(http.Header)
32883	}
32884	return c.header_
32885}
32886
32887func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
32888	reqHeaders := make(http.Header)
32889	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32890	for k, v := range c.header_ {
32891		reqHeaders[k] = v
32892	}
32893	reqHeaders.Set("User-Agent", c.s.userAgent())
32894	var body io.Reader = nil
32895	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
32896	if err != nil {
32897		return nil, err
32898	}
32899	reqHeaders.Set("Content-Type", "application/json")
32900	c.urlParams_.Set("alt", alt)
32901	c.urlParams_.Set("prettyPrint", "false")
32902	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
32903	urls += "?" + c.urlParams_.Encode()
32904	req, err := http.NewRequest("PUT", urls, body)
32905	if err != nil {
32906		return nil, err
32907	}
32908	req.Header = reqHeaders
32909	googleapi.Expand(req.URL, map[string]string{
32910		"profileId": strconv.FormatInt(c.profileId, 10),
32911	})
32912	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32913}
32914
32915// Do executes the "dfareporting.floodlightActivityGroups.update" call.
32916// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
32917// non-2xx status code is an error. Response headers are in either
32918// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
32919// returned at all) in error.(*googleapi.Error).Header. Use
32920// googleapi.IsNotModified to check whether the returned error was
32921// because http.StatusNotModified was returned.
32922func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
32923	gensupport.SetOptions(c.urlParams_, opts...)
32924	res, err := c.doRequest("json")
32925	if res != nil && res.StatusCode == http.StatusNotModified {
32926		if res.Body != nil {
32927			res.Body.Close()
32928		}
32929		return nil, &googleapi.Error{
32930			Code:   res.StatusCode,
32931			Header: res.Header,
32932		}
32933	}
32934	if err != nil {
32935		return nil, err
32936	}
32937	defer googleapi.CloseBody(res)
32938	if err := googleapi.CheckResponse(res); err != nil {
32939		return nil, err
32940	}
32941	ret := &FloodlightActivityGroup{
32942		ServerResponse: googleapi.ServerResponse{
32943			Header:         res.Header,
32944			HTTPStatusCode: res.StatusCode,
32945		},
32946	}
32947	target := &ret
32948	if err := gensupport.DecodeResponse(target, res); err != nil {
32949		return nil, err
32950	}
32951	return ret, nil
32952	// {
32953	//   "description": "Updates an existing floodlight activity group.",
32954	//   "httpMethod": "PUT",
32955	//   "id": "dfareporting.floodlightActivityGroups.update",
32956	//   "parameterOrder": [
32957	//     "profileId"
32958	//   ],
32959	//   "parameters": {
32960	//     "profileId": {
32961	//       "description": "User profile ID associated with this request.",
32962	//       "format": "int64",
32963	//       "location": "path",
32964	//       "required": true,
32965	//       "type": "string"
32966	//     }
32967	//   },
32968	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
32969	//   "request": {
32970	//     "$ref": "FloodlightActivityGroup"
32971	//   },
32972	//   "response": {
32973	//     "$ref": "FloodlightActivityGroup"
32974	//   },
32975	//   "scopes": [
32976	//     "https://www.googleapis.com/auth/dfatrafficking"
32977	//   ]
32978	// }
32979
32980}
32981
32982// method id "dfareporting.floodlightConfigurations.get":
32983
32984type FloodlightConfigurationsGetCall struct {
32985	s            *Service
32986	profileId    int64
32987	id           int64
32988	urlParams_   gensupport.URLParams
32989	ifNoneMatch_ string
32990	ctx_         context.Context
32991	header_      http.Header
32992}
32993
32994// Get: Gets one floodlight configuration by ID.
32995func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
32996	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32997	c.profileId = profileId
32998	c.id = id
32999	return c
33000}
33001
33002// Fields allows partial responses to be retrieved. See
33003// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33004// for more information.
33005func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
33006	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33007	return c
33008}
33009
33010// IfNoneMatch sets the optional parameter which makes the operation
33011// fail if the object's ETag matches the given value. This is useful for
33012// getting updates only after the object has changed since the last
33013// request. Use googleapi.IsNotModified to check whether the response
33014// error from Do is the result of In-None-Match.
33015func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
33016	c.ifNoneMatch_ = entityTag
33017	return c
33018}
33019
33020// Context sets the context to be used in this call's Do method. Any
33021// pending HTTP request will be aborted if the provided context is
33022// canceled.
33023func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
33024	c.ctx_ = ctx
33025	return c
33026}
33027
33028// Header returns an http.Header that can be modified by the caller to
33029// add HTTP headers to the request.
33030func (c *FloodlightConfigurationsGetCall) Header() http.Header {
33031	if c.header_ == nil {
33032		c.header_ = make(http.Header)
33033	}
33034	return c.header_
33035}
33036
33037func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
33038	reqHeaders := make(http.Header)
33039	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33040	for k, v := range c.header_ {
33041		reqHeaders[k] = v
33042	}
33043	reqHeaders.Set("User-Agent", c.s.userAgent())
33044	if c.ifNoneMatch_ != "" {
33045		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33046	}
33047	var body io.Reader = nil
33048	c.urlParams_.Set("alt", alt)
33049	c.urlParams_.Set("prettyPrint", "false")
33050	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
33051	urls += "?" + c.urlParams_.Encode()
33052	req, err := http.NewRequest("GET", urls, body)
33053	if err != nil {
33054		return nil, err
33055	}
33056	req.Header = reqHeaders
33057	googleapi.Expand(req.URL, map[string]string{
33058		"profileId": strconv.FormatInt(c.profileId, 10),
33059		"id":        strconv.FormatInt(c.id, 10),
33060	})
33061	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33062}
33063
33064// Do executes the "dfareporting.floodlightConfigurations.get" call.
33065// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
33066// non-2xx status code is an error. Response headers are in either
33067// *FloodlightConfiguration.ServerResponse.Header or (if a response was
33068// returned at all) in error.(*googleapi.Error).Header. Use
33069// googleapi.IsNotModified to check whether the returned error was
33070// because http.StatusNotModified was returned.
33071func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
33072	gensupport.SetOptions(c.urlParams_, opts...)
33073	res, err := c.doRequest("json")
33074	if res != nil && res.StatusCode == http.StatusNotModified {
33075		if res.Body != nil {
33076			res.Body.Close()
33077		}
33078		return nil, &googleapi.Error{
33079			Code:   res.StatusCode,
33080			Header: res.Header,
33081		}
33082	}
33083	if err != nil {
33084		return nil, err
33085	}
33086	defer googleapi.CloseBody(res)
33087	if err := googleapi.CheckResponse(res); err != nil {
33088		return nil, err
33089	}
33090	ret := &FloodlightConfiguration{
33091		ServerResponse: googleapi.ServerResponse{
33092			Header:         res.Header,
33093			HTTPStatusCode: res.StatusCode,
33094		},
33095	}
33096	target := &ret
33097	if err := gensupport.DecodeResponse(target, res); err != nil {
33098		return nil, err
33099	}
33100	return ret, nil
33101	// {
33102	//   "description": "Gets one floodlight configuration by ID.",
33103	//   "httpMethod": "GET",
33104	//   "id": "dfareporting.floodlightConfigurations.get",
33105	//   "parameterOrder": [
33106	//     "profileId",
33107	//     "id"
33108	//   ],
33109	//   "parameters": {
33110	//     "id": {
33111	//       "description": "Floodlight configuration ID.",
33112	//       "format": "int64",
33113	//       "location": "path",
33114	//       "required": true,
33115	//       "type": "string"
33116	//     },
33117	//     "profileId": {
33118	//       "description": "User profile ID associated with this request.",
33119	//       "format": "int64",
33120	//       "location": "path",
33121	//       "required": true,
33122	//       "type": "string"
33123	//     }
33124	//   },
33125	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
33126	//   "response": {
33127	//     "$ref": "FloodlightConfiguration"
33128	//   },
33129	//   "scopes": [
33130	//     "https://www.googleapis.com/auth/dfatrafficking"
33131	//   ]
33132	// }
33133
33134}
33135
33136// method id "dfareporting.floodlightConfigurations.list":
33137
33138type FloodlightConfigurationsListCall struct {
33139	s            *Service
33140	profileId    int64
33141	urlParams_   gensupport.URLParams
33142	ifNoneMatch_ string
33143	ctx_         context.Context
33144	header_      http.Header
33145}
33146
33147// List: Retrieves a list of floodlight configurations, possibly
33148// filtered.
33149func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
33150	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33151	c.profileId = profileId
33152	return c
33153}
33154
33155// Ids sets the optional parameter "ids": Set of IDs of floodlight
33156// configurations to retrieve. Required field; otherwise an empty list
33157// will be returned.
33158func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
33159	var ids_ []string
33160	for _, v := range ids {
33161		ids_ = append(ids_, fmt.Sprint(v))
33162	}
33163	c.urlParams_.SetMulti("ids", ids_)
33164	return c
33165}
33166
33167// Fields allows partial responses to be retrieved. See
33168// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33169// for more information.
33170func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
33171	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33172	return c
33173}
33174
33175// IfNoneMatch sets the optional parameter which makes the operation
33176// fail if the object's ETag matches the given value. This is useful for
33177// getting updates only after the object has changed since the last
33178// request. Use googleapi.IsNotModified to check whether the response
33179// error from Do is the result of In-None-Match.
33180func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
33181	c.ifNoneMatch_ = entityTag
33182	return c
33183}
33184
33185// Context sets the context to be used in this call's Do method. Any
33186// pending HTTP request will be aborted if the provided context is
33187// canceled.
33188func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
33189	c.ctx_ = ctx
33190	return c
33191}
33192
33193// Header returns an http.Header that can be modified by the caller to
33194// add HTTP headers to the request.
33195func (c *FloodlightConfigurationsListCall) Header() http.Header {
33196	if c.header_ == nil {
33197		c.header_ = make(http.Header)
33198	}
33199	return c.header_
33200}
33201
33202func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
33203	reqHeaders := make(http.Header)
33204	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33205	for k, v := range c.header_ {
33206		reqHeaders[k] = v
33207	}
33208	reqHeaders.Set("User-Agent", c.s.userAgent())
33209	if c.ifNoneMatch_ != "" {
33210		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33211	}
33212	var body io.Reader = nil
33213	c.urlParams_.Set("alt", alt)
33214	c.urlParams_.Set("prettyPrint", "false")
33215	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
33216	urls += "?" + c.urlParams_.Encode()
33217	req, err := http.NewRequest("GET", urls, body)
33218	if err != nil {
33219		return nil, err
33220	}
33221	req.Header = reqHeaders
33222	googleapi.Expand(req.URL, map[string]string{
33223		"profileId": strconv.FormatInt(c.profileId, 10),
33224	})
33225	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33226}
33227
33228// Do executes the "dfareporting.floodlightConfigurations.list" call.
33229// Exactly one of *FloodlightConfigurationsListResponse or error will be
33230// non-nil. Any non-2xx status code is an error. Response headers are in
33231// either *FloodlightConfigurationsListResponse.ServerResponse.Header or
33232// (if a response was returned at all) in
33233// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33234// whether the returned error was because http.StatusNotModified was
33235// returned.
33236func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
33237	gensupport.SetOptions(c.urlParams_, opts...)
33238	res, err := c.doRequest("json")
33239	if res != nil && res.StatusCode == http.StatusNotModified {
33240		if res.Body != nil {
33241			res.Body.Close()
33242		}
33243		return nil, &googleapi.Error{
33244			Code:   res.StatusCode,
33245			Header: res.Header,
33246		}
33247	}
33248	if err != nil {
33249		return nil, err
33250	}
33251	defer googleapi.CloseBody(res)
33252	if err := googleapi.CheckResponse(res); err != nil {
33253		return nil, err
33254	}
33255	ret := &FloodlightConfigurationsListResponse{
33256		ServerResponse: googleapi.ServerResponse{
33257			Header:         res.Header,
33258			HTTPStatusCode: res.StatusCode,
33259		},
33260	}
33261	target := &ret
33262	if err := gensupport.DecodeResponse(target, res); err != nil {
33263		return nil, err
33264	}
33265	return ret, nil
33266	// {
33267	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
33268	//   "httpMethod": "GET",
33269	//   "id": "dfareporting.floodlightConfigurations.list",
33270	//   "parameterOrder": [
33271	//     "profileId"
33272	//   ],
33273	//   "parameters": {
33274	//     "ids": {
33275	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
33276	//       "format": "int64",
33277	//       "location": "query",
33278	//       "repeated": true,
33279	//       "type": "string"
33280	//     },
33281	//     "profileId": {
33282	//       "description": "User profile ID associated with this request.",
33283	//       "format": "int64",
33284	//       "location": "path",
33285	//       "required": true,
33286	//       "type": "string"
33287	//     }
33288	//   },
33289	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
33290	//   "response": {
33291	//     "$ref": "FloodlightConfigurationsListResponse"
33292	//   },
33293	//   "scopes": [
33294	//     "https://www.googleapis.com/auth/dfatrafficking"
33295	//   ]
33296	// }
33297
33298}
33299
33300// method id "dfareporting.floodlightConfigurations.patch":
33301
33302type FloodlightConfigurationsPatchCall struct {
33303	s                       *Service
33304	profileId               int64
33305	floodlightconfiguration *FloodlightConfiguration
33306	urlParams_              gensupport.URLParams
33307	ctx_                    context.Context
33308	header_                 http.Header
33309}
33310
33311// Patch: Updates an existing floodlight configuration. This method
33312// supports patch semantics.
33313func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
33314	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33315	c.profileId = profileId
33316	c.urlParams_.Set("id", fmt.Sprint(id))
33317	c.floodlightconfiguration = floodlightconfiguration
33318	return c
33319}
33320
33321// Fields allows partial responses to be retrieved. See
33322// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33323// for more information.
33324func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
33325	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33326	return c
33327}
33328
33329// Context sets the context to be used in this call's Do method. Any
33330// pending HTTP request will be aborted if the provided context is
33331// canceled.
33332func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
33333	c.ctx_ = ctx
33334	return c
33335}
33336
33337// Header returns an http.Header that can be modified by the caller to
33338// add HTTP headers to the request.
33339func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
33340	if c.header_ == nil {
33341		c.header_ = make(http.Header)
33342	}
33343	return c.header_
33344}
33345
33346func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
33347	reqHeaders := make(http.Header)
33348	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33349	for k, v := range c.header_ {
33350		reqHeaders[k] = v
33351	}
33352	reqHeaders.Set("User-Agent", c.s.userAgent())
33353	var body io.Reader = nil
33354	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
33355	if err != nil {
33356		return nil, err
33357	}
33358	reqHeaders.Set("Content-Type", "application/json")
33359	c.urlParams_.Set("alt", alt)
33360	c.urlParams_.Set("prettyPrint", "false")
33361	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
33362	urls += "?" + c.urlParams_.Encode()
33363	req, err := http.NewRequest("PATCH", urls, body)
33364	if err != nil {
33365		return nil, err
33366	}
33367	req.Header = reqHeaders
33368	googleapi.Expand(req.URL, map[string]string{
33369		"profileId": strconv.FormatInt(c.profileId, 10),
33370	})
33371	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33372}
33373
33374// Do executes the "dfareporting.floodlightConfigurations.patch" call.
33375// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
33376// non-2xx status code is an error. Response headers are in either
33377// *FloodlightConfiguration.ServerResponse.Header or (if a response was
33378// returned at all) in error.(*googleapi.Error).Header. Use
33379// googleapi.IsNotModified to check whether the returned error was
33380// because http.StatusNotModified was returned.
33381func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
33382	gensupport.SetOptions(c.urlParams_, opts...)
33383	res, err := c.doRequest("json")
33384	if res != nil && res.StatusCode == http.StatusNotModified {
33385		if res.Body != nil {
33386			res.Body.Close()
33387		}
33388		return nil, &googleapi.Error{
33389			Code:   res.StatusCode,
33390			Header: res.Header,
33391		}
33392	}
33393	if err != nil {
33394		return nil, err
33395	}
33396	defer googleapi.CloseBody(res)
33397	if err := googleapi.CheckResponse(res); err != nil {
33398		return nil, err
33399	}
33400	ret := &FloodlightConfiguration{
33401		ServerResponse: googleapi.ServerResponse{
33402			Header:         res.Header,
33403			HTTPStatusCode: res.StatusCode,
33404		},
33405	}
33406	target := &ret
33407	if err := gensupport.DecodeResponse(target, res); err != nil {
33408		return nil, err
33409	}
33410	return ret, nil
33411	// {
33412	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
33413	//   "httpMethod": "PATCH",
33414	//   "id": "dfareporting.floodlightConfigurations.patch",
33415	//   "parameterOrder": [
33416	//     "profileId",
33417	//     "id"
33418	//   ],
33419	//   "parameters": {
33420	//     "id": {
33421	//       "description": "Floodlight configuration ID.",
33422	//       "format": "int64",
33423	//       "location": "query",
33424	//       "required": true,
33425	//       "type": "string"
33426	//     },
33427	//     "profileId": {
33428	//       "description": "User profile ID associated with this request.",
33429	//       "format": "int64",
33430	//       "location": "path",
33431	//       "required": true,
33432	//       "type": "string"
33433	//     }
33434	//   },
33435	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
33436	//   "request": {
33437	//     "$ref": "FloodlightConfiguration"
33438	//   },
33439	//   "response": {
33440	//     "$ref": "FloodlightConfiguration"
33441	//   },
33442	//   "scopes": [
33443	//     "https://www.googleapis.com/auth/dfatrafficking"
33444	//   ]
33445	// }
33446
33447}
33448
33449// method id "dfareporting.floodlightConfigurations.update":
33450
33451type FloodlightConfigurationsUpdateCall struct {
33452	s                       *Service
33453	profileId               int64
33454	floodlightconfiguration *FloodlightConfiguration
33455	urlParams_              gensupport.URLParams
33456	ctx_                    context.Context
33457	header_                 http.Header
33458}
33459
33460// Update: Updates an existing floodlight configuration.
33461func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
33462	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33463	c.profileId = profileId
33464	c.floodlightconfiguration = floodlightconfiguration
33465	return c
33466}
33467
33468// Fields allows partial responses to be retrieved. See
33469// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33470// for more information.
33471func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
33472	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33473	return c
33474}
33475
33476// Context sets the context to be used in this call's Do method. Any
33477// pending HTTP request will be aborted if the provided context is
33478// canceled.
33479func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
33480	c.ctx_ = ctx
33481	return c
33482}
33483
33484// Header returns an http.Header that can be modified by the caller to
33485// add HTTP headers to the request.
33486func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
33487	if c.header_ == nil {
33488		c.header_ = make(http.Header)
33489	}
33490	return c.header_
33491}
33492
33493func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
33494	reqHeaders := make(http.Header)
33495	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33496	for k, v := range c.header_ {
33497		reqHeaders[k] = v
33498	}
33499	reqHeaders.Set("User-Agent", c.s.userAgent())
33500	var body io.Reader = nil
33501	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
33502	if err != nil {
33503		return nil, err
33504	}
33505	reqHeaders.Set("Content-Type", "application/json")
33506	c.urlParams_.Set("alt", alt)
33507	c.urlParams_.Set("prettyPrint", "false")
33508	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
33509	urls += "?" + c.urlParams_.Encode()
33510	req, err := http.NewRequest("PUT", urls, body)
33511	if err != nil {
33512		return nil, err
33513	}
33514	req.Header = reqHeaders
33515	googleapi.Expand(req.URL, map[string]string{
33516		"profileId": strconv.FormatInt(c.profileId, 10),
33517	})
33518	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33519}
33520
33521// Do executes the "dfareporting.floodlightConfigurations.update" call.
33522// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
33523// non-2xx status code is an error. Response headers are in either
33524// *FloodlightConfiguration.ServerResponse.Header or (if a response was
33525// returned at all) in error.(*googleapi.Error).Header. Use
33526// googleapi.IsNotModified to check whether the returned error was
33527// because http.StatusNotModified was returned.
33528func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
33529	gensupport.SetOptions(c.urlParams_, opts...)
33530	res, err := c.doRequest("json")
33531	if res != nil && res.StatusCode == http.StatusNotModified {
33532		if res.Body != nil {
33533			res.Body.Close()
33534		}
33535		return nil, &googleapi.Error{
33536			Code:   res.StatusCode,
33537			Header: res.Header,
33538		}
33539	}
33540	if err != nil {
33541		return nil, err
33542	}
33543	defer googleapi.CloseBody(res)
33544	if err := googleapi.CheckResponse(res); err != nil {
33545		return nil, err
33546	}
33547	ret := &FloodlightConfiguration{
33548		ServerResponse: googleapi.ServerResponse{
33549			Header:         res.Header,
33550			HTTPStatusCode: res.StatusCode,
33551		},
33552	}
33553	target := &ret
33554	if err := gensupport.DecodeResponse(target, res); err != nil {
33555		return nil, err
33556	}
33557	return ret, nil
33558	// {
33559	//   "description": "Updates an existing floodlight configuration.",
33560	//   "httpMethod": "PUT",
33561	//   "id": "dfareporting.floodlightConfigurations.update",
33562	//   "parameterOrder": [
33563	//     "profileId"
33564	//   ],
33565	//   "parameters": {
33566	//     "profileId": {
33567	//       "description": "User profile ID associated with this request.",
33568	//       "format": "int64",
33569	//       "location": "path",
33570	//       "required": true,
33571	//       "type": "string"
33572	//     }
33573	//   },
33574	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
33575	//   "request": {
33576	//     "$ref": "FloodlightConfiguration"
33577	//   },
33578	//   "response": {
33579	//     "$ref": "FloodlightConfiguration"
33580	//   },
33581	//   "scopes": [
33582	//     "https://www.googleapis.com/auth/dfatrafficking"
33583	//   ]
33584	// }
33585
33586}
33587
33588// method id "dfareporting.inventoryItems.get":
33589
33590type InventoryItemsGetCall struct {
33591	s            *Service
33592	profileId    int64
33593	projectId    int64
33594	id           int64
33595	urlParams_   gensupport.URLParams
33596	ifNoneMatch_ string
33597	ctx_         context.Context
33598	header_      http.Header
33599}
33600
33601// Get: Gets one inventory item by ID.
33602func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
33603	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33604	c.profileId = profileId
33605	c.projectId = projectId
33606	c.id = id
33607	return c
33608}
33609
33610// Fields allows partial responses to be retrieved. See
33611// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33612// for more information.
33613func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
33614	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33615	return c
33616}
33617
33618// IfNoneMatch sets the optional parameter which makes the operation
33619// fail if the object's ETag matches the given value. This is useful for
33620// getting updates only after the object has changed since the last
33621// request. Use googleapi.IsNotModified to check whether the response
33622// error from Do is the result of In-None-Match.
33623func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
33624	c.ifNoneMatch_ = entityTag
33625	return c
33626}
33627
33628// Context sets the context to be used in this call's Do method. Any
33629// pending HTTP request will be aborted if the provided context is
33630// canceled.
33631func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
33632	c.ctx_ = ctx
33633	return c
33634}
33635
33636// Header returns an http.Header that can be modified by the caller to
33637// add HTTP headers to the request.
33638func (c *InventoryItemsGetCall) Header() http.Header {
33639	if c.header_ == nil {
33640		c.header_ = make(http.Header)
33641	}
33642	return c.header_
33643}
33644
33645func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
33646	reqHeaders := make(http.Header)
33647	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33648	for k, v := range c.header_ {
33649		reqHeaders[k] = v
33650	}
33651	reqHeaders.Set("User-Agent", c.s.userAgent())
33652	if c.ifNoneMatch_ != "" {
33653		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33654	}
33655	var body io.Reader = nil
33656	c.urlParams_.Set("alt", alt)
33657	c.urlParams_.Set("prettyPrint", "false")
33658	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
33659	urls += "?" + c.urlParams_.Encode()
33660	req, err := http.NewRequest("GET", urls, body)
33661	if err != nil {
33662		return nil, err
33663	}
33664	req.Header = reqHeaders
33665	googleapi.Expand(req.URL, map[string]string{
33666		"profileId": strconv.FormatInt(c.profileId, 10),
33667		"projectId": strconv.FormatInt(c.projectId, 10),
33668		"id":        strconv.FormatInt(c.id, 10),
33669	})
33670	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33671}
33672
33673// Do executes the "dfareporting.inventoryItems.get" call.
33674// Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
33675// status code is an error. Response headers are in either
33676// *InventoryItem.ServerResponse.Header or (if a response was returned
33677// at all) in error.(*googleapi.Error).Header. Use
33678// googleapi.IsNotModified to check whether the returned error was
33679// because http.StatusNotModified was returned.
33680func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
33681	gensupport.SetOptions(c.urlParams_, opts...)
33682	res, err := c.doRequest("json")
33683	if res != nil && res.StatusCode == http.StatusNotModified {
33684		if res.Body != nil {
33685			res.Body.Close()
33686		}
33687		return nil, &googleapi.Error{
33688			Code:   res.StatusCode,
33689			Header: res.Header,
33690		}
33691	}
33692	if err != nil {
33693		return nil, err
33694	}
33695	defer googleapi.CloseBody(res)
33696	if err := googleapi.CheckResponse(res); err != nil {
33697		return nil, err
33698	}
33699	ret := &InventoryItem{
33700		ServerResponse: googleapi.ServerResponse{
33701			Header:         res.Header,
33702			HTTPStatusCode: res.StatusCode,
33703		},
33704	}
33705	target := &ret
33706	if err := gensupport.DecodeResponse(target, res); err != nil {
33707		return nil, err
33708	}
33709	return ret, nil
33710	// {
33711	//   "description": "Gets one inventory item by ID.",
33712	//   "httpMethod": "GET",
33713	//   "id": "dfareporting.inventoryItems.get",
33714	//   "parameterOrder": [
33715	//     "profileId",
33716	//     "projectId",
33717	//     "id"
33718	//   ],
33719	//   "parameters": {
33720	//     "id": {
33721	//       "description": "Inventory item ID.",
33722	//       "format": "int64",
33723	//       "location": "path",
33724	//       "required": true,
33725	//       "type": "string"
33726	//     },
33727	//     "profileId": {
33728	//       "description": "User profile ID associated with this request.",
33729	//       "format": "int64",
33730	//       "location": "path",
33731	//       "required": true,
33732	//       "type": "string"
33733	//     },
33734	//     "projectId": {
33735	//       "description": "Project ID for order documents.",
33736	//       "format": "int64",
33737	//       "location": "path",
33738	//       "required": true,
33739	//       "type": "string"
33740	//     }
33741	//   },
33742	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
33743	//   "response": {
33744	//     "$ref": "InventoryItem"
33745	//   },
33746	//   "scopes": [
33747	//     "https://www.googleapis.com/auth/dfatrafficking"
33748	//   ]
33749	// }
33750
33751}
33752
33753// method id "dfareporting.inventoryItems.list":
33754
33755type InventoryItemsListCall struct {
33756	s            *Service
33757	profileId    int64
33758	projectId    int64
33759	urlParams_   gensupport.URLParams
33760	ifNoneMatch_ string
33761	ctx_         context.Context
33762	header_      http.Header
33763}
33764
33765// List: Retrieves a list of inventory items, possibly filtered. This
33766// method supports paging.
33767func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
33768	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33769	c.profileId = profileId
33770	c.projectId = projectId
33771	return c
33772}
33773
33774// Ids sets the optional parameter "ids": Select only inventory items
33775// with these IDs.
33776func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
33777	var ids_ []string
33778	for _, v := range ids {
33779		ids_ = append(ids_, fmt.Sprint(v))
33780	}
33781	c.urlParams_.SetMulti("ids", ids_)
33782	return c
33783}
33784
33785// InPlan sets the optional parameter "inPlan": Select only inventory
33786// items that are in plan.
33787func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
33788	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
33789	return c
33790}
33791
33792// MaxResults sets the optional parameter "maxResults": Maximum number
33793// of results to return.
33794func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
33795	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
33796	return c
33797}
33798
33799// OrderId sets the optional parameter "orderId": Select only inventory
33800// items that belong to specified orders.
33801func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
33802	var orderId_ []string
33803	for _, v := range orderId {
33804		orderId_ = append(orderId_, fmt.Sprint(v))
33805	}
33806	c.urlParams_.SetMulti("orderId", orderId_)
33807	return c
33808}
33809
33810// PageToken sets the optional parameter "pageToken": Value of the
33811// nextPageToken from the previous result page.
33812func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
33813	c.urlParams_.Set("pageToken", pageToken)
33814	return c
33815}
33816
33817// SiteId sets the optional parameter "siteId": Select only inventory
33818// items that are associated with these sites.
33819func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
33820	var siteId_ []string
33821	for _, v := range siteId {
33822		siteId_ = append(siteId_, fmt.Sprint(v))
33823	}
33824	c.urlParams_.SetMulti("siteId", siteId_)
33825	return c
33826}
33827
33828// SortField sets the optional parameter "sortField": Field by which to
33829// sort the list.
33830//
33831// Possible values:
33832//   "ID" (default)
33833//   "NAME"
33834func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
33835	c.urlParams_.Set("sortField", sortField)
33836	return c
33837}
33838
33839// SortOrder sets the optional parameter "sortOrder": Order of sorted
33840// results.
33841//
33842// Possible values:
33843//   "ASCENDING" (default)
33844//   "DESCENDING"
33845func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
33846	c.urlParams_.Set("sortOrder", sortOrder)
33847	return c
33848}
33849
33850// Type sets the optional parameter "type": Select only inventory items
33851// with this type.
33852//
33853// Possible values:
33854//   "PLANNING_PLACEMENT_TYPE_CREDIT"
33855//   "PLANNING_PLACEMENT_TYPE_REGULAR"
33856func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
33857	c.urlParams_.Set("type", type_)
33858	return c
33859}
33860
33861// Fields allows partial responses to be retrieved. See
33862// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33863// for more information.
33864func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
33865	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33866	return c
33867}
33868
33869// IfNoneMatch sets the optional parameter which makes the operation
33870// fail if the object's ETag matches the given value. This is useful for
33871// getting updates only after the object has changed since the last
33872// request. Use googleapi.IsNotModified to check whether the response
33873// error from Do is the result of In-None-Match.
33874func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
33875	c.ifNoneMatch_ = entityTag
33876	return c
33877}
33878
33879// Context sets the context to be used in this call's Do method. Any
33880// pending HTTP request will be aborted if the provided context is
33881// canceled.
33882func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
33883	c.ctx_ = ctx
33884	return c
33885}
33886
33887// Header returns an http.Header that can be modified by the caller to
33888// add HTTP headers to the request.
33889func (c *InventoryItemsListCall) Header() http.Header {
33890	if c.header_ == nil {
33891		c.header_ = make(http.Header)
33892	}
33893	return c.header_
33894}
33895
33896func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
33897	reqHeaders := make(http.Header)
33898	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33899	for k, v := range c.header_ {
33900		reqHeaders[k] = v
33901	}
33902	reqHeaders.Set("User-Agent", c.s.userAgent())
33903	if c.ifNoneMatch_ != "" {
33904		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33905	}
33906	var body io.Reader = nil
33907	c.urlParams_.Set("alt", alt)
33908	c.urlParams_.Set("prettyPrint", "false")
33909	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
33910	urls += "?" + c.urlParams_.Encode()
33911	req, err := http.NewRequest("GET", urls, body)
33912	if err != nil {
33913		return nil, err
33914	}
33915	req.Header = reqHeaders
33916	googleapi.Expand(req.URL, map[string]string{
33917		"profileId": strconv.FormatInt(c.profileId, 10),
33918		"projectId": strconv.FormatInt(c.projectId, 10),
33919	})
33920	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33921}
33922
33923// Do executes the "dfareporting.inventoryItems.list" call.
33924// Exactly one of *InventoryItemsListResponse or error will be non-nil.
33925// Any non-2xx status code is an error. Response headers are in either
33926// *InventoryItemsListResponse.ServerResponse.Header or (if a response
33927// was returned at all) in error.(*googleapi.Error).Header. Use
33928// googleapi.IsNotModified to check whether the returned error was
33929// because http.StatusNotModified was returned.
33930func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
33931	gensupport.SetOptions(c.urlParams_, opts...)
33932	res, err := c.doRequest("json")
33933	if res != nil && res.StatusCode == http.StatusNotModified {
33934		if res.Body != nil {
33935			res.Body.Close()
33936		}
33937		return nil, &googleapi.Error{
33938			Code:   res.StatusCode,
33939			Header: res.Header,
33940		}
33941	}
33942	if err != nil {
33943		return nil, err
33944	}
33945	defer googleapi.CloseBody(res)
33946	if err := googleapi.CheckResponse(res); err != nil {
33947		return nil, err
33948	}
33949	ret := &InventoryItemsListResponse{
33950		ServerResponse: googleapi.ServerResponse{
33951			Header:         res.Header,
33952			HTTPStatusCode: res.StatusCode,
33953		},
33954	}
33955	target := &ret
33956	if err := gensupport.DecodeResponse(target, res); err != nil {
33957		return nil, err
33958	}
33959	return ret, nil
33960	// {
33961	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
33962	//   "httpMethod": "GET",
33963	//   "id": "dfareporting.inventoryItems.list",
33964	//   "parameterOrder": [
33965	//     "profileId",
33966	//     "projectId"
33967	//   ],
33968	//   "parameters": {
33969	//     "ids": {
33970	//       "description": "Select only inventory items with these IDs.",
33971	//       "format": "int64",
33972	//       "location": "query",
33973	//       "repeated": true,
33974	//       "type": "string"
33975	//     },
33976	//     "inPlan": {
33977	//       "description": "Select only inventory items that are in plan.",
33978	//       "location": "query",
33979	//       "type": "boolean"
33980	//     },
33981	//     "maxResults": {
33982	//       "default": "1000",
33983	//       "description": "Maximum number of results to return.",
33984	//       "format": "int32",
33985	//       "location": "query",
33986	//       "maximum": "1000",
33987	//       "minimum": "0",
33988	//       "type": "integer"
33989	//     },
33990	//     "orderId": {
33991	//       "description": "Select only inventory items that belong to specified orders.",
33992	//       "format": "int64",
33993	//       "location": "query",
33994	//       "repeated": true,
33995	//       "type": "string"
33996	//     },
33997	//     "pageToken": {
33998	//       "description": "Value of the nextPageToken from the previous result page.",
33999	//       "location": "query",
34000	//       "type": "string"
34001	//     },
34002	//     "profileId": {
34003	//       "description": "User profile ID associated with this request.",
34004	//       "format": "int64",
34005	//       "location": "path",
34006	//       "required": true,
34007	//       "type": "string"
34008	//     },
34009	//     "projectId": {
34010	//       "description": "Project ID for order documents.",
34011	//       "format": "int64",
34012	//       "location": "path",
34013	//       "required": true,
34014	//       "type": "string"
34015	//     },
34016	//     "siteId": {
34017	//       "description": "Select only inventory items that are associated with these sites.",
34018	//       "format": "int64",
34019	//       "location": "query",
34020	//       "repeated": true,
34021	//       "type": "string"
34022	//     },
34023	//     "sortField": {
34024	//       "default": "ID",
34025	//       "description": "Field by which to sort the list.",
34026	//       "enum": [
34027	//         "ID",
34028	//         "NAME"
34029	//       ],
34030	//       "enumDescriptions": [
34031	//         "",
34032	//         ""
34033	//       ],
34034	//       "location": "query",
34035	//       "type": "string"
34036	//     },
34037	//     "sortOrder": {
34038	//       "default": "ASCENDING",
34039	//       "description": "Order of sorted results.",
34040	//       "enum": [
34041	//         "ASCENDING",
34042	//         "DESCENDING"
34043	//       ],
34044	//       "enumDescriptions": [
34045	//         "",
34046	//         ""
34047	//       ],
34048	//       "location": "query",
34049	//       "type": "string"
34050	//     },
34051	//     "type": {
34052	//       "description": "Select only inventory items with this type.",
34053	//       "enum": [
34054	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
34055	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
34056	//       ],
34057	//       "enumDescriptions": [
34058	//         "",
34059	//         ""
34060	//       ],
34061	//       "location": "query",
34062	//       "type": "string"
34063	//     }
34064	//   },
34065	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
34066	//   "response": {
34067	//     "$ref": "InventoryItemsListResponse"
34068	//   },
34069	//   "scopes": [
34070	//     "https://www.googleapis.com/auth/dfatrafficking"
34071	//   ]
34072	// }
34073
34074}
34075
34076// Pages invokes f for each page of results.
34077// A non-nil error returned from f will halt the iteration.
34078// The provided context supersedes any context provided to the Context method.
34079func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
34080	c.ctx_ = ctx
34081	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34082	for {
34083		x, err := c.Do()
34084		if err != nil {
34085			return err
34086		}
34087		if err := f(x); err != nil {
34088			return err
34089		}
34090		if x.NextPageToken == "" {
34091			return nil
34092		}
34093		c.PageToken(x.NextPageToken)
34094	}
34095}
34096
34097// method id "dfareporting.landingPages.delete":
34098
34099type LandingPagesDeleteCall struct {
34100	s          *Service
34101	profileId  int64
34102	campaignId int64
34103	id         int64
34104	urlParams_ gensupport.URLParams
34105	ctx_       context.Context
34106	header_    http.Header
34107}
34108
34109// Delete: Deletes an existing campaign landing page.
34110func (r *LandingPagesService) Delete(profileId int64, campaignId int64, id int64) *LandingPagesDeleteCall {
34111	c := &LandingPagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34112	c.profileId = profileId
34113	c.campaignId = campaignId
34114	c.id = id
34115	return c
34116}
34117
34118// Fields allows partial responses to be retrieved. See
34119// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34120// for more information.
34121func (c *LandingPagesDeleteCall) Fields(s ...googleapi.Field) *LandingPagesDeleteCall {
34122	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34123	return c
34124}
34125
34126// Context sets the context to be used in this call's Do method. Any
34127// pending HTTP request will be aborted if the provided context is
34128// canceled.
34129func (c *LandingPagesDeleteCall) Context(ctx context.Context) *LandingPagesDeleteCall {
34130	c.ctx_ = ctx
34131	return c
34132}
34133
34134// Header returns an http.Header that can be modified by the caller to
34135// add HTTP headers to the request.
34136func (c *LandingPagesDeleteCall) Header() http.Header {
34137	if c.header_ == nil {
34138		c.header_ = make(http.Header)
34139	}
34140	return c.header_
34141}
34142
34143func (c *LandingPagesDeleteCall) doRequest(alt string) (*http.Response, error) {
34144	reqHeaders := make(http.Header)
34145	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34146	for k, v := range c.header_ {
34147		reqHeaders[k] = v
34148	}
34149	reqHeaders.Set("User-Agent", c.s.userAgent())
34150	var body io.Reader = nil
34151	c.urlParams_.Set("alt", alt)
34152	c.urlParams_.Set("prettyPrint", "false")
34153	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
34154	urls += "?" + c.urlParams_.Encode()
34155	req, err := http.NewRequest("DELETE", urls, body)
34156	if err != nil {
34157		return nil, err
34158	}
34159	req.Header = reqHeaders
34160	googleapi.Expand(req.URL, map[string]string{
34161		"profileId":  strconv.FormatInt(c.profileId, 10),
34162		"campaignId": strconv.FormatInt(c.campaignId, 10),
34163		"id":         strconv.FormatInt(c.id, 10),
34164	})
34165	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34166}
34167
34168// Do executes the "dfareporting.landingPages.delete" call.
34169func (c *LandingPagesDeleteCall) Do(opts ...googleapi.CallOption) error {
34170	gensupport.SetOptions(c.urlParams_, opts...)
34171	res, err := c.doRequest("json")
34172	if err != nil {
34173		return err
34174	}
34175	defer googleapi.CloseBody(res)
34176	if err := googleapi.CheckResponse(res); err != nil {
34177		return err
34178	}
34179	return nil
34180	// {
34181	//   "description": "Deletes an existing campaign landing page.",
34182	//   "httpMethod": "DELETE",
34183	//   "id": "dfareporting.landingPages.delete",
34184	//   "parameterOrder": [
34185	//     "profileId",
34186	//     "campaignId",
34187	//     "id"
34188	//   ],
34189	//   "parameters": {
34190	//     "campaignId": {
34191	//       "description": "Landing page campaign ID.",
34192	//       "format": "int64",
34193	//       "location": "path",
34194	//       "required": true,
34195	//       "type": "string"
34196	//     },
34197	//     "id": {
34198	//       "description": "Landing page ID.",
34199	//       "format": "int64",
34200	//       "location": "path",
34201	//       "required": true,
34202	//       "type": "string"
34203	//     },
34204	//     "profileId": {
34205	//       "description": "User profile ID associated with this request.",
34206	//       "format": "int64",
34207	//       "location": "path",
34208	//       "required": true,
34209	//       "type": "string"
34210	//     }
34211	//   },
34212	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}",
34213	//   "scopes": [
34214	//     "https://www.googleapis.com/auth/dfatrafficking"
34215	//   ]
34216	// }
34217
34218}
34219
34220// method id "dfareporting.landingPages.get":
34221
34222type LandingPagesGetCall struct {
34223	s            *Service
34224	profileId    int64
34225	campaignId   int64
34226	id           int64
34227	urlParams_   gensupport.URLParams
34228	ifNoneMatch_ string
34229	ctx_         context.Context
34230	header_      http.Header
34231}
34232
34233// Get: Gets one campaign landing page by ID.
34234func (r *LandingPagesService) Get(profileId int64, campaignId int64, id int64) *LandingPagesGetCall {
34235	c := &LandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34236	c.profileId = profileId
34237	c.campaignId = campaignId
34238	c.id = id
34239	return c
34240}
34241
34242// Fields allows partial responses to be retrieved. See
34243// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34244// for more information.
34245func (c *LandingPagesGetCall) Fields(s ...googleapi.Field) *LandingPagesGetCall {
34246	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34247	return c
34248}
34249
34250// IfNoneMatch sets the optional parameter which makes the operation
34251// fail if the object's ETag matches the given value. This is useful for
34252// getting updates only after the object has changed since the last
34253// request. Use googleapi.IsNotModified to check whether the response
34254// error from Do is the result of In-None-Match.
34255func (c *LandingPagesGetCall) IfNoneMatch(entityTag string) *LandingPagesGetCall {
34256	c.ifNoneMatch_ = entityTag
34257	return c
34258}
34259
34260// Context sets the context to be used in this call's Do method. Any
34261// pending HTTP request will be aborted if the provided context is
34262// canceled.
34263func (c *LandingPagesGetCall) Context(ctx context.Context) *LandingPagesGetCall {
34264	c.ctx_ = ctx
34265	return c
34266}
34267
34268// Header returns an http.Header that can be modified by the caller to
34269// add HTTP headers to the request.
34270func (c *LandingPagesGetCall) Header() http.Header {
34271	if c.header_ == nil {
34272		c.header_ = make(http.Header)
34273	}
34274	return c.header_
34275}
34276
34277func (c *LandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
34278	reqHeaders := make(http.Header)
34279	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34280	for k, v := range c.header_ {
34281		reqHeaders[k] = v
34282	}
34283	reqHeaders.Set("User-Agent", c.s.userAgent())
34284	if c.ifNoneMatch_ != "" {
34285		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34286	}
34287	var body io.Reader = nil
34288	c.urlParams_.Set("alt", alt)
34289	c.urlParams_.Set("prettyPrint", "false")
34290	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}")
34291	urls += "?" + c.urlParams_.Encode()
34292	req, err := http.NewRequest("GET", urls, body)
34293	if err != nil {
34294		return nil, err
34295	}
34296	req.Header = reqHeaders
34297	googleapi.Expand(req.URL, map[string]string{
34298		"profileId":  strconv.FormatInt(c.profileId, 10),
34299		"campaignId": strconv.FormatInt(c.campaignId, 10),
34300		"id":         strconv.FormatInt(c.id, 10),
34301	})
34302	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34303}
34304
34305// Do executes the "dfareporting.landingPages.get" call.
34306// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
34307// status code is an error. Response headers are in either
34308// *LandingPage.ServerResponse.Header or (if a response was returned at
34309// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
34310// to check whether the returned error was because
34311// http.StatusNotModified was returned.
34312func (c *LandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
34313	gensupport.SetOptions(c.urlParams_, opts...)
34314	res, err := c.doRequest("json")
34315	if res != nil && res.StatusCode == http.StatusNotModified {
34316		if res.Body != nil {
34317			res.Body.Close()
34318		}
34319		return nil, &googleapi.Error{
34320			Code:   res.StatusCode,
34321			Header: res.Header,
34322		}
34323	}
34324	if err != nil {
34325		return nil, err
34326	}
34327	defer googleapi.CloseBody(res)
34328	if err := googleapi.CheckResponse(res); err != nil {
34329		return nil, err
34330	}
34331	ret := &LandingPage{
34332		ServerResponse: googleapi.ServerResponse{
34333			Header:         res.Header,
34334			HTTPStatusCode: res.StatusCode,
34335		},
34336	}
34337	target := &ret
34338	if err := gensupport.DecodeResponse(target, res); err != nil {
34339		return nil, err
34340	}
34341	return ret, nil
34342	// {
34343	//   "description": "Gets one campaign landing page by ID.",
34344	//   "httpMethod": "GET",
34345	//   "id": "dfareporting.landingPages.get",
34346	//   "parameterOrder": [
34347	//     "profileId",
34348	//     "campaignId",
34349	//     "id"
34350	//   ],
34351	//   "parameters": {
34352	//     "campaignId": {
34353	//       "description": "Landing page campaign ID.",
34354	//       "format": "int64",
34355	//       "location": "path",
34356	//       "required": true,
34357	//       "type": "string"
34358	//     },
34359	//     "id": {
34360	//       "description": "Landing page ID.",
34361	//       "format": "int64",
34362	//       "location": "path",
34363	//       "required": true,
34364	//       "type": "string"
34365	//     },
34366	//     "profileId": {
34367	//       "description": "User profile ID associated with this request.",
34368	//       "format": "int64",
34369	//       "location": "path",
34370	//       "required": true,
34371	//       "type": "string"
34372	//     }
34373	//   },
34374	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}",
34375	//   "response": {
34376	//     "$ref": "LandingPage"
34377	//   },
34378	//   "scopes": [
34379	//     "https://www.googleapis.com/auth/dfatrafficking"
34380	//   ]
34381	// }
34382
34383}
34384
34385// method id "dfareporting.landingPages.insert":
34386
34387type LandingPagesInsertCall struct {
34388	s           *Service
34389	profileId   int64
34390	campaignId  int64
34391	landingpage *LandingPage
34392	urlParams_  gensupport.URLParams
34393	ctx_        context.Context
34394	header_     http.Header
34395}
34396
34397// Insert: Inserts a new landing page for the specified campaign.
34398func (r *LandingPagesService) Insert(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesInsertCall {
34399	c := &LandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34400	c.profileId = profileId
34401	c.campaignId = campaignId
34402	c.landingpage = landingpage
34403	return c
34404}
34405
34406// Fields allows partial responses to be retrieved. See
34407// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34408// for more information.
34409func (c *LandingPagesInsertCall) Fields(s ...googleapi.Field) *LandingPagesInsertCall {
34410	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34411	return c
34412}
34413
34414// Context sets the context to be used in this call's Do method. Any
34415// pending HTTP request will be aborted if the provided context is
34416// canceled.
34417func (c *LandingPagesInsertCall) Context(ctx context.Context) *LandingPagesInsertCall {
34418	c.ctx_ = ctx
34419	return c
34420}
34421
34422// Header returns an http.Header that can be modified by the caller to
34423// add HTTP headers to the request.
34424func (c *LandingPagesInsertCall) Header() http.Header {
34425	if c.header_ == nil {
34426		c.header_ = make(http.Header)
34427	}
34428	return c.header_
34429}
34430
34431func (c *LandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
34432	reqHeaders := make(http.Header)
34433	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34434	for k, v := range c.header_ {
34435		reqHeaders[k] = v
34436	}
34437	reqHeaders.Set("User-Agent", c.s.userAgent())
34438	var body io.Reader = nil
34439	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
34440	if err != nil {
34441		return nil, err
34442	}
34443	reqHeaders.Set("Content-Type", "application/json")
34444	c.urlParams_.Set("alt", alt)
34445	c.urlParams_.Set("prettyPrint", "false")
34446	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
34447	urls += "?" + c.urlParams_.Encode()
34448	req, err := http.NewRequest("POST", urls, body)
34449	if err != nil {
34450		return nil, err
34451	}
34452	req.Header = reqHeaders
34453	googleapi.Expand(req.URL, map[string]string{
34454		"profileId":  strconv.FormatInt(c.profileId, 10),
34455		"campaignId": strconv.FormatInt(c.campaignId, 10),
34456	})
34457	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34458}
34459
34460// Do executes the "dfareporting.landingPages.insert" call.
34461// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
34462// status code is an error. Response headers are in either
34463// *LandingPage.ServerResponse.Header or (if a response was returned at
34464// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
34465// to check whether the returned error was because
34466// http.StatusNotModified was returned.
34467func (c *LandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
34468	gensupport.SetOptions(c.urlParams_, opts...)
34469	res, err := c.doRequest("json")
34470	if res != nil && res.StatusCode == http.StatusNotModified {
34471		if res.Body != nil {
34472			res.Body.Close()
34473		}
34474		return nil, &googleapi.Error{
34475			Code:   res.StatusCode,
34476			Header: res.Header,
34477		}
34478	}
34479	if err != nil {
34480		return nil, err
34481	}
34482	defer googleapi.CloseBody(res)
34483	if err := googleapi.CheckResponse(res); err != nil {
34484		return nil, err
34485	}
34486	ret := &LandingPage{
34487		ServerResponse: googleapi.ServerResponse{
34488			Header:         res.Header,
34489			HTTPStatusCode: res.StatusCode,
34490		},
34491	}
34492	target := &ret
34493	if err := gensupport.DecodeResponse(target, res); err != nil {
34494		return nil, err
34495	}
34496	return ret, nil
34497	// {
34498	//   "description": "Inserts a new landing page for the specified campaign.",
34499	//   "httpMethod": "POST",
34500	//   "id": "dfareporting.landingPages.insert",
34501	//   "parameterOrder": [
34502	//     "profileId",
34503	//     "campaignId"
34504	//   ],
34505	//   "parameters": {
34506	//     "campaignId": {
34507	//       "description": "Landing page campaign ID.",
34508	//       "format": "int64",
34509	//       "location": "path",
34510	//       "required": true,
34511	//       "type": "string"
34512	//     },
34513	//     "profileId": {
34514	//       "description": "User profile ID associated with this request.",
34515	//       "format": "int64",
34516	//       "location": "path",
34517	//       "required": true,
34518	//       "type": "string"
34519	//     }
34520	//   },
34521	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
34522	//   "request": {
34523	//     "$ref": "LandingPage"
34524	//   },
34525	//   "response": {
34526	//     "$ref": "LandingPage"
34527	//   },
34528	//   "scopes": [
34529	//     "https://www.googleapis.com/auth/dfatrafficking"
34530	//   ]
34531	// }
34532
34533}
34534
34535// method id "dfareporting.landingPages.list":
34536
34537type LandingPagesListCall struct {
34538	s            *Service
34539	profileId    int64
34540	campaignId   int64
34541	urlParams_   gensupport.URLParams
34542	ifNoneMatch_ string
34543	ctx_         context.Context
34544	header_      http.Header
34545}
34546
34547// List: Retrieves the list of landing pages for the specified campaign.
34548func (r *LandingPagesService) List(profileId int64, campaignId int64) *LandingPagesListCall {
34549	c := &LandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34550	c.profileId = profileId
34551	c.campaignId = campaignId
34552	return c
34553}
34554
34555// Fields allows partial responses to be retrieved. See
34556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34557// for more information.
34558func (c *LandingPagesListCall) Fields(s ...googleapi.Field) *LandingPagesListCall {
34559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34560	return c
34561}
34562
34563// IfNoneMatch sets the optional parameter which makes the operation
34564// fail if the object's ETag matches the given value. This is useful for
34565// getting updates only after the object has changed since the last
34566// request. Use googleapi.IsNotModified to check whether the response
34567// error from Do is the result of In-None-Match.
34568func (c *LandingPagesListCall) IfNoneMatch(entityTag string) *LandingPagesListCall {
34569	c.ifNoneMatch_ = entityTag
34570	return c
34571}
34572
34573// Context sets the context to be used in this call's Do method. Any
34574// pending HTTP request will be aborted if the provided context is
34575// canceled.
34576func (c *LandingPagesListCall) Context(ctx context.Context) *LandingPagesListCall {
34577	c.ctx_ = ctx
34578	return c
34579}
34580
34581// Header returns an http.Header that can be modified by the caller to
34582// add HTTP headers to the request.
34583func (c *LandingPagesListCall) Header() http.Header {
34584	if c.header_ == nil {
34585		c.header_ = make(http.Header)
34586	}
34587	return c.header_
34588}
34589
34590func (c *LandingPagesListCall) doRequest(alt string) (*http.Response, error) {
34591	reqHeaders := make(http.Header)
34592	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34593	for k, v := range c.header_ {
34594		reqHeaders[k] = v
34595	}
34596	reqHeaders.Set("User-Agent", c.s.userAgent())
34597	if c.ifNoneMatch_ != "" {
34598		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34599	}
34600	var body io.Reader = nil
34601	c.urlParams_.Set("alt", alt)
34602	c.urlParams_.Set("prettyPrint", "false")
34603	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
34604	urls += "?" + c.urlParams_.Encode()
34605	req, err := http.NewRequest("GET", urls, body)
34606	if err != nil {
34607		return nil, err
34608	}
34609	req.Header = reqHeaders
34610	googleapi.Expand(req.URL, map[string]string{
34611		"profileId":  strconv.FormatInt(c.profileId, 10),
34612		"campaignId": strconv.FormatInt(c.campaignId, 10),
34613	})
34614	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34615}
34616
34617// Do executes the "dfareporting.landingPages.list" call.
34618// Exactly one of *LandingPagesListResponse or error will be non-nil.
34619// Any non-2xx status code is an error. Response headers are in either
34620// *LandingPagesListResponse.ServerResponse.Header or (if a response was
34621// returned at all) in error.(*googleapi.Error).Header. Use
34622// googleapi.IsNotModified to check whether the returned error was
34623// because http.StatusNotModified was returned.
34624func (c *LandingPagesListCall) Do(opts ...googleapi.CallOption) (*LandingPagesListResponse, error) {
34625	gensupport.SetOptions(c.urlParams_, opts...)
34626	res, err := c.doRequest("json")
34627	if res != nil && res.StatusCode == http.StatusNotModified {
34628		if res.Body != nil {
34629			res.Body.Close()
34630		}
34631		return nil, &googleapi.Error{
34632			Code:   res.StatusCode,
34633			Header: res.Header,
34634		}
34635	}
34636	if err != nil {
34637		return nil, err
34638	}
34639	defer googleapi.CloseBody(res)
34640	if err := googleapi.CheckResponse(res); err != nil {
34641		return nil, err
34642	}
34643	ret := &LandingPagesListResponse{
34644		ServerResponse: googleapi.ServerResponse{
34645			Header:         res.Header,
34646			HTTPStatusCode: res.StatusCode,
34647		},
34648	}
34649	target := &ret
34650	if err := gensupport.DecodeResponse(target, res); err != nil {
34651		return nil, err
34652	}
34653	return ret, nil
34654	// {
34655	//   "description": "Retrieves the list of landing pages for the specified campaign.",
34656	//   "httpMethod": "GET",
34657	//   "id": "dfareporting.landingPages.list",
34658	//   "parameterOrder": [
34659	//     "profileId",
34660	//     "campaignId"
34661	//   ],
34662	//   "parameters": {
34663	//     "campaignId": {
34664	//       "description": "Landing page campaign ID.",
34665	//       "format": "int64",
34666	//       "location": "path",
34667	//       "required": true,
34668	//       "type": "string"
34669	//     },
34670	//     "profileId": {
34671	//       "description": "User profile ID associated with this request.",
34672	//       "format": "int64",
34673	//       "location": "path",
34674	//       "required": true,
34675	//       "type": "string"
34676	//     }
34677	//   },
34678	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
34679	//   "response": {
34680	//     "$ref": "LandingPagesListResponse"
34681	//   },
34682	//   "scopes": [
34683	//     "https://www.googleapis.com/auth/dfatrafficking"
34684	//   ]
34685	// }
34686
34687}
34688
34689// method id "dfareporting.landingPages.patch":
34690
34691type LandingPagesPatchCall struct {
34692	s           *Service
34693	profileId   int64
34694	campaignId  int64
34695	landingpage *LandingPage
34696	urlParams_  gensupport.URLParams
34697	ctx_        context.Context
34698	header_     http.Header
34699}
34700
34701// Patch: Updates an existing campaign landing page. This method
34702// supports patch semantics.
34703func (r *LandingPagesService) Patch(profileId int64, campaignId int64, id int64, landingpage *LandingPage) *LandingPagesPatchCall {
34704	c := &LandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34705	c.profileId = profileId
34706	c.campaignId = campaignId
34707	c.urlParams_.Set("id", fmt.Sprint(id))
34708	c.landingpage = landingpage
34709	return c
34710}
34711
34712// Fields allows partial responses to be retrieved. See
34713// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34714// for more information.
34715func (c *LandingPagesPatchCall) Fields(s ...googleapi.Field) *LandingPagesPatchCall {
34716	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34717	return c
34718}
34719
34720// Context sets the context to be used in this call's Do method. Any
34721// pending HTTP request will be aborted if the provided context is
34722// canceled.
34723func (c *LandingPagesPatchCall) Context(ctx context.Context) *LandingPagesPatchCall {
34724	c.ctx_ = ctx
34725	return c
34726}
34727
34728// Header returns an http.Header that can be modified by the caller to
34729// add HTTP headers to the request.
34730func (c *LandingPagesPatchCall) Header() http.Header {
34731	if c.header_ == nil {
34732		c.header_ = make(http.Header)
34733	}
34734	return c.header_
34735}
34736
34737func (c *LandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
34738	reqHeaders := make(http.Header)
34739	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34740	for k, v := range c.header_ {
34741		reqHeaders[k] = v
34742	}
34743	reqHeaders.Set("User-Agent", c.s.userAgent())
34744	var body io.Reader = nil
34745	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
34746	if err != nil {
34747		return nil, err
34748	}
34749	reqHeaders.Set("Content-Type", "application/json")
34750	c.urlParams_.Set("alt", alt)
34751	c.urlParams_.Set("prettyPrint", "false")
34752	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
34753	urls += "?" + c.urlParams_.Encode()
34754	req, err := http.NewRequest("PATCH", urls, body)
34755	if err != nil {
34756		return nil, err
34757	}
34758	req.Header = reqHeaders
34759	googleapi.Expand(req.URL, map[string]string{
34760		"profileId":  strconv.FormatInt(c.profileId, 10),
34761		"campaignId": strconv.FormatInt(c.campaignId, 10),
34762	})
34763	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34764}
34765
34766// Do executes the "dfareporting.landingPages.patch" call.
34767// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
34768// status code is an error. Response headers are in either
34769// *LandingPage.ServerResponse.Header or (if a response was returned at
34770// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
34771// to check whether the returned error was because
34772// http.StatusNotModified was returned.
34773func (c *LandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
34774	gensupport.SetOptions(c.urlParams_, opts...)
34775	res, err := c.doRequest("json")
34776	if res != nil && res.StatusCode == http.StatusNotModified {
34777		if res.Body != nil {
34778			res.Body.Close()
34779		}
34780		return nil, &googleapi.Error{
34781			Code:   res.StatusCode,
34782			Header: res.Header,
34783		}
34784	}
34785	if err != nil {
34786		return nil, err
34787	}
34788	defer googleapi.CloseBody(res)
34789	if err := googleapi.CheckResponse(res); err != nil {
34790		return nil, err
34791	}
34792	ret := &LandingPage{
34793		ServerResponse: googleapi.ServerResponse{
34794			Header:         res.Header,
34795			HTTPStatusCode: res.StatusCode,
34796		},
34797	}
34798	target := &ret
34799	if err := gensupport.DecodeResponse(target, res); err != nil {
34800		return nil, err
34801	}
34802	return ret, nil
34803	// {
34804	//   "description": "Updates an existing campaign landing page. This method supports patch semantics.",
34805	//   "httpMethod": "PATCH",
34806	//   "id": "dfareporting.landingPages.patch",
34807	//   "parameterOrder": [
34808	//     "profileId",
34809	//     "campaignId",
34810	//     "id"
34811	//   ],
34812	//   "parameters": {
34813	//     "campaignId": {
34814	//       "description": "Landing page campaign ID.",
34815	//       "format": "int64",
34816	//       "location": "path",
34817	//       "required": true,
34818	//       "type": "string"
34819	//     },
34820	//     "id": {
34821	//       "description": "Landing page ID.",
34822	//       "format": "int64",
34823	//       "location": "query",
34824	//       "required": true,
34825	//       "type": "string"
34826	//     },
34827	//     "profileId": {
34828	//       "description": "User profile ID associated with this request.",
34829	//       "format": "int64",
34830	//       "location": "path",
34831	//       "required": true,
34832	//       "type": "string"
34833	//     }
34834	//   },
34835	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
34836	//   "request": {
34837	//     "$ref": "LandingPage"
34838	//   },
34839	//   "response": {
34840	//     "$ref": "LandingPage"
34841	//   },
34842	//   "scopes": [
34843	//     "https://www.googleapis.com/auth/dfatrafficking"
34844	//   ]
34845	// }
34846
34847}
34848
34849// method id "dfareporting.landingPages.update":
34850
34851type LandingPagesUpdateCall struct {
34852	s           *Service
34853	profileId   int64
34854	campaignId  int64
34855	landingpage *LandingPage
34856	urlParams_  gensupport.URLParams
34857	ctx_        context.Context
34858	header_     http.Header
34859}
34860
34861// Update: Updates an existing campaign landing page.
34862func (r *LandingPagesService) Update(profileId int64, campaignId int64, landingpage *LandingPage) *LandingPagesUpdateCall {
34863	c := &LandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34864	c.profileId = profileId
34865	c.campaignId = campaignId
34866	c.landingpage = landingpage
34867	return c
34868}
34869
34870// Fields allows partial responses to be retrieved. See
34871// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34872// for more information.
34873func (c *LandingPagesUpdateCall) Fields(s ...googleapi.Field) *LandingPagesUpdateCall {
34874	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34875	return c
34876}
34877
34878// Context sets the context to be used in this call's Do method. Any
34879// pending HTTP request will be aborted if the provided context is
34880// canceled.
34881func (c *LandingPagesUpdateCall) Context(ctx context.Context) *LandingPagesUpdateCall {
34882	c.ctx_ = ctx
34883	return c
34884}
34885
34886// Header returns an http.Header that can be modified by the caller to
34887// add HTTP headers to the request.
34888func (c *LandingPagesUpdateCall) Header() http.Header {
34889	if c.header_ == nil {
34890		c.header_ = make(http.Header)
34891	}
34892	return c.header_
34893}
34894
34895func (c *LandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
34896	reqHeaders := make(http.Header)
34897	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34898	for k, v := range c.header_ {
34899		reqHeaders[k] = v
34900	}
34901	reqHeaders.Set("User-Agent", c.s.userAgent())
34902	var body io.Reader = nil
34903	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
34904	if err != nil {
34905		return nil, err
34906	}
34907	reqHeaders.Set("Content-Type", "application/json")
34908	c.urlParams_.Set("alt", alt)
34909	c.urlParams_.Set("prettyPrint", "false")
34910	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/landingPages")
34911	urls += "?" + c.urlParams_.Encode()
34912	req, err := http.NewRequest("PUT", urls, body)
34913	if err != nil {
34914		return nil, err
34915	}
34916	req.Header = reqHeaders
34917	googleapi.Expand(req.URL, map[string]string{
34918		"profileId":  strconv.FormatInt(c.profileId, 10),
34919		"campaignId": strconv.FormatInt(c.campaignId, 10),
34920	})
34921	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34922}
34923
34924// Do executes the "dfareporting.landingPages.update" call.
34925// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
34926// status code is an error. Response headers are in either
34927// *LandingPage.ServerResponse.Header or (if a response was returned at
34928// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
34929// to check whether the returned error was because
34930// http.StatusNotModified was returned.
34931func (c *LandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
34932	gensupport.SetOptions(c.urlParams_, opts...)
34933	res, err := c.doRequest("json")
34934	if res != nil && res.StatusCode == http.StatusNotModified {
34935		if res.Body != nil {
34936			res.Body.Close()
34937		}
34938		return nil, &googleapi.Error{
34939			Code:   res.StatusCode,
34940			Header: res.Header,
34941		}
34942	}
34943	if err != nil {
34944		return nil, err
34945	}
34946	defer googleapi.CloseBody(res)
34947	if err := googleapi.CheckResponse(res); err != nil {
34948		return nil, err
34949	}
34950	ret := &LandingPage{
34951		ServerResponse: googleapi.ServerResponse{
34952			Header:         res.Header,
34953			HTTPStatusCode: res.StatusCode,
34954		},
34955	}
34956	target := &ret
34957	if err := gensupport.DecodeResponse(target, res); err != nil {
34958		return nil, err
34959	}
34960	return ret, nil
34961	// {
34962	//   "description": "Updates an existing campaign landing page.",
34963	//   "httpMethod": "PUT",
34964	//   "id": "dfareporting.landingPages.update",
34965	//   "parameterOrder": [
34966	//     "profileId",
34967	//     "campaignId"
34968	//   ],
34969	//   "parameters": {
34970	//     "campaignId": {
34971	//       "description": "Landing page campaign ID.",
34972	//       "format": "int64",
34973	//       "location": "path",
34974	//       "required": true,
34975	//       "type": "string"
34976	//     },
34977	//     "profileId": {
34978	//       "description": "User profile ID associated with this request.",
34979	//       "format": "int64",
34980	//       "location": "path",
34981	//       "required": true,
34982	//       "type": "string"
34983	//     }
34984	//   },
34985	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages",
34986	//   "request": {
34987	//     "$ref": "LandingPage"
34988	//   },
34989	//   "response": {
34990	//     "$ref": "LandingPage"
34991	//   },
34992	//   "scopes": [
34993	//     "https://www.googleapis.com/auth/dfatrafficking"
34994	//   ]
34995	// }
34996
34997}
34998
34999// method id "dfareporting.languages.list":
35000
35001type LanguagesListCall struct {
35002	s            *Service
35003	profileId    int64
35004	urlParams_   gensupport.URLParams
35005	ifNoneMatch_ string
35006	ctx_         context.Context
35007	header_      http.Header
35008}
35009
35010// List: Retrieves a list of languages.
35011func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
35012	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35013	c.profileId = profileId
35014	return c
35015}
35016
35017// Fields allows partial responses to be retrieved. See
35018// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35019// for more information.
35020func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
35021	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35022	return c
35023}
35024
35025// IfNoneMatch sets the optional parameter which makes the operation
35026// fail if the object's ETag matches the given value. This is useful for
35027// getting updates only after the object has changed since the last
35028// request. Use googleapi.IsNotModified to check whether the response
35029// error from Do is the result of In-None-Match.
35030func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
35031	c.ifNoneMatch_ = entityTag
35032	return c
35033}
35034
35035// Context sets the context to be used in this call's Do method. Any
35036// pending HTTP request will be aborted if the provided context is
35037// canceled.
35038func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
35039	c.ctx_ = ctx
35040	return c
35041}
35042
35043// Header returns an http.Header that can be modified by the caller to
35044// add HTTP headers to the request.
35045func (c *LanguagesListCall) Header() http.Header {
35046	if c.header_ == nil {
35047		c.header_ = make(http.Header)
35048	}
35049	return c.header_
35050}
35051
35052func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
35053	reqHeaders := make(http.Header)
35054	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35055	for k, v := range c.header_ {
35056		reqHeaders[k] = v
35057	}
35058	reqHeaders.Set("User-Agent", c.s.userAgent())
35059	if c.ifNoneMatch_ != "" {
35060		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35061	}
35062	var body io.Reader = nil
35063	c.urlParams_.Set("alt", alt)
35064	c.urlParams_.Set("prettyPrint", "false")
35065	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
35066	urls += "?" + c.urlParams_.Encode()
35067	req, err := http.NewRequest("GET", urls, body)
35068	if err != nil {
35069		return nil, err
35070	}
35071	req.Header = reqHeaders
35072	googleapi.Expand(req.URL, map[string]string{
35073		"profileId": strconv.FormatInt(c.profileId, 10),
35074	})
35075	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35076}
35077
35078// Do executes the "dfareporting.languages.list" call.
35079// Exactly one of *LanguagesListResponse or error will be non-nil. Any
35080// non-2xx status code is an error. Response headers are in either
35081// *LanguagesListResponse.ServerResponse.Header or (if a response was
35082// returned at all) in error.(*googleapi.Error).Header. Use
35083// googleapi.IsNotModified to check whether the returned error was
35084// because http.StatusNotModified was returned.
35085func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
35086	gensupport.SetOptions(c.urlParams_, opts...)
35087	res, err := c.doRequest("json")
35088	if res != nil && res.StatusCode == http.StatusNotModified {
35089		if res.Body != nil {
35090			res.Body.Close()
35091		}
35092		return nil, &googleapi.Error{
35093			Code:   res.StatusCode,
35094			Header: res.Header,
35095		}
35096	}
35097	if err != nil {
35098		return nil, err
35099	}
35100	defer googleapi.CloseBody(res)
35101	if err := googleapi.CheckResponse(res); err != nil {
35102		return nil, err
35103	}
35104	ret := &LanguagesListResponse{
35105		ServerResponse: googleapi.ServerResponse{
35106			Header:         res.Header,
35107			HTTPStatusCode: res.StatusCode,
35108		},
35109	}
35110	target := &ret
35111	if err := gensupport.DecodeResponse(target, res); err != nil {
35112		return nil, err
35113	}
35114	return ret, nil
35115	// {
35116	//   "description": "Retrieves a list of languages.",
35117	//   "httpMethod": "GET",
35118	//   "id": "dfareporting.languages.list",
35119	//   "parameterOrder": [
35120	//     "profileId"
35121	//   ],
35122	//   "parameters": {
35123	//     "profileId": {
35124	//       "description": "User profile ID associated with this request.",
35125	//       "format": "int64",
35126	//       "location": "path",
35127	//       "required": true,
35128	//       "type": "string"
35129	//     }
35130	//   },
35131	//   "path": "userprofiles/{profileId}/languages",
35132	//   "response": {
35133	//     "$ref": "LanguagesListResponse"
35134	//   },
35135	//   "scopes": [
35136	//     "https://www.googleapis.com/auth/dfatrafficking"
35137	//   ]
35138	// }
35139
35140}
35141
35142// method id "dfareporting.metros.list":
35143
35144type MetrosListCall struct {
35145	s            *Service
35146	profileId    int64
35147	urlParams_   gensupport.URLParams
35148	ifNoneMatch_ string
35149	ctx_         context.Context
35150	header_      http.Header
35151}
35152
35153// List: Retrieves a list of metros.
35154func (r *MetrosService) List(profileId int64) *MetrosListCall {
35155	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35156	c.profileId = profileId
35157	return c
35158}
35159
35160// Fields allows partial responses to be retrieved. See
35161// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35162// for more information.
35163func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
35164	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35165	return c
35166}
35167
35168// IfNoneMatch sets the optional parameter which makes the operation
35169// fail if the object's ETag matches the given value. This is useful for
35170// getting updates only after the object has changed since the last
35171// request. Use googleapi.IsNotModified to check whether the response
35172// error from Do is the result of In-None-Match.
35173func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
35174	c.ifNoneMatch_ = entityTag
35175	return c
35176}
35177
35178// Context sets the context to be used in this call's Do method. Any
35179// pending HTTP request will be aborted if the provided context is
35180// canceled.
35181func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
35182	c.ctx_ = ctx
35183	return c
35184}
35185
35186// Header returns an http.Header that can be modified by the caller to
35187// add HTTP headers to the request.
35188func (c *MetrosListCall) Header() http.Header {
35189	if c.header_ == nil {
35190		c.header_ = make(http.Header)
35191	}
35192	return c.header_
35193}
35194
35195func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
35196	reqHeaders := make(http.Header)
35197	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35198	for k, v := range c.header_ {
35199		reqHeaders[k] = v
35200	}
35201	reqHeaders.Set("User-Agent", c.s.userAgent())
35202	if c.ifNoneMatch_ != "" {
35203		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35204	}
35205	var body io.Reader = nil
35206	c.urlParams_.Set("alt", alt)
35207	c.urlParams_.Set("prettyPrint", "false")
35208	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
35209	urls += "?" + c.urlParams_.Encode()
35210	req, err := http.NewRequest("GET", urls, body)
35211	if err != nil {
35212		return nil, err
35213	}
35214	req.Header = reqHeaders
35215	googleapi.Expand(req.URL, map[string]string{
35216		"profileId": strconv.FormatInt(c.profileId, 10),
35217	})
35218	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35219}
35220
35221// Do executes the "dfareporting.metros.list" call.
35222// Exactly one of *MetrosListResponse or error will be non-nil. Any
35223// non-2xx status code is an error. Response headers are in either
35224// *MetrosListResponse.ServerResponse.Header or (if a response was
35225// returned at all) in error.(*googleapi.Error).Header. Use
35226// googleapi.IsNotModified to check whether the returned error was
35227// because http.StatusNotModified was returned.
35228func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
35229	gensupport.SetOptions(c.urlParams_, opts...)
35230	res, err := c.doRequest("json")
35231	if res != nil && res.StatusCode == http.StatusNotModified {
35232		if res.Body != nil {
35233			res.Body.Close()
35234		}
35235		return nil, &googleapi.Error{
35236			Code:   res.StatusCode,
35237			Header: res.Header,
35238		}
35239	}
35240	if err != nil {
35241		return nil, err
35242	}
35243	defer googleapi.CloseBody(res)
35244	if err := googleapi.CheckResponse(res); err != nil {
35245		return nil, err
35246	}
35247	ret := &MetrosListResponse{
35248		ServerResponse: googleapi.ServerResponse{
35249			Header:         res.Header,
35250			HTTPStatusCode: res.StatusCode,
35251		},
35252	}
35253	target := &ret
35254	if err := gensupport.DecodeResponse(target, res); err != nil {
35255		return nil, err
35256	}
35257	return ret, nil
35258	// {
35259	//   "description": "Retrieves a list of metros.",
35260	//   "httpMethod": "GET",
35261	//   "id": "dfareporting.metros.list",
35262	//   "parameterOrder": [
35263	//     "profileId"
35264	//   ],
35265	//   "parameters": {
35266	//     "profileId": {
35267	//       "description": "User profile ID associated with this request.",
35268	//       "format": "int64",
35269	//       "location": "path",
35270	//       "required": true,
35271	//       "type": "string"
35272	//     }
35273	//   },
35274	//   "path": "userprofiles/{profileId}/metros",
35275	//   "response": {
35276	//     "$ref": "MetrosListResponse"
35277	//   },
35278	//   "scopes": [
35279	//     "https://www.googleapis.com/auth/dfatrafficking"
35280	//   ]
35281	// }
35282
35283}
35284
35285// method id "dfareporting.mobileCarriers.get":
35286
35287type MobileCarriersGetCall struct {
35288	s            *Service
35289	profileId    int64
35290	id           int64
35291	urlParams_   gensupport.URLParams
35292	ifNoneMatch_ string
35293	ctx_         context.Context
35294	header_      http.Header
35295}
35296
35297// Get: Gets one mobile carrier by ID.
35298func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
35299	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35300	c.profileId = profileId
35301	c.id = id
35302	return c
35303}
35304
35305// Fields allows partial responses to be retrieved. See
35306// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35307// for more information.
35308func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
35309	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35310	return c
35311}
35312
35313// IfNoneMatch sets the optional parameter which makes the operation
35314// fail if the object's ETag matches the given value. This is useful for
35315// getting updates only after the object has changed since the last
35316// request. Use googleapi.IsNotModified to check whether the response
35317// error from Do is the result of In-None-Match.
35318func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
35319	c.ifNoneMatch_ = entityTag
35320	return c
35321}
35322
35323// Context sets the context to be used in this call's Do method. Any
35324// pending HTTP request will be aborted if the provided context is
35325// canceled.
35326func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
35327	c.ctx_ = ctx
35328	return c
35329}
35330
35331// Header returns an http.Header that can be modified by the caller to
35332// add HTTP headers to the request.
35333func (c *MobileCarriersGetCall) Header() http.Header {
35334	if c.header_ == nil {
35335		c.header_ = make(http.Header)
35336	}
35337	return c.header_
35338}
35339
35340func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
35341	reqHeaders := make(http.Header)
35342	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35343	for k, v := range c.header_ {
35344		reqHeaders[k] = v
35345	}
35346	reqHeaders.Set("User-Agent", c.s.userAgent())
35347	if c.ifNoneMatch_ != "" {
35348		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35349	}
35350	var body io.Reader = nil
35351	c.urlParams_.Set("alt", alt)
35352	c.urlParams_.Set("prettyPrint", "false")
35353	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
35354	urls += "?" + c.urlParams_.Encode()
35355	req, err := http.NewRequest("GET", urls, body)
35356	if err != nil {
35357		return nil, err
35358	}
35359	req.Header = reqHeaders
35360	googleapi.Expand(req.URL, map[string]string{
35361		"profileId": strconv.FormatInt(c.profileId, 10),
35362		"id":        strconv.FormatInt(c.id, 10),
35363	})
35364	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35365}
35366
35367// Do executes the "dfareporting.mobileCarriers.get" call.
35368// Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
35369// status code is an error. Response headers are in either
35370// *MobileCarrier.ServerResponse.Header or (if a response was returned
35371// at all) in error.(*googleapi.Error).Header. Use
35372// googleapi.IsNotModified to check whether the returned error was
35373// because http.StatusNotModified was returned.
35374func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
35375	gensupport.SetOptions(c.urlParams_, opts...)
35376	res, err := c.doRequest("json")
35377	if res != nil && res.StatusCode == http.StatusNotModified {
35378		if res.Body != nil {
35379			res.Body.Close()
35380		}
35381		return nil, &googleapi.Error{
35382			Code:   res.StatusCode,
35383			Header: res.Header,
35384		}
35385	}
35386	if err != nil {
35387		return nil, err
35388	}
35389	defer googleapi.CloseBody(res)
35390	if err := googleapi.CheckResponse(res); err != nil {
35391		return nil, err
35392	}
35393	ret := &MobileCarrier{
35394		ServerResponse: googleapi.ServerResponse{
35395			Header:         res.Header,
35396			HTTPStatusCode: res.StatusCode,
35397		},
35398	}
35399	target := &ret
35400	if err := gensupport.DecodeResponse(target, res); err != nil {
35401		return nil, err
35402	}
35403	return ret, nil
35404	// {
35405	//   "description": "Gets one mobile carrier by ID.",
35406	//   "httpMethod": "GET",
35407	//   "id": "dfareporting.mobileCarriers.get",
35408	//   "parameterOrder": [
35409	//     "profileId",
35410	//     "id"
35411	//   ],
35412	//   "parameters": {
35413	//     "id": {
35414	//       "description": "Mobile carrier ID.",
35415	//       "format": "int64",
35416	//       "location": "path",
35417	//       "required": true,
35418	//       "type": "string"
35419	//     },
35420	//     "profileId": {
35421	//       "description": "User profile ID associated with this request.",
35422	//       "format": "int64",
35423	//       "location": "path",
35424	//       "required": true,
35425	//       "type": "string"
35426	//     }
35427	//   },
35428	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
35429	//   "response": {
35430	//     "$ref": "MobileCarrier"
35431	//   },
35432	//   "scopes": [
35433	//     "https://www.googleapis.com/auth/dfatrafficking"
35434	//   ]
35435	// }
35436
35437}
35438
35439// method id "dfareporting.mobileCarriers.list":
35440
35441type MobileCarriersListCall struct {
35442	s            *Service
35443	profileId    int64
35444	urlParams_   gensupport.URLParams
35445	ifNoneMatch_ string
35446	ctx_         context.Context
35447	header_      http.Header
35448}
35449
35450// List: Retrieves a list of mobile carriers.
35451func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
35452	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35453	c.profileId = profileId
35454	return c
35455}
35456
35457// Fields allows partial responses to be retrieved. See
35458// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35459// for more information.
35460func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
35461	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35462	return c
35463}
35464
35465// IfNoneMatch sets the optional parameter which makes the operation
35466// fail if the object's ETag matches the given value. This is useful for
35467// getting updates only after the object has changed since the last
35468// request. Use googleapi.IsNotModified to check whether the response
35469// error from Do is the result of In-None-Match.
35470func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
35471	c.ifNoneMatch_ = entityTag
35472	return c
35473}
35474
35475// Context sets the context to be used in this call's Do method. Any
35476// pending HTTP request will be aborted if the provided context is
35477// canceled.
35478func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
35479	c.ctx_ = ctx
35480	return c
35481}
35482
35483// Header returns an http.Header that can be modified by the caller to
35484// add HTTP headers to the request.
35485func (c *MobileCarriersListCall) Header() http.Header {
35486	if c.header_ == nil {
35487		c.header_ = make(http.Header)
35488	}
35489	return c.header_
35490}
35491
35492func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
35493	reqHeaders := make(http.Header)
35494	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35495	for k, v := range c.header_ {
35496		reqHeaders[k] = v
35497	}
35498	reqHeaders.Set("User-Agent", c.s.userAgent())
35499	if c.ifNoneMatch_ != "" {
35500		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35501	}
35502	var body io.Reader = nil
35503	c.urlParams_.Set("alt", alt)
35504	c.urlParams_.Set("prettyPrint", "false")
35505	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
35506	urls += "?" + c.urlParams_.Encode()
35507	req, err := http.NewRequest("GET", urls, body)
35508	if err != nil {
35509		return nil, err
35510	}
35511	req.Header = reqHeaders
35512	googleapi.Expand(req.URL, map[string]string{
35513		"profileId": strconv.FormatInt(c.profileId, 10),
35514	})
35515	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35516}
35517
35518// Do executes the "dfareporting.mobileCarriers.list" call.
35519// Exactly one of *MobileCarriersListResponse or error will be non-nil.
35520// Any non-2xx status code is an error. Response headers are in either
35521// *MobileCarriersListResponse.ServerResponse.Header or (if a response
35522// was returned at all) in error.(*googleapi.Error).Header. Use
35523// googleapi.IsNotModified to check whether the returned error was
35524// because http.StatusNotModified was returned.
35525func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
35526	gensupport.SetOptions(c.urlParams_, opts...)
35527	res, err := c.doRequest("json")
35528	if res != nil && res.StatusCode == http.StatusNotModified {
35529		if res.Body != nil {
35530			res.Body.Close()
35531		}
35532		return nil, &googleapi.Error{
35533			Code:   res.StatusCode,
35534			Header: res.Header,
35535		}
35536	}
35537	if err != nil {
35538		return nil, err
35539	}
35540	defer googleapi.CloseBody(res)
35541	if err := googleapi.CheckResponse(res); err != nil {
35542		return nil, err
35543	}
35544	ret := &MobileCarriersListResponse{
35545		ServerResponse: googleapi.ServerResponse{
35546			Header:         res.Header,
35547			HTTPStatusCode: res.StatusCode,
35548		},
35549	}
35550	target := &ret
35551	if err := gensupport.DecodeResponse(target, res); err != nil {
35552		return nil, err
35553	}
35554	return ret, nil
35555	// {
35556	//   "description": "Retrieves a list of mobile carriers.",
35557	//   "httpMethod": "GET",
35558	//   "id": "dfareporting.mobileCarriers.list",
35559	//   "parameterOrder": [
35560	//     "profileId"
35561	//   ],
35562	//   "parameters": {
35563	//     "profileId": {
35564	//       "description": "User profile ID associated with this request.",
35565	//       "format": "int64",
35566	//       "location": "path",
35567	//       "required": true,
35568	//       "type": "string"
35569	//     }
35570	//   },
35571	//   "path": "userprofiles/{profileId}/mobileCarriers",
35572	//   "response": {
35573	//     "$ref": "MobileCarriersListResponse"
35574	//   },
35575	//   "scopes": [
35576	//     "https://www.googleapis.com/auth/dfatrafficking"
35577	//   ]
35578	// }
35579
35580}
35581
35582// method id "dfareporting.operatingSystemVersions.get":
35583
35584type OperatingSystemVersionsGetCall struct {
35585	s            *Service
35586	profileId    int64
35587	id           int64
35588	urlParams_   gensupport.URLParams
35589	ifNoneMatch_ string
35590	ctx_         context.Context
35591	header_      http.Header
35592}
35593
35594// Get: Gets one operating system version by ID.
35595func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
35596	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35597	c.profileId = profileId
35598	c.id = id
35599	return c
35600}
35601
35602// Fields allows partial responses to be retrieved. See
35603// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35604// for more information.
35605func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
35606	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35607	return c
35608}
35609
35610// IfNoneMatch sets the optional parameter which makes the operation
35611// fail if the object's ETag matches the given value. This is useful for
35612// getting updates only after the object has changed since the last
35613// request. Use googleapi.IsNotModified to check whether the response
35614// error from Do is the result of In-None-Match.
35615func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
35616	c.ifNoneMatch_ = entityTag
35617	return c
35618}
35619
35620// Context sets the context to be used in this call's Do method. Any
35621// pending HTTP request will be aborted if the provided context is
35622// canceled.
35623func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
35624	c.ctx_ = ctx
35625	return c
35626}
35627
35628// Header returns an http.Header that can be modified by the caller to
35629// add HTTP headers to the request.
35630func (c *OperatingSystemVersionsGetCall) Header() http.Header {
35631	if c.header_ == nil {
35632		c.header_ = make(http.Header)
35633	}
35634	return c.header_
35635}
35636
35637func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
35638	reqHeaders := make(http.Header)
35639	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35640	for k, v := range c.header_ {
35641		reqHeaders[k] = v
35642	}
35643	reqHeaders.Set("User-Agent", c.s.userAgent())
35644	if c.ifNoneMatch_ != "" {
35645		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35646	}
35647	var body io.Reader = nil
35648	c.urlParams_.Set("alt", alt)
35649	c.urlParams_.Set("prettyPrint", "false")
35650	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
35651	urls += "?" + c.urlParams_.Encode()
35652	req, err := http.NewRequest("GET", urls, body)
35653	if err != nil {
35654		return nil, err
35655	}
35656	req.Header = reqHeaders
35657	googleapi.Expand(req.URL, map[string]string{
35658		"profileId": strconv.FormatInt(c.profileId, 10),
35659		"id":        strconv.FormatInt(c.id, 10),
35660	})
35661	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35662}
35663
35664// Do executes the "dfareporting.operatingSystemVersions.get" call.
35665// Exactly one of *OperatingSystemVersion or error will be non-nil. Any
35666// non-2xx status code is an error. Response headers are in either
35667// *OperatingSystemVersion.ServerResponse.Header or (if a response was
35668// returned at all) in error.(*googleapi.Error).Header. Use
35669// googleapi.IsNotModified to check whether the returned error was
35670// because http.StatusNotModified was returned.
35671func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
35672	gensupport.SetOptions(c.urlParams_, opts...)
35673	res, err := c.doRequest("json")
35674	if res != nil && res.StatusCode == http.StatusNotModified {
35675		if res.Body != nil {
35676			res.Body.Close()
35677		}
35678		return nil, &googleapi.Error{
35679			Code:   res.StatusCode,
35680			Header: res.Header,
35681		}
35682	}
35683	if err != nil {
35684		return nil, err
35685	}
35686	defer googleapi.CloseBody(res)
35687	if err := googleapi.CheckResponse(res); err != nil {
35688		return nil, err
35689	}
35690	ret := &OperatingSystemVersion{
35691		ServerResponse: googleapi.ServerResponse{
35692			Header:         res.Header,
35693			HTTPStatusCode: res.StatusCode,
35694		},
35695	}
35696	target := &ret
35697	if err := gensupport.DecodeResponse(target, res); err != nil {
35698		return nil, err
35699	}
35700	return ret, nil
35701	// {
35702	//   "description": "Gets one operating system version by ID.",
35703	//   "httpMethod": "GET",
35704	//   "id": "dfareporting.operatingSystemVersions.get",
35705	//   "parameterOrder": [
35706	//     "profileId",
35707	//     "id"
35708	//   ],
35709	//   "parameters": {
35710	//     "id": {
35711	//       "description": "Operating system version ID.",
35712	//       "format": "int64",
35713	//       "location": "path",
35714	//       "required": true,
35715	//       "type": "string"
35716	//     },
35717	//     "profileId": {
35718	//       "description": "User profile ID associated with this request.",
35719	//       "format": "int64",
35720	//       "location": "path",
35721	//       "required": true,
35722	//       "type": "string"
35723	//     }
35724	//   },
35725	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
35726	//   "response": {
35727	//     "$ref": "OperatingSystemVersion"
35728	//   },
35729	//   "scopes": [
35730	//     "https://www.googleapis.com/auth/dfatrafficking"
35731	//   ]
35732	// }
35733
35734}
35735
35736// method id "dfareporting.operatingSystemVersions.list":
35737
35738type OperatingSystemVersionsListCall struct {
35739	s            *Service
35740	profileId    int64
35741	urlParams_   gensupport.URLParams
35742	ifNoneMatch_ string
35743	ctx_         context.Context
35744	header_      http.Header
35745}
35746
35747// List: Retrieves a list of operating system versions.
35748func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
35749	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35750	c.profileId = profileId
35751	return c
35752}
35753
35754// Fields allows partial responses to be retrieved. See
35755// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35756// for more information.
35757func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
35758	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35759	return c
35760}
35761
35762// IfNoneMatch sets the optional parameter which makes the operation
35763// fail if the object's ETag matches the given value. This is useful for
35764// getting updates only after the object has changed since the last
35765// request. Use googleapi.IsNotModified to check whether the response
35766// error from Do is the result of In-None-Match.
35767func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
35768	c.ifNoneMatch_ = entityTag
35769	return c
35770}
35771
35772// Context sets the context to be used in this call's Do method. Any
35773// pending HTTP request will be aborted if the provided context is
35774// canceled.
35775func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
35776	c.ctx_ = ctx
35777	return c
35778}
35779
35780// Header returns an http.Header that can be modified by the caller to
35781// add HTTP headers to the request.
35782func (c *OperatingSystemVersionsListCall) Header() http.Header {
35783	if c.header_ == nil {
35784		c.header_ = make(http.Header)
35785	}
35786	return c.header_
35787}
35788
35789func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
35790	reqHeaders := make(http.Header)
35791	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35792	for k, v := range c.header_ {
35793		reqHeaders[k] = v
35794	}
35795	reqHeaders.Set("User-Agent", c.s.userAgent())
35796	if c.ifNoneMatch_ != "" {
35797		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35798	}
35799	var body io.Reader = nil
35800	c.urlParams_.Set("alt", alt)
35801	c.urlParams_.Set("prettyPrint", "false")
35802	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
35803	urls += "?" + c.urlParams_.Encode()
35804	req, err := http.NewRequest("GET", urls, body)
35805	if err != nil {
35806		return nil, err
35807	}
35808	req.Header = reqHeaders
35809	googleapi.Expand(req.URL, map[string]string{
35810		"profileId": strconv.FormatInt(c.profileId, 10),
35811	})
35812	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35813}
35814
35815// Do executes the "dfareporting.operatingSystemVersions.list" call.
35816// Exactly one of *OperatingSystemVersionsListResponse or error will be
35817// non-nil. Any non-2xx status code is an error. Response headers are in
35818// either *OperatingSystemVersionsListResponse.ServerResponse.Header or
35819// (if a response was returned at all) in
35820// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
35821// whether the returned error was because http.StatusNotModified was
35822// returned.
35823func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
35824	gensupport.SetOptions(c.urlParams_, opts...)
35825	res, err := c.doRequest("json")
35826	if res != nil && res.StatusCode == http.StatusNotModified {
35827		if res.Body != nil {
35828			res.Body.Close()
35829		}
35830		return nil, &googleapi.Error{
35831			Code:   res.StatusCode,
35832			Header: res.Header,
35833		}
35834	}
35835	if err != nil {
35836		return nil, err
35837	}
35838	defer googleapi.CloseBody(res)
35839	if err := googleapi.CheckResponse(res); err != nil {
35840		return nil, err
35841	}
35842	ret := &OperatingSystemVersionsListResponse{
35843		ServerResponse: googleapi.ServerResponse{
35844			Header:         res.Header,
35845			HTTPStatusCode: res.StatusCode,
35846		},
35847	}
35848	target := &ret
35849	if err := gensupport.DecodeResponse(target, res); err != nil {
35850		return nil, err
35851	}
35852	return ret, nil
35853	// {
35854	//   "description": "Retrieves a list of operating system versions.",
35855	//   "httpMethod": "GET",
35856	//   "id": "dfareporting.operatingSystemVersions.list",
35857	//   "parameterOrder": [
35858	//     "profileId"
35859	//   ],
35860	//   "parameters": {
35861	//     "profileId": {
35862	//       "description": "User profile ID associated with this request.",
35863	//       "format": "int64",
35864	//       "location": "path",
35865	//       "required": true,
35866	//       "type": "string"
35867	//     }
35868	//   },
35869	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
35870	//   "response": {
35871	//     "$ref": "OperatingSystemVersionsListResponse"
35872	//   },
35873	//   "scopes": [
35874	//     "https://www.googleapis.com/auth/dfatrafficking"
35875	//   ]
35876	// }
35877
35878}
35879
35880// method id "dfareporting.operatingSystems.get":
35881
35882type OperatingSystemsGetCall struct {
35883	s            *Service
35884	profileId    int64
35885	dartId       int64
35886	urlParams_   gensupport.URLParams
35887	ifNoneMatch_ string
35888	ctx_         context.Context
35889	header_      http.Header
35890}
35891
35892// Get: Gets one operating system by DART ID.
35893func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
35894	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35895	c.profileId = profileId
35896	c.dartId = dartId
35897	return c
35898}
35899
35900// Fields allows partial responses to be retrieved. See
35901// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35902// for more information.
35903func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
35904	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35905	return c
35906}
35907
35908// IfNoneMatch sets the optional parameter which makes the operation
35909// fail if the object's ETag matches the given value. This is useful for
35910// getting updates only after the object has changed since the last
35911// request. Use googleapi.IsNotModified to check whether the response
35912// error from Do is the result of In-None-Match.
35913func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
35914	c.ifNoneMatch_ = entityTag
35915	return c
35916}
35917
35918// Context sets the context to be used in this call's Do method. Any
35919// pending HTTP request will be aborted if the provided context is
35920// canceled.
35921func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
35922	c.ctx_ = ctx
35923	return c
35924}
35925
35926// Header returns an http.Header that can be modified by the caller to
35927// add HTTP headers to the request.
35928func (c *OperatingSystemsGetCall) Header() http.Header {
35929	if c.header_ == nil {
35930		c.header_ = make(http.Header)
35931	}
35932	return c.header_
35933}
35934
35935func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
35936	reqHeaders := make(http.Header)
35937	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35938	for k, v := range c.header_ {
35939		reqHeaders[k] = v
35940	}
35941	reqHeaders.Set("User-Agent", c.s.userAgent())
35942	if c.ifNoneMatch_ != "" {
35943		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35944	}
35945	var body io.Reader = nil
35946	c.urlParams_.Set("alt", alt)
35947	c.urlParams_.Set("prettyPrint", "false")
35948	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
35949	urls += "?" + c.urlParams_.Encode()
35950	req, err := http.NewRequest("GET", urls, body)
35951	if err != nil {
35952		return nil, err
35953	}
35954	req.Header = reqHeaders
35955	googleapi.Expand(req.URL, map[string]string{
35956		"profileId": strconv.FormatInt(c.profileId, 10),
35957		"dartId":    strconv.FormatInt(c.dartId, 10),
35958	})
35959	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35960}
35961
35962// Do executes the "dfareporting.operatingSystems.get" call.
35963// Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
35964// status code is an error. Response headers are in either
35965// *OperatingSystem.ServerResponse.Header or (if a response was returned
35966// at all) in error.(*googleapi.Error).Header. Use
35967// googleapi.IsNotModified to check whether the returned error was
35968// because http.StatusNotModified was returned.
35969func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
35970	gensupport.SetOptions(c.urlParams_, opts...)
35971	res, err := c.doRequest("json")
35972	if res != nil && res.StatusCode == http.StatusNotModified {
35973		if res.Body != nil {
35974			res.Body.Close()
35975		}
35976		return nil, &googleapi.Error{
35977			Code:   res.StatusCode,
35978			Header: res.Header,
35979		}
35980	}
35981	if err != nil {
35982		return nil, err
35983	}
35984	defer googleapi.CloseBody(res)
35985	if err := googleapi.CheckResponse(res); err != nil {
35986		return nil, err
35987	}
35988	ret := &OperatingSystem{
35989		ServerResponse: googleapi.ServerResponse{
35990			Header:         res.Header,
35991			HTTPStatusCode: res.StatusCode,
35992		},
35993	}
35994	target := &ret
35995	if err := gensupport.DecodeResponse(target, res); err != nil {
35996		return nil, err
35997	}
35998	return ret, nil
35999	// {
36000	//   "description": "Gets one operating system by DART ID.",
36001	//   "httpMethod": "GET",
36002	//   "id": "dfareporting.operatingSystems.get",
36003	//   "parameterOrder": [
36004	//     "profileId",
36005	//     "dartId"
36006	//   ],
36007	//   "parameters": {
36008	//     "dartId": {
36009	//       "description": "Operating system DART ID.",
36010	//       "format": "int64",
36011	//       "location": "path",
36012	//       "required": true,
36013	//       "type": "string"
36014	//     },
36015	//     "profileId": {
36016	//       "description": "User profile ID associated with this request.",
36017	//       "format": "int64",
36018	//       "location": "path",
36019	//       "required": true,
36020	//       "type": "string"
36021	//     }
36022	//   },
36023	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
36024	//   "response": {
36025	//     "$ref": "OperatingSystem"
36026	//   },
36027	//   "scopes": [
36028	//     "https://www.googleapis.com/auth/dfatrafficking"
36029	//   ]
36030	// }
36031
36032}
36033
36034// method id "dfareporting.operatingSystems.list":
36035
36036type OperatingSystemsListCall struct {
36037	s            *Service
36038	profileId    int64
36039	urlParams_   gensupport.URLParams
36040	ifNoneMatch_ string
36041	ctx_         context.Context
36042	header_      http.Header
36043}
36044
36045// List: Retrieves a list of operating systems.
36046func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
36047	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36048	c.profileId = profileId
36049	return c
36050}
36051
36052// Fields allows partial responses to be retrieved. See
36053// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36054// for more information.
36055func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
36056	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36057	return c
36058}
36059
36060// IfNoneMatch sets the optional parameter which makes the operation
36061// fail if the object's ETag matches the given value. This is useful for
36062// getting updates only after the object has changed since the last
36063// request. Use googleapi.IsNotModified to check whether the response
36064// error from Do is the result of In-None-Match.
36065func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
36066	c.ifNoneMatch_ = entityTag
36067	return c
36068}
36069
36070// Context sets the context to be used in this call's Do method. Any
36071// pending HTTP request will be aborted if the provided context is
36072// canceled.
36073func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
36074	c.ctx_ = ctx
36075	return c
36076}
36077
36078// Header returns an http.Header that can be modified by the caller to
36079// add HTTP headers to the request.
36080func (c *OperatingSystemsListCall) Header() http.Header {
36081	if c.header_ == nil {
36082		c.header_ = make(http.Header)
36083	}
36084	return c.header_
36085}
36086
36087func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
36088	reqHeaders := make(http.Header)
36089	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36090	for k, v := range c.header_ {
36091		reqHeaders[k] = v
36092	}
36093	reqHeaders.Set("User-Agent", c.s.userAgent())
36094	if c.ifNoneMatch_ != "" {
36095		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36096	}
36097	var body io.Reader = nil
36098	c.urlParams_.Set("alt", alt)
36099	c.urlParams_.Set("prettyPrint", "false")
36100	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
36101	urls += "?" + c.urlParams_.Encode()
36102	req, err := http.NewRequest("GET", urls, body)
36103	if err != nil {
36104		return nil, err
36105	}
36106	req.Header = reqHeaders
36107	googleapi.Expand(req.URL, map[string]string{
36108		"profileId": strconv.FormatInt(c.profileId, 10),
36109	})
36110	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36111}
36112
36113// Do executes the "dfareporting.operatingSystems.list" call.
36114// Exactly one of *OperatingSystemsListResponse or error will be
36115// non-nil. Any non-2xx status code is an error. Response headers are in
36116// either *OperatingSystemsListResponse.ServerResponse.Header or (if a
36117// response was returned at all) in error.(*googleapi.Error).Header. Use
36118// googleapi.IsNotModified to check whether the returned error was
36119// because http.StatusNotModified was returned.
36120func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
36121	gensupport.SetOptions(c.urlParams_, opts...)
36122	res, err := c.doRequest("json")
36123	if res != nil && res.StatusCode == http.StatusNotModified {
36124		if res.Body != nil {
36125			res.Body.Close()
36126		}
36127		return nil, &googleapi.Error{
36128			Code:   res.StatusCode,
36129			Header: res.Header,
36130		}
36131	}
36132	if err != nil {
36133		return nil, err
36134	}
36135	defer googleapi.CloseBody(res)
36136	if err := googleapi.CheckResponse(res); err != nil {
36137		return nil, err
36138	}
36139	ret := &OperatingSystemsListResponse{
36140		ServerResponse: googleapi.ServerResponse{
36141			Header:         res.Header,
36142			HTTPStatusCode: res.StatusCode,
36143		},
36144	}
36145	target := &ret
36146	if err := gensupport.DecodeResponse(target, res); err != nil {
36147		return nil, err
36148	}
36149	return ret, nil
36150	// {
36151	//   "description": "Retrieves a list of operating systems.",
36152	//   "httpMethod": "GET",
36153	//   "id": "dfareporting.operatingSystems.list",
36154	//   "parameterOrder": [
36155	//     "profileId"
36156	//   ],
36157	//   "parameters": {
36158	//     "profileId": {
36159	//       "description": "User profile ID associated with this request.",
36160	//       "format": "int64",
36161	//       "location": "path",
36162	//       "required": true,
36163	//       "type": "string"
36164	//     }
36165	//   },
36166	//   "path": "userprofiles/{profileId}/operatingSystems",
36167	//   "response": {
36168	//     "$ref": "OperatingSystemsListResponse"
36169	//   },
36170	//   "scopes": [
36171	//     "https://www.googleapis.com/auth/dfatrafficking"
36172	//   ]
36173	// }
36174
36175}
36176
36177// method id "dfareporting.orderDocuments.get":
36178
36179type OrderDocumentsGetCall struct {
36180	s            *Service
36181	profileId    int64
36182	projectId    int64
36183	id           int64
36184	urlParams_   gensupport.URLParams
36185	ifNoneMatch_ string
36186	ctx_         context.Context
36187	header_      http.Header
36188}
36189
36190// Get: Gets one order document by ID.
36191func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
36192	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36193	c.profileId = profileId
36194	c.projectId = projectId
36195	c.id = id
36196	return c
36197}
36198
36199// Fields allows partial responses to be retrieved. See
36200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36201// for more information.
36202func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
36203	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36204	return c
36205}
36206
36207// IfNoneMatch sets the optional parameter which makes the operation
36208// fail if the object's ETag matches the given value. This is useful for
36209// getting updates only after the object has changed since the last
36210// request. Use googleapi.IsNotModified to check whether the response
36211// error from Do is the result of In-None-Match.
36212func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
36213	c.ifNoneMatch_ = entityTag
36214	return c
36215}
36216
36217// Context sets the context to be used in this call's Do method. Any
36218// pending HTTP request will be aborted if the provided context is
36219// canceled.
36220func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
36221	c.ctx_ = ctx
36222	return c
36223}
36224
36225// Header returns an http.Header that can be modified by the caller to
36226// add HTTP headers to the request.
36227func (c *OrderDocumentsGetCall) Header() http.Header {
36228	if c.header_ == nil {
36229		c.header_ = make(http.Header)
36230	}
36231	return c.header_
36232}
36233
36234func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
36235	reqHeaders := make(http.Header)
36236	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36237	for k, v := range c.header_ {
36238		reqHeaders[k] = v
36239	}
36240	reqHeaders.Set("User-Agent", c.s.userAgent())
36241	if c.ifNoneMatch_ != "" {
36242		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36243	}
36244	var body io.Reader = nil
36245	c.urlParams_.Set("alt", alt)
36246	c.urlParams_.Set("prettyPrint", "false")
36247	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
36248	urls += "?" + c.urlParams_.Encode()
36249	req, err := http.NewRequest("GET", urls, body)
36250	if err != nil {
36251		return nil, err
36252	}
36253	req.Header = reqHeaders
36254	googleapi.Expand(req.URL, map[string]string{
36255		"profileId": strconv.FormatInt(c.profileId, 10),
36256		"projectId": strconv.FormatInt(c.projectId, 10),
36257		"id":        strconv.FormatInt(c.id, 10),
36258	})
36259	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36260}
36261
36262// Do executes the "dfareporting.orderDocuments.get" call.
36263// Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
36264// status code is an error. Response headers are in either
36265// *OrderDocument.ServerResponse.Header or (if a response was returned
36266// at all) in error.(*googleapi.Error).Header. Use
36267// googleapi.IsNotModified to check whether the returned error was
36268// because http.StatusNotModified was returned.
36269func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
36270	gensupport.SetOptions(c.urlParams_, opts...)
36271	res, err := c.doRequest("json")
36272	if res != nil && res.StatusCode == http.StatusNotModified {
36273		if res.Body != nil {
36274			res.Body.Close()
36275		}
36276		return nil, &googleapi.Error{
36277			Code:   res.StatusCode,
36278			Header: res.Header,
36279		}
36280	}
36281	if err != nil {
36282		return nil, err
36283	}
36284	defer googleapi.CloseBody(res)
36285	if err := googleapi.CheckResponse(res); err != nil {
36286		return nil, err
36287	}
36288	ret := &OrderDocument{
36289		ServerResponse: googleapi.ServerResponse{
36290			Header:         res.Header,
36291			HTTPStatusCode: res.StatusCode,
36292		},
36293	}
36294	target := &ret
36295	if err := gensupport.DecodeResponse(target, res); err != nil {
36296		return nil, err
36297	}
36298	return ret, nil
36299	// {
36300	//   "description": "Gets one order document by ID.",
36301	//   "httpMethod": "GET",
36302	//   "id": "dfareporting.orderDocuments.get",
36303	//   "parameterOrder": [
36304	//     "profileId",
36305	//     "projectId",
36306	//     "id"
36307	//   ],
36308	//   "parameters": {
36309	//     "id": {
36310	//       "description": "Order document ID.",
36311	//       "format": "int64",
36312	//       "location": "path",
36313	//       "required": true,
36314	//       "type": "string"
36315	//     },
36316	//     "profileId": {
36317	//       "description": "User profile ID associated with this request.",
36318	//       "format": "int64",
36319	//       "location": "path",
36320	//       "required": true,
36321	//       "type": "string"
36322	//     },
36323	//     "projectId": {
36324	//       "description": "Project ID for order documents.",
36325	//       "format": "int64",
36326	//       "location": "path",
36327	//       "required": true,
36328	//       "type": "string"
36329	//     }
36330	//   },
36331	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
36332	//   "response": {
36333	//     "$ref": "OrderDocument"
36334	//   },
36335	//   "scopes": [
36336	//     "https://www.googleapis.com/auth/dfatrafficking"
36337	//   ]
36338	// }
36339
36340}
36341
36342// method id "dfareporting.orderDocuments.list":
36343
36344type OrderDocumentsListCall struct {
36345	s            *Service
36346	profileId    int64
36347	projectId    int64
36348	urlParams_   gensupport.URLParams
36349	ifNoneMatch_ string
36350	ctx_         context.Context
36351	header_      http.Header
36352}
36353
36354// List: Retrieves a list of order documents, possibly filtered. This
36355// method supports paging.
36356func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
36357	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36358	c.profileId = profileId
36359	c.projectId = projectId
36360	return c
36361}
36362
36363// Approved sets the optional parameter "approved": Select only order
36364// documents that have been approved by at least one user.
36365func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
36366	c.urlParams_.Set("approved", fmt.Sprint(approved))
36367	return c
36368}
36369
36370// Ids sets the optional parameter "ids": Select only order documents
36371// with these IDs.
36372func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
36373	var ids_ []string
36374	for _, v := range ids {
36375		ids_ = append(ids_, fmt.Sprint(v))
36376	}
36377	c.urlParams_.SetMulti("ids", ids_)
36378	return c
36379}
36380
36381// MaxResults sets the optional parameter "maxResults": Maximum number
36382// of results to return.
36383func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
36384	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
36385	return c
36386}
36387
36388// OrderId sets the optional parameter "orderId": Select only order
36389// documents for specified orders.
36390func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
36391	var orderId_ []string
36392	for _, v := range orderId {
36393		orderId_ = append(orderId_, fmt.Sprint(v))
36394	}
36395	c.urlParams_.SetMulti("orderId", orderId_)
36396	return c
36397}
36398
36399// PageToken sets the optional parameter "pageToken": Value of the
36400// nextPageToken from the previous result page.
36401func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
36402	c.urlParams_.Set("pageToken", pageToken)
36403	return c
36404}
36405
36406// SearchString sets the optional parameter "searchString": Allows
36407// searching for order documents by name or ID. Wildcards (*) are
36408// allowed. For example, "orderdocument*2015" will return order
36409// documents with names like "orderdocument June 2015", "orderdocument
36410// April 2015", or simply "orderdocument 2015". Most of the searches
36411// also add wildcards implicitly at the start and the end of the search
36412// string. For example, a search string of "orderdocument" will match
36413// order documents with name "my orderdocument", "orderdocument 2015",
36414// or simply "orderdocument".
36415func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
36416	c.urlParams_.Set("searchString", searchString)
36417	return c
36418}
36419
36420// SiteId sets the optional parameter "siteId": Select only order
36421// documents that are associated with these sites.
36422func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
36423	var siteId_ []string
36424	for _, v := range siteId {
36425		siteId_ = append(siteId_, fmt.Sprint(v))
36426	}
36427	c.urlParams_.SetMulti("siteId", siteId_)
36428	return c
36429}
36430
36431// SortField sets the optional parameter "sortField": Field by which to
36432// sort the list.
36433//
36434// Possible values:
36435//   "ID" (default)
36436//   "NAME"
36437func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
36438	c.urlParams_.Set("sortField", sortField)
36439	return c
36440}
36441
36442// SortOrder sets the optional parameter "sortOrder": Order of sorted
36443// results.
36444//
36445// Possible values:
36446//   "ASCENDING" (default)
36447//   "DESCENDING"
36448func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
36449	c.urlParams_.Set("sortOrder", sortOrder)
36450	return c
36451}
36452
36453// Fields allows partial responses to be retrieved. See
36454// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36455// for more information.
36456func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
36457	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36458	return c
36459}
36460
36461// IfNoneMatch sets the optional parameter which makes the operation
36462// fail if the object's ETag matches the given value. This is useful for
36463// getting updates only after the object has changed since the last
36464// request. Use googleapi.IsNotModified to check whether the response
36465// error from Do is the result of In-None-Match.
36466func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
36467	c.ifNoneMatch_ = entityTag
36468	return c
36469}
36470
36471// Context sets the context to be used in this call's Do method. Any
36472// pending HTTP request will be aborted if the provided context is
36473// canceled.
36474func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
36475	c.ctx_ = ctx
36476	return c
36477}
36478
36479// Header returns an http.Header that can be modified by the caller to
36480// add HTTP headers to the request.
36481func (c *OrderDocumentsListCall) Header() http.Header {
36482	if c.header_ == nil {
36483		c.header_ = make(http.Header)
36484	}
36485	return c.header_
36486}
36487
36488func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
36489	reqHeaders := make(http.Header)
36490	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36491	for k, v := range c.header_ {
36492		reqHeaders[k] = v
36493	}
36494	reqHeaders.Set("User-Agent", c.s.userAgent())
36495	if c.ifNoneMatch_ != "" {
36496		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36497	}
36498	var body io.Reader = nil
36499	c.urlParams_.Set("alt", alt)
36500	c.urlParams_.Set("prettyPrint", "false")
36501	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
36502	urls += "?" + c.urlParams_.Encode()
36503	req, err := http.NewRequest("GET", urls, body)
36504	if err != nil {
36505		return nil, err
36506	}
36507	req.Header = reqHeaders
36508	googleapi.Expand(req.URL, map[string]string{
36509		"profileId": strconv.FormatInt(c.profileId, 10),
36510		"projectId": strconv.FormatInt(c.projectId, 10),
36511	})
36512	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36513}
36514
36515// Do executes the "dfareporting.orderDocuments.list" call.
36516// Exactly one of *OrderDocumentsListResponse or error will be non-nil.
36517// Any non-2xx status code is an error. Response headers are in either
36518// *OrderDocumentsListResponse.ServerResponse.Header or (if a response
36519// was returned at all) in error.(*googleapi.Error).Header. Use
36520// googleapi.IsNotModified to check whether the returned error was
36521// because http.StatusNotModified was returned.
36522func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
36523	gensupport.SetOptions(c.urlParams_, opts...)
36524	res, err := c.doRequest("json")
36525	if res != nil && res.StatusCode == http.StatusNotModified {
36526		if res.Body != nil {
36527			res.Body.Close()
36528		}
36529		return nil, &googleapi.Error{
36530			Code:   res.StatusCode,
36531			Header: res.Header,
36532		}
36533	}
36534	if err != nil {
36535		return nil, err
36536	}
36537	defer googleapi.CloseBody(res)
36538	if err := googleapi.CheckResponse(res); err != nil {
36539		return nil, err
36540	}
36541	ret := &OrderDocumentsListResponse{
36542		ServerResponse: googleapi.ServerResponse{
36543			Header:         res.Header,
36544			HTTPStatusCode: res.StatusCode,
36545		},
36546	}
36547	target := &ret
36548	if err := gensupport.DecodeResponse(target, res); err != nil {
36549		return nil, err
36550	}
36551	return ret, nil
36552	// {
36553	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
36554	//   "httpMethod": "GET",
36555	//   "id": "dfareporting.orderDocuments.list",
36556	//   "parameterOrder": [
36557	//     "profileId",
36558	//     "projectId"
36559	//   ],
36560	//   "parameters": {
36561	//     "approved": {
36562	//       "description": "Select only order documents that have been approved by at least one user.",
36563	//       "location": "query",
36564	//       "type": "boolean"
36565	//     },
36566	//     "ids": {
36567	//       "description": "Select only order documents with these IDs.",
36568	//       "format": "int64",
36569	//       "location": "query",
36570	//       "repeated": true,
36571	//       "type": "string"
36572	//     },
36573	//     "maxResults": {
36574	//       "default": "1000",
36575	//       "description": "Maximum number of results to return.",
36576	//       "format": "int32",
36577	//       "location": "query",
36578	//       "maximum": "1000",
36579	//       "minimum": "0",
36580	//       "type": "integer"
36581	//     },
36582	//     "orderId": {
36583	//       "description": "Select only order documents for specified orders.",
36584	//       "format": "int64",
36585	//       "location": "query",
36586	//       "repeated": true,
36587	//       "type": "string"
36588	//     },
36589	//     "pageToken": {
36590	//       "description": "Value of the nextPageToken from the previous result page.",
36591	//       "location": "query",
36592	//       "type": "string"
36593	//     },
36594	//     "profileId": {
36595	//       "description": "User profile ID associated with this request.",
36596	//       "format": "int64",
36597	//       "location": "path",
36598	//       "required": true,
36599	//       "type": "string"
36600	//     },
36601	//     "projectId": {
36602	//       "description": "Project ID for order documents.",
36603	//       "format": "int64",
36604	//       "location": "path",
36605	//       "required": true,
36606	//       "type": "string"
36607	//     },
36608	//     "searchString": {
36609	//       "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\".",
36610	//       "location": "query",
36611	//       "type": "string"
36612	//     },
36613	//     "siteId": {
36614	//       "description": "Select only order documents that are associated with these sites.",
36615	//       "format": "int64",
36616	//       "location": "query",
36617	//       "repeated": true,
36618	//       "type": "string"
36619	//     },
36620	//     "sortField": {
36621	//       "default": "ID",
36622	//       "description": "Field by which to sort the list.",
36623	//       "enum": [
36624	//         "ID",
36625	//         "NAME"
36626	//       ],
36627	//       "enumDescriptions": [
36628	//         "",
36629	//         ""
36630	//       ],
36631	//       "location": "query",
36632	//       "type": "string"
36633	//     },
36634	//     "sortOrder": {
36635	//       "default": "ASCENDING",
36636	//       "description": "Order of sorted results.",
36637	//       "enum": [
36638	//         "ASCENDING",
36639	//         "DESCENDING"
36640	//       ],
36641	//       "enumDescriptions": [
36642	//         "",
36643	//         ""
36644	//       ],
36645	//       "location": "query",
36646	//       "type": "string"
36647	//     }
36648	//   },
36649	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
36650	//   "response": {
36651	//     "$ref": "OrderDocumentsListResponse"
36652	//   },
36653	//   "scopes": [
36654	//     "https://www.googleapis.com/auth/dfatrafficking"
36655	//   ]
36656	// }
36657
36658}
36659
36660// Pages invokes f for each page of results.
36661// A non-nil error returned from f will halt the iteration.
36662// The provided context supersedes any context provided to the Context method.
36663func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
36664	c.ctx_ = ctx
36665	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
36666	for {
36667		x, err := c.Do()
36668		if err != nil {
36669			return err
36670		}
36671		if err := f(x); err != nil {
36672			return err
36673		}
36674		if x.NextPageToken == "" {
36675			return nil
36676		}
36677		c.PageToken(x.NextPageToken)
36678	}
36679}
36680
36681// method id "dfareporting.orders.get":
36682
36683type OrdersGetCall struct {
36684	s            *Service
36685	profileId    int64
36686	projectId    int64
36687	id           int64
36688	urlParams_   gensupport.URLParams
36689	ifNoneMatch_ string
36690	ctx_         context.Context
36691	header_      http.Header
36692}
36693
36694// Get: Gets one order by ID.
36695func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
36696	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36697	c.profileId = profileId
36698	c.projectId = projectId
36699	c.id = id
36700	return c
36701}
36702
36703// Fields allows partial responses to be retrieved. See
36704// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36705// for more information.
36706func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
36707	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36708	return c
36709}
36710
36711// IfNoneMatch sets the optional parameter which makes the operation
36712// fail if the object's ETag matches the given value. This is useful for
36713// getting updates only after the object has changed since the last
36714// request. Use googleapi.IsNotModified to check whether the response
36715// error from Do is the result of In-None-Match.
36716func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
36717	c.ifNoneMatch_ = entityTag
36718	return c
36719}
36720
36721// Context sets the context to be used in this call's Do method. Any
36722// pending HTTP request will be aborted if the provided context is
36723// canceled.
36724func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
36725	c.ctx_ = ctx
36726	return c
36727}
36728
36729// Header returns an http.Header that can be modified by the caller to
36730// add HTTP headers to the request.
36731func (c *OrdersGetCall) Header() http.Header {
36732	if c.header_ == nil {
36733		c.header_ = make(http.Header)
36734	}
36735	return c.header_
36736}
36737
36738func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
36739	reqHeaders := make(http.Header)
36740	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36741	for k, v := range c.header_ {
36742		reqHeaders[k] = v
36743	}
36744	reqHeaders.Set("User-Agent", c.s.userAgent())
36745	if c.ifNoneMatch_ != "" {
36746		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36747	}
36748	var body io.Reader = nil
36749	c.urlParams_.Set("alt", alt)
36750	c.urlParams_.Set("prettyPrint", "false")
36751	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
36752	urls += "?" + c.urlParams_.Encode()
36753	req, err := http.NewRequest("GET", urls, body)
36754	if err != nil {
36755		return nil, err
36756	}
36757	req.Header = reqHeaders
36758	googleapi.Expand(req.URL, map[string]string{
36759		"profileId": strconv.FormatInt(c.profileId, 10),
36760		"projectId": strconv.FormatInt(c.projectId, 10),
36761		"id":        strconv.FormatInt(c.id, 10),
36762	})
36763	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36764}
36765
36766// Do executes the "dfareporting.orders.get" call.
36767// Exactly one of *Order or error will be non-nil. Any non-2xx status
36768// code is an error. Response headers are in either
36769// *Order.ServerResponse.Header or (if a response was returned at all)
36770// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
36771// check whether the returned error was because http.StatusNotModified
36772// was returned.
36773func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
36774	gensupport.SetOptions(c.urlParams_, opts...)
36775	res, err := c.doRequest("json")
36776	if res != nil && res.StatusCode == http.StatusNotModified {
36777		if res.Body != nil {
36778			res.Body.Close()
36779		}
36780		return nil, &googleapi.Error{
36781			Code:   res.StatusCode,
36782			Header: res.Header,
36783		}
36784	}
36785	if err != nil {
36786		return nil, err
36787	}
36788	defer googleapi.CloseBody(res)
36789	if err := googleapi.CheckResponse(res); err != nil {
36790		return nil, err
36791	}
36792	ret := &Order{
36793		ServerResponse: googleapi.ServerResponse{
36794			Header:         res.Header,
36795			HTTPStatusCode: res.StatusCode,
36796		},
36797	}
36798	target := &ret
36799	if err := gensupport.DecodeResponse(target, res); err != nil {
36800		return nil, err
36801	}
36802	return ret, nil
36803	// {
36804	//   "description": "Gets one order by ID.",
36805	//   "httpMethod": "GET",
36806	//   "id": "dfareporting.orders.get",
36807	//   "parameterOrder": [
36808	//     "profileId",
36809	//     "projectId",
36810	//     "id"
36811	//   ],
36812	//   "parameters": {
36813	//     "id": {
36814	//       "description": "Order ID.",
36815	//       "format": "int64",
36816	//       "location": "path",
36817	//       "required": true,
36818	//       "type": "string"
36819	//     },
36820	//     "profileId": {
36821	//       "description": "User profile ID associated with this request.",
36822	//       "format": "int64",
36823	//       "location": "path",
36824	//       "required": true,
36825	//       "type": "string"
36826	//     },
36827	//     "projectId": {
36828	//       "description": "Project ID for orders.",
36829	//       "format": "int64",
36830	//       "location": "path",
36831	//       "required": true,
36832	//       "type": "string"
36833	//     }
36834	//   },
36835	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
36836	//   "response": {
36837	//     "$ref": "Order"
36838	//   },
36839	//   "scopes": [
36840	//     "https://www.googleapis.com/auth/dfatrafficking"
36841	//   ]
36842	// }
36843
36844}
36845
36846// method id "dfareporting.orders.list":
36847
36848type OrdersListCall struct {
36849	s            *Service
36850	profileId    int64
36851	projectId    int64
36852	urlParams_   gensupport.URLParams
36853	ifNoneMatch_ string
36854	ctx_         context.Context
36855	header_      http.Header
36856}
36857
36858// List: Retrieves a list of orders, possibly filtered. This method
36859// supports paging.
36860func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
36861	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36862	c.profileId = profileId
36863	c.projectId = projectId
36864	return c
36865}
36866
36867// Ids sets the optional parameter "ids": Select only orders with these
36868// IDs.
36869func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
36870	var ids_ []string
36871	for _, v := range ids {
36872		ids_ = append(ids_, fmt.Sprint(v))
36873	}
36874	c.urlParams_.SetMulti("ids", ids_)
36875	return c
36876}
36877
36878// MaxResults sets the optional parameter "maxResults": Maximum number
36879// of results to return.
36880func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
36881	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
36882	return c
36883}
36884
36885// PageToken sets the optional parameter "pageToken": Value of the
36886// nextPageToken from the previous result page.
36887func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
36888	c.urlParams_.Set("pageToken", pageToken)
36889	return c
36890}
36891
36892// SearchString sets the optional parameter "searchString": Allows
36893// searching for orders by name or ID. Wildcards (*) are allowed. For
36894// example, "order*2015" will return orders with names like "order June
36895// 2015", "order April 2015", or simply "order 2015". Most of the
36896// searches also add wildcards implicitly at the start and the end of
36897// the search string. For example, a search string of "order" will match
36898// orders with name "my order", "order 2015", or simply "order".
36899func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
36900	c.urlParams_.Set("searchString", searchString)
36901	return c
36902}
36903
36904// SiteId sets the optional parameter "siteId": Select only orders that
36905// are associated with these site IDs.
36906func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
36907	var siteId_ []string
36908	for _, v := range siteId {
36909		siteId_ = append(siteId_, fmt.Sprint(v))
36910	}
36911	c.urlParams_.SetMulti("siteId", siteId_)
36912	return c
36913}
36914
36915// SortField sets the optional parameter "sortField": Field by which to
36916// sort the list.
36917//
36918// Possible values:
36919//   "ID" (default)
36920//   "NAME"
36921func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
36922	c.urlParams_.Set("sortField", sortField)
36923	return c
36924}
36925
36926// SortOrder sets the optional parameter "sortOrder": Order of sorted
36927// results.
36928//
36929// Possible values:
36930//   "ASCENDING" (default)
36931//   "DESCENDING"
36932func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
36933	c.urlParams_.Set("sortOrder", sortOrder)
36934	return c
36935}
36936
36937// Fields allows partial responses to be retrieved. See
36938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36939// for more information.
36940func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
36941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36942	return c
36943}
36944
36945// IfNoneMatch sets the optional parameter which makes the operation
36946// fail if the object's ETag matches the given value. This is useful for
36947// getting updates only after the object has changed since the last
36948// request. Use googleapi.IsNotModified to check whether the response
36949// error from Do is the result of In-None-Match.
36950func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
36951	c.ifNoneMatch_ = entityTag
36952	return c
36953}
36954
36955// Context sets the context to be used in this call's Do method. Any
36956// pending HTTP request will be aborted if the provided context is
36957// canceled.
36958func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
36959	c.ctx_ = ctx
36960	return c
36961}
36962
36963// Header returns an http.Header that can be modified by the caller to
36964// add HTTP headers to the request.
36965func (c *OrdersListCall) Header() http.Header {
36966	if c.header_ == nil {
36967		c.header_ = make(http.Header)
36968	}
36969	return c.header_
36970}
36971
36972func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
36973	reqHeaders := make(http.Header)
36974	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36975	for k, v := range c.header_ {
36976		reqHeaders[k] = v
36977	}
36978	reqHeaders.Set("User-Agent", c.s.userAgent())
36979	if c.ifNoneMatch_ != "" {
36980		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36981	}
36982	var body io.Reader = nil
36983	c.urlParams_.Set("alt", alt)
36984	c.urlParams_.Set("prettyPrint", "false")
36985	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
36986	urls += "?" + c.urlParams_.Encode()
36987	req, err := http.NewRequest("GET", urls, body)
36988	if err != nil {
36989		return nil, err
36990	}
36991	req.Header = reqHeaders
36992	googleapi.Expand(req.URL, map[string]string{
36993		"profileId": strconv.FormatInt(c.profileId, 10),
36994		"projectId": strconv.FormatInt(c.projectId, 10),
36995	})
36996	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36997}
36998
36999// Do executes the "dfareporting.orders.list" call.
37000// Exactly one of *OrdersListResponse or error will be non-nil. Any
37001// non-2xx status code is an error. Response headers are in either
37002// *OrdersListResponse.ServerResponse.Header or (if a response was
37003// returned at all) in error.(*googleapi.Error).Header. Use
37004// googleapi.IsNotModified to check whether the returned error was
37005// because http.StatusNotModified was returned.
37006func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
37007	gensupport.SetOptions(c.urlParams_, opts...)
37008	res, err := c.doRequest("json")
37009	if res != nil && res.StatusCode == http.StatusNotModified {
37010		if res.Body != nil {
37011			res.Body.Close()
37012		}
37013		return nil, &googleapi.Error{
37014			Code:   res.StatusCode,
37015			Header: res.Header,
37016		}
37017	}
37018	if err != nil {
37019		return nil, err
37020	}
37021	defer googleapi.CloseBody(res)
37022	if err := googleapi.CheckResponse(res); err != nil {
37023		return nil, err
37024	}
37025	ret := &OrdersListResponse{
37026		ServerResponse: googleapi.ServerResponse{
37027			Header:         res.Header,
37028			HTTPStatusCode: res.StatusCode,
37029		},
37030	}
37031	target := &ret
37032	if err := gensupport.DecodeResponse(target, res); err != nil {
37033		return nil, err
37034	}
37035	return ret, nil
37036	// {
37037	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
37038	//   "httpMethod": "GET",
37039	//   "id": "dfareporting.orders.list",
37040	//   "parameterOrder": [
37041	//     "profileId",
37042	//     "projectId"
37043	//   ],
37044	//   "parameters": {
37045	//     "ids": {
37046	//       "description": "Select only orders with these IDs.",
37047	//       "format": "int64",
37048	//       "location": "query",
37049	//       "repeated": true,
37050	//       "type": "string"
37051	//     },
37052	//     "maxResults": {
37053	//       "default": "1000",
37054	//       "description": "Maximum number of results to return.",
37055	//       "format": "int32",
37056	//       "location": "query",
37057	//       "maximum": "1000",
37058	//       "minimum": "0",
37059	//       "type": "integer"
37060	//     },
37061	//     "pageToken": {
37062	//       "description": "Value of the nextPageToken from the previous result page.",
37063	//       "location": "query",
37064	//       "type": "string"
37065	//     },
37066	//     "profileId": {
37067	//       "description": "User profile ID associated with this request.",
37068	//       "format": "int64",
37069	//       "location": "path",
37070	//       "required": true,
37071	//       "type": "string"
37072	//     },
37073	//     "projectId": {
37074	//       "description": "Project ID for orders.",
37075	//       "format": "int64",
37076	//       "location": "path",
37077	//       "required": true,
37078	//       "type": "string"
37079	//     },
37080	//     "searchString": {
37081	//       "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\".",
37082	//       "location": "query",
37083	//       "type": "string"
37084	//     },
37085	//     "siteId": {
37086	//       "description": "Select only orders that are associated with these site IDs.",
37087	//       "format": "int64",
37088	//       "location": "query",
37089	//       "repeated": true,
37090	//       "type": "string"
37091	//     },
37092	//     "sortField": {
37093	//       "default": "ID",
37094	//       "description": "Field by which to sort the list.",
37095	//       "enum": [
37096	//         "ID",
37097	//         "NAME"
37098	//       ],
37099	//       "enumDescriptions": [
37100	//         "",
37101	//         ""
37102	//       ],
37103	//       "location": "query",
37104	//       "type": "string"
37105	//     },
37106	//     "sortOrder": {
37107	//       "default": "ASCENDING",
37108	//       "description": "Order of sorted results.",
37109	//       "enum": [
37110	//         "ASCENDING",
37111	//         "DESCENDING"
37112	//       ],
37113	//       "enumDescriptions": [
37114	//         "",
37115	//         ""
37116	//       ],
37117	//       "location": "query",
37118	//       "type": "string"
37119	//     }
37120	//   },
37121	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
37122	//   "response": {
37123	//     "$ref": "OrdersListResponse"
37124	//   },
37125	//   "scopes": [
37126	//     "https://www.googleapis.com/auth/dfatrafficking"
37127	//   ]
37128	// }
37129
37130}
37131
37132// Pages invokes f for each page of results.
37133// A non-nil error returned from f will halt the iteration.
37134// The provided context supersedes any context provided to the Context method.
37135func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
37136	c.ctx_ = ctx
37137	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37138	for {
37139		x, err := c.Do()
37140		if err != nil {
37141			return err
37142		}
37143		if err := f(x); err != nil {
37144			return err
37145		}
37146		if x.NextPageToken == "" {
37147			return nil
37148		}
37149		c.PageToken(x.NextPageToken)
37150	}
37151}
37152
37153// method id "dfareporting.placementGroups.get":
37154
37155type PlacementGroupsGetCall struct {
37156	s            *Service
37157	profileId    int64
37158	id           int64
37159	urlParams_   gensupport.URLParams
37160	ifNoneMatch_ string
37161	ctx_         context.Context
37162	header_      http.Header
37163}
37164
37165// Get: Gets one placement group by ID.
37166func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
37167	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37168	c.profileId = profileId
37169	c.id = id
37170	return c
37171}
37172
37173// Fields allows partial responses to be retrieved. See
37174// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37175// for more information.
37176func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
37177	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37178	return c
37179}
37180
37181// IfNoneMatch sets the optional parameter which makes the operation
37182// fail if the object's ETag matches the given value. This is useful for
37183// getting updates only after the object has changed since the last
37184// request. Use googleapi.IsNotModified to check whether the response
37185// error from Do is the result of In-None-Match.
37186func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
37187	c.ifNoneMatch_ = entityTag
37188	return c
37189}
37190
37191// Context sets the context to be used in this call's Do method. Any
37192// pending HTTP request will be aborted if the provided context is
37193// canceled.
37194func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
37195	c.ctx_ = ctx
37196	return c
37197}
37198
37199// Header returns an http.Header that can be modified by the caller to
37200// add HTTP headers to the request.
37201func (c *PlacementGroupsGetCall) Header() http.Header {
37202	if c.header_ == nil {
37203		c.header_ = make(http.Header)
37204	}
37205	return c.header_
37206}
37207
37208func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
37209	reqHeaders := make(http.Header)
37210	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37211	for k, v := range c.header_ {
37212		reqHeaders[k] = v
37213	}
37214	reqHeaders.Set("User-Agent", c.s.userAgent())
37215	if c.ifNoneMatch_ != "" {
37216		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37217	}
37218	var body io.Reader = nil
37219	c.urlParams_.Set("alt", alt)
37220	c.urlParams_.Set("prettyPrint", "false")
37221	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
37222	urls += "?" + c.urlParams_.Encode()
37223	req, err := http.NewRequest("GET", urls, body)
37224	if err != nil {
37225		return nil, err
37226	}
37227	req.Header = reqHeaders
37228	googleapi.Expand(req.URL, map[string]string{
37229		"profileId": strconv.FormatInt(c.profileId, 10),
37230		"id":        strconv.FormatInt(c.id, 10),
37231	})
37232	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37233}
37234
37235// Do executes the "dfareporting.placementGroups.get" call.
37236// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
37237// status code is an error. Response headers are in either
37238// *PlacementGroup.ServerResponse.Header or (if a response was returned
37239// at all) in error.(*googleapi.Error).Header. Use
37240// googleapi.IsNotModified to check whether the returned error was
37241// because http.StatusNotModified was returned.
37242func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
37243	gensupport.SetOptions(c.urlParams_, opts...)
37244	res, err := c.doRequest("json")
37245	if res != nil && res.StatusCode == http.StatusNotModified {
37246		if res.Body != nil {
37247			res.Body.Close()
37248		}
37249		return nil, &googleapi.Error{
37250			Code:   res.StatusCode,
37251			Header: res.Header,
37252		}
37253	}
37254	if err != nil {
37255		return nil, err
37256	}
37257	defer googleapi.CloseBody(res)
37258	if err := googleapi.CheckResponse(res); err != nil {
37259		return nil, err
37260	}
37261	ret := &PlacementGroup{
37262		ServerResponse: googleapi.ServerResponse{
37263			Header:         res.Header,
37264			HTTPStatusCode: res.StatusCode,
37265		},
37266	}
37267	target := &ret
37268	if err := gensupport.DecodeResponse(target, res); err != nil {
37269		return nil, err
37270	}
37271	return ret, nil
37272	// {
37273	//   "description": "Gets one placement group by ID.",
37274	//   "httpMethod": "GET",
37275	//   "id": "dfareporting.placementGroups.get",
37276	//   "parameterOrder": [
37277	//     "profileId",
37278	//     "id"
37279	//   ],
37280	//   "parameters": {
37281	//     "id": {
37282	//       "description": "Placement group ID.",
37283	//       "format": "int64",
37284	//       "location": "path",
37285	//       "required": true,
37286	//       "type": "string"
37287	//     },
37288	//     "profileId": {
37289	//       "description": "User profile ID associated with this request.",
37290	//       "format": "int64",
37291	//       "location": "path",
37292	//       "required": true,
37293	//       "type": "string"
37294	//     }
37295	//   },
37296	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
37297	//   "response": {
37298	//     "$ref": "PlacementGroup"
37299	//   },
37300	//   "scopes": [
37301	//     "https://www.googleapis.com/auth/dfatrafficking"
37302	//   ]
37303	// }
37304
37305}
37306
37307// method id "dfareporting.placementGroups.insert":
37308
37309type PlacementGroupsInsertCall struct {
37310	s              *Service
37311	profileId      int64
37312	placementgroup *PlacementGroup
37313	urlParams_     gensupport.URLParams
37314	ctx_           context.Context
37315	header_        http.Header
37316}
37317
37318// Insert: Inserts a new placement group.
37319func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
37320	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37321	c.profileId = profileId
37322	c.placementgroup = placementgroup
37323	return c
37324}
37325
37326// Fields allows partial responses to be retrieved. See
37327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37328// for more information.
37329func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
37330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37331	return c
37332}
37333
37334// Context sets the context to be used in this call's Do method. Any
37335// pending HTTP request will be aborted if the provided context is
37336// canceled.
37337func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
37338	c.ctx_ = ctx
37339	return c
37340}
37341
37342// Header returns an http.Header that can be modified by the caller to
37343// add HTTP headers to the request.
37344func (c *PlacementGroupsInsertCall) Header() http.Header {
37345	if c.header_ == nil {
37346		c.header_ = make(http.Header)
37347	}
37348	return c.header_
37349}
37350
37351func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
37352	reqHeaders := make(http.Header)
37353	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37354	for k, v := range c.header_ {
37355		reqHeaders[k] = v
37356	}
37357	reqHeaders.Set("User-Agent", c.s.userAgent())
37358	var body io.Reader = nil
37359	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
37360	if err != nil {
37361		return nil, err
37362	}
37363	reqHeaders.Set("Content-Type", "application/json")
37364	c.urlParams_.Set("alt", alt)
37365	c.urlParams_.Set("prettyPrint", "false")
37366	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
37367	urls += "?" + c.urlParams_.Encode()
37368	req, err := http.NewRequest("POST", urls, body)
37369	if err != nil {
37370		return nil, err
37371	}
37372	req.Header = reqHeaders
37373	googleapi.Expand(req.URL, map[string]string{
37374		"profileId": strconv.FormatInt(c.profileId, 10),
37375	})
37376	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37377}
37378
37379// Do executes the "dfareporting.placementGroups.insert" call.
37380// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
37381// status code is an error. Response headers are in either
37382// *PlacementGroup.ServerResponse.Header or (if a response was returned
37383// at all) in error.(*googleapi.Error).Header. Use
37384// googleapi.IsNotModified to check whether the returned error was
37385// because http.StatusNotModified was returned.
37386func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
37387	gensupport.SetOptions(c.urlParams_, opts...)
37388	res, err := c.doRequest("json")
37389	if res != nil && res.StatusCode == http.StatusNotModified {
37390		if res.Body != nil {
37391			res.Body.Close()
37392		}
37393		return nil, &googleapi.Error{
37394			Code:   res.StatusCode,
37395			Header: res.Header,
37396		}
37397	}
37398	if err != nil {
37399		return nil, err
37400	}
37401	defer googleapi.CloseBody(res)
37402	if err := googleapi.CheckResponse(res); err != nil {
37403		return nil, err
37404	}
37405	ret := &PlacementGroup{
37406		ServerResponse: googleapi.ServerResponse{
37407			Header:         res.Header,
37408			HTTPStatusCode: res.StatusCode,
37409		},
37410	}
37411	target := &ret
37412	if err := gensupport.DecodeResponse(target, res); err != nil {
37413		return nil, err
37414	}
37415	return ret, nil
37416	// {
37417	//   "description": "Inserts a new placement group.",
37418	//   "httpMethod": "POST",
37419	//   "id": "dfareporting.placementGroups.insert",
37420	//   "parameterOrder": [
37421	//     "profileId"
37422	//   ],
37423	//   "parameters": {
37424	//     "profileId": {
37425	//       "description": "User profile ID associated with this request.",
37426	//       "format": "int64",
37427	//       "location": "path",
37428	//       "required": true,
37429	//       "type": "string"
37430	//     }
37431	//   },
37432	//   "path": "userprofiles/{profileId}/placementGroups",
37433	//   "request": {
37434	//     "$ref": "PlacementGroup"
37435	//   },
37436	//   "response": {
37437	//     "$ref": "PlacementGroup"
37438	//   },
37439	//   "scopes": [
37440	//     "https://www.googleapis.com/auth/dfatrafficking"
37441	//   ]
37442	// }
37443
37444}
37445
37446// method id "dfareporting.placementGroups.list":
37447
37448type PlacementGroupsListCall struct {
37449	s            *Service
37450	profileId    int64
37451	urlParams_   gensupport.URLParams
37452	ifNoneMatch_ string
37453	ctx_         context.Context
37454	header_      http.Header
37455}
37456
37457// List: Retrieves a list of placement groups, possibly filtered. This
37458// method supports paging.
37459func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
37460	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37461	c.profileId = profileId
37462	return c
37463}
37464
37465// AdvertiserIds sets the optional parameter "advertiserIds": Select
37466// only placement groups that belong to these advertisers.
37467func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
37468	var advertiserIds_ []string
37469	for _, v := range advertiserIds {
37470		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
37471	}
37472	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
37473	return c
37474}
37475
37476// Archived sets the optional parameter "archived": Select only archived
37477// placements. Don't set this field to select both archived and
37478// non-archived placements.
37479func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
37480	c.urlParams_.Set("archived", fmt.Sprint(archived))
37481	return c
37482}
37483
37484// CampaignIds sets the optional parameter "campaignIds": Select only
37485// placement groups that belong to these campaigns.
37486func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
37487	var campaignIds_ []string
37488	for _, v := range campaignIds {
37489		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
37490	}
37491	c.urlParams_.SetMulti("campaignIds", campaignIds_)
37492	return c
37493}
37494
37495// ContentCategoryIds sets the optional parameter "contentCategoryIds":
37496// Select only placement groups that are associated with these content
37497// categories.
37498func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
37499	var contentCategoryIds_ []string
37500	for _, v := range contentCategoryIds {
37501		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
37502	}
37503	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
37504	return c
37505}
37506
37507// DirectorySiteIds sets the optional parameter "directorySiteIds":
37508// Select only placement groups that are associated with these directory
37509// sites.
37510func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
37511	var directorySiteIds_ []string
37512	for _, v := range directorySiteIds {
37513		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
37514	}
37515	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
37516	return c
37517}
37518
37519// Ids sets the optional parameter "ids": Select only placement groups
37520// with these IDs.
37521func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
37522	var ids_ []string
37523	for _, v := range ids {
37524		ids_ = append(ids_, fmt.Sprint(v))
37525	}
37526	c.urlParams_.SetMulti("ids", ids_)
37527	return c
37528}
37529
37530// MaxEndDate sets the optional parameter "maxEndDate": Select only
37531// placements or placement groups whose end date is on or before the
37532// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
37533func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
37534	c.urlParams_.Set("maxEndDate", maxEndDate)
37535	return c
37536}
37537
37538// MaxResults sets the optional parameter "maxResults": Maximum number
37539// of results to return.
37540func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
37541	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37542	return c
37543}
37544
37545// MaxStartDate sets the optional parameter "maxStartDate": Select only
37546// placements or placement groups whose start date is on or before the
37547// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
37548func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
37549	c.urlParams_.Set("maxStartDate", maxStartDate)
37550	return c
37551}
37552
37553// MinEndDate sets the optional parameter "minEndDate": Select only
37554// placements or placement groups whose end date is on or after the
37555// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
37556func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
37557	c.urlParams_.Set("minEndDate", minEndDate)
37558	return c
37559}
37560
37561// MinStartDate sets the optional parameter "minStartDate": Select only
37562// placements or placement groups whose start date is on or after the
37563// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
37564func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
37565	c.urlParams_.Set("minStartDate", minStartDate)
37566	return c
37567}
37568
37569// PageToken sets the optional parameter "pageToken": Value of the
37570// nextPageToken from the previous result page.
37571func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
37572	c.urlParams_.Set("pageToken", pageToken)
37573	return c
37574}
37575
37576// PlacementGroupType sets the optional parameter "placementGroupType":
37577// Select only placement groups belonging with this group type. A
37578// package is a simple group of placements that acts as a single pricing
37579// point for a group of tags. A roadblock is a group of placements that
37580// not only acts as a single pricing point but also assumes that all the
37581// tags in it will be served at the same time. A roadblock requires one
37582// of its assigned placements to be marked as primary for reporting.
37583//
37584// Possible values:
37585//   "PLACEMENT_PACKAGE"
37586//   "PLACEMENT_ROADBLOCK"
37587func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
37588	c.urlParams_.Set("placementGroupType", placementGroupType)
37589	return c
37590}
37591
37592// PlacementStrategyIds sets the optional parameter
37593// "placementStrategyIds": Select only placement groups that are
37594// associated with these placement strategies.
37595func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
37596	var placementStrategyIds_ []string
37597	for _, v := range placementStrategyIds {
37598		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
37599	}
37600	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
37601	return c
37602}
37603
37604// PricingTypes sets the optional parameter "pricingTypes": Select only
37605// placement groups with these pricing types.
37606//
37607// Possible values:
37608//   "PRICING_TYPE_CPA"
37609//   "PRICING_TYPE_CPC"
37610//   "PRICING_TYPE_CPM"
37611//   "PRICING_TYPE_CPM_ACTIVEVIEW"
37612//   "PRICING_TYPE_FLAT_RATE_CLICKS"
37613//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
37614func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
37615	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
37616	return c
37617}
37618
37619// SearchString sets the optional parameter "searchString": Allows
37620// searching for placement groups by name or ID. Wildcards (*) are
37621// allowed. For example, "placement*2015" will return placement groups
37622// with names like "placement group June 2015", "placement group May
37623// 2015", or simply "placements 2015". Most of the searches also add
37624// wildcards implicitly at the start and the end of the search string.
37625// For example, a search string of "placementgroup" will match placement
37626// groups with name "my placementgroup", "placementgroup 2015", or
37627// simply "placementgroup".
37628func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
37629	c.urlParams_.Set("searchString", searchString)
37630	return c
37631}
37632
37633// SiteIds sets the optional parameter "siteIds": Select only placement
37634// groups that are associated with these sites.
37635func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
37636	var siteIds_ []string
37637	for _, v := range siteIds {
37638		siteIds_ = append(siteIds_, fmt.Sprint(v))
37639	}
37640	c.urlParams_.SetMulti("siteIds", siteIds_)
37641	return c
37642}
37643
37644// SortField sets the optional parameter "sortField": Field by which to
37645// sort the list.
37646//
37647// Possible values:
37648//   "ID" (default)
37649//   "NAME"
37650func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
37651	c.urlParams_.Set("sortField", sortField)
37652	return c
37653}
37654
37655// SortOrder sets the optional parameter "sortOrder": Order of sorted
37656// results.
37657//
37658// Possible values:
37659//   "ASCENDING" (default)
37660//   "DESCENDING"
37661func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
37662	c.urlParams_.Set("sortOrder", sortOrder)
37663	return c
37664}
37665
37666// Fields allows partial responses to be retrieved. See
37667// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37668// for more information.
37669func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
37670	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37671	return c
37672}
37673
37674// IfNoneMatch sets the optional parameter which makes the operation
37675// fail if the object's ETag matches the given value. This is useful for
37676// getting updates only after the object has changed since the last
37677// request. Use googleapi.IsNotModified to check whether the response
37678// error from Do is the result of In-None-Match.
37679func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
37680	c.ifNoneMatch_ = entityTag
37681	return c
37682}
37683
37684// Context sets the context to be used in this call's Do method. Any
37685// pending HTTP request will be aborted if the provided context is
37686// canceled.
37687func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
37688	c.ctx_ = ctx
37689	return c
37690}
37691
37692// Header returns an http.Header that can be modified by the caller to
37693// add HTTP headers to the request.
37694func (c *PlacementGroupsListCall) Header() http.Header {
37695	if c.header_ == nil {
37696		c.header_ = make(http.Header)
37697	}
37698	return c.header_
37699}
37700
37701func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
37702	reqHeaders := make(http.Header)
37703	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37704	for k, v := range c.header_ {
37705		reqHeaders[k] = v
37706	}
37707	reqHeaders.Set("User-Agent", c.s.userAgent())
37708	if c.ifNoneMatch_ != "" {
37709		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37710	}
37711	var body io.Reader = nil
37712	c.urlParams_.Set("alt", alt)
37713	c.urlParams_.Set("prettyPrint", "false")
37714	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
37715	urls += "?" + c.urlParams_.Encode()
37716	req, err := http.NewRequest("GET", urls, body)
37717	if err != nil {
37718		return nil, err
37719	}
37720	req.Header = reqHeaders
37721	googleapi.Expand(req.URL, map[string]string{
37722		"profileId": strconv.FormatInt(c.profileId, 10),
37723	})
37724	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37725}
37726
37727// Do executes the "dfareporting.placementGroups.list" call.
37728// Exactly one of *PlacementGroupsListResponse or error will be non-nil.
37729// Any non-2xx status code is an error. Response headers are in either
37730// *PlacementGroupsListResponse.ServerResponse.Header or (if a response
37731// was returned at all) in error.(*googleapi.Error).Header. Use
37732// googleapi.IsNotModified to check whether the returned error was
37733// because http.StatusNotModified was returned.
37734func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
37735	gensupport.SetOptions(c.urlParams_, opts...)
37736	res, err := c.doRequest("json")
37737	if res != nil && res.StatusCode == http.StatusNotModified {
37738		if res.Body != nil {
37739			res.Body.Close()
37740		}
37741		return nil, &googleapi.Error{
37742			Code:   res.StatusCode,
37743			Header: res.Header,
37744		}
37745	}
37746	if err != nil {
37747		return nil, err
37748	}
37749	defer googleapi.CloseBody(res)
37750	if err := googleapi.CheckResponse(res); err != nil {
37751		return nil, err
37752	}
37753	ret := &PlacementGroupsListResponse{
37754		ServerResponse: googleapi.ServerResponse{
37755			Header:         res.Header,
37756			HTTPStatusCode: res.StatusCode,
37757		},
37758	}
37759	target := &ret
37760	if err := gensupport.DecodeResponse(target, res); err != nil {
37761		return nil, err
37762	}
37763	return ret, nil
37764	// {
37765	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
37766	//   "httpMethod": "GET",
37767	//   "id": "dfareporting.placementGroups.list",
37768	//   "parameterOrder": [
37769	//     "profileId"
37770	//   ],
37771	//   "parameters": {
37772	//     "advertiserIds": {
37773	//       "description": "Select only placement groups that belong to these advertisers.",
37774	//       "format": "int64",
37775	//       "location": "query",
37776	//       "repeated": true,
37777	//       "type": "string"
37778	//     },
37779	//     "archived": {
37780	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
37781	//       "location": "query",
37782	//       "type": "boolean"
37783	//     },
37784	//     "campaignIds": {
37785	//       "description": "Select only placement groups that belong to these campaigns.",
37786	//       "format": "int64",
37787	//       "location": "query",
37788	//       "repeated": true,
37789	//       "type": "string"
37790	//     },
37791	//     "contentCategoryIds": {
37792	//       "description": "Select only placement groups that are associated with these content categories.",
37793	//       "format": "int64",
37794	//       "location": "query",
37795	//       "repeated": true,
37796	//       "type": "string"
37797	//     },
37798	//     "directorySiteIds": {
37799	//       "description": "Select only placement groups that are associated with these directory sites.",
37800	//       "format": "int64",
37801	//       "location": "query",
37802	//       "repeated": true,
37803	//       "type": "string"
37804	//     },
37805	//     "ids": {
37806	//       "description": "Select only placement groups with these IDs.",
37807	//       "format": "int64",
37808	//       "location": "query",
37809	//       "repeated": true,
37810	//       "type": "string"
37811	//     },
37812	//     "maxEndDate": {
37813	//       "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\".",
37814	//       "location": "query",
37815	//       "type": "string"
37816	//     },
37817	//     "maxResults": {
37818	//       "default": "800",
37819	//       "description": "Maximum number of results to return.",
37820	//       "format": "int32",
37821	//       "location": "query",
37822	//       "maximum": "800",
37823	//       "minimum": "0",
37824	//       "type": "integer"
37825	//     },
37826	//     "maxStartDate": {
37827	//       "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\".",
37828	//       "location": "query",
37829	//       "type": "string"
37830	//     },
37831	//     "minEndDate": {
37832	//       "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\".",
37833	//       "location": "query",
37834	//       "type": "string"
37835	//     },
37836	//     "minStartDate": {
37837	//       "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\".",
37838	//       "location": "query",
37839	//       "type": "string"
37840	//     },
37841	//     "pageToken": {
37842	//       "description": "Value of the nextPageToken from the previous result page.",
37843	//       "location": "query",
37844	//       "type": "string"
37845	//     },
37846	//     "placementGroupType": {
37847	//       "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.",
37848	//       "enum": [
37849	//         "PLACEMENT_PACKAGE",
37850	//         "PLACEMENT_ROADBLOCK"
37851	//       ],
37852	//       "enumDescriptions": [
37853	//         "",
37854	//         ""
37855	//       ],
37856	//       "location": "query",
37857	//       "type": "string"
37858	//     },
37859	//     "placementStrategyIds": {
37860	//       "description": "Select only placement groups that are associated with these placement strategies.",
37861	//       "format": "int64",
37862	//       "location": "query",
37863	//       "repeated": true,
37864	//       "type": "string"
37865	//     },
37866	//     "pricingTypes": {
37867	//       "description": "Select only placement groups with these pricing types.",
37868	//       "enum": [
37869	//         "PRICING_TYPE_CPA",
37870	//         "PRICING_TYPE_CPC",
37871	//         "PRICING_TYPE_CPM",
37872	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
37873	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
37874	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
37875	//       ],
37876	//       "enumDescriptions": [
37877	//         "",
37878	//         "",
37879	//         "",
37880	//         "",
37881	//         "",
37882	//         ""
37883	//       ],
37884	//       "location": "query",
37885	//       "repeated": true,
37886	//       "type": "string"
37887	//     },
37888	//     "profileId": {
37889	//       "description": "User profile ID associated with this request.",
37890	//       "format": "int64",
37891	//       "location": "path",
37892	//       "required": true,
37893	//       "type": "string"
37894	//     },
37895	//     "searchString": {
37896	//       "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\".",
37897	//       "location": "query",
37898	//       "type": "string"
37899	//     },
37900	//     "siteIds": {
37901	//       "description": "Select only placement groups that are associated with these sites.",
37902	//       "format": "int64",
37903	//       "location": "query",
37904	//       "repeated": true,
37905	//       "type": "string"
37906	//     },
37907	//     "sortField": {
37908	//       "default": "ID",
37909	//       "description": "Field by which to sort the list.",
37910	//       "enum": [
37911	//         "ID",
37912	//         "NAME"
37913	//       ],
37914	//       "enumDescriptions": [
37915	//         "",
37916	//         ""
37917	//       ],
37918	//       "location": "query",
37919	//       "type": "string"
37920	//     },
37921	//     "sortOrder": {
37922	//       "default": "ASCENDING",
37923	//       "description": "Order of sorted results.",
37924	//       "enum": [
37925	//         "ASCENDING",
37926	//         "DESCENDING"
37927	//       ],
37928	//       "enumDescriptions": [
37929	//         "",
37930	//         ""
37931	//       ],
37932	//       "location": "query",
37933	//       "type": "string"
37934	//     }
37935	//   },
37936	//   "path": "userprofiles/{profileId}/placementGroups",
37937	//   "response": {
37938	//     "$ref": "PlacementGroupsListResponse"
37939	//   },
37940	//   "scopes": [
37941	//     "https://www.googleapis.com/auth/dfatrafficking"
37942	//   ]
37943	// }
37944
37945}
37946
37947// Pages invokes f for each page of results.
37948// A non-nil error returned from f will halt the iteration.
37949// The provided context supersedes any context provided to the Context method.
37950func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
37951	c.ctx_ = ctx
37952	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37953	for {
37954		x, err := c.Do()
37955		if err != nil {
37956			return err
37957		}
37958		if err := f(x); err != nil {
37959			return err
37960		}
37961		if x.NextPageToken == "" {
37962			return nil
37963		}
37964		c.PageToken(x.NextPageToken)
37965	}
37966}
37967
37968// method id "dfareporting.placementGroups.patch":
37969
37970type PlacementGroupsPatchCall struct {
37971	s              *Service
37972	profileId      int64
37973	placementgroup *PlacementGroup
37974	urlParams_     gensupport.URLParams
37975	ctx_           context.Context
37976	header_        http.Header
37977}
37978
37979// Patch: Updates an existing placement group. This method supports
37980// patch semantics.
37981func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
37982	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37983	c.profileId = profileId
37984	c.urlParams_.Set("id", fmt.Sprint(id))
37985	c.placementgroup = placementgroup
37986	return c
37987}
37988
37989// Fields allows partial responses to be retrieved. See
37990// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37991// for more information.
37992func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
37993	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37994	return c
37995}
37996
37997// Context sets the context to be used in this call's Do method. Any
37998// pending HTTP request will be aborted if the provided context is
37999// canceled.
38000func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
38001	c.ctx_ = ctx
38002	return c
38003}
38004
38005// Header returns an http.Header that can be modified by the caller to
38006// add HTTP headers to the request.
38007func (c *PlacementGroupsPatchCall) Header() http.Header {
38008	if c.header_ == nil {
38009		c.header_ = make(http.Header)
38010	}
38011	return c.header_
38012}
38013
38014func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
38015	reqHeaders := make(http.Header)
38016	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38017	for k, v := range c.header_ {
38018		reqHeaders[k] = v
38019	}
38020	reqHeaders.Set("User-Agent", c.s.userAgent())
38021	var body io.Reader = nil
38022	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38023	if err != nil {
38024		return nil, err
38025	}
38026	reqHeaders.Set("Content-Type", "application/json")
38027	c.urlParams_.Set("alt", alt)
38028	c.urlParams_.Set("prettyPrint", "false")
38029	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38030	urls += "?" + c.urlParams_.Encode()
38031	req, err := http.NewRequest("PATCH", urls, body)
38032	if err != nil {
38033		return nil, err
38034	}
38035	req.Header = reqHeaders
38036	googleapi.Expand(req.URL, map[string]string{
38037		"profileId": strconv.FormatInt(c.profileId, 10),
38038	})
38039	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38040}
38041
38042// Do executes the "dfareporting.placementGroups.patch" call.
38043// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38044// status code is an error. Response headers are in either
38045// *PlacementGroup.ServerResponse.Header or (if a response was returned
38046// at all) in error.(*googleapi.Error).Header. Use
38047// googleapi.IsNotModified to check whether the returned error was
38048// because http.StatusNotModified was returned.
38049func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38050	gensupport.SetOptions(c.urlParams_, opts...)
38051	res, err := c.doRequest("json")
38052	if res != nil && res.StatusCode == http.StatusNotModified {
38053		if res.Body != nil {
38054			res.Body.Close()
38055		}
38056		return nil, &googleapi.Error{
38057			Code:   res.StatusCode,
38058			Header: res.Header,
38059		}
38060	}
38061	if err != nil {
38062		return nil, err
38063	}
38064	defer googleapi.CloseBody(res)
38065	if err := googleapi.CheckResponse(res); err != nil {
38066		return nil, err
38067	}
38068	ret := &PlacementGroup{
38069		ServerResponse: googleapi.ServerResponse{
38070			Header:         res.Header,
38071			HTTPStatusCode: res.StatusCode,
38072		},
38073	}
38074	target := &ret
38075	if err := gensupport.DecodeResponse(target, res); err != nil {
38076		return nil, err
38077	}
38078	return ret, nil
38079	// {
38080	//   "description": "Updates an existing placement group. This method supports patch semantics.",
38081	//   "httpMethod": "PATCH",
38082	//   "id": "dfareporting.placementGroups.patch",
38083	//   "parameterOrder": [
38084	//     "profileId",
38085	//     "id"
38086	//   ],
38087	//   "parameters": {
38088	//     "id": {
38089	//       "description": "Placement group ID.",
38090	//       "format": "int64",
38091	//       "location": "query",
38092	//       "required": true,
38093	//       "type": "string"
38094	//     },
38095	//     "profileId": {
38096	//       "description": "User profile ID associated with this request.",
38097	//       "format": "int64",
38098	//       "location": "path",
38099	//       "required": true,
38100	//       "type": "string"
38101	//     }
38102	//   },
38103	//   "path": "userprofiles/{profileId}/placementGroups",
38104	//   "request": {
38105	//     "$ref": "PlacementGroup"
38106	//   },
38107	//   "response": {
38108	//     "$ref": "PlacementGroup"
38109	//   },
38110	//   "scopes": [
38111	//     "https://www.googleapis.com/auth/dfatrafficking"
38112	//   ]
38113	// }
38114
38115}
38116
38117// method id "dfareporting.placementGroups.update":
38118
38119type PlacementGroupsUpdateCall struct {
38120	s              *Service
38121	profileId      int64
38122	placementgroup *PlacementGroup
38123	urlParams_     gensupport.URLParams
38124	ctx_           context.Context
38125	header_        http.Header
38126}
38127
38128// Update: Updates an existing placement group.
38129func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
38130	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38131	c.profileId = profileId
38132	c.placementgroup = placementgroup
38133	return c
38134}
38135
38136// Fields allows partial responses to be retrieved. See
38137// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38138// for more information.
38139func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
38140	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38141	return c
38142}
38143
38144// Context sets the context to be used in this call's Do method. Any
38145// pending HTTP request will be aborted if the provided context is
38146// canceled.
38147func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
38148	c.ctx_ = ctx
38149	return c
38150}
38151
38152// Header returns an http.Header that can be modified by the caller to
38153// add HTTP headers to the request.
38154func (c *PlacementGroupsUpdateCall) Header() http.Header {
38155	if c.header_ == nil {
38156		c.header_ = make(http.Header)
38157	}
38158	return c.header_
38159}
38160
38161func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
38162	reqHeaders := make(http.Header)
38163	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38164	for k, v := range c.header_ {
38165		reqHeaders[k] = v
38166	}
38167	reqHeaders.Set("User-Agent", c.s.userAgent())
38168	var body io.Reader = nil
38169	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38170	if err != nil {
38171		return nil, err
38172	}
38173	reqHeaders.Set("Content-Type", "application/json")
38174	c.urlParams_.Set("alt", alt)
38175	c.urlParams_.Set("prettyPrint", "false")
38176	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38177	urls += "?" + c.urlParams_.Encode()
38178	req, err := http.NewRequest("PUT", urls, body)
38179	if err != nil {
38180		return nil, err
38181	}
38182	req.Header = reqHeaders
38183	googleapi.Expand(req.URL, map[string]string{
38184		"profileId": strconv.FormatInt(c.profileId, 10),
38185	})
38186	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38187}
38188
38189// Do executes the "dfareporting.placementGroups.update" call.
38190// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38191// status code is an error. Response headers are in either
38192// *PlacementGroup.ServerResponse.Header or (if a response was returned
38193// at all) in error.(*googleapi.Error).Header. Use
38194// googleapi.IsNotModified to check whether the returned error was
38195// because http.StatusNotModified was returned.
38196func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38197	gensupport.SetOptions(c.urlParams_, opts...)
38198	res, err := c.doRequest("json")
38199	if res != nil && res.StatusCode == http.StatusNotModified {
38200		if res.Body != nil {
38201			res.Body.Close()
38202		}
38203		return nil, &googleapi.Error{
38204			Code:   res.StatusCode,
38205			Header: res.Header,
38206		}
38207	}
38208	if err != nil {
38209		return nil, err
38210	}
38211	defer googleapi.CloseBody(res)
38212	if err := googleapi.CheckResponse(res); err != nil {
38213		return nil, err
38214	}
38215	ret := &PlacementGroup{
38216		ServerResponse: googleapi.ServerResponse{
38217			Header:         res.Header,
38218			HTTPStatusCode: res.StatusCode,
38219		},
38220	}
38221	target := &ret
38222	if err := gensupport.DecodeResponse(target, res); err != nil {
38223		return nil, err
38224	}
38225	return ret, nil
38226	// {
38227	//   "description": "Updates an existing placement group.",
38228	//   "httpMethod": "PUT",
38229	//   "id": "dfareporting.placementGroups.update",
38230	//   "parameterOrder": [
38231	//     "profileId"
38232	//   ],
38233	//   "parameters": {
38234	//     "profileId": {
38235	//       "description": "User profile ID associated with this request.",
38236	//       "format": "int64",
38237	//       "location": "path",
38238	//       "required": true,
38239	//       "type": "string"
38240	//     }
38241	//   },
38242	//   "path": "userprofiles/{profileId}/placementGroups",
38243	//   "request": {
38244	//     "$ref": "PlacementGroup"
38245	//   },
38246	//   "response": {
38247	//     "$ref": "PlacementGroup"
38248	//   },
38249	//   "scopes": [
38250	//     "https://www.googleapis.com/auth/dfatrafficking"
38251	//   ]
38252	// }
38253
38254}
38255
38256// method id "dfareporting.placementStrategies.delete":
38257
38258type PlacementStrategiesDeleteCall struct {
38259	s          *Service
38260	profileId  int64
38261	id         int64
38262	urlParams_ gensupport.URLParams
38263	ctx_       context.Context
38264	header_    http.Header
38265}
38266
38267// Delete: Deletes an existing placement strategy.
38268func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
38269	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38270	c.profileId = profileId
38271	c.id = id
38272	return c
38273}
38274
38275// Fields allows partial responses to be retrieved. See
38276// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38277// for more information.
38278func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
38279	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38280	return c
38281}
38282
38283// Context sets the context to be used in this call's Do method. Any
38284// pending HTTP request will be aborted if the provided context is
38285// canceled.
38286func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
38287	c.ctx_ = ctx
38288	return c
38289}
38290
38291// Header returns an http.Header that can be modified by the caller to
38292// add HTTP headers to the request.
38293func (c *PlacementStrategiesDeleteCall) Header() http.Header {
38294	if c.header_ == nil {
38295		c.header_ = make(http.Header)
38296	}
38297	return c.header_
38298}
38299
38300func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
38301	reqHeaders := make(http.Header)
38302	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38303	for k, v := range c.header_ {
38304		reqHeaders[k] = v
38305	}
38306	reqHeaders.Set("User-Agent", c.s.userAgent())
38307	var body io.Reader = nil
38308	c.urlParams_.Set("alt", alt)
38309	c.urlParams_.Set("prettyPrint", "false")
38310	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
38311	urls += "?" + c.urlParams_.Encode()
38312	req, err := http.NewRequest("DELETE", urls, body)
38313	if err != nil {
38314		return nil, err
38315	}
38316	req.Header = reqHeaders
38317	googleapi.Expand(req.URL, map[string]string{
38318		"profileId": strconv.FormatInt(c.profileId, 10),
38319		"id":        strconv.FormatInt(c.id, 10),
38320	})
38321	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38322}
38323
38324// Do executes the "dfareporting.placementStrategies.delete" call.
38325func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
38326	gensupport.SetOptions(c.urlParams_, opts...)
38327	res, err := c.doRequest("json")
38328	if err != nil {
38329		return err
38330	}
38331	defer googleapi.CloseBody(res)
38332	if err := googleapi.CheckResponse(res); err != nil {
38333		return err
38334	}
38335	return nil
38336	// {
38337	//   "description": "Deletes an existing placement strategy.",
38338	//   "httpMethod": "DELETE",
38339	//   "id": "dfareporting.placementStrategies.delete",
38340	//   "parameterOrder": [
38341	//     "profileId",
38342	//     "id"
38343	//   ],
38344	//   "parameters": {
38345	//     "id": {
38346	//       "description": "Placement strategy ID.",
38347	//       "format": "int64",
38348	//       "location": "path",
38349	//       "required": true,
38350	//       "type": "string"
38351	//     },
38352	//     "profileId": {
38353	//       "description": "User profile ID associated with this request.",
38354	//       "format": "int64",
38355	//       "location": "path",
38356	//       "required": true,
38357	//       "type": "string"
38358	//     }
38359	//   },
38360	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
38361	//   "scopes": [
38362	//     "https://www.googleapis.com/auth/dfatrafficking"
38363	//   ]
38364	// }
38365
38366}
38367
38368// method id "dfareporting.placementStrategies.get":
38369
38370type PlacementStrategiesGetCall struct {
38371	s            *Service
38372	profileId    int64
38373	id           int64
38374	urlParams_   gensupport.URLParams
38375	ifNoneMatch_ string
38376	ctx_         context.Context
38377	header_      http.Header
38378}
38379
38380// Get: Gets one placement strategy by ID.
38381func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
38382	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38383	c.profileId = profileId
38384	c.id = id
38385	return c
38386}
38387
38388// Fields allows partial responses to be retrieved. See
38389// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38390// for more information.
38391func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
38392	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38393	return c
38394}
38395
38396// IfNoneMatch sets the optional parameter which makes the operation
38397// fail if the object's ETag matches the given value. This is useful for
38398// getting updates only after the object has changed since the last
38399// request. Use googleapi.IsNotModified to check whether the response
38400// error from Do is the result of In-None-Match.
38401func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
38402	c.ifNoneMatch_ = entityTag
38403	return c
38404}
38405
38406// Context sets the context to be used in this call's Do method. Any
38407// pending HTTP request will be aborted if the provided context is
38408// canceled.
38409func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
38410	c.ctx_ = ctx
38411	return c
38412}
38413
38414// Header returns an http.Header that can be modified by the caller to
38415// add HTTP headers to the request.
38416func (c *PlacementStrategiesGetCall) Header() http.Header {
38417	if c.header_ == nil {
38418		c.header_ = make(http.Header)
38419	}
38420	return c.header_
38421}
38422
38423func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
38424	reqHeaders := make(http.Header)
38425	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38426	for k, v := range c.header_ {
38427		reqHeaders[k] = v
38428	}
38429	reqHeaders.Set("User-Agent", c.s.userAgent())
38430	if c.ifNoneMatch_ != "" {
38431		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38432	}
38433	var body io.Reader = nil
38434	c.urlParams_.Set("alt", alt)
38435	c.urlParams_.Set("prettyPrint", "false")
38436	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
38437	urls += "?" + c.urlParams_.Encode()
38438	req, err := http.NewRequest("GET", urls, body)
38439	if err != nil {
38440		return nil, err
38441	}
38442	req.Header = reqHeaders
38443	googleapi.Expand(req.URL, map[string]string{
38444		"profileId": strconv.FormatInt(c.profileId, 10),
38445		"id":        strconv.FormatInt(c.id, 10),
38446	})
38447	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38448}
38449
38450// Do executes the "dfareporting.placementStrategies.get" call.
38451// Exactly one of *PlacementStrategy or error will be non-nil. Any
38452// non-2xx status code is an error. Response headers are in either
38453// *PlacementStrategy.ServerResponse.Header or (if a response was
38454// returned at all) in error.(*googleapi.Error).Header. Use
38455// googleapi.IsNotModified to check whether the returned error was
38456// because http.StatusNotModified was returned.
38457func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
38458	gensupport.SetOptions(c.urlParams_, opts...)
38459	res, err := c.doRequest("json")
38460	if res != nil && res.StatusCode == http.StatusNotModified {
38461		if res.Body != nil {
38462			res.Body.Close()
38463		}
38464		return nil, &googleapi.Error{
38465			Code:   res.StatusCode,
38466			Header: res.Header,
38467		}
38468	}
38469	if err != nil {
38470		return nil, err
38471	}
38472	defer googleapi.CloseBody(res)
38473	if err := googleapi.CheckResponse(res); err != nil {
38474		return nil, err
38475	}
38476	ret := &PlacementStrategy{
38477		ServerResponse: googleapi.ServerResponse{
38478			Header:         res.Header,
38479			HTTPStatusCode: res.StatusCode,
38480		},
38481	}
38482	target := &ret
38483	if err := gensupport.DecodeResponse(target, res); err != nil {
38484		return nil, err
38485	}
38486	return ret, nil
38487	// {
38488	//   "description": "Gets one placement strategy by ID.",
38489	//   "httpMethod": "GET",
38490	//   "id": "dfareporting.placementStrategies.get",
38491	//   "parameterOrder": [
38492	//     "profileId",
38493	//     "id"
38494	//   ],
38495	//   "parameters": {
38496	//     "id": {
38497	//       "description": "Placement strategy ID.",
38498	//       "format": "int64",
38499	//       "location": "path",
38500	//       "required": true,
38501	//       "type": "string"
38502	//     },
38503	//     "profileId": {
38504	//       "description": "User profile ID associated with this request.",
38505	//       "format": "int64",
38506	//       "location": "path",
38507	//       "required": true,
38508	//       "type": "string"
38509	//     }
38510	//   },
38511	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
38512	//   "response": {
38513	//     "$ref": "PlacementStrategy"
38514	//   },
38515	//   "scopes": [
38516	//     "https://www.googleapis.com/auth/dfatrafficking"
38517	//   ]
38518	// }
38519
38520}
38521
38522// method id "dfareporting.placementStrategies.insert":
38523
38524type PlacementStrategiesInsertCall struct {
38525	s                 *Service
38526	profileId         int64
38527	placementstrategy *PlacementStrategy
38528	urlParams_        gensupport.URLParams
38529	ctx_              context.Context
38530	header_           http.Header
38531}
38532
38533// Insert: Inserts a new placement strategy.
38534func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
38535	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38536	c.profileId = profileId
38537	c.placementstrategy = placementstrategy
38538	return c
38539}
38540
38541// Fields allows partial responses to be retrieved. See
38542// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38543// for more information.
38544func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
38545	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38546	return c
38547}
38548
38549// Context sets the context to be used in this call's Do method. Any
38550// pending HTTP request will be aborted if the provided context is
38551// canceled.
38552func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
38553	c.ctx_ = ctx
38554	return c
38555}
38556
38557// Header returns an http.Header that can be modified by the caller to
38558// add HTTP headers to the request.
38559func (c *PlacementStrategiesInsertCall) Header() http.Header {
38560	if c.header_ == nil {
38561		c.header_ = make(http.Header)
38562	}
38563	return c.header_
38564}
38565
38566func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
38567	reqHeaders := make(http.Header)
38568	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38569	for k, v := range c.header_ {
38570		reqHeaders[k] = v
38571	}
38572	reqHeaders.Set("User-Agent", c.s.userAgent())
38573	var body io.Reader = nil
38574	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
38575	if err != nil {
38576		return nil, err
38577	}
38578	reqHeaders.Set("Content-Type", "application/json")
38579	c.urlParams_.Set("alt", alt)
38580	c.urlParams_.Set("prettyPrint", "false")
38581	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
38582	urls += "?" + c.urlParams_.Encode()
38583	req, err := http.NewRequest("POST", urls, body)
38584	if err != nil {
38585		return nil, err
38586	}
38587	req.Header = reqHeaders
38588	googleapi.Expand(req.URL, map[string]string{
38589		"profileId": strconv.FormatInt(c.profileId, 10),
38590	})
38591	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38592}
38593
38594// Do executes the "dfareporting.placementStrategies.insert" call.
38595// Exactly one of *PlacementStrategy or error will be non-nil. Any
38596// non-2xx status code is an error. Response headers are in either
38597// *PlacementStrategy.ServerResponse.Header or (if a response was
38598// returned at all) in error.(*googleapi.Error).Header. Use
38599// googleapi.IsNotModified to check whether the returned error was
38600// because http.StatusNotModified was returned.
38601func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
38602	gensupport.SetOptions(c.urlParams_, opts...)
38603	res, err := c.doRequest("json")
38604	if res != nil && res.StatusCode == http.StatusNotModified {
38605		if res.Body != nil {
38606			res.Body.Close()
38607		}
38608		return nil, &googleapi.Error{
38609			Code:   res.StatusCode,
38610			Header: res.Header,
38611		}
38612	}
38613	if err != nil {
38614		return nil, err
38615	}
38616	defer googleapi.CloseBody(res)
38617	if err := googleapi.CheckResponse(res); err != nil {
38618		return nil, err
38619	}
38620	ret := &PlacementStrategy{
38621		ServerResponse: googleapi.ServerResponse{
38622			Header:         res.Header,
38623			HTTPStatusCode: res.StatusCode,
38624		},
38625	}
38626	target := &ret
38627	if err := gensupport.DecodeResponse(target, res); err != nil {
38628		return nil, err
38629	}
38630	return ret, nil
38631	// {
38632	//   "description": "Inserts a new placement strategy.",
38633	//   "httpMethod": "POST",
38634	//   "id": "dfareporting.placementStrategies.insert",
38635	//   "parameterOrder": [
38636	//     "profileId"
38637	//   ],
38638	//   "parameters": {
38639	//     "profileId": {
38640	//       "description": "User profile ID associated with this request.",
38641	//       "format": "int64",
38642	//       "location": "path",
38643	//       "required": true,
38644	//       "type": "string"
38645	//     }
38646	//   },
38647	//   "path": "userprofiles/{profileId}/placementStrategies",
38648	//   "request": {
38649	//     "$ref": "PlacementStrategy"
38650	//   },
38651	//   "response": {
38652	//     "$ref": "PlacementStrategy"
38653	//   },
38654	//   "scopes": [
38655	//     "https://www.googleapis.com/auth/dfatrafficking"
38656	//   ]
38657	// }
38658
38659}
38660
38661// method id "dfareporting.placementStrategies.list":
38662
38663type PlacementStrategiesListCall struct {
38664	s            *Service
38665	profileId    int64
38666	urlParams_   gensupport.URLParams
38667	ifNoneMatch_ string
38668	ctx_         context.Context
38669	header_      http.Header
38670}
38671
38672// List: Retrieves a list of placement strategies, possibly filtered.
38673// This method supports paging.
38674func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
38675	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38676	c.profileId = profileId
38677	return c
38678}
38679
38680// Ids sets the optional parameter "ids": Select only placement
38681// strategies with these IDs.
38682func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
38683	var ids_ []string
38684	for _, v := range ids {
38685		ids_ = append(ids_, fmt.Sprint(v))
38686	}
38687	c.urlParams_.SetMulti("ids", ids_)
38688	return c
38689}
38690
38691// MaxResults sets the optional parameter "maxResults": Maximum number
38692// of results to return.
38693func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
38694	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38695	return c
38696}
38697
38698// PageToken sets the optional parameter "pageToken": Value of the
38699// nextPageToken from the previous result page.
38700func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
38701	c.urlParams_.Set("pageToken", pageToken)
38702	return c
38703}
38704
38705// SearchString sets the optional parameter "searchString": Allows
38706// searching for objects by name or ID. Wildcards (*) are allowed. For
38707// example, "placementstrategy*2015" will return objects with names like
38708// "placementstrategy June 2015", "placementstrategy April 2015", or
38709// simply "placementstrategy 2015". Most of the searches also add
38710// wildcards implicitly at the start and the end of the search string.
38711// For example, a search string of "placementstrategy" will match
38712// objects with name "my placementstrategy", "placementstrategy 2015",
38713// or simply "placementstrategy".
38714func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
38715	c.urlParams_.Set("searchString", searchString)
38716	return c
38717}
38718
38719// SortField sets the optional parameter "sortField": Field by which to
38720// sort the list.
38721//
38722// Possible values:
38723//   "ID" (default)
38724//   "NAME"
38725func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
38726	c.urlParams_.Set("sortField", sortField)
38727	return c
38728}
38729
38730// SortOrder sets the optional parameter "sortOrder": Order of sorted
38731// results.
38732//
38733// Possible values:
38734//   "ASCENDING" (default)
38735//   "DESCENDING"
38736func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
38737	c.urlParams_.Set("sortOrder", sortOrder)
38738	return c
38739}
38740
38741// Fields allows partial responses to be retrieved. See
38742// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38743// for more information.
38744func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
38745	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38746	return c
38747}
38748
38749// IfNoneMatch sets the optional parameter which makes the operation
38750// fail if the object's ETag matches the given value. This is useful for
38751// getting updates only after the object has changed since the last
38752// request. Use googleapi.IsNotModified to check whether the response
38753// error from Do is the result of In-None-Match.
38754func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
38755	c.ifNoneMatch_ = entityTag
38756	return c
38757}
38758
38759// Context sets the context to be used in this call's Do method. Any
38760// pending HTTP request will be aborted if the provided context is
38761// canceled.
38762func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
38763	c.ctx_ = ctx
38764	return c
38765}
38766
38767// Header returns an http.Header that can be modified by the caller to
38768// add HTTP headers to the request.
38769func (c *PlacementStrategiesListCall) Header() http.Header {
38770	if c.header_ == nil {
38771		c.header_ = make(http.Header)
38772	}
38773	return c.header_
38774}
38775
38776func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
38777	reqHeaders := make(http.Header)
38778	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38779	for k, v := range c.header_ {
38780		reqHeaders[k] = v
38781	}
38782	reqHeaders.Set("User-Agent", c.s.userAgent())
38783	if c.ifNoneMatch_ != "" {
38784		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38785	}
38786	var body io.Reader = nil
38787	c.urlParams_.Set("alt", alt)
38788	c.urlParams_.Set("prettyPrint", "false")
38789	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
38790	urls += "?" + c.urlParams_.Encode()
38791	req, err := http.NewRequest("GET", urls, body)
38792	if err != nil {
38793		return nil, err
38794	}
38795	req.Header = reqHeaders
38796	googleapi.Expand(req.URL, map[string]string{
38797		"profileId": strconv.FormatInt(c.profileId, 10),
38798	})
38799	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38800}
38801
38802// Do executes the "dfareporting.placementStrategies.list" call.
38803// Exactly one of *PlacementStrategiesListResponse or error will be
38804// non-nil. Any non-2xx status code is an error. Response headers are in
38805// either *PlacementStrategiesListResponse.ServerResponse.Header or (if
38806// a response was returned at all) in error.(*googleapi.Error).Header.
38807// Use googleapi.IsNotModified to check whether the returned error was
38808// because http.StatusNotModified was returned.
38809func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
38810	gensupport.SetOptions(c.urlParams_, opts...)
38811	res, err := c.doRequest("json")
38812	if res != nil && res.StatusCode == http.StatusNotModified {
38813		if res.Body != nil {
38814			res.Body.Close()
38815		}
38816		return nil, &googleapi.Error{
38817			Code:   res.StatusCode,
38818			Header: res.Header,
38819		}
38820	}
38821	if err != nil {
38822		return nil, err
38823	}
38824	defer googleapi.CloseBody(res)
38825	if err := googleapi.CheckResponse(res); err != nil {
38826		return nil, err
38827	}
38828	ret := &PlacementStrategiesListResponse{
38829		ServerResponse: googleapi.ServerResponse{
38830			Header:         res.Header,
38831			HTTPStatusCode: res.StatusCode,
38832		},
38833	}
38834	target := &ret
38835	if err := gensupport.DecodeResponse(target, res); err != nil {
38836		return nil, err
38837	}
38838	return ret, nil
38839	// {
38840	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
38841	//   "httpMethod": "GET",
38842	//   "id": "dfareporting.placementStrategies.list",
38843	//   "parameterOrder": [
38844	//     "profileId"
38845	//   ],
38846	//   "parameters": {
38847	//     "ids": {
38848	//       "description": "Select only placement strategies with these IDs.",
38849	//       "format": "int64",
38850	//       "location": "query",
38851	//       "repeated": true,
38852	//       "type": "string"
38853	//     },
38854	//     "maxResults": {
38855	//       "default": "1000",
38856	//       "description": "Maximum number of results to return.",
38857	//       "format": "int32",
38858	//       "location": "query",
38859	//       "maximum": "1000",
38860	//       "minimum": "0",
38861	//       "type": "integer"
38862	//     },
38863	//     "pageToken": {
38864	//       "description": "Value of the nextPageToken from the previous result page.",
38865	//       "location": "query",
38866	//       "type": "string"
38867	//     },
38868	//     "profileId": {
38869	//       "description": "User profile ID associated with this request.",
38870	//       "format": "int64",
38871	//       "location": "path",
38872	//       "required": true,
38873	//       "type": "string"
38874	//     },
38875	//     "searchString": {
38876	//       "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\".",
38877	//       "location": "query",
38878	//       "type": "string"
38879	//     },
38880	//     "sortField": {
38881	//       "default": "ID",
38882	//       "description": "Field by which to sort the list.",
38883	//       "enum": [
38884	//         "ID",
38885	//         "NAME"
38886	//       ],
38887	//       "enumDescriptions": [
38888	//         "",
38889	//         ""
38890	//       ],
38891	//       "location": "query",
38892	//       "type": "string"
38893	//     },
38894	//     "sortOrder": {
38895	//       "default": "ASCENDING",
38896	//       "description": "Order of sorted results.",
38897	//       "enum": [
38898	//         "ASCENDING",
38899	//         "DESCENDING"
38900	//       ],
38901	//       "enumDescriptions": [
38902	//         "",
38903	//         ""
38904	//       ],
38905	//       "location": "query",
38906	//       "type": "string"
38907	//     }
38908	//   },
38909	//   "path": "userprofiles/{profileId}/placementStrategies",
38910	//   "response": {
38911	//     "$ref": "PlacementStrategiesListResponse"
38912	//   },
38913	//   "scopes": [
38914	//     "https://www.googleapis.com/auth/dfatrafficking"
38915	//   ]
38916	// }
38917
38918}
38919
38920// Pages invokes f for each page of results.
38921// A non-nil error returned from f will halt the iteration.
38922// The provided context supersedes any context provided to the Context method.
38923func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
38924	c.ctx_ = ctx
38925	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38926	for {
38927		x, err := c.Do()
38928		if err != nil {
38929			return err
38930		}
38931		if err := f(x); err != nil {
38932			return err
38933		}
38934		if x.NextPageToken == "" {
38935			return nil
38936		}
38937		c.PageToken(x.NextPageToken)
38938	}
38939}
38940
38941// method id "dfareporting.placementStrategies.patch":
38942
38943type PlacementStrategiesPatchCall struct {
38944	s                 *Service
38945	profileId         int64
38946	placementstrategy *PlacementStrategy
38947	urlParams_        gensupport.URLParams
38948	ctx_              context.Context
38949	header_           http.Header
38950}
38951
38952// Patch: Updates an existing placement strategy. This method supports
38953// patch semantics.
38954func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
38955	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38956	c.profileId = profileId
38957	c.urlParams_.Set("id", fmt.Sprint(id))
38958	c.placementstrategy = placementstrategy
38959	return c
38960}
38961
38962// Fields allows partial responses to be retrieved. See
38963// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38964// for more information.
38965func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
38966	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38967	return c
38968}
38969
38970// Context sets the context to be used in this call's Do method. Any
38971// pending HTTP request will be aborted if the provided context is
38972// canceled.
38973func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
38974	c.ctx_ = ctx
38975	return c
38976}
38977
38978// Header returns an http.Header that can be modified by the caller to
38979// add HTTP headers to the request.
38980func (c *PlacementStrategiesPatchCall) Header() http.Header {
38981	if c.header_ == nil {
38982		c.header_ = make(http.Header)
38983	}
38984	return c.header_
38985}
38986
38987func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
38988	reqHeaders := make(http.Header)
38989	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38990	for k, v := range c.header_ {
38991		reqHeaders[k] = v
38992	}
38993	reqHeaders.Set("User-Agent", c.s.userAgent())
38994	var body io.Reader = nil
38995	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
38996	if err != nil {
38997		return nil, err
38998	}
38999	reqHeaders.Set("Content-Type", "application/json")
39000	c.urlParams_.Set("alt", alt)
39001	c.urlParams_.Set("prettyPrint", "false")
39002	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39003	urls += "?" + c.urlParams_.Encode()
39004	req, err := http.NewRequest("PATCH", urls, body)
39005	if err != nil {
39006		return nil, err
39007	}
39008	req.Header = reqHeaders
39009	googleapi.Expand(req.URL, map[string]string{
39010		"profileId": strconv.FormatInt(c.profileId, 10),
39011	})
39012	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39013}
39014
39015// Do executes the "dfareporting.placementStrategies.patch" call.
39016// Exactly one of *PlacementStrategy or error will be non-nil. Any
39017// non-2xx status code is an error. Response headers are in either
39018// *PlacementStrategy.ServerResponse.Header or (if a response was
39019// returned at all) in error.(*googleapi.Error).Header. Use
39020// googleapi.IsNotModified to check whether the returned error was
39021// because http.StatusNotModified was returned.
39022func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39023	gensupport.SetOptions(c.urlParams_, opts...)
39024	res, err := c.doRequest("json")
39025	if res != nil && res.StatusCode == http.StatusNotModified {
39026		if res.Body != nil {
39027			res.Body.Close()
39028		}
39029		return nil, &googleapi.Error{
39030			Code:   res.StatusCode,
39031			Header: res.Header,
39032		}
39033	}
39034	if err != nil {
39035		return nil, err
39036	}
39037	defer googleapi.CloseBody(res)
39038	if err := googleapi.CheckResponse(res); err != nil {
39039		return nil, err
39040	}
39041	ret := &PlacementStrategy{
39042		ServerResponse: googleapi.ServerResponse{
39043			Header:         res.Header,
39044			HTTPStatusCode: res.StatusCode,
39045		},
39046	}
39047	target := &ret
39048	if err := gensupport.DecodeResponse(target, res); err != nil {
39049		return nil, err
39050	}
39051	return ret, nil
39052	// {
39053	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
39054	//   "httpMethod": "PATCH",
39055	//   "id": "dfareporting.placementStrategies.patch",
39056	//   "parameterOrder": [
39057	//     "profileId",
39058	//     "id"
39059	//   ],
39060	//   "parameters": {
39061	//     "id": {
39062	//       "description": "Placement strategy ID.",
39063	//       "format": "int64",
39064	//       "location": "query",
39065	//       "required": true,
39066	//       "type": "string"
39067	//     },
39068	//     "profileId": {
39069	//       "description": "User profile ID associated with this request.",
39070	//       "format": "int64",
39071	//       "location": "path",
39072	//       "required": true,
39073	//       "type": "string"
39074	//     }
39075	//   },
39076	//   "path": "userprofiles/{profileId}/placementStrategies",
39077	//   "request": {
39078	//     "$ref": "PlacementStrategy"
39079	//   },
39080	//   "response": {
39081	//     "$ref": "PlacementStrategy"
39082	//   },
39083	//   "scopes": [
39084	//     "https://www.googleapis.com/auth/dfatrafficking"
39085	//   ]
39086	// }
39087
39088}
39089
39090// method id "dfareporting.placementStrategies.update":
39091
39092type PlacementStrategiesUpdateCall struct {
39093	s                 *Service
39094	profileId         int64
39095	placementstrategy *PlacementStrategy
39096	urlParams_        gensupport.URLParams
39097	ctx_              context.Context
39098	header_           http.Header
39099}
39100
39101// Update: Updates an existing placement strategy.
39102func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
39103	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39104	c.profileId = profileId
39105	c.placementstrategy = placementstrategy
39106	return c
39107}
39108
39109// Fields allows partial responses to be retrieved. See
39110// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39111// for more information.
39112func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
39113	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39114	return c
39115}
39116
39117// Context sets the context to be used in this call's Do method. Any
39118// pending HTTP request will be aborted if the provided context is
39119// canceled.
39120func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
39121	c.ctx_ = ctx
39122	return c
39123}
39124
39125// Header returns an http.Header that can be modified by the caller to
39126// add HTTP headers to the request.
39127func (c *PlacementStrategiesUpdateCall) Header() http.Header {
39128	if c.header_ == nil {
39129		c.header_ = make(http.Header)
39130	}
39131	return c.header_
39132}
39133
39134func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
39135	reqHeaders := make(http.Header)
39136	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39137	for k, v := range c.header_ {
39138		reqHeaders[k] = v
39139	}
39140	reqHeaders.Set("User-Agent", c.s.userAgent())
39141	var body io.Reader = nil
39142	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39143	if err != nil {
39144		return nil, err
39145	}
39146	reqHeaders.Set("Content-Type", "application/json")
39147	c.urlParams_.Set("alt", alt)
39148	c.urlParams_.Set("prettyPrint", "false")
39149	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39150	urls += "?" + c.urlParams_.Encode()
39151	req, err := http.NewRequest("PUT", urls, body)
39152	if err != nil {
39153		return nil, err
39154	}
39155	req.Header = reqHeaders
39156	googleapi.Expand(req.URL, map[string]string{
39157		"profileId": strconv.FormatInt(c.profileId, 10),
39158	})
39159	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39160}
39161
39162// Do executes the "dfareporting.placementStrategies.update" call.
39163// Exactly one of *PlacementStrategy or error will be non-nil. Any
39164// non-2xx status code is an error. Response headers are in either
39165// *PlacementStrategy.ServerResponse.Header or (if a response was
39166// returned at all) in error.(*googleapi.Error).Header. Use
39167// googleapi.IsNotModified to check whether the returned error was
39168// because http.StatusNotModified was returned.
39169func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39170	gensupport.SetOptions(c.urlParams_, opts...)
39171	res, err := c.doRequest("json")
39172	if res != nil && res.StatusCode == http.StatusNotModified {
39173		if res.Body != nil {
39174			res.Body.Close()
39175		}
39176		return nil, &googleapi.Error{
39177			Code:   res.StatusCode,
39178			Header: res.Header,
39179		}
39180	}
39181	if err != nil {
39182		return nil, err
39183	}
39184	defer googleapi.CloseBody(res)
39185	if err := googleapi.CheckResponse(res); err != nil {
39186		return nil, err
39187	}
39188	ret := &PlacementStrategy{
39189		ServerResponse: googleapi.ServerResponse{
39190			Header:         res.Header,
39191			HTTPStatusCode: res.StatusCode,
39192		},
39193	}
39194	target := &ret
39195	if err := gensupport.DecodeResponse(target, res); err != nil {
39196		return nil, err
39197	}
39198	return ret, nil
39199	// {
39200	//   "description": "Updates an existing placement strategy.",
39201	//   "httpMethod": "PUT",
39202	//   "id": "dfareporting.placementStrategies.update",
39203	//   "parameterOrder": [
39204	//     "profileId"
39205	//   ],
39206	//   "parameters": {
39207	//     "profileId": {
39208	//       "description": "User profile ID associated with this request.",
39209	//       "format": "int64",
39210	//       "location": "path",
39211	//       "required": true,
39212	//       "type": "string"
39213	//     }
39214	//   },
39215	//   "path": "userprofiles/{profileId}/placementStrategies",
39216	//   "request": {
39217	//     "$ref": "PlacementStrategy"
39218	//   },
39219	//   "response": {
39220	//     "$ref": "PlacementStrategy"
39221	//   },
39222	//   "scopes": [
39223	//     "https://www.googleapis.com/auth/dfatrafficking"
39224	//   ]
39225	// }
39226
39227}
39228
39229// method id "dfareporting.placements.generatetags":
39230
39231type PlacementsGeneratetagsCall struct {
39232	s          *Service
39233	profileId  int64
39234	urlParams_ gensupport.URLParams
39235	ctx_       context.Context
39236	header_    http.Header
39237}
39238
39239// Generatetags: Generates tags for a placement.
39240func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
39241	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39242	c.profileId = profileId
39243	return c
39244}
39245
39246// CampaignId sets the optional parameter "campaignId": Generate
39247// placements belonging to this campaign. This is a required field.
39248func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
39249	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
39250	return c
39251}
39252
39253// PlacementIds sets the optional parameter "placementIds": Generate
39254// tags for these placements.
39255func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
39256	var placementIds_ []string
39257	for _, v := range placementIds {
39258		placementIds_ = append(placementIds_, fmt.Sprint(v))
39259	}
39260	c.urlParams_.SetMulti("placementIds", placementIds_)
39261	return c
39262}
39263
39264// TagFormats sets the optional parameter "tagFormats": Tag formats to
39265// generate for these placements.
39266//
39267// Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
39268// placements.
39269//
39270// Possible values:
39271//   "PLACEMENT_TAG_CLICK_COMMANDS"
39272//   "PLACEMENT_TAG_IFRAME_ILAYER"
39273//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
39274//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
39275//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
39276//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
39277//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
39278//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
39279//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
39280//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
39281//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
39282//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
39283//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
39284//   "PLACEMENT_TAG_JAVASCRIPT"
39285//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
39286//   "PLACEMENT_TAG_STANDARD"
39287//   "PLACEMENT_TAG_TRACKING"
39288//   "PLACEMENT_TAG_TRACKING_IFRAME"
39289//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
39290func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
39291	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
39292	return c
39293}
39294
39295// Fields allows partial responses to be retrieved. See
39296// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39297// for more information.
39298func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
39299	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39300	return c
39301}
39302
39303// Context sets the context to be used in this call's Do method. Any
39304// pending HTTP request will be aborted if the provided context is
39305// canceled.
39306func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
39307	c.ctx_ = ctx
39308	return c
39309}
39310
39311// Header returns an http.Header that can be modified by the caller to
39312// add HTTP headers to the request.
39313func (c *PlacementsGeneratetagsCall) Header() http.Header {
39314	if c.header_ == nil {
39315		c.header_ = make(http.Header)
39316	}
39317	return c.header_
39318}
39319
39320func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
39321	reqHeaders := make(http.Header)
39322	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39323	for k, v := range c.header_ {
39324		reqHeaders[k] = v
39325	}
39326	reqHeaders.Set("User-Agent", c.s.userAgent())
39327	var body io.Reader = nil
39328	c.urlParams_.Set("alt", alt)
39329	c.urlParams_.Set("prettyPrint", "false")
39330	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
39331	urls += "?" + c.urlParams_.Encode()
39332	req, err := http.NewRequest("POST", urls, body)
39333	if err != nil {
39334		return nil, err
39335	}
39336	req.Header = reqHeaders
39337	googleapi.Expand(req.URL, map[string]string{
39338		"profileId": strconv.FormatInt(c.profileId, 10),
39339	})
39340	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39341}
39342
39343// Do executes the "dfareporting.placements.generatetags" call.
39344// Exactly one of *PlacementsGenerateTagsResponse or error will be
39345// non-nil. Any non-2xx status code is an error. Response headers are in
39346// either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
39347// response was returned at all) in error.(*googleapi.Error).Header. Use
39348// googleapi.IsNotModified to check whether the returned error was
39349// because http.StatusNotModified was returned.
39350func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
39351	gensupport.SetOptions(c.urlParams_, opts...)
39352	res, err := c.doRequest("json")
39353	if res != nil && res.StatusCode == http.StatusNotModified {
39354		if res.Body != nil {
39355			res.Body.Close()
39356		}
39357		return nil, &googleapi.Error{
39358			Code:   res.StatusCode,
39359			Header: res.Header,
39360		}
39361	}
39362	if err != nil {
39363		return nil, err
39364	}
39365	defer googleapi.CloseBody(res)
39366	if err := googleapi.CheckResponse(res); err != nil {
39367		return nil, err
39368	}
39369	ret := &PlacementsGenerateTagsResponse{
39370		ServerResponse: googleapi.ServerResponse{
39371			Header:         res.Header,
39372			HTTPStatusCode: res.StatusCode,
39373		},
39374	}
39375	target := &ret
39376	if err := gensupport.DecodeResponse(target, res); err != nil {
39377		return nil, err
39378	}
39379	return ret, nil
39380	// {
39381	//   "description": "Generates tags for a placement.",
39382	//   "httpMethod": "POST",
39383	//   "id": "dfareporting.placements.generatetags",
39384	//   "parameterOrder": [
39385	//     "profileId"
39386	//   ],
39387	//   "parameters": {
39388	//     "campaignId": {
39389	//       "description": "Generate placements belonging to this campaign. This is a required field.",
39390	//       "format": "int64",
39391	//       "location": "query",
39392	//       "type": "string"
39393	//     },
39394	//     "placementIds": {
39395	//       "description": "Generate tags for these placements.",
39396	//       "format": "int64",
39397	//       "location": "query",
39398	//       "repeated": true,
39399	//       "type": "string"
39400	//     },
39401	//     "profileId": {
39402	//       "description": "User profile ID associated with this request.",
39403	//       "format": "int64",
39404	//       "location": "path",
39405	//       "required": true,
39406	//       "type": "string"
39407	//     },
39408	//     "tagFormats": {
39409	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
39410	//       "enum": [
39411	//         "PLACEMENT_TAG_CLICK_COMMANDS",
39412	//         "PLACEMENT_TAG_IFRAME_ILAYER",
39413	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
39414	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
39415	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
39416	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
39417	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
39418	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
39419	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
39420	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
39421	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
39422	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
39423	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
39424	//         "PLACEMENT_TAG_JAVASCRIPT",
39425	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
39426	//         "PLACEMENT_TAG_STANDARD",
39427	//         "PLACEMENT_TAG_TRACKING",
39428	//         "PLACEMENT_TAG_TRACKING_IFRAME",
39429	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
39430	//       ],
39431	//       "enumDescriptions": [
39432	//         "",
39433	//         "",
39434	//         "",
39435	//         "",
39436	//         "",
39437	//         "",
39438	//         "",
39439	//         "",
39440	//         "",
39441	//         "",
39442	//         "",
39443	//         "",
39444	//         "",
39445	//         "",
39446	//         "",
39447	//         "",
39448	//         "",
39449	//         "",
39450	//         ""
39451	//       ],
39452	//       "location": "query",
39453	//       "repeated": true,
39454	//       "type": "string"
39455	//     }
39456	//   },
39457	//   "path": "userprofiles/{profileId}/placements/generatetags",
39458	//   "response": {
39459	//     "$ref": "PlacementsGenerateTagsResponse"
39460	//   },
39461	//   "scopes": [
39462	//     "https://www.googleapis.com/auth/dfatrafficking"
39463	//   ]
39464	// }
39465
39466}
39467
39468// method id "dfareporting.placements.get":
39469
39470type PlacementsGetCall struct {
39471	s            *Service
39472	profileId    int64
39473	id           int64
39474	urlParams_   gensupport.URLParams
39475	ifNoneMatch_ string
39476	ctx_         context.Context
39477	header_      http.Header
39478}
39479
39480// Get: Gets one placement by ID.
39481func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
39482	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39483	c.profileId = profileId
39484	c.id = id
39485	return c
39486}
39487
39488// Fields allows partial responses to be retrieved. See
39489// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39490// for more information.
39491func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
39492	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39493	return c
39494}
39495
39496// IfNoneMatch sets the optional parameter which makes the operation
39497// fail if the object's ETag matches the given value. This is useful for
39498// getting updates only after the object has changed since the last
39499// request. Use googleapi.IsNotModified to check whether the response
39500// error from Do is the result of In-None-Match.
39501func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
39502	c.ifNoneMatch_ = entityTag
39503	return c
39504}
39505
39506// Context sets the context to be used in this call's Do method. Any
39507// pending HTTP request will be aborted if the provided context is
39508// canceled.
39509func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
39510	c.ctx_ = ctx
39511	return c
39512}
39513
39514// Header returns an http.Header that can be modified by the caller to
39515// add HTTP headers to the request.
39516func (c *PlacementsGetCall) Header() http.Header {
39517	if c.header_ == nil {
39518		c.header_ = make(http.Header)
39519	}
39520	return c.header_
39521}
39522
39523func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
39524	reqHeaders := make(http.Header)
39525	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39526	for k, v := range c.header_ {
39527		reqHeaders[k] = v
39528	}
39529	reqHeaders.Set("User-Agent", c.s.userAgent())
39530	if c.ifNoneMatch_ != "" {
39531		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39532	}
39533	var body io.Reader = nil
39534	c.urlParams_.Set("alt", alt)
39535	c.urlParams_.Set("prettyPrint", "false")
39536	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
39537	urls += "?" + c.urlParams_.Encode()
39538	req, err := http.NewRequest("GET", urls, body)
39539	if err != nil {
39540		return nil, err
39541	}
39542	req.Header = reqHeaders
39543	googleapi.Expand(req.URL, map[string]string{
39544		"profileId": strconv.FormatInt(c.profileId, 10),
39545		"id":        strconv.FormatInt(c.id, 10),
39546	})
39547	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39548}
39549
39550// Do executes the "dfareporting.placements.get" call.
39551// Exactly one of *Placement or error will be non-nil. Any non-2xx
39552// status code is an error. Response headers are in either
39553// *Placement.ServerResponse.Header or (if a response was returned at
39554// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
39555// to check whether the returned error was because
39556// http.StatusNotModified was returned.
39557func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
39558	gensupport.SetOptions(c.urlParams_, opts...)
39559	res, err := c.doRequest("json")
39560	if res != nil && res.StatusCode == http.StatusNotModified {
39561		if res.Body != nil {
39562			res.Body.Close()
39563		}
39564		return nil, &googleapi.Error{
39565			Code:   res.StatusCode,
39566			Header: res.Header,
39567		}
39568	}
39569	if err != nil {
39570		return nil, err
39571	}
39572	defer googleapi.CloseBody(res)
39573	if err := googleapi.CheckResponse(res); err != nil {
39574		return nil, err
39575	}
39576	ret := &Placement{
39577		ServerResponse: googleapi.ServerResponse{
39578			Header:         res.Header,
39579			HTTPStatusCode: res.StatusCode,
39580		},
39581	}
39582	target := &ret
39583	if err := gensupport.DecodeResponse(target, res); err != nil {
39584		return nil, err
39585	}
39586	return ret, nil
39587	// {
39588	//   "description": "Gets one placement by ID.",
39589	//   "httpMethod": "GET",
39590	//   "id": "dfareporting.placements.get",
39591	//   "parameterOrder": [
39592	//     "profileId",
39593	//     "id"
39594	//   ],
39595	//   "parameters": {
39596	//     "id": {
39597	//       "description": "Placement ID.",
39598	//       "format": "int64",
39599	//       "location": "path",
39600	//       "required": true,
39601	//       "type": "string"
39602	//     },
39603	//     "profileId": {
39604	//       "description": "User profile ID associated with this request.",
39605	//       "format": "int64",
39606	//       "location": "path",
39607	//       "required": true,
39608	//       "type": "string"
39609	//     }
39610	//   },
39611	//   "path": "userprofiles/{profileId}/placements/{id}",
39612	//   "response": {
39613	//     "$ref": "Placement"
39614	//   },
39615	//   "scopes": [
39616	//     "https://www.googleapis.com/auth/dfatrafficking"
39617	//   ]
39618	// }
39619
39620}
39621
39622// method id "dfareporting.placements.insert":
39623
39624type PlacementsInsertCall struct {
39625	s          *Service
39626	profileId  int64
39627	placement  *Placement
39628	urlParams_ gensupport.URLParams
39629	ctx_       context.Context
39630	header_    http.Header
39631}
39632
39633// Insert: Inserts a new placement.
39634func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
39635	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39636	c.profileId = profileId
39637	c.placement = placement
39638	return c
39639}
39640
39641// Fields allows partial responses to be retrieved. See
39642// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39643// for more information.
39644func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
39645	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39646	return c
39647}
39648
39649// Context sets the context to be used in this call's Do method. Any
39650// pending HTTP request will be aborted if the provided context is
39651// canceled.
39652func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
39653	c.ctx_ = ctx
39654	return c
39655}
39656
39657// Header returns an http.Header that can be modified by the caller to
39658// add HTTP headers to the request.
39659func (c *PlacementsInsertCall) Header() http.Header {
39660	if c.header_ == nil {
39661		c.header_ = make(http.Header)
39662	}
39663	return c.header_
39664}
39665
39666func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
39667	reqHeaders := make(http.Header)
39668	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39669	for k, v := range c.header_ {
39670		reqHeaders[k] = v
39671	}
39672	reqHeaders.Set("User-Agent", c.s.userAgent())
39673	var body io.Reader = nil
39674	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
39675	if err != nil {
39676		return nil, err
39677	}
39678	reqHeaders.Set("Content-Type", "application/json")
39679	c.urlParams_.Set("alt", alt)
39680	c.urlParams_.Set("prettyPrint", "false")
39681	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
39682	urls += "?" + c.urlParams_.Encode()
39683	req, err := http.NewRequest("POST", urls, body)
39684	if err != nil {
39685		return nil, err
39686	}
39687	req.Header = reqHeaders
39688	googleapi.Expand(req.URL, map[string]string{
39689		"profileId": strconv.FormatInt(c.profileId, 10),
39690	})
39691	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39692}
39693
39694// Do executes the "dfareporting.placements.insert" call.
39695// Exactly one of *Placement or error will be non-nil. Any non-2xx
39696// status code is an error. Response headers are in either
39697// *Placement.ServerResponse.Header or (if a response was returned at
39698// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
39699// to check whether the returned error was because
39700// http.StatusNotModified was returned.
39701func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
39702	gensupport.SetOptions(c.urlParams_, opts...)
39703	res, err := c.doRequest("json")
39704	if res != nil && res.StatusCode == http.StatusNotModified {
39705		if res.Body != nil {
39706			res.Body.Close()
39707		}
39708		return nil, &googleapi.Error{
39709			Code:   res.StatusCode,
39710			Header: res.Header,
39711		}
39712	}
39713	if err != nil {
39714		return nil, err
39715	}
39716	defer googleapi.CloseBody(res)
39717	if err := googleapi.CheckResponse(res); err != nil {
39718		return nil, err
39719	}
39720	ret := &Placement{
39721		ServerResponse: googleapi.ServerResponse{
39722			Header:         res.Header,
39723			HTTPStatusCode: res.StatusCode,
39724		},
39725	}
39726	target := &ret
39727	if err := gensupport.DecodeResponse(target, res); err != nil {
39728		return nil, err
39729	}
39730	return ret, nil
39731	// {
39732	//   "description": "Inserts a new placement.",
39733	//   "httpMethod": "POST",
39734	//   "id": "dfareporting.placements.insert",
39735	//   "parameterOrder": [
39736	//     "profileId"
39737	//   ],
39738	//   "parameters": {
39739	//     "profileId": {
39740	//       "description": "User profile ID associated with this request.",
39741	//       "format": "int64",
39742	//       "location": "path",
39743	//       "required": true,
39744	//       "type": "string"
39745	//     }
39746	//   },
39747	//   "path": "userprofiles/{profileId}/placements",
39748	//   "request": {
39749	//     "$ref": "Placement"
39750	//   },
39751	//   "response": {
39752	//     "$ref": "Placement"
39753	//   },
39754	//   "scopes": [
39755	//     "https://www.googleapis.com/auth/dfatrafficking"
39756	//   ]
39757	// }
39758
39759}
39760
39761// method id "dfareporting.placements.list":
39762
39763type PlacementsListCall struct {
39764	s            *Service
39765	profileId    int64
39766	urlParams_   gensupport.URLParams
39767	ifNoneMatch_ string
39768	ctx_         context.Context
39769	header_      http.Header
39770}
39771
39772// List: Retrieves a list of placements, possibly filtered. This method
39773// supports paging.
39774func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
39775	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39776	c.profileId = profileId
39777	return c
39778}
39779
39780// AdvertiserIds sets the optional parameter "advertiserIds": Select
39781// only placements that belong to these advertisers.
39782func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
39783	var advertiserIds_ []string
39784	for _, v := range advertiserIds {
39785		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
39786	}
39787	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
39788	return c
39789}
39790
39791// Archived sets the optional parameter "archived": Select only archived
39792// placements. Don't set this field to select both archived and
39793// non-archived placements.
39794func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
39795	c.urlParams_.Set("archived", fmt.Sprint(archived))
39796	return c
39797}
39798
39799// CampaignIds sets the optional parameter "campaignIds": Select only
39800// placements that belong to these campaigns.
39801func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
39802	var campaignIds_ []string
39803	for _, v := range campaignIds {
39804		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
39805	}
39806	c.urlParams_.SetMulti("campaignIds", campaignIds_)
39807	return c
39808}
39809
39810// Compatibilities sets the optional parameter "compatibilities": Select
39811// only placements that are associated with these compatibilities.
39812// DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
39813// or on mobile devices for regular or interstitial ads respectively.
39814// APP and APP_INTERSTITIAL are for rendering in mobile apps.
39815// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
39816// with the VAST standard.
39817//
39818// Possible values:
39819//   "APP"
39820//   "APP_INTERSTITIAL"
39821//   "DISPLAY"
39822//   "DISPLAY_INTERSTITIAL"
39823//   "IN_STREAM_VIDEO"
39824func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
39825	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
39826	return c
39827}
39828
39829// ContentCategoryIds sets the optional parameter "contentCategoryIds":
39830// Select only placements that are associated with these content
39831// categories.
39832func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
39833	var contentCategoryIds_ []string
39834	for _, v := range contentCategoryIds {
39835		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
39836	}
39837	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
39838	return c
39839}
39840
39841// DirectorySiteIds sets the optional parameter "directorySiteIds":
39842// Select only placements that are associated with these directory
39843// sites.
39844func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
39845	var directorySiteIds_ []string
39846	for _, v := range directorySiteIds {
39847		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
39848	}
39849	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
39850	return c
39851}
39852
39853// GroupIds sets the optional parameter "groupIds": Select only
39854// placements that belong to these placement groups.
39855func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
39856	var groupIds_ []string
39857	for _, v := range groupIds {
39858		groupIds_ = append(groupIds_, fmt.Sprint(v))
39859	}
39860	c.urlParams_.SetMulti("groupIds", groupIds_)
39861	return c
39862}
39863
39864// Ids sets the optional parameter "ids": Select only placements with
39865// these IDs.
39866func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
39867	var ids_ []string
39868	for _, v := range ids {
39869		ids_ = append(ids_, fmt.Sprint(v))
39870	}
39871	c.urlParams_.SetMulti("ids", ids_)
39872	return c
39873}
39874
39875// MaxEndDate sets the optional parameter "maxEndDate": Select only
39876// placements or placement groups whose end date is on or before the
39877// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
39878func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
39879	c.urlParams_.Set("maxEndDate", maxEndDate)
39880	return c
39881}
39882
39883// MaxResults sets the optional parameter "maxResults": Maximum number
39884// of results to return.
39885func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
39886	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
39887	return c
39888}
39889
39890// MaxStartDate sets the optional parameter "maxStartDate": Select only
39891// placements or placement groups whose start date is on or before the
39892// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
39893func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
39894	c.urlParams_.Set("maxStartDate", maxStartDate)
39895	return c
39896}
39897
39898// MinEndDate sets the optional parameter "minEndDate": Select only
39899// placements or placement groups whose end date is on or after the
39900// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
39901func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
39902	c.urlParams_.Set("minEndDate", minEndDate)
39903	return c
39904}
39905
39906// MinStartDate sets the optional parameter "minStartDate": Select only
39907// placements or placement groups whose start date is on or after the
39908// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
39909func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
39910	c.urlParams_.Set("minStartDate", minStartDate)
39911	return c
39912}
39913
39914// PageToken sets the optional parameter "pageToken": Value of the
39915// nextPageToken from the previous result page.
39916func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
39917	c.urlParams_.Set("pageToken", pageToken)
39918	return c
39919}
39920
39921// PaymentSource sets the optional parameter "paymentSource": Select
39922// only placements with this payment source.
39923//
39924// Possible values:
39925//   "PLACEMENT_AGENCY_PAID"
39926//   "PLACEMENT_PUBLISHER_PAID"
39927func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
39928	c.urlParams_.Set("paymentSource", paymentSource)
39929	return c
39930}
39931
39932// PlacementStrategyIds sets the optional parameter
39933// "placementStrategyIds": Select only placements that are associated
39934// with these placement strategies.
39935func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
39936	var placementStrategyIds_ []string
39937	for _, v := range placementStrategyIds {
39938		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
39939	}
39940	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
39941	return c
39942}
39943
39944// PricingTypes sets the optional parameter "pricingTypes": Select only
39945// placements with these pricing types.
39946//
39947// Possible values:
39948//   "PRICING_TYPE_CPA"
39949//   "PRICING_TYPE_CPC"
39950//   "PRICING_TYPE_CPM"
39951//   "PRICING_TYPE_CPM_ACTIVEVIEW"
39952//   "PRICING_TYPE_FLAT_RATE_CLICKS"
39953//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
39954func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
39955	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
39956	return c
39957}
39958
39959// SearchString sets the optional parameter "searchString": Allows
39960// searching for placements by name or ID. Wildcards (*) are allowed.
39961// For example, "placement*2015" will return placements with names like
39962// "placement June 2015", "placement May 2015", or simply "placements
39963// 2015". Most of the searches also add wildcards implicitly at the
39964// start and the end of the search string. For example, a search string
39965// of "placement" will match placements with name "my placement",
39966// "placement 2015", or simply "placement".
39967func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
39968	c.urlParams_.Set("searchString", searchString)
39969	return c
39970}
39971
39972// SiteIds sets the optional parameter "siteIds": Select only placements
39973// that are associated with these sites.
39974func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
39975	var siteIds_ []string
39976	for _, v := range siteIds {
39977		siteIds_ = append(siteIds_, fmt.Sprint(v))
39978	}
39979	c.urlParams_.SetMulti("siteIds", siteIds_)
39980	return c
39981}
39982
39983// SizeIds sets the optional parameter "sizeIds": Select only placements
39984// that are associated with these sizes.
39985func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
39986	var sizeIds_ []string
39987	for _, v := range sizeIds {
39988		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
39989	}
39990	c.urlParams_.SetMulti("sizeIds", sizeIds_)
39991	return c
39992}
39993
39994// SortField sets the optional parameter "sortField": Field by which to
39995// sort the list.
39996//
39997// Possible values:
39998//   "ID" (default)
39999//   "NAME"
40000func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
40001	c.urlParams_.Set("sortField", sortField)
40002	return c
40003}
40004
40005// SortOrder sets the optional parameter "sortOrder": Order of sorted
40006// results.
40007//
40008// Possible values:
40009//   "ASCENDING" (default)
40010//   "DESCENDING"
40011func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
40012	c.urlParams_.Set("sortOrder", sortOrder)
40013	return c
40014}
40015
40016// Fields allows partial responses to be retrieved. See
40017// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40018// for more information.
40019func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
40020	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40021	return c
40022}
40023
40024// IfNoneMatch sets the optional parameter which makes the operation
40025// fail if the object's ETag matches the given value. This is useful for
40026// getting updates only after the object has changed since the last
40027// request. Use googleapi.IsNotModified to check whether the response
40028// error from Do is the result of In-None-Match.
40029func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
40030	c.ifNoneMatch_ = entityTag
40031	return c
40032}
40033
40034// Context sets the context to be used in this call's Do method. Any
40035// pending HTTP request will be aborted if the provided context is
40036// canceled.
40037func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
40038	c.ctx_ = ctx
40039	return c
40040}
40041
40042// Header returns an http.Header that can be modified by the caller to
40043// add HTTP headers to the request.
40044func (c *PlacementsListCall) Header() http.Header {
40045	if c.header_ == nil {
40046		c.header_ = make(http.Header)
40047	}
40048	return c.header_
40049}
40050
40051func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
40052	reqHeaders := make(http.Header)
40053	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40054	for k, v := range c.header_ {
40055		reqHeaders[k] = v
40056	}
40057	reqHeaders.Set("User-Agent", c.s.userAgent())
40058	if c.ifNoneMatch_ != "" {
40059		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40060	}
40061	var body io.Reader = nil
40062	c.urlParams_.Set("alt", alt)
40063	c.urlParams_.Set("prettyPrint", "false")
40064	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40065	urls += "?" + c.urlParams_.Encode()
40066	req, err := http.NewRequest("GET", urls, body)
40067	if err != nil {
40068		return nil, err
40069	}
40070	req.Header = reqHeaders
40071	googleapi.Expand(req.URL, map[string]string{
40072		"profileId": strconv.FormatInt(c.profileId, 10),
40073	})
40074	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40075}
40076
40077// Do executes the "dfareporting.placements.list" call.
40078// Exactly one of *PlacementsListResponse or error will be non-nil. Any
40079// non-2xx status code is an error. Response headers are in either
40080// *PlacementsListResponse.ServerResponse.Header or (if a response was
40081// returned at all) in error.(*googleapi.Error).Header. Use
40082// googleapi.IsNotModified to check whether the returned error was
40083// because http.StatusNotModified was returned.
40084func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
40085	gensupport.SetOptions(c.urlParams_, opts...)
40086	res, err := c.doRequest("json")
40087	if res != nil && res.StatusCode == http.StatusNotModified {
40088		if res.Body != nil {
40089			res.Body.Close()
40090		}
40091		return nil, &googleapi.Error{
40092			Code:   res.StatusCode,
40093			Header: res.Header,
40094		}
40095	}
40096	if err != nil {
40097		return nil, err
40098	}
40099	defer googleapi.CloseBody(res)
40100	if err := googleapi.CheckResponse(res); err != nil {
40101		return nil, err
40102	}
40103	ret := &PlacementsListResponse{
40104		ServerResponse: googleapi.ServerResponse{
40105			Header:         res.Header,
40106			HTTPStatusCode: res.StatusCode,
40107		},
40108	}
40109	target := &ret
40110	if err := gensupport.DecodeResponse(target, res); err != nil {
40111		return nil, err
40112	}
40113	return ret, nil
40114	// {
40115	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
40116	//   "httpMethod": "GET",
40117	//   "id": "dfareporting.placements.list",
40118	//   "parameterOrder": [
40119	//     "profileId"
40120	//   ],
40121	//   "parameters": {
40122	//     "advertiserIds": {
40123	//       "description": "Select only placements that belong to these advertisers.",
40124	//       "format": "int64",
40125	//       "location": "query",
40126	//       "repeated": true,
40127	//       "type": "string"
40128	//     },
40129	//     "archived": {
40130	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
40131	//       "location": "query",
40132	//       "type": "boolean"
40133	//     },
40134	//     "campaignIds": {
40135	//       "description": "Select only placements that belong to these campaigns.",
40136	//       "format": "int64",
40137	//       "location": "query",
40138	//       "repeated": true,
40139	//       "type": "string"
40140	//     },
40141	//     "compatibilities": {
40142	//       "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.",
40143	//       "enum": [
40144	//         "APP",
40145	//         "APP_INTERSTITIAL",
40146	//         "DISPLAY",
40147	//         "DISPLAY_INTERSTITIAL",
40148	//         "IN_STREAM_VIDEO"
40149	//       ],
40150	//       "enumDescriptions": [
40151	//         "",
40152	//         "",
40153	//         "",
40154	//         "",
40155	//         ""
40156	//       ],
40157	//       "location": "query",
40158	//       "repeated": true,
40159	//       "type": "string"
40160	//     },
40161	//     "contentCategoryIds": {
40162	//       "description": "Select only placements that are associated with these content categories.",
40163	//       "format": "int64",
40164	//       "location": "query",
40165	//       "repeated": true,
40166	//       "type": "string"
40167	//     },
40168	//     "directorySiteIds": {
40169	//       "description": "Select only placements that are associated with these directory sites.",
40170	//       "format": "int64",
40171	//       "location": "query",
40172	//       "repeated": true,
40173	//       "type": "string"
40174	//     },
40175	//     "groupIds": {
40176	//       "description": "Select only placements that belong to these placement groups.",
40177	//       "format": "int64",
40178	//       "location": "query",
40179	//       "repeated": true,
40180	//       "type": "string"
40181	//     },
40182	//     "ids": {
40183	//       "description": "Select only placements with these IDs.",
40184	//       "format": "int64",
40185	//       "location": "query",
40186	//       "repeated": true,
40187	//       "type": "string"
40188	//     },
40189	//     "maxEndDate": {
40190	//       "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\".",
40191	//       "location": "query",
40192	//       "type": "string"
40193	//     },
40194	//     "maxResults": {
40195	//       "default": "1000",
40196	//       "description": "Maximum number of results to return.",
40197	//       "format": "int32",
40198	//       "location": "query",
40199	//       "maximum": "1000",
40200	//       "minimum": "0",
40201	//       "type": "integer"
40202	//     },
40203	//     "maxStartDate": {
40204	//       "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\".",
40205	//       "location": "query",
40206	//       "type": "string"
40207	//     },
40208	//     "minEndDate": {
40209	//       "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\".",
40210	//       "location": "query",
40211	//       "type": "string"
40212	//     },
40213	//     "minStartDate": {
40214	//       "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\".",
40215	//       "location": "query",
40216	//       "type": "string"
40217	//     },
40218	//     "pageToken": {
40219	//       "description": "Value of the nextPageToken from the previous result page.",
40220	//       "location": "query",
40221	//       "type": "string"
40222	//     },
40223	//     "paymentSource": {
40224	//       "description": "Select only placements with this payment source.",
40225	//       "enum": [
40226	//         "PLACEMENT_AGENCY_PAID",
40227	//         "PLACEMENT_PUBLISHER_PAID"
40228	//       ],
40229	//       "enumDescriptions": [
40230	//         "",
40231	//         ""
40232	//       ],
40233	//       "location": "query",
40234	//       "type": "string"
40235	//     },
40236	//     "placementStrategyIds": {
40237	//       "description": "Select only placements that are associated with these placement strategies.",
40238	//       "format": "int64",
40239	//       "location": "query",
40240	//       "repeated": true,
40241	//       "type": "string"
40242	//     },
40243	//     "pricingTypes": {
40244	//       "description": "Select only placements with these pricing types.",
40245	//       "enum": [
40246	//         "PRICING_TYPE_CPA",
40247	//         "PRICING_TYPE_CPC",
40248	//         "PRICING_TYPE_CPM",
40249	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
40250	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
40251	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
40252	//       ],
40253	//       "enumDescriptions": [
40254	//         "",
40255	//         "",
40256	//         "",
40257	//         "",
40258	//         "",
40259	//         ""
40260	//       ],
40261	//       "location": "query",
40262	//       "repeated": true,
40263	//       "type": "string"
40264	//     },
40265	//     "profileId": {
40266	//       "description": "User profile ID associated with this request.",
40267	//       "format": "int64",
40268	//       "location": "path",
40269	//       "required": true,
40270	//       "type": "string"
40271	//     },
40272	//     "searchString": {
40273	//       "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\".",
40274	//       "location": "query",
40275	//       "type": "string"
40276	//     },
40277	//     "siteIds": {
40278	//       "description": "Select only placements that are associated with these sites.",
40279	//       "format": "int64",
40280	//       "location": "query",
40281	//       "repeated": true,
40282	//       "type": "string"
40283	//     },
40284	//     "sizeIds": {
40285	//       "description": "Select only placements that are associated with these sizes.",
40286	//       "format": "int64",
40287	//       "location": "query",
40288	//       "repeated": true,
40289	//       "type": "string"
40290	//     },
40291	//     "sortField": {
40292	//       "default": "ID",
40293	//       "description": "Field by which to sort the list.",
40294	//       "enum": [
40295	//         "ID",
40296	//         "NAME"
40297	//       ],
40298	//       "enumDescriptions": [
40299	//         "",
40300	//         ""
40301	//       ],
40302	//       "location": "query",
40303	//       "type": "string"
40304	//     },
40305	//     "sortOrder": {
40306	//       "default": "ASCENDING",
40307	//       "description": "Order of sorted results.",
40308	//       "enum": [
40309	//         "ASCENDING",
40310	//         "DESCENDING"
40311	//       ],
40312	//       "enumDescriptions": [
40313	//         "",
40314	//         ""
40315	//       ],
40316	//       "location": "query",
40317	//       "type": "string"
40318	//     }
40319	//   },
40320	//   "path": "userprofiles/{profileId}/placements",
40321	//   "response": {
40322	//     "$ref": "PlacementsListResponse"
40323	//   },
40324	//   "scopes": [
40325	//     "https://www.googleapis.com/auth/dfatrafficking"
40326	//   ]
40327	// }
40328
40329}
40330
40331// Pages invokes f for each page of results.
40332// A non-nil error returned from f will halt the iteration.
40333// The provided context supersedes any context provided to the Context method.
40334func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
40335	c.ctx_ = ctx
40336	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
40337	for {
40338		x, err := c.Do()
40339		if err != nil {
40340			return err
40341		}
40342		if err := f(x); err != nil {
40343			return err
40344		}
40345		if x.NextPageToken == "" {
40346			return nil
40347		}
40348		c.PageToken(x.NextPageToken)
40349	}
40350}
40351
40352// method id "dfareporting.placements.patch":
40353
40354type PlacementsPatchCall struct {
40355	s          *Service
40356	profileId  int64
40357	placement  *Placement
40358	urlParams_ gensupport.URLParams
40359	ctx_       context.Context
40360	header_    http.Header
40361}
40362
40363// Patch: Updates an existing placement. This method supports patch
40364// semantics.
40365func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
40366	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40367	c.profileId = profileId
40368	c.urlParams_.Set("id", fmt.Sprint(id))
40369	c.placement = placement
40370	return c
40371}
40372
40373// Fields allows partial responses to be retrieved. See
40374// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40375// for more information.
40376func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
40377	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40378	return c
40379}
40380
40381// Context sets the context to be used in this call's Do method. Any
40382// pending HTTP request will be aborted if the provided context is
40383// canceled.
40384func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
40385	c.ctx_ = ctx
40386	return c
40387}
40388
40389// Header returns an http.Header that can be modified by the caller to
40390// add HTTP headers to the request.
40391func (c *PlacementsPatchCall) Header() http.Header {
40392	if c.header_ == nil {
40393		c.header_ = make(http.Header)
40394	}
40395	return c.header_
40396}
40397
40398func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
40399	reqHeaders := make(http.Header)
40400	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40401	for k, v := range c.header_ {
40402		reqHeaders[k] = v
40403	}
40404	reqHeaders.Set("User-Agent", c.s.userAgent())
40405	var body io.Reader = nil
40406	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40407	if err != nil {
40408		return nil, err
40409	}
40410	reqHeaders.Set("Content-Type", "application/json")
40411	c.urlParams_.Set("alt", alt)
40412	c.urlParams_.Set("prettyPrint", "false")
40413	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40414	urls += "?" + c.urlParams_.Encode()
40415	req, err := http.NewRequest("PATCH", urls, body)
40416	if err != nil {
40417		return nil, err
40418	}
40419	req.Header = reqHeaders
40420	googleapi.Expand(req.URL, map[string]string{
40421		"profileId": strconv.FormatInt(c.profileId, 10),
40422	})
40423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40424}
40425
40426// Do executes the "dfareporting.placements.patch" call.
40427// Exactly one of *Placement or error will be non-nil. Any non-2xx
40428// status code is an error. Response headers are in either
40429// *Placement.ServerResponse.Header or (if a response was returned at
40430// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40431// to check whether the returned error was because
40432// http.StatusNotModified was returned.
40433func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40434	gensupport.SetOptions(c.urlParams_, opts...)
40435	res, err := c.doRequest("json")
40436	if res != nil && res.StatusCode == http.StatusNotModified {
40437		if res.Body != nil {
40438			res.Body.Close()
40439		}
40440		return nil, &googleapi.Error{
40441			Code:   res.StatusCode,
40442			Header: res.Header,
40443		}
40444	}
40445	if err != nil {
40446		return nil, err
40447	}
40448	defer googleapi.CloseBody(res)
40449	if err := googleapi.CheckResponse(res); err != nil {
40450		return nil, err
40451	}
40452	ret := &Placement{
40453		ServerResponse: googleapi.ServerResponse{
40454			Header:         res.Header,
40455			HTTPStatusCode: res.StatusCode,
40456		},
40457	}
40458	target := &ret
40459	if err := gensupport.DecodeResponse(target, res); err != nil {
40460		return nil, err
40461	}
40462	return ret, nil
40463	// {
40464	//   "description": "Updates an existing placement. This method supports patch semantics.",
40465	//   "httpMethod": "PATCH",
40466	//   "id": "dfareporting.placements.patch",
40467	//   "parameterOrder": [
40468	//     "profileId",
40469	//     "id"
40470	//   ],
40471	//   "parameters": {
40472	//     "id": {
40473	//       "description": "Placement ID.",
40474	//       "format": "int64",
40475	//       "location": "query",
40476	//       "required": true,
40477	//       "type": "string"
40478	//     },
40479	//     "profileId": {
40480	//       "description": "User profile ID associated with this request.",
40481	//       "format": "int64",
40482	//       "location": "path",
40483	//       "required": true,
40484	//       "type": "string"
40485	//     }
40486	//   },
40487	//   "path": "userprofiles/{profileId}/placements",
40488	//   "request": {
40489	//     "$ref": "Placement"
40490	//   },
40491	//   "response": {
40492	//     "$ref": "Placement"
40493	//   },
40494	//   "scopes": [
40495	//     "https://www.googleapis.com/auth/dfatrafficking"
40496	//   ]
40497	// }
40498
40499}
40500
40501// method id "dfareporting.placements.update":
40502
40503type PlacementsUpdateCall struct {
40504	s          *Service
40505	profileId  int64
40506	placement  *Placement
40507	urlParams_ gensupport.URLParams
40508	ctx_       context.Context
40509	header_    http.Header
40510}
40511
40512// Update: Updates an existing placement.
40513func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
40514	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40515	c.profileId = profileId
40516	c.placement = placement
40517	return c
40518}
40519
40520// Fields allows partial responses to be retrieved. See
40521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40522// for more information.
40523func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
40524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40525	return c
40526}
40527
40528// Context sets the context to be used in this call's Do method. Any
40529// pending HTTP request will be aborted if the provided context is
40530// canceled.
40531func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
40532	c.ctx_ = ctx
40533	return c
40534}
40535
40536// Header returns an http.Header that can be modified by the caller to
40537// add HTTP headers to the request.
40538func (c *PlacementsUpdateCall) Header() http.Header {
40539	if c.header_ == nil {
40540		c.header_ = make(http.Header)
40541	}
40542	return c.header_
40543}
40544
40545func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
40546	reqHeaders := make(http.Header)
40547	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40548	for k, v := range c.header_ {
40549		reqHeaders[k] = v
40550	}
40551	reqHeaders.Set("User-Agent", c.s.userAgent())
40552	var body io.Reader = nil
40553	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40554	if err != nil {
40555		return nil, err
40556	}
40557	reqHeaders.Set("Content-Type", "application/json")
40558	c.urlParams_.Set("alt", alt)
40559	c.urlParams_.Set("prettyPrint", "false")
40560	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40561	urls += "?" + c.urlParams_.Encode()
40562	req, err := http.NewRequest("PUT", urls, body)
40563	if err != nil {
40564		return nil, err
40565	}
40566	req.Header = reqHeaders
40567	googleapi.Expand(req.URL, map[string]string{
40568		"profileId": strconv.FormatInt(c.profileId, 10),
40569	})
40570	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40571}
40572
40573// Do executes the "dfareporting.placements.update" call.
40574// Exactly one of *Placement or error will be non-nil. Any non-2xx
40575// status code is an error. Response headers are in either
40576// *Placement.ServerResponse.Header or (if a response was returned at
40577// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40578// to check whether the returned error was because
40579// http.StatusNotModified was returned.
40580func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40581	gensupport.SetOptions(c.urlParams_, opts...)
40582	res, err := c.doRequest("json")
40583	if res != nil && res.StatusCode == http.StatusNotModified {
40584		if res.Body != nil {
40585			res.Body.Close()
40586		}
40587		return nil, &googleapi.Error{
40588			Code:   res.StatusCode,
40589			Header: res.Header,
40590		}
40591	}
40592	if err != nil {
40593		return nil, err
40594	}
40595	defer googleapi.CloseBody(res)
40596	if err := googleapi.CheckResponse(res); err != nil {
40597		return nil, err
40598	}
40599	ret := &Placement{
40600		ServerResponse: googleapi.ServerResponse{
40601			Header:         res.Header,
40602			HTTPStatusCode: res.StatusCode,
40603		},
40604	}
40605	target := &ret
40606	if err := gensupport.DecodeResponse(target, res); err != nil {
40607		return nil, err
40608	}
40609	return ret, nil
40610	// {
40611	//   "description": "Updates an existing placement.",
40612	//   "httpMethod": "PUT",
40613	//   "id": "dfareporting.placements.update",
40614	//   "parameterOrder": [
40615	//     "profileId"
40616	//   ],
40617	//   "parameters": {
40618	//     "profileId": {
40619	//       "description": "User profile ID associated with this request.",
40620	//       "format": "int64",
40621	//       "location": "path",
40622	//       "required": true,
40623	//       "type": "string"
40624	//     }
40625	//   },
40626	//   "path": "userprofiles/{profileId}/placements",
40627	//   "request": {
40628	//     "$ref": "Placement"
40629	//   },
40630	//   "response": {
40631	//     "$ref": "Placement"
40632	//   },
40633	//   "scopes": [
40634	//     "https://www.googleapis.com/auth/dfatrafficking"
40635	//   ]
40636	// }
40637
40638}
40639
40640// method id "dfareporting.platformTypes.get":
40641
40642type PlatformTypesGetCall struct {
40643	s            *Service
40644	profileId    int64
40645	id           int64
40646	urlParams_   gensupport.URLParams
40647	ifNoneMatch_ string
40648	ctx_         context.Context
40649	header_      http.Header
40650}
40651
40652// Get: Gets one platform type by ID.
40653func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
40654	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40655	c.profileId = profileId
40656	c.id = id
40657	return c
40658}
40659
40660// Fields allows partial responses to be retrieved. See
40661// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40662// for more information.
40663func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
40664	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40665	return c
40666}
40667
40668// IfNoneMatch sets the optional parameter which makes the operation
40669// fail if the object's ETag matches the given value. This is useful for
40670// getting updates only after the object has changed since the last
40671// request. Use googleapi.IsNotModified to check whether the response
40672// error from Do is the result of In-None-Match.
40673func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
40674	c.ifNoneMatch_ = entityTag
40675	return c
40676}
40677
40678// Context sets the context to be used in this call's Do method. Any
40679// pending HTTP request will be aborted if the provided context is
40680// canceled.
40681func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
40682	c.ctx_ = ctx
40683	return c
40684}
40685
40686// Header returns an http.Header that can be modified by the caller to
40687// add HTTP headers to the request.
40688func (c *PlatformTypesGetCall) Header() http.Header {
40689	if c.header_ == nil {
40690		c.header_ = make(http.Header)
40691	}
40692	return c.header_
40693}
40694
40695func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
40696	reqHeaders := make(http.Header)
40697	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40698	for k, v := range c.header_ {
40699		reqHeaders[k] = v
40700	}
40701	reqHeaders.Set("User-Agent", c.s.userAgent())
40702	if c.ifNoneMatch_ != "" {
40703		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40704	}
40705	var body io.Reader = nil
40706	c.urlParams_.Set("alt", alt)
40707	c.urlParams_.Set("prettyPrint", "false")
40708	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
40709	urls += "?" + c.urlParams_.Encode()
40710	req, err := http.NewRequest("GET", urls, body)
40711	if err != nil {
40712		return nil, err
40713	}
40714	req.Header = reqHeaders
40715	googleapi.Expand(req.URL, map[string]string{
40716		"profileId": strconv.FormatInt(c.profileId, 10),
40717		"id":        strconv.FormatInt(c.id, 10),
40718	})
40719	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40720}
40721
40722// Do executes the "dfareporting.platformTypes.get" call.
40723// Exactly one of *PlatformType or error will be non-nil. Any non-2xx
40724// status code is an error. Response headers are in either
40725// *PlatformType.ServerResponse.Header or (if a response was returned at
40726// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40727// to check whether the returned error was because
40728// http.StatusNotModified was returned.
40729func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
40730	gensupport.SetOptions(c.urlParams_, opts...)
40731	res, err := c.doRequest("json")
40732	if res != nil && res.StatusCode == http.StatusNotModified {
40733		if res.Body != nil {
40734			res.Body.Close()
40735		}
40736		return nil, &googleapi.Error{
40737			Code:   res.StatusCode,
40738			Header: res.Header,
40739		}
40740	}
40741	if err != nil {
40742		return nil, err
40743	}
40744	defer googleapi.CloseBody(res)
40745	if err := googleapi.CheckResponse(res); err != nil {
40746		return nil, err
40747	}
40748	ret := &PlatformType{
40749		ServerResponse: googleapi.ServerResponse{
40750			Header:         res.Header,
40751			HTTPStatusCode: res.StatusCode,
40752		},
40753	}
40754	target := &ret
40755	if err := gensupport.DecodeResponse(target, res); err != nil {
40756		return nil, err
40757	}
40758	return ret, nil
40759	// {
40760	//   "description": "Gets one platform type by ID.",
40761	//   "httpMethod": "GET",
40762	//   "id": "dfareporting.platformTypes.get",
40763	//   "parameterOrder": [
40764	//     "profileId",
40765	//     "id"
40766	//   ],
40767	//   "parameters": {
40768	//     "id": {
40769	//       "description": "Platform type ID.",
40770	//       "format": "int64",
40771	//       "location": "path",
40772	//       "required": true,
40773	//       "type": "string"
40774	//     },
40775	//     "profileId": {
40776	//       "description": "User profile ID associated with this request.",
40777	//       "format": "int64",
40778	//       "location": "path",
40779	//       "required": true,
40780	//       "type": "string"
40781	//     }
40782	//   },
40783	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
40784	//   "response": {
40785	//     "$ref": "PlatformType"
40786	//   },
40787	//   "scopes": [
40788	//     "https://www.googleapis.com/auth/dfatrafficking"
40789	//   ]
40790	// }
40791
40792}
40793
40794// method id "dfareporting.platformTypes.list":
40795
40796type PlatformTypesListCall struct {
40797	s            *Service
40798	profileId    int64
40799	urlParams_   gensupport.URLParams
40800	ifNoneMatch_ string
40801	ctx_         context.Context
40802	header_      http.Header
40803}
40804
40805// List: Retrieves a list of platform types.
40806func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
40807	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40808	c.profileId = profileId
40809	return c
40810}
40811
40812// Fields allows partial responses to be retrieved. See
40813// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40814// for more information.
40815func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
40816	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40817	return c
40818}
40819
40820// IfNoneMatch sets the optional parameter which makes the operation
40821// fail if the object's ETag matches the given value. This is useful for
40822// getting updates only after the object has changed since the last
40823// request. Use googleapi.IsNotModified to check whether the response
40824// error from Do is the result of In-None-Match.
40825func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
40826	c.ifNoneMatch_ = entityTag
40827	return c
40828}
40829
40830// Context sets the context to be used in this call's Do method. Any
40831// pending HTTP request will be aborted if the provided context is
40832// canceled.
40833func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
40834	c.ctx_ = ctx
40835	return c
40836}
40837
40838// Header returns an http.Header that can be modified by the caller to
40839// add HTTP headers to the request.
40840func (c *PlatformTypesListCall) Header() http.Header {
40841	if c.header_ == nil {
40842		c.header_ = make(http.Header)
40843	}
40844	return c.header_
40845}
40846
40847func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
40848	reqHeaders := make(http.Header)
40849	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40850	for k, v := range c.header_ {
40851		reqHeaders[k] = v
40852	}
40853	reqHeaders.Set("User-Agent", c.s.userAgent())
40854	if c.ifNoneMatch_ != "" {
40855		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40856	}
40857	var body io.Reader = nil
40858	c.urlParams_.Set("alt", alt)
40859	c.urlParams_.Set("prettyPrint", "false")
40860	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
40861	urls += "?" + c.urlParams_.Encode()
40862	req, err := http.NewRequest("GET", urls, body)
40863	if err != nil {
40864		return nil, err
40865	}
40866	req.Header = reqHeaders
40867	googleapi.Expand(req.URL, map[string]string{
40868		"profileId": strconv.FormatInt(c.profileId, 10),
40869	})
40870	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40871}
40872
40873// Do executes the "dfareporting.platformTypes.list" call.
40874// Exactly one of *PlatformTypesListResponse or error will be non-nil.
40875// Any non-2xx status code is an error. Response headers are in either
40876// *PlatformTypesListResponse.ServerResponse.Header or (if a response
40877// was returned at all) in error.(*googleapi.Error).Header. Use
40878// googleapi.IsNotModified to check whether the returned error was
40879// because http.StatusNotModified was returned.
40880func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
40881	gensupport.SetOptions(c.urlParams_, opts...)
40882	res, err := c.doRequest("json")
40883	if res != nil && res.StatusCode == http.StatusNotModified {
40884		if res.Body != nil {
40885			res.Body.Close()
40886		}
40887		return nil, &googleapi.Error{
40888			Code:   res.StatusCode,
40889			Header: res.Header,
40890		}
40891	}
40892	if err != nil {
40893		return nil, err
40894	}
40895	defer googleapi.CloseBody(res)
40896	if err := googleapi.CheckResponse(res); err != nil {
40897		return nil, err
40898	}
40899	ret := &PlatformTypesListResponse{
40900		ServerResponse: googleapi.ServerResponse{
40901			Header:         res.Header,
40902			HTTPStatusCode: res.StatusCode,
40903		},
40904	}
40905	target := &ret
40906	if err := gensupport.DecodeResponse(target, res); err != nil {
40907		return nil, err
40908	}
40909	return ret, nil
40910	// {
40911	//   "description": "Retrieves a list of platform types.",
40912	//   "httpMethod": "GET",
40913	//   "id": "dfareporting.platformTypes.list",
40914	//   "parameterOrder": [
40915	//     "profileId"
40916	//   ],
40917	//   "parameters": {
40918	//     "profileId": {
40919	//       "description": "User profile ID associated with this request.",
40920	//       "format": "int64",
40921	//       "location": "path",
40922	//       "required": true,
40923	//       "type": "string"
40924	//     }
40925	//   },
40926	//   "path": "userprofiles/{profileId}/platformTypes",
40927	//   "response": {
40928	//     "$ref": "PlatformTypesListResponse"
40929	//   },
40930	//   "scopes": [
40931	//     "https://www.googleapis.com/auth/dfatrafficking"
40932	//   ]
40933	// }
40934
40935}
40936
40937// method id "dfareporting.postalCodes.get":
40938
40939type PostalCodesGetCall struct {
40940	s            *Service
40941	profileId    int64
40942	code         string
40943	urlParams_   gensupport.URLParams
40944	ifNoneMatch_ string
40945	ctx_         context.Context
40946	header_      http.Header
40947}
40948
40949// Get: Gets one postal code by ID.
40950func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
40951	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40952	c.profileId = profileId
40953	c.code = code
40954	return c
40955}
40956
40957// Fields allows partial responses to be retrieved. See
40958// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40959// for more information.
40960func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
40961	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40962	return c
40963}
40964
40965// IfNoneMatch sets the optional parameter which makes the operation
40966// fail if the object's ETag matches the given value. This is useful for
40967// getting updates only after the object has changed since the last
40968// request. Use googleapi.IsNotModified to check whether the response
40969// error from Do is the result of In-None-Match.
40970func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
40971	c.ifNoneMatch_ = entityTag
40972	return c
40973}
40974
40975// Context sets the context to be used in this call's Do method. Any
40976// pending HTTP request will be aborted if the provided context is
40977// canceled.
40978func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
40979	c.ctx_ = ctx
40980	return c
40981}
40982
40983// Header returns an http.Header that can be modified by the caller to
40984// add HTTP headers to the request.
40985func (c *PostalCodesGetCall) Header() http.Header {
40986	if c.header_ == nil {
40987		c.header_ = make(http.Header)
40988	}
40989	return c.header_
40990}
40991
40992func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
40993	reqHeaders := make(http.Header)
40994	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40995	for k, v := range c.header_ {
40996		reqHeaders[k] = v
40997	}
40998	reqHeaders.Set("User-Agent", c.s.userAgent())
40999	if c.ifNoneMatch_ != "" {
41000		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41001	}
41002	var body io.Reader = nil
41003	c.urlParams_.Set("alt", alt)
41004	c.urlParams_.Set("prettyPrint", "false")
41005	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
41006	urls += "?" + c.urlParams_.Encode()
41007	req, err := http.NewRequest("GET", urls, body)
41008	if err != nil {
41009		return nil, err
41010	}
41011	req.Header = reqHeaders
41012	googleapi.Expand(req.URL, map[string]string{
41013		"profileId": strconv.FormatInt(c.profileId, 10),
41014		"code":      c.code,
41015	})
41016	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41017}
41018
41019// Do executes the "dfareporting.postalCodes.get" call.
41020// Exactly one of *PostalCode or error will be non-nil. Any non-2xx
41021// status code is an error. Response headers are in either
41022// *PostalCode.ServerResponse.Header or (if a response was returned at
41023// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41024// to check whether the returned error was because
41025// http.StatusNotModified was returned.
41026func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
41027	gensupport.SetOptions(c.urlParams_, opts...)
41028	res, err := c.doRequest("json")
41029	if res != nil && res.StatusCode == http.StatusNotModified {
41030		if res.Body != nil {
41031			res.Body.Close()
41032		}
41033		return nil, &googleapi.Error{
41034			Code:   res.StatusCode,
41035			Header: res.Header,
41036		}
41037	}
41038	if err != nil {
41039		return nil, err
41040	}
41041	defer googleapi.CloseBody(res)
41042	if err := googleapi.CheckResponse(res); err != nil {
41043		return nil, err
41044	}
41045	ret := &PostalCode{
41046		ServerResponse: googleapi.ServerResponse{
41047			Header:         res.Header,
41048			HTTPStatusCode: res.StatusCode,
41049		},
41050	}
41051	target := &ret
41052	if err := gensupport.DecodeResponse(target, res); err != nil {
41053		return nil, err
41054	}
41055	return ret, nil
41056	// {
41057	//   "description": "Gets one postal code by ID.",
41058	//   "httpMethod": "GET",
41059	//   "id": "dfareporting.postalCodes.get",
41060	//   "parameterOrder": [
41061	//     "profileId",
41062	//     "code"
41063	//   ],
41064	//   "parameters": {
41065	//     "code": {
41066	//       "description": "Postal code ID.",
41067	//       "location": "path",
41068	//       "required": true,
41069	//       "type": "string"
41070	//     },
41071	//     "profileId": {
41072	//       "description": "User profile ID associated with this request.",
41073	//       "format": "int64",
41074	//       "location": "path",
41075	//       "required": true,
41076	//       "type": "string"
41077	//     }
41078	//   },
41079	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
41080	//   "response": {
41081	//     "$ref": "PostalCode"
41082	//   },
41083	//   "scopes": [
41084	//     "https://www.googleapis.com/auth/dfatrafficking"
41085	//   ]
41086	// }
41087
41088}
41089
41090// method id "dfareporting.postalCodes.list":
41091
41092type PostalCodesListCall struct {
41093	s            *Service
41094	profileId    int64
41095	urlParams_   gensupport.URLParams
41096	ifNoneMatch_ string
41097	ctx_         context.Context
41098	header_      http.Header
41099}
41100
41101// List: Retrieves a list of postal codes.
41102func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
41103	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41104	c.profileId = profileId
41105	return c
41106}
41107
41108// Fields allows partial responses to be retrieved. See
41109// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41110// for more information.
41111func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
41112	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41113	return c
41114}
41115
41116// IfNoneMatch sets the optional parameter which makes the operation
41117// fail if the object's ETag matches the given value. This is useful for
41118// getting updates only after the object has changed since the last
41119// request. Use googleapi.IsNotModified to check whether the response
41120// error from Do is the result of In-None-Match.
41121func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
41122	c.ifNoneMatch_ = entityTag
41123	return c
41124}
41125
41126// Context sets the context to be used in this call's Do method. Any
41127// pending HTTP request will be aborted if the provided context is
41128// canceled.
41129func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
41130	c.ctx_ = ctx
41131	return c
41132}
41133
41134// Header returns an http.Header that can be modified by the caller to
41135// add HTTP headers to the request.
41136func (c *PostalCodesListCall) Header() http.Header {
41137	if c.header_ == nil {
41138		c.header_ = make(http.Header)
41139	}
41140	return c.header_
41141}
41142
41143func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
41144	reqHeaders := make(http.Header)
41145	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41146	for k, v := range c.header_ {
41147		reqHeaders[k] = v
41148	}
41149	reqHeaders.Set("User-Agent", c.s.userAgent())
41150	if c.ifNoneMatch_ != "" {
41151		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41152	}
41153	var body io.Reader = nil
41154	c.urlParams_.Set("alt", alt)
41155	c.urlParams_.Set("prettyPrint", "false")
41156	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
41157	urls += "?" + c.urlParams_.Encode()
41158	req, err := http.NewRequest("GET", urls, body)
41159	if err != nil {
41160		return nil, err
41161	}
41162	req.Header = reqHeaders
41163	googleapi.Expand(req.URL, map[string]string{
41164		"profileId": strconv.FormatInt(c.profileId, 10),
41165	})
41166	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41167}
41168
41169// Do executes the "dfareporting.postalCodes.list" call.
41170// Exactly one of *PostalCodesListResponse or error will be non-nil. Any
41171// non-2xx status code is an error. Response headers are in either
41172// *PostalCodesListResponse.ServerResponse.Header or (if a response was
41173// returned at all) in error.(*googleapi.Error).Header. Use
41174// googleapi.IsNotModified to check whether the returned error was
41175// because http.StatusNotModified was returned.
41176func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
41177	gensupport.SetOptions(c.urlParams_, opts...)
41178	res, err := c.doRequest("json")
41179	if res != nil && res.StatusCode == http.StatusNotModified {
41180		if res.Body != nil {
41181			res.Body.Close()
41182		}
41183		return nil, &googleapi.Error{
41184			Code:   res.StatusCode,
41185			Header: res.Header,
41186		}
41187	}
41188	if err != nil {
41189		return nil, err
41190	}
41191	defer googleapi.CloseBody(res)
41192	if err := googleapi.CheckResponse(res); err != nil {
41193		return nil, err
41194	}
41195	ret := &PostalCodesListResponse{
41196		ServerResponse: googleapi.ServerResponse{
41197			Header:         res.Header,
41198			HTTPStatusCode: res.StatusCode,
41199		},
41200	}
41201	target := &ret
41202	if err := gensupport.DecodeResponse(target, res); err != nil {
41203		return nil, err
41204	}
41205	return ret, nil
41206	// {
41207	//   "description": "Retrieves a list of postal codes.",
41208	//   "httpMethod": "GET",
41209	//   "id": "dfareporting.postalCodes.list",
41210	//   "parameterOrder": [
41211	//     "profileId"
41212	//   ],
41213	//   "parameters": {
41214	//     "profileId": {
41215	//       "description": "User profile ID associated with this request.",
41216	//       "format": "int64",
41217	//       "location": "path",
41218	//       "required": true,
41219	//       "type": "string"
41220	//     }
41221	//   },
41222	//   "path": "userprofiles/{profileId}/postalCodes",
41223	//   "response": {
41224	//     "$ref": "PostalCodesListResponse"
41225	//   },
41226	//   "scopes": [
41227	//     "https://www.googleapis.com/auth/dfatrafficking"
41228	//   ]
41229	// }
41230
41231}
41232
41233// method id "dfareporting.projects.get":
41234
41235type ProjectsGetCall struct {
41236	s            *Service
41237	profileId    int64
41238	id           int64
41239	urlParams_   gensupport.URLParams
41240	ifNoneMatch_ string
41241	ctx_         context.Context
41242	header_      http.Header
41243}
41244
41245// Get: Gets one project by ID.
41246func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
41247	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41248	c.profileId = profileId
41249	c.id = id
41250	return c
41251}
41252
41253// Fields allows partial responses to be retrieved. See
41254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41255// for more information.
41256func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
41257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41258	return c
41259}
41260
41261// IfNoneMatch sets the optional parameter which makes the operation
41262// fail if the object's ETag matches the given value. This is useful for
41263// getting updates only after the object has changed since the last
41264// request. Use googleapi.IsNotModified to check whether the response
41265// error from Do is the result of In-None-Match.
41266func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
41267	c.ifNoneMatch_ = entityTag
41268	return c
41269}
41270
41271// Context sets the context to be used in this call's Do method. Any
41272// pending HTTP request will be aborted if the provided context is
41273// canceled.
41274func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
41275	c.ctx_ = ctx
41276	return c
41277}
41278
41279// Header returns an http.Header that can be modified by the caller to
41280// add HTTP headers to the request.
41281func (c *ProjectsGetCall) Header() http.Header {
41282	if c.header_ == nil {
41283		c.header_ = make(http.Header)
41284	}
41285	return c.header_
41286}
41287
41288func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
41289	reqHeaders := make(http.Header)
41290	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41291	for k, v := range c.header_ {
41292		reqHeaders[k] = v
41293	}
41294	reqHeaders.Set("User-Agent", c.s.userAgent())
41295	if c.ifNoneMatch_ != "" {
41296		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41297	}
41298	var body io.Reader = nil
41299	c.urlParams_.Set("alt", alt)
41300	c.urlParams_.Set("prettyPrint", "false")
41301	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
41302	urls += "?" + c.urlParams_.Encode()
41303	req, err := http.NewRequest("GET", urls, body)
41304	if err != nil {
41305		return nil, err
41306	}
41307	req.Header = reqHeaders
41308	googleapi.Expand(req.URL, map[string]string{
41309		"profileId": strconv.FormatInt(c.profileId, 10),
41310		"id":        strconv.FormatInt(c.id, 10),
41311	})
41312	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41313}
41314
41315// Do executes the "dfareporting.projects.get" call.
41316// Exactly one of *Project or error will be non-nil. Any non-2xx status
41317// code is an error. Response headers are in either
41318// *Project.ServerResponse.Header or (if a response was returned at all)
41319// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
41320// check whether the returned error was because http.StatusNotModified
41321// was returned.
41322func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
41323	gensupport.SetOptions(c.urlParams_, opts...)
41324	res, err := c.doRequest("json")
41325	if res != nil && res.StatusCode == http.StatusNotModified {
41326		if res.Body != nil {
41327			res.Body.Close()
41328		}
41329		return nil, &googleapi.Error{
41330			Code:   res.StatusCode,
41331			Header: res.Header,
41332		}
41333	}
41334	if err != nil {
41335		return nil, err
41336	}
41337	defer googleapi.CloseBody(res)
41338	if err := googleapi.CheckResponse(res); err != nil {
41339		return nil, err
41340	}
41341	ret := &Project{
41342		ServerResponse: googleapi.ServerResponse{
41343			Header:         res.Header,
41344			HTTPStatusCode: res.StatusCode,
41345		},
41346	}
41347	target := &ret
41348	if err := gensupport.DecodeResponse(target, res); err != nil {
41349		return nil, err
41350	}
41351	return ret, nil
41352	// {
41353	//   "description": "Gets one project by ID.",
41354	//   "httpMethod": "GET",
41355	//   "id": "dfareporting.projects.get",
41356	//   "parameterOrder": [
41357	//     "profileId",
41358	//     "id"
41359	//   ],
41360	//   "parameters": {
41361	//     "id": {
41362	//       "description": "Project ID.",
41363	//       "format": "int64",
41364	//       "location": "path",
41365	//       "required": true,
41366	//       "type": "string"
41367	//     },
41368	//     "profileId": {
41369	//       "description": "User profile ID associated with this request.",
41370	//       "format": "int64",
41371	//       "location": "path",
41372	//       "required": true,
41373	//       "type": "string"
41374	//     }
41375	//   },
41376	//   "path": "userprofiles/{profileId}/projects/{id}",
41377	//   "response": {
41378	//     "$ref": "Project"
41379	//   },
41380	//   "scopes": [
41381	//     "https://www.googleapis.com/auth/dfatrafficking"
41382	//   ]
41383	// }
41384
41385}
41386
41387// method id "dfareporting.projects.list":
41388
41389type ProjectsListCall struct {
41390	s            *Service
41391	profileId    int64
41392	urlParams_   gensupport.URLParams
41393	ifNoneMatch_ string
41394	ctx_         context.Context
41395	header_      http.Header
41396}
41397
41398// List: Retrieves a list of projects, possibly filtered. This method
41399// supports paging.
41400func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
41401	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41402	c.profileId = profileId
41403	return c
41404}
41405
41406// AdvertiserIds sets the optional parameter "advertiserIds": Select
41407// only projects with these advertiser IDs.
41408func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
41409	var advertiserIds_ []string
41410	for _, v := range advertiserIds {
41411		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
41412	}
41413	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
41414	return c
41415}
41416
41417// Ids sets the optional parameter "ids": Select only projects with
41418// these IDs.
41419func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
41420	var ids_ []string
41421	for _, v := range ids {
41422		ids_ = append(ids_, fmt.Sprint(v))
41423	}
41424	c.urlParams_.SetMulti("ids", ids_)
41425	return c
41426}
41427
41428// MaxResults sets the optional parameter "maxResults": Maximum number
41429// of results to return.
41430func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
41431	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
41432	return c
41433}
41434
41435// PageToken sets the optional parameter "pageToken": Value of the
41436// nextPageToken from the previous result page.
41437func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
41438	c.urlParams_.Set("pageToken", pageToken)
41439	return c
41440}
41441
41442// SearchString sets the optional parameter "searchString": Allows
41443// searching for projects by name or ID. Wildcards (*) are allowed. For
41444// example, "project*2015" will return projects with names like "project
41445// June 2015", "project April 2015", or simply "project 2015". Most of
41446// the searches also add wildcards implicitly at the start and the end
41447// of the search string. For example, a search string of "project" will
41448// match projects with name "my project", "project 2015", or simply
41449// "project".
41450func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
41451	c.urlParams_.Set("searchString", searchString)
41452	return c
41453}
41454
41455// SortField sets the optional parameter "sortField": Field by which to
41456// sort the list.
41457//
41458// Possible values:
41459//   "ID" (default)
41460//   "NAME"
41461func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
41462	c.urlParams_.Set("sortField", sortField)
41463	return c
41464}
41465
41466// SortOrder sets the optional parameter "sortOrder": Order of sorted
41467// results.
41468//
41469// Possible values:
41470//   "ASCENDING" (default)
41471//   "DESCENDING"
41472func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
41473	c.urlParams_.Set("sortOrder", sortOrder)
41474	return c
41475}
41476
41477// Fields allows partial responses to be retrieved. See
41478// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41479// for more information.
41480func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
41481	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41482	return c
41483}
41484
41485// IfNoneMatch sets the optional parameter which makes the operation
41486// fail if the object's ETag matches the given value. This is useful for
41487// getting updates only after the object has changed since the last
41488// request. Use googleapi.IsNotModified to check whether the response
41489// error from Do is the result of In-None-Match.
41490func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
41491	c.ifNoneMatch_ = entityTag
41492	return c
41493}
41494
41495// Context sets the context to be used in this call's Do method. Any
41496// pending HTTP request will be aborted if the provided context is
41497// canceled.
41498func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
41499	c.ctx_ = ctx
41500	return c
41501}
41502
41503// Header returns an http.Header that can be modified by the caller to
41504// add HTTP headers to the request.
41505func (c *ProjectsListCall) Header() http.Header {
41506	if c.header_ == nil {
41507		c.header_ = make(http.Header)
41508	}
41509	return c.header_
41510}
41511
41512func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
41513	reqHeaders := make(http.Header)
41514	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41515	for k, v := range c.header_ {
41516		reqHeaders[k] = v
41517	}
41518	reqHeaders.Set("User-Agent", c.s.userAgent())
41519	if c.ifNoneMatch_ != "" {
41520		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41521	}
41522	var body io.Reader = nil
41523	c.urlParams_.Set("alt", alt)
41524	c.urlParams_.Set("prettyPrint", "false")
41525	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
41526	urls += "?" + c.urlParams_.Encode()
41527	req, err := http.NewRequest("GET", urls, body)
41528	if err != nil {
41529		return nil, err
41530	}
41531	req.Header = reqHeaders
41532	googleapi.Expand(req.URL, map[string]string{
41533		"profileId": strconv.FormatInt(c.profileId, 10),
41534	})
41535	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41536}
41537
41538// Do executes the "dfareporting.projects.list" call.
41539// Exactly one of *ProjectsListResponse or error will be non-nil. Any
41540// non-2xx status code is an error. Response headers are in either
41541// *ProjectsListResponse.ServerResponse.Header or (if a response was
41542// returned at all) in error.(*googleapi.Error).Header. Use
41543// googleapi.IsNotModified to check whether the returned error was
41544// because http.StatusNotModified was returned.
41545func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
41546	gensupport.SetOptions(c.urlParams_, opts...)
41547	res, err := c.doRequest("json")
41548	if res != nil && res.StatusCode == http.StatusNotModified {
41549		if res.Body != nil {
41550			res.Body.Close()
41551		}
41552		return nil, &googleapi.Error{
41553			Code:   res.StatusCode,
41554			Header: res.Header,
41555		}
41556	}
41557	if err != nil {
41558		return nil, err
41559	}
41560	defer googleapi.CloseBody(res)
41561	if err := googleapi.CheckResponse(res); err != nil {
41562		return nil, err
41563	}
41564	ret := &ProjectsListResponse{
41565		ServerResponse: googleapi.ServerResponse{
41566			Header:         res.Header,
41567			HTTPStatusCode: res.StatusCode,
41568		},
41569	}
41570	target := &ret
41571	if err := gensupport.DecodeResponse(target, res); err != nil {
41572		return nil, err
41573	}
41574	return ret, nil
41575	// {
41576	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
41577	//   "httpMethod": "GET",
41578	//   "id": "dfareporting.projects.list",
41579	//   "parameterOrder": [
41580	//     "profileId"
41581	//   ],
41582	//   "parameters": {
41583	//     "advertiserIds": {
41584	//       "description": "Select only projects with these advertiser IDs.",
41585	//       "format": "int64",
41586	//       "location": "query",
41587	//       "repeated": true,
41588	//       "type": "string"
41589	//     },
41590	//     "ids": {
41591	//       "description": "Select only projects with these IDs.",
41592	//       "format": "int64",
41593	//       "location": "query",
41594	//       "repeated": true,
41595	//       "type": "string"
41596	//     },
41597	//     "maxResults": {
41598	//       "default": "1000",
41599	//       "description": "Maximum number of results to return.",
41600	//       "format": "int32",
41601	//       "location": "query",
41602	//       "maximum": "1000",
41603	//       "minimum": "0",
41604	//       "type": "integer"
41605	//     },
41606	//     "pageToken": {
41607	//       "description": "Value of the nextPageToken from the previous result page.",
41608	//       "location": "query",
41609	//       "type": "string"
41610	//     },
41611	//     "profileId": {
41612	//       "description": "User profile ID associated with this request.",
41613	//       "format": "int64",
41614	//       "location": "path",
41615	//       "required": true,
41616	//       "type": "string"
41617	//     },
41618	//     "searchString": {
41619	//       "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\".",
41620	//       "location": "query",
41621	//       "type": "string"
41622	//     },
41623	//     "sortField": {
41624	//       "default": "ID",
41625	//       "description": "Field by which to sort the list.",
41626	//       "enum": [
41627	//         "ID",
41628	//         "NAME"
41629	//       ],
41630	//       "enumDescriptions": [
41631	//         "",
41632	//         ""
41633	//       ],
41634	//       "location": "query",
41635	//       "type": "string"
41636	//     },
41637	//     "sortOrder": {
41638	//       "default": "ASCENDING",
41639	//       "description": "Order of sorted results.",
41640	//       "enum": [
41641	//         "ASCENDING",
41642	//         "DESCENDING"
41643	//       ],
41644	//       "enumDescriptions": [
41645	//         "",
41646	//         ""
41647	//       ],
41648	//       "location": "query",
41649	//       "type": "string"
41650	//     }
41651	//   },
41652	//   "path": "userprofiles/{profileId}/projects",
41653	//   "response": {
41654	//     "$ref": "ProjectsListResponse"
41655	//   },
41656	//   "scopes": [
41657	//     "https://www.googleapis.com/auth/dfatrafficking"
41658	//   ]
41659	// }
41660
41661}
41662
41663// Pages invokes f for each page of results.
41664// A non-nil error returned from f will halt the iteration.
41665// The provided context supersedes any context provided to the Context method.
41666func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
41667	c.ctx_ = ctx
41668	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
41669	for {
41670		x, err := c.Do()
41671		if err != nil {
41672			return err
41673		}
41674		if err := f(x); err != nil {
41675			return err
41676		}
41677		if x.NextPageToken == "" {
41678			return nil
41679		}
41680		c.PageToken(x.NextPageToken)
41681	}
41682}
41683
41684// method id "dfareporting.regions.list":
41685
41686type RegionsListCall struct {
41687	s            *Service
41688	profileId    int64
41689	urlParams_   gensupport.URLParams
41690	ifNoneMatch_ string
41691	ctx_         context.Context
41692	header_      http.Header
41693}
41694
41695// List: Retrieves a list of regions.
41696func (r *RegionsService) List(profileId int64) *RegionsListCall {
41697	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41698	c.profileId = profileId
41699	return c
41700}
41701
41702// Fields allows partial responses to be retrieved. See
41703// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41704// for more information.
41705func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
41706	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41707	return c
41708}
41709
41710// IfNoneMatch sets the optional parameter which makes the operation
41711// fail if the object's ETag matches the given value. This is useful for
41712// getting updates only after the object has changed since the last
41713// request. Use googleapi.IsNotModified to check whether the response
41714// error from Do is the result of In-None-Match.
41715func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
41716	c.ifNoneMatch_ = entityTag
41717	return c
41718}
41719
41720// Context sets the context to be used in this call's Do method. Any
41721// pending HTTP request will be aborted if the provided context is
41722// canceled.
41723func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
41724	c.ctx_ = ctx
41725	return c
41726}
41727
41728// Header returns an http.Header that can be modified by the caller to
41729// add HTTP headers to the request.
41730func (c *RegionsListCall) Header() http.Header {
41731	if c.header_ == nil {
41732		c.header_ = make(http.Header)
41733	}
41734	return c.header_
41735}
41736
41737func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
41738	reqHeaders := make(http.Header)
41739	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41740	for k, v := range c.header_ {
41741		reqHeaders[k] = v
41742	}
41743	reqHeaders.Set("User-Agent", c.s.userAgent())
41744	if c.ifNoneMatch_ != "" {
41745		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41746	}
41747	var body io.Reader = nil
41748	c.urlParams_.Set("alt", alt)
41749	c.urlParams_.Set("prettyPrint", "false")
41750	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
41751	urls += "?" + c.urlParams_.Encode()
41752	req, err := http.NewRequest("GET", urls, body)
41753	if err != nil {
41754		return nil, err
41755	}
41756	req.Header = reqHeaders
41757	googleapi.Expand(req.URL, map[string]string{
41758		"profileId": strconv.FormatInt(c.profileId, 10),
41759	})
41760	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41761}
41762
41763// Do executes the "dfareporting.regions.list" call.
41764// Exactly one of *RegionsListResponse or error will be non-nil. Any
41765// non-2xx status code is an error. Response headers are in either
41766// *RegionsListResponse.ServerResponse.Header or (if a response was
41767// returned at all) in error.(*googleapi.Error).Header. Use
41768// googleapi.IsNotModified to check whether the returned error was
41769// because http.StatusNotModified was returned.
41770func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
41771	gensupport.SetOptions(c.urlParams_, opts...)
41772	res, err := c.doRequest("json")
41773	if res != nil && res.StatusCode == http.StatusNotModified {
41774		if res.Body != nil {
41775			res.Body.Close()
41776		}
41777		return nil, &googleapi.Error{
41778			Code:   res.StatusCode,
41779			Header: res.Header,
41780		}
41781	}
41782	if err != nil {
41783		return nil, err
41784	}
41785	defer googleapi.CloseBody(res)
41786	if err := googleapi.CheckResponse(res); err != nil {
41787		return nil, err
41788	}
41789	ret := &RegionsListResponse{
41790		ServerResponse: googleapi.ServerResponse{
41791			Header:         res.Header,
41792			HTTPStatusCode: res.StatusCode,
41793		},
41794	}
41795	target := &ret
41796	if err := gensupport.DecodeResponse(target, res); err != nil {
41797		return nil, err
41798	}
41799	return ret, nil
41800	// {
41801	//   "description": "Retrieves a list of regions.",
41802	//   "httpMethod": "GET",
41803	//   "id": "dfareporting.regions.list",
41804	//   "parameterOrder": [
41805	//     "profileId"
41806	//   ],
41807	//   "parameters": {
41808	//     "profileId": {
41809	//       "description": "User profile ID associated with this request.",
41810	//       "format": "int64",
41811	//       "location": "path",
41812	//       "required": true,
41813	//       "type": "string"
41814	//     }
41815	//   },
41816	//   "path": "userprofiles/{profileId}/regions",
41817	//   "response": {
41818	//     "$ref": "RegionsListResponse"
41819	//   },
41820	//   "scopes": [
41821	//     "https://www.googleapis.com/auth/dfatrafficking"
41822	//   ]
41823	// }
41824
41825}
41826
41827// method id "dfareporting.remarketingListShares.get":
41828
41829type RemarketingListSharesGetCall struct {
41830	s                 *Service
41831	profileId         int64
41832	remarketingListId int64
41833	urlParams_        gensupport.URLParams
41834	ifNoneMatch_      string
41835	ctx_              context.Context
41836	header_           http.Header
41837}
41838
41839// Get: Gets one remarketing list share by remarketing list ID.
41840func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
41841	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41842	c.profileId = profileId
41843	c.remarketingListId = remarketingListId
41844	return c
41845}
41846
41847// Fields allows partial responses to be retrieved. See
41848// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41849// for more information.
41850func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
41851	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41852	return c
41853}
41854
41855// IfNoneMatch sets the optional parameter which makes the operation
41856// fail if the object's ETag matches the given value. This is useful for
41857// getting updates only after the object has changed since the last
41858// request. Use googleapi.IsNotModified to check whether the response
41859// error from Do is the result of In-None-Match.
41860func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
41861	c.ifNoneMatch_ = entityTag
41862	return c
41863}
41864
41865// Context sets the context to be used in this call's Do method. Any
41866// pending HTTP request will be aborted if the provided context is
41867// canceled.
41868func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
41869	c.ctx_ = ctx
41870	return c
41871}
41872
41873// Header returns an http.Header that can be modified by the caller to
41874// add HTTP headers to the request.
41875func (c *RemarketingListSharesGetCall) Header() http.Header {
41876	if c.header_ == nil {
41877		c.header_ = make(http.Header)
41878	}
41879	return c.header_
41880}
41881
41882func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
41883	reqHeaders := make(http.Header)
41884	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41885	for k, v := range c.header_ {
41886		reqHeaders[k] = v
41887	}
41888	reqHeaders.Set("User-Agent", c.s.userAgent())
41889	if c.ifNoneMatch_ != "" {
41890		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41891	}
41892	var body io.Reader = nil
41893	c.urlParams_.Set("alt", alt)
41894	c.urlParams_.Set("prettyPrint", "false")
41895	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
41896	urls += "?" + c.urlParams_.Encode()
41897	req, err := http.NewRequest("GET", urls, body)
41898	if err != nil {
41899		return nil, err
41900	}
41901	req.Header = reqHeaders
41902	googleapi.Expand(req.URL, map[string]string{
41903		"profileId":         strconv.FormatInt(c.profileId, 10),
41904		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
41905	})
41906	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41907}
41908
41909// Do executes the "dfareporting.remarketingListShares.get" call.
41910// Exactly one of *RemarketingListShare or error will be non-nil. Any
41911// non-2xx status code is an error. Response headers are in either
41912// *RemarketingListShare.ServerResponse.Header or (if a response was
41913// returned at all) in error.(*googleapi.Error).Header. Use
41914// googleapi.IsNotModified to check whether the returned error was
41915// because http.StatusNotModified was returned.
41916func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
41917	gensupport.SetOptions(c.urlParams_, opts...)
41918	res, err := c.doRequest("json")
41919	if res != nil && res.StatusCode == http.StatusNotModified {
41920		if res.Body != nil {
41921			res.Body.Close()
41922		}
41923		return nil, &googleapi.Error{
41924			Code:   res.StatusCode,
41925			Header: res.Header,
41926		}
41927	}
41928	if err != nil {
41929		return nil, err
41930	}
41931	defer googleapi.CloseBody(res)
41932	if err := googleapi.CheckResponse(res); err != nil {
41933		return nil, err
41934	}
41935	ret := &RemarketingListShare{
41936		ServerResponse: googleapi.ServerResponse{
41937			Header:         res.Header,
41938			HTTPStatusCode: res.StatusCode,
41939		},
41940	}
41941	target := &ret
41942	if err := gensupport.DecodeResponse(target, res); err != nil {
41943		return nil, err
41944	}
41945	return ret, nil
41946	// {
41947	//   "description": "Gets one remarketing list share by remarketing list ID.",
41948	//   "httpMethod": "GET",
41949	//   "id": "dfareporting.remarketingListShares.get",
41950	//   "parameterOrder": [
41951	//     "profileId",
41952	//     "remarketingListId"
41953	//   ],
41954	//   "parameters": {
41955	//     "profileId": {
41956	//       "description": "User profile ID associated with this request.",
41957	//       "format": "int64",
41958	//       "location": "path",
41959	//       "required": true,
41960	//       "type": "string"
41961	//     },
41962	//     "remarketingListId": {
41963	//       "description": "Remarketing list ID.",
41964	//       "format": "int64",
41965	//       "location": "path",
41966	//       "required": true,
41967	//       "type": "string"
41968	//     }
41969	//   },
41970	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
41971	//   "response": {
41972	//     "$ref": "RemarketingListShare"
41973	//   },
41974	//   "scopes": [
41975	//     "https://www.googleapis.com/auth/dfatrafficking"
41976	//   ]
41977	// }
41978
41979}
41980
41981// method id "dfareporting.remarketingListShares.patch":
41982
41983type RemarketingListSharesPatchCall struct {
41984	s                    *Service
41985	profileId            int64
41986	remarketinglistshare *RemarketingListShare
41987	urlParams_           gensupport.URLParams
41988	ctx_                 context.Context
41989	header_              http.Header
41990}
41991
41992// Patch: Updates an existing remarketing list share. This method
41993// supports patch semantics.
41994func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
41995	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41996	c.profileId = profileId
41997	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
41998	c.remarketinglistshare = remarketinglistshare
41999	return c
42000}
42001
42002// Fields allows partial responses to be retrieved. See
42003// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42004// for more information.
42005func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
42006	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42007	return c
42008}
42009
42010// Context sets the context to be used in this call's Do method. Any
42011// pending HTTP request will be aborted if the provided context is
42012// canceled.
42013func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
42014	c.ctx_ = ctx
42015	return c
42016}
42017
42018// Header returns an http.Header that can be modified by the caller to
42019// add HTTP headers to the request.
42020func (c *RemarketingListSharesPatchCall) Header() http.Header {
42021	if c.header_ == nil {
42022		c.header_ = make(http.Header)
42023	}
42024	return c.header_
42025}
42026
42027func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
42028	reqHeaders := make(http.Header)
42029	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42030	for k, v := range c.header_ {
42031		reqHeaders[k] = v
42032	}
42033	reqHeaders.Set("User-Agent", c.s.userAgent())
42034	var body io.Reader = nil
42035	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42036	if err != nil {
42037		return nil, err
42038	}
42039	reqHeaders.Set("Content-Type", "application/json")
42040	c.urlParams_.Set("alt", alt)
42041	c.urlParams_.Set("prettyPrint", "false")
42042	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42043	urls += "?" + c.urlParams_.Encode()
42044	req, err := http.NewRequest("PATCH", urls, body)
42045	if err != nil {
42046		return nil, err
42047	}
42048	req.Header = reqHeaders
42049	googleapi.Expand(req.URL, map[string]string{
42050		"profileId": strconv.FormatInt(c.profileId, 10),
42051	})
42052	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42053}
42054
42055// Do executes the "dfareporting.remarketingListShares.patch" call.
42056// Exactly one of *RemarketingListShare or error will be non-nil. Any
42057// non-2xx status code is an error. Response headers are in either
42058// *RemarketingListShare.ServerResponse.Header or (if a response was
42059// returned at all) in error.(*googleapi.Error).Header. Use
42060// googleapi.IsNotModified to check whether the returned error was
42061// because http.StatusNotModified was returned.
42062func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42063	gensupport.SetOptions(c.urlParams_, opts...)
42064	res, err := c.doRequest("json")
42065	if res != nil && res.StatusCode == http.StatusNotModified {
42066		if res.Body != nil {
42067			res.Body.Close()
42068		}
42069		return nil, &googleapi.Error{
42070			Code:   res.StatusCode,
42071			Header: res.Header,
42072		}
42073	}
42074	if err != nil {
42075		return nil, err
42076	}
42077	defer googleapi.CloseBody(res)
42078	if err := googleapi.CheckResponse(res); err != nil {
42079		return nil, err
42080	}
42081	ret := &RemarketingListShare{
42082		ServerResponse: googleapi.ServerResponse{
42083			Header:         res.Header,
42084			HTTPStatusCode: res.StatusCode,
42085		},
42086	}
42087	target := &ret
42088	if err := gensupport.DecodeResponse(target, res); err != nil {
42089		return nil, err
42090	}
42091	return ret, nil
42092	// {
42093	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
42094	//   "httpMethod": "PATCH",
42095	//   "id": "dfareporting.remarketingListShares.patch",
42096	//   "parameterOrder": [
42097	//     "profileId",
42098	//     "remarketingListId"
42099	//   ],
42100	//   "parameters": {
42101	//     "profileId": {
42102	//       "description": "User profile ID associated with this request.",
42103	//       "format": "int64",
42104	//       "location": "path",
42105	//       "required": true,
42106	//       "type": "string"
42107	//     },
42108	//     "remarketingListId": {
42109	//       "description": "Remarketing list ID.",
42110	//       "format": "int64",
42111	//       "location": "query",
42112	//       "required": true,
42113	//       "type": "string"
42114	//     }
42115	//   },
42116	//   "path": "userprofiles/{profileId}/remarketingListShares",
42117	//   "request": {
42118	//     "$ref": "RemarketingListShare"
42119	//   },
42120	//   "response": {
42121	//     "$ref": "RemarketingListShare"
42122	//   },
42123	//   "scopes": [
42124	//     "https://www.googleapis.com/auth/dfatrafficking"
42125	//   ]
42126	// }
42127
42128}
42129
42130// method id "dfareporting.remarketingListShares.update":
42131
42132type RemarketingListSharesUpdateCall struct {
42133	s                    *Service
42134	profileId            int64
42135	remarketinglistshare *RemarketingListShare
42136	urlParams_           gensupport.URLParams
42137	ctx_                 context.Context
42138	header_              http.Header
42139}
42140
42141// Update: Updates an existing remarketing list share.
42142func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
42143	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42144	c.profileId = profileId
42145	c.remarketinglistshare = remarketinglistshare
42146	return c
42147}
42148
42149// Fields allows partial responses to be retrieved. See
42150// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42151// for more information.
42152func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
42153	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42154	return c
42155}
42156
42157// Context sets the context to be used in this call's Do method. Any
42158// pending HTTP request will be aborted if the provided context is
42159// canceled.
42160func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
42161	c.ctx_ = ctx
42162	return c
42163}
42164
42165// Header returns an http.Header that can be modified by the caller to
42166// add HTTP headers to the request.
42167func (c *RemarketingListSharesUpdateCall) Header() http.Header {
42168	if c.header_ == nil {
42169		c.header_ = make(http.Header)
42170	}
42171	return c.header_
42172}
42173
42174func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
42175	reqHeaders := make(http.Header)
42176	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42177	for k, v := range c.header_ {
42178		reqHeaders[k] = v
42179	}
42180	reqHeaders.Set("User-Agent", c.s.userAgent())
42181	var body io.Reader = nil
42182	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42183	if err != nil {
42184		return nil, err
42185	}
42186	reqHeaders.Set("Content-Type", "application/json")
42187	c.urlParams_.Set("alt", alt)
42188	c.urlParams_.Set("prettyPrint", "false")
42189	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42190	urls += "?" + c.urlParams_.Encode()
42191	req, err := http.NewRequest("PUT", urls, body)
42192	if err != nil {
42193		return nil, err
42194	}
42195	req.Header = reqHeaders
42196	googleapi.Expand(req.URL, map[string]string{
42197		"profileId": strconv.FormatInt(c.profileId, 10),
42198	})
42199	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42200}
42201
42202// Do executes the "dfareporting.remarketingListShares.update" call.
42203// Exactly one of *RemarketingListShare or error will be non-nil. Any
42204// non-2xx status code is an error. Response headers are in either
42205// *RemarketingListShare.ServerResponse.Header or (if a response was
42206// returned at all) in error.(*googleapi.Error).Header. Use
42207// googleapi.IsNotModified to check whether the returned error was
42208// because http.StatusNotModified was returned.
42209func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42210	gensupport.SetOptions(c.urlParams_, opts...)
42211	res, err := c.doRequest("json")
42212	if res != nil && res.StatusCode == http.StatusNotModified {
42213		if res.Body != nil {
42214			res.Body.Close()
42215		}
42216		return nil, &googleapi.Error{
42217			Code:   res.StatusCode,
42218			Header: res.Header,
42219		}
42220	}
42221	if err != nil {
42222		return nil, err
42223	}
42224	defer googleapi.CloseBody(res)
42225	if err := googleapi.CheckResponse(res); err != nil {
42226		return nil, err
42227	}
42228	ret := &RemarketingListShare{
42229		ServerResponse: googleapi.ServerResponse{
42230			Header:         res.Header,
42231			HTTPStatusCode: res.StatusCode,
42232		},
42233	}
42234	target := &ret
42235	if err := gensupport.DecodeResponse(target, res); err != nil {
42236		return nil, err
42237	}
42238	return ret, nil
42239	// {
42240	//   "description": "Updates an existing remarketing list share.",
42241	//   "httpMethod": "PUT",
42242	//   "id": "dfareporting.remarketingListShares.update",
42243	//   "parameterOrder": [
42244	//     "profileId"
42245	//   ],
42246	//   "parameters": {
42247	//     "profileId": {
42248	//       "description": "User profile ID associated with this request.",
42249	//       "format": "int64",
42250	//       "location": "path",
42251	//       "required": true,
42252	//       "type": "string"
42253	//     }
42254	//   },
42255	//   "path": "userprofiles/{profileId}/remarketingListShares",
42256	//   "request": {
42257	//     "$ref": "RemarketingListShare"
42258	//   },
42259	//   "response": {
42260	//     "$ref": "RemarketingListShare"
42261	//   },
42262	//   "scopes": [
42263	//     "https://www.googleapis.com/auth/dfatrafficking"
42264	//   ]
42265	// }
42266
42267}
42268
42269// method id "dfareporting.remarketingLists.get":
42270
42271type RemarketingListsGetCall struct {
42272	s            *Service
42273	profileId    int64
42274	id           int64
42275	urlParams_   gensupport.URLParams
42276	ifNoneMatch_ string
42277	ctx_         context.Context
42278	header_      http.Header
42279}
42280
42281// Get: Gets one remarketing list by ID.
42282func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
42283	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42284	c.profileId = profileId
42285	c.id = id
42286	return c
42287}
42288
42289// Fields allows partial responses to be retrieved. See
42290// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42291// for more information.
42292func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
42293	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42294	return c
42295}
42296
42297// IfNoneMatch sets the optional parameter which makes the operation
42298// fail if the object's ETag matches the given value. This is useful for
42299// getting updates only after the object has changed since the last
42300// request. Use googleapi.IsNotModified to check whether the response
42301// error from Do is the result of In-None-Match.
42302func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
42303	c.ifNoneMatch_ = entityTag
42304	return c
42305}
42306
42307// Context sets the context to be used in this call's Do method. Any
42308// pending HTTP request will be aborted if the provided context is
42309// canceled.
42310func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
42311	c.ctx_ = ctx
42312	return c
42313}
42314
42315// Header returns an http.Header that can be modified by the caller to
42316// add HTTP headers to the request.
42317func (c *RemarketingListsGetCall) Header() http.Header {
42318	if c.header_ == nil {
42319		c.header_ = make(http.Header)
42320	}
42321	return c.header_
42322}
42323
42324func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
42325	reqHeaders := make(http.Header)
42326	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42327	for k, v := range c.header_ {
42328		reqHeaders[k] = v
42329	}
42330	reqHeaders.Set("User-Agent", c.s.userAgent())
42331	if c.ifNoneMatch_ != "" {
42332		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42333	}
42334	var body io.Reader = nil
42335	c.urlParams_.Set("alt", alt)
42336	c.urlParams_.Set("prettyPrint", "false")
42337	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
42338	urls += "?" + c.urlParams_.Encode()
42339	req, err := http.NewRequest("GET", urls, body)
42340	if err != nil {
42341		return nil, err
42342	}
42343	req.Header = reqHeaders
42344	googleapi.Expand(req.URL, map[string]string{
42345		"profileId": strconv.FormatInt(c.profileId, 10),
42346		"id":        strconv.FormatInt(c.id, 10),
42347	})
42348	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42349}
42350
42351// Do executes the "dfareporting.remarketingLists.get" call.
42352// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
42353// status code is an error. Response headers are in either
42354// *RemarketingList.ServerResponse.Header or (if a response was returned
42355// at all) in error.(*googleapi.Error).Header. Use
42356// googleapi.IsNotModified to check whether the returned error was
42357// because http.StatusNotModified was returned.
42358func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
42359	gensupport.SetOptions(c.urlParams_, opts...)
42360	res, err := c.doRequest("json")
42361	if res != nil && res.StatusCode == http.StatusNotModified {
42362		if res.Body != nil {
42363			res.Body.Close()
42364		}
42365		return nil, &googleapi.Error{
42366			Code:   res.StatusCode,
42367			Header: res.Header,
42368		}
42369	}
42370	if err != nil {
42371		return nil, err
42372	}
42373	defer googleapi.CloseBody(res)
42374	if err := googleapi.CheckResponse(res); err != nil {
42375		return nil, err
42376	}
42377	ret := &RemarketingList{
42378		ServerResponse: googleapi.ServerResponse{
42379			Header:         res.Header,
42380			HTTPStatusCode: res.StatusCode,
42381		},
42382	}
42383	target := &ret
42384	if err := gensupport.DecodeResponse(target, res); err != nil {
42385		return nil, err
42386	}
42387	return ret, nil
42388	// {
42389	//   "description": "Gets one remarketing list by ID.",
42390	//   "httpMethod": "GET",
42391	//   "id": "dfareporting.remarketingLists.get",
42392	//   "parameterOrder": [
42393	//     "profileId",
42394	//     "id"
42395	//   ],
42396	//   "parameters": {
42397	//     "id": {
42398	//       "description": "Remarketing list ID.",
42399	//       "format": "int64",
42400	//       "location": "path",
42401	//       "required": true,
42402	//       "type": "string"
42403	//     },
42404	//     "profileId": {
42405	//       "description": "User profile ID associated with this request.",
42406	//       "format": "int64",
42407	//       "location": "path",
42408	//       "required": true,
42409	//       "type": "string"
42410	//     }
42411	//   },
42412	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
42413	//   "response": {
42414	//     "$ref": "RemarketingList"
42415	//   },
42416	//   "scopes": [
42417	//     "https://www.googleapis.com/auth/dfatrafficking"
42418	//   ]
42419	// }
42420
42421}
42422
42423// method id "dfareporting.remarketingLists.insert":
42424
42425type RemarketingListsInsertCall struct {
42426	s               *Service
42427	profileId       int64
42428	remarketinglist *RemarketingList
42429	urlParams_      gensupport.URLParams
42430	ctx_            context.Context
42431	header_         http.Header
42432}
42433
42434// Insert: Inserts a new remarketing list.
42435func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
42436	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42437	c.profileId = profileId
42438	c.remarketinglist = remarketinglist
42439	return c
42440}
42441
42442// Fields allows partial responses to be retrieved. See
42443// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42444// for more information.
42445func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
42446	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42447	return c
42448}
42449
42450// Context sets the context to be used in this call's Do method. Any
42451// pending HTTP request will be aborted if the provided context is
42452// canceled.
42453func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
42454	c.ctx_ = ctx
42455	return c
42456}
42457
42458// Header returns an http.Header that can be modified by the caller to
42459// add HTTP headers to the request.
42460func (c *RemarketingListsInsertCall) Header() http.Header {
42461	if c.header_ == nil {
42462		c.header_ = make(http.Header)
42463	}
42464	return c.header_
42465}
42466
42467func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
42468	reqHeaders := make(http.Header)
42469	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42470	for k, v := range c.header_ {
42471		reqHeaders[k] = v
42472	}
42473	reqHeaders.Set("User-Agent", c.s.userAgent())
42474	var body io.Reader = nil
42475	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
42476	if err != nil {
42477		return nil, err
42478	}
42479	reqHeaders.Set("Content-Type", "application/json")
42480	c.urlParams_.Set("alt", alt)
42481	c.urlParams_.Set("prettyPrint", "false")
42482	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
42483	urls += "?" + c.urlParams_.Encode()
42484	req, err := http.NewRequest("POST", urls, body)
42485	if err != nil {
42486		return nil, err
42487	}
42488	req.Header = reqHeaders
42489	googleapi.Expand(req.URL, map[string]string{
42490		"profileId": strconv.FormatInt(c.profileId, 10),
42491	})
42492	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42493}
42494
42495// Do executes the "dfareporting.remarketingLists.insert" call.
42496// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
42497// status code is an error. Response headers are in either
42498// *RemarketingList.ServerResponse.Header or (if a response was returned
42499// at all) in error.(*googleapi.Error).Header. Use
42500// googleapi.IsNotModified to check whether the returned error was
42501// because http.StatusNotModified was returned.
42502func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
42503	gensupport.SetOptions(c.urlParams_, opts...)
42504	res, err := c.doRequest("json")
42505	if res != nil && res.StatusCode == http.StatusNotModified {
42506		if res.Body != nil {
42507			res.Body.Close()
42508		}
42509		return nil, &googleapi.Error{
42510			Code:   res.StatusCode,
42511			Header: res.Header,
42512		}
42513	}
42514	if err != nil {
42515		return nil, err
42516	}
42517	defer googleapi.CloseBody(res)
42518	if err := googleapi.CheckResponse(res); err != nil {
42519		return nil, err
42520	}
42521	ret := &RemarketingList{
42522		ServerResponse: googleapi.ServerResponse{
42523			Header:         res.Header,
42524			HTTPStatusCode: res.StatusCode,
42525		},
42526	}
42527	target := &ret
42528	if err := gensupport.DecodeResponse(target, res); err != nil {
42529		return nil, err
42530	}
42531	return ret, nil
42532	// {
42533	//   "description": "Inserts a new remarketing list.",
42534	//   "httpMethod": "POST",
42535	//   "id": "dfareporting.remarketingLists.insert",
42536	//   "parameterOrder": [
42537	//     "profileId"
42538	//   ],
42539	//   "parameters": {
42540	//     "profileId": {
42541	//       "description": "User profile ID associated with this request.",
42542	//       "format": "int64",
42543	//       "location": "path",
42544	//       "required": true,
42545	//       "type": "string"
42546	//     }
42547	//   },
42548	//   "path": "userprofiles/{profileId}/remarketingLists",
42549	//   "request": {
42550	//     "$ref": "RemarketingList"
42551	//   },
42552	//   "response": {
42553	//     "$ref": "RemarketingList"
42554	//   },
42555	//   "scopes": [
42556	//     "https://www.googleapis.com/auth/dfatrafficking"
42557	//   ]
42558	// }
42559
42560}
42561
42562// method id "dfareporting.remarketingLists.list":
42563
42564type RemarketingListsListCall struct {
42565	s            *Service
42566	profileId    int64
42567	urlParams_   gensupport.URLParams
42568	ifNoneMatch_ string
42569	ctx_         context.Context
42570	header_      http.Header
42571}
42572
42573// List: Retrieves a list of remarketing lists, possibly filtered. This
42574// method supports paging.
42575func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
42576	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42577	c.profileId = profileId
42578	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
42579	return c
42580}
42581
42582// Active sets the optional parameter "active": Select only active or
42583// only inactive remarketing lists.
42584func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
42585	c.urlParams_.Set("active", fmt.Sprint(active))
42586	return c
42587}
42588
42589// FloodlightActivityId sets the optional parameter
42590// "floodlightActivityId": Select only remarketing lists that have this
42591// floodlight activity ID.
42592func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
42593	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
42594	return c
42595}
42596
42597// MaxResults sets the optional parameter "maxResults": Maximum number
42598// of results to return.
42599func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
42600	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
42601	return c
42602}
42603
42604// Name sets the optional parameter "name": Allows searching for objects
42605// by name or ID. Wildcards (*) are allowed. For example, "remarketing
42606// list*2015" will return objects with names like "remarketing list June
42607// 2015", "remarketing list April 2015", or simply "remarketing list
42608// 2015". Most of the searches also add wildcards implicitly at the
42609// start and the end of the search string. For example, a search string
42610// of "remarketing list" will match objects with name "my remarketing
42611// list", "remarketing list 2015", or simply "remarketing list".
42612func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
42613	c.urlParams_.Set("name", name)
42614	return c
42615}
42616
42617// PageToken sets the optional parameter "pageToken": Value of the
42618// nextPageToken from the previous result page.
42619func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
42620	c.urlParams_.Set("pageToken", pageToken)
42621	return c
42622}
42623
42624// SortField sets the optional parameter "sortField": Field by which to
42625// sort the list.
42626//
42627// Possible values:
42628//   "ID" (default)
42629//   "NAME"
42630func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
42631	c.urlParams_.Set("sortField", sortField)
42632	return c
42633}
42634
42635// SortOrder sets the optional parameter "sortOrder": Order of sorted
42636// results.
42637//
42638// Possible values:
42639//   "ASCENDING" (default)
42640//   "DESCENDING"
42641func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
42642	c.urlParams_.Set("sortOrder", sortOrder)
42643	return c
42644}
42645
42646// Fields allows partial responses to be retrieved. See
42647// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42648// for more information.
42649func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
42650	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42651	return c
42652}
42653
42654// IfNoneMatch sets the optional parameter which makes the operation
42655// fail if the object's ETag matches the given value. This is useful for
42656// getting updates only after the object has changed since the last
42657// request. Use googleapi.IsNotModified to check whether the response
42658// error from Do is the result of In-None-Match.
42659func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
42660	c.ifNoneMatch_ = entityTag
42661	return c
42662}
42663
42664// Context sets the context to be used in this call's Do method. Any
42665// pending HTTP request will be aborted if the provided context is
42666// canceled.
42667func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
42668	c.ctx_ = ctx
42669	return c
42670}
42671
42672// Header returns an http.Header that can be modified by the caller to
42673// add HTTP headers to the request.
42674func (c *RemarketingListsListCall) Header() http.Header {
42675	if c.header_ == nil {
42676		c.header_ = make(http.Header)
42677	}
42678	return c.header_
42679}
42680
42681func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
42682	reqHeaders := make(http.Header)
42683	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42684	for k, v := range c.header_ {
42685		reqHeaders[k] = v
42686	}
42687	reqHeaders.Set("User-Agent", c.s.userAgent())
42688	if c.ifNoneMatch_ != "" {
42689		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42690	}
42691	var body io.Reader = nil
42692	c.urlParams_.Set("alt", alt)
42693	c.urlParams_.Set("prettyPrint", "false")
42694	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
42695	urls += "?" + c.urlParams_.Encode()
42696	req, err := http.NewRequest("GET", urls, body)
42697	if err != nil {
42698		return nil, err
42699	}
42700	req.Header = reqHeaders
42701	googleapi.Expand(req.URL, map[string]string{
42702		"profileId": strconv.FormatInt(c.profileId, 10),
42703	})
42704	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42705}
42706
42707// Do executes the "dfareporting.remarketingLists.list" call.
42708// Exactly one of *RemarketingListsListResponse or error will be
42709// non-nil. Any non-2xx status code is an error. Response headers are in
42710// either *RemarketingListsListResponse.ServerResponse.Header or (if a
42711// response was returned at all) in error.(*googleapi.Error).Header. Use
42712// googleapi.IsNotModified to check whether the returned error was
42713// because http.StatusNotModified was returned.
42714func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
42715	gensupport.SetOptions(c.urlParams_, opts...)
42716	res, err := c.doRequest("json")
42717	if res != nil && res.StatusCode == http.StatusNotModified {
42718		if res.Body != nil {
42719			res.Body.Close()
42720		}
42721		return nil, &googleapi.Error{
42722			Code:   res.StatusCode,
42723			Header: res.Header,
42724		}
42725	}
42726	if err != nil {
42727		return nil, err
42728	}
42729	defer googleapi.CloseBody(res)
42730	if err := googleapi.CheckResponse(res); err != nil {
42731		return nil, err
42732	}
42733	ret := &RemarketingListsListResponse{
42734		ServerResponse: googleapi.ServerResponse{
42735			Header:         res.Header,
42736			HTTPStatusCode: res.StatusCode,
42737		},
42738	}
42739	target := &ret
42740	if err := gensupport.DecodeResponse(target, res); err != nil {
42741		return nil, err
42742	}
42743	return ret, nil
42744	// {
42745	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
42746	//   "httpMethod": "GET",
42747	//   "id": "dfareporting.remarketingLists.list",
42748	//   "parameterOrder": [
42749	//     "profileId",
42750	//     "advertiserId"
42751	//   ],
42752	//   "parameters": {
42753	//     "active": {
42754	//       "description": "Select only active or only inactive remarketing lists.",
42755	//       "location": "query",
42756	//       "type": "boolean"
42757	//     },
42758	//     "advertiserId": {
42759	//       "description": "Select only remarketing lists owned by this advertiser.",
42760	//       "format": "int64",
42761	//       "location": "query",
42762	//       "required": true,
42763	//       "type": "string"
42764	//     },
42765	//     "floodlightActivityId": {
42766	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
42767	//       "format": "int64",
42768	//       "location": "query",
42769	//       "type": "string"
42770	//     },
42771	//     "maxResults": {
42772	//       "default": "1000",
42773	//       "description": "Maximum number of results to return.",
42774	//       "format": "int32",
42775	//       "location": "query",
42776	//       "maximum": "1000",
42777	//       "minimum": "0",
42778	//       "type": "integer"
42779	//     },
42780	//     "name": {
42781	//       "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\".",
42782	//       "location": "query",
42783	//       "type": "string"
42784	//     },
42785	//     "pageToken": {
42786	//       "description": "Value of the nextPageToken from the previous result page.",
42787	//       "location": "query",
42788	//       "type": "string"
42789	//     },
42790	//     "profileId": {
42791	//       "description": "User profile ID associated with this request.",
42792	//       "format": "int64",
42793	//       "location": "path",
42794	//       "required": true,
42795	//       "type": "string"
42796	//     },
42797	//     "sortField": {
42798	//       "default": "ID",
42799	//       "description": "Field by which to sort the list.",
42800	//       "enum": [
42801	//         "ID",
42802	//         "NAME"
42803	//       ],
42804	//       "enumDescriptions": [
42805	//         "",
42806	//         ""
42807	//       ],
42808	//       "location": "query",
42809	//       "type": "string"
42810	//     },
42811	//     "sortOrder": {
42812	//       "default": "ASCENDING",
42813	//       "description": "Order of sorted results.",
42814	//       "enum": [
42815	//         "ASCENDING",
42816	//         "DESCENDING"
42817	//       ],
42818	//       "enumDescriptions": [
42819	//         "",
42820	//         ""
42821	//       ],
42822	//       "location": "query",
42823	//       "type": "string"
42824	//     }
42825	//   },
42826	//   "path": "userprofiles/{profileId}/remarketingLists",
42827	//   "response": {
42828	//     "$ref": "RemarketingListsListResponse"
42829	//   },
42830	//   "scopes": [
42831	//     "https://www.googleapis.com/auth/dfatrafficking"
42832	//   ]
42833	// }
42834
42835}
42836
42837// Pages invokes f for each page of results.
42838// A non-nil error returned from f will halt the iteration.
42839// The provided context supersedes any context provided to the Context method.
42840func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
42841	c.ctx_ = ctx
42842	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
42843	for {
42844		x, err := c.Do()
42845		if err != nil {
42846			return err
42847		}
42848		if err := f(x); err != nil {
42849			return err
42850		}
42851		if x.NextPageToken == "" {
42852			return nil
42853		}
42854		c.PageToken(x.NextPageToken)
42855	}
42856}
42857
42858// method id "dfareporting.remarketingLists.patch":
42859
42860type RemarketingListsPatchCall struct {
42861	s               *Service
42862	profileId       int64
42863	remarketinglist *RemarketingList
42864	urlParams_      gensupport.URLParams
42865	ctx_            context.Context
42866	header_         http.Header
42867}
42868
42869// Patch: Updates an existing remarketing list. This method supports
42870// patch semantics.
42871func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
42872	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42873	c.profileId = profileId
42874	c.urlParams_.Set("id", fmt.Sprint(id))
42875	c.remarketinglist = remarketinglist
42876	return c
42877}
42878
42879// Fields allows partial responses to be retrieved. See
42880// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42881// for more information.
42882func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
42883	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42884	return c
42885}
42886
42887// Context sets the context to be used in this call's Do method. Any
42888// pending HTTP request will be aborted if the provided context is
42889// canceled.
42890func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
42891	c.ctx_ = ctx
42892	return c
42893}
42894
42895// Header returns an http.Header that can be modified by the caller to
42896// add HTTP headers to the request.
42897func (c *RemarketingListsPatchCall) Header() http.Header {
42898	if c.header_ == nil {
42899		c.header_ = make(http.Header)
42900	}
42901	return c.header_
42902}
42903
42904func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
42905	reqHeaders := make(http.Header)
42906	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42907	for k, v := range c.header_ {
42908		reqHeaders[k] = v
42909	}
42910	reqHeaders.Set("User-Agent", c.s.userAgent())
42911	var body io.Reader = nil
42912	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
42913	if err != nil {
42914		return nil, err
42915	}
42916	reqHeaders.Set("Content-Type", "application/json")
42917	c.urlParams_.Set("alt", alt)
42918	c.urlParams_.Set("prettyPrint", "false")
42919	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
42920	urls += "?" + c.urlParams_.Encode()
42921	req, err := http.NewRequest("PATCH", urls, body)
42922	if err != nil {
42923		return nil, err
42924	}
42925	req.Header = reqHeaders
42926	googleapi.Expand(req.URL, map[string]string{
42927		"profileId": strconv.FormatInt(c.profileId, 10),
42928	})
42929	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42930}
42931
42932// Do executes the "dfareporting.remarketingLists.patch" call.
42933// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
42934// status code is an error. Response headers are in either
42935// *RemarketingList.ServerResponse.Header or (if a response was returned
42936// at all) in error.(*googleapi.Error).Header. Use
42937// googleapi.IsNotModified to check whether the returned error was
42938// because http.StatusNotModified was returned.
42939func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
42940	gensupport.SetOptions(c.urlParams_, opts...)
42941	res, err := c.doRequest("json")
42942	if res != nil && res.StatusCode == http.StatusNotModified {
42943		if res.Body != nil {
42944			res.Body.Close()
42945		}
42946		return nil, &googleapi.Error{
42947			Code:   res.StatusCode,
42948			Header: res.Header,
42949		}
42950	}
42951	if err != nil {
42952		return nil, err
42953	}
42954	defer googleapi.CloseBody(res)
42955	if err := googleapi.CheckResponse(res); err != nil {
42956		return nil, err
42957	}
42958	ret := &RemarketingList{
42959		ServerResponse: googleapi.ServerResponse{
42960			Header:         res.Header,
42961			HTTPStatusCode: res.StatusCode,
42962		},
42963	}
42964	target := &ret
42965	if err := gensupport.DecodeResponse(target, res); err != nil {
42966		return nil, err
42967	}
42968	return ret, nil
42969	// {
42970	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
42971	//   "httpMethod": "PATCH",
42972	//   "id": "dfareporting.remarketingLists.patch",
42973	//   "parameterOrder": [
42974	//     "profileId",
42975	//     "id"
42976	//   ],
42977	//   "parameters": {
42978	//     "id": {
42979	//       "description": "Remarketing list ID.",
42980	//       "format": "int64",
42981	//       "location": "query",
42982	//       "required": true,
42983	//       "type": "string"
42984	//     },
42985	//     "profileId": {
42986	//       "description": "User profile ID associated with this request.",
42987	//       "format": "int64",
42988	//       "location": "path",
42989	//       "required": true,
42990	//       "type": "string"
42991	//     }
42992	//   },
42993	//   "path": "userprofiles/{profileId}/remarketingLists",
42994	//   "request": {
42995	//     "$ref": "RemarketingList"
42996	//   },
42997	//   "response": {
42998	//     "$ref": "RemarketingList"
42999	//   },
43000	//   "scopes": [
43001	//     "https://www.googleapis.com/auth/dfatrafficking"
43002	//   ]
43003	// }
43004
43005}
43006
43007// method id "dfareporting.remarketingLists.update":
43008
43009type RemarketingListsUpdateCall struct {
43010	s               *Service
43011	profileId       int64
43012	remarketinglist *RemarketingList
43013	urlParams_      gensupport.URLParams
43014	ctx_            context.Context
43015	header_         http.Header
43016}
43017
43018// Update: Updates an existing remarketing list.
43019func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
43020	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43021	c.profileId = profileId
43022	c.remarketinglist = remarketinglist
43023	return c
43024}
43025
43026// Fields allows partial responses to be retrieved. See
43027// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43028// for more information.
43029func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
43030	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43031	return c
43032}
43033
43034// Context sets the context to be used in this call's Do method. Any
43035// pending HTTP request will be aborted if the provided context is
43036// canceled.
43037func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
43038	c.ctx_ = ctx
43039	return c
43040}
43041
43042// Header returns an http.Header that can be modified by the caller to
43043// add HTTP headers to the request.
43044func (c *RemarketingListsUpdateCall) Header() http.Header {
43045	if c.header_ == nil {
43046		c.header_ = make(http.Header)
43047	}
43048	return c.header_
43049}
43050
43051func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
43052	reqHeaders := make(http.Header)
43053	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43054	for k, v := range c.header_ {
43055		reqHeaders[k] = v
43056	}
43057	reqHeaders.Set("User-Agent", c.s.userAgent())
43058	var body io.Reader = nil
43059	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43060	if err != nil {
43061		return nil, err
43062	}
43063	reqHeaders.Set("Content-Type", "application/json")
43064	c.urlParams_.Set("alt", alt)
43065	c.urlParams_.Set("prettyPrint", "false")
43066	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43067	urls += "?" + c.urlParams_.Encode()
43068	req, err := http.NewRequest("PUT", urls, body)
43069	if err != nil {
43070		return nil, err
43071	}
43072	req.Header = reqHeaders
43073	googleapi.Expand(req.URL, map[string]string{
43074		"profileId": strconv.FormatInt(c.profileId, 10),
43075	})
43076	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43077}
43078
43079// Do executes the "dfareporting.remarketingLists.update" call.
43080// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43081// status code is an error. Response headers are in either
43082// *RemarketingList.ServerResponse.Header or (if a response was returned
43083// at all) in error.(*googleapi.Error).Header. Use
43084// googleapi.IsNotModified to check whether the returned error was
43085// because http.StatusNotModified was returned.
43086func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43087	gensupport.SetOptions(c.urlParams_, opts...)
43088	res, err := c.doRequest("json")
43089	if res != nil && res.StatusCode == http.StatusNotModified {
43090		if res.Body != nil {
43091			res.Body.Close()
43092		}
43093		return nil, &googleapi.Error{
43094			Code:   res.StatusCode,
43095			Header: res.Header,
43096		}
43097	}
43098	if err != nil {
43099		return nil, err
43100	}
43101	defer googleapi.CloseBody(res)
43102	if err := googleapi.CheckResponse(res); err != nil {
43103		return nil, err
43104	}
43105	ret := &RemarketingList{
43106		ServerResponse: googleapi.ServerResponse{
43107			Header:         res.Header,
43108			HTTPStatusCode: res.StatusCode,
43109		},
43110	}
43111	target := &ret
43112	if err := gensupport.DecodeResponse(target, res); err != nil {
43113		return nil, err
43114	}
43115	return ret, nil
43116	// {
43117	//   "description": "Updates an existing remarketing list.",
43118	//   "httpMethod": "PUT",
43119	//   "id": "dfareporting.remarketingLists.update",
43120	//   "parameterOrder": [
43121	//     "profileId"
43122	//   ],
43123	//   "parameters": {
43124	//     "profileId": {
43125	//       "description": "User profile ID associated with this request.",
43126	//       "format": "int64",
43127	//       "location": "path",
43128	//       "required": true,
43129	//       "type": "string"
43130	//     }
43131	//   },
43132	//   "path": "userprofiles/{profileId}/remarketingLists",
43133	//   "request": {
43134	//     "$ref": "RemarketingList"
43135	//   },
43136	//   "response": {
43137	//     "$ref": "RemarketingList"
43138	//   },
43139	//   "scopes": [
43140	//     "https://www.googleapis.com/auth/dfatrafficking"
43141	//   ]
43142	// }
43143
43144}
43145
43146// method id "dfareporting.reports.delete":
43147
43148type ReportsDeleteCall struct {
43149	s          *Service
43150	profileId  int64
43151	reportId   int64
43152	urlParams_ gensupport.URLParams
43153	ctx_       context.Context
43154	header_    http.Header
43155}
43156
43157// Delete: Deletes a report by its ID.
43158func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
43159	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43160	c.profileId = profileId
43161	c.reportId = reportId
43162	return c
43163}
43164
43165// Fields allows partial responses to be retrieved. See
43166// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43167// for more information.
43168func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
43169	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43170	return c
43171}
43172
43173// Context sets the context to be used in this call's Do method. Any
43174// pending HTTP request will be aborted if the provided context is
43175// canceled.
43176func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
43177	c.ctx_ = ctx
43178	return c
43179}
43180
43181// Header returns an http.Header that can be modified by the caller to
43182// add HTTP headers to the request.
43183func (c *ReportsDeleteCall) Header() http.Header {
43184	if c.header_ == nil {
43185		c.header_ = make(http.Header)
43186	}
43187	return c.header_
43188}
43189
43190func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
43191	reqHeaders := make(http.Header)
43192	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43193	for k, v := range c.header_ {
43194		reqHeaders[k] = v
43195	}
43196	reqHeaders.Set("User-Agent", c.s.userAgent())
43197	var body io.Reader = nil
43198	c.urlParams_.Set("alt", alt)
43199	c.urlParams_.Set("prettyPrint", "false")
43200	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
43201	urls += "?" + c.urlParams_.Encode()
43202	req, err := http.NewRequest("DELETE", urls, body)
43203	if err != nil {
43204		return nil, err
43205	}
43206	req.Header = reqHeaders
43207	googleapi.Expand(req.URL, map[string]string{
43208		"profileId": strconv.FormatInt(c.profileId, 10),
43209		"reportId":  strconv.FormatInt(c.reportId, 10),
43210	})
43211	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43212}
43213
43214// Do executes the "dfareporting.reports.delete" call.
43215func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
43216	gensupport.SetOptions(c.urlParams_, opts...)
43217	res, err := c.doRequest("json")
43218	if err != nil {
43219		return err
43220	}
43221	defer googleapi.CloseBody(res)
43222	if err := googleapi.CheckResponse(res); err != nil {
43223		return err
43224	}
43225	return nil
43226	// {
43227	//   "description": "Deletes a report by its ID.",
43228	//   "httpMethod": "DELETE",
43229	//   "id": "dfareporting.reports.delete",
43230	//   "parameterOrder": [
43231	//     "profileId",
43232	//     "reportId"
43233	//   ],
43234	//   "parameters": {
43235	//     "profileId": {
43236	//       "description": "The DFA user profile ID.",
43237	//       "format": "int64",
43238	//       "location": "path",
43239	//       "required": true,
43240	//       "type": "string"
43241	//     },
43242	//     "reportId": {
43243	//       "description": "The ID of the report.",
43244	//       "format": "int64",
43245	//       "location": "path",
43246	//       "required": true,
43247	//       "type": "string"
43248	//     }
43249	//   },
43250	//   "path": "userprofiles/{profileId}/reports/{reportId}",
43251	//   "scopes": [
43252	//     "https://www.googleapis.com/auth/dfareporting"
43253	//   ]
43254	// }
43255
43256}
43257
43258// method id "dfareporting.reports.get":
43259
43260type ReportsGetCall struct {
43261	s            *Service
43262	profileId    int64
43263	reportId     int64
43264	urlParams_   gensupport.URLParams
43265	ifNoneMatch_ string
43266	ctx_         context.Context
43267	header_      http.Header
43268}
43269
43270// Get: Retrieves a report by its ID.
43271func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
43272	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43273	c.profileId = profileId
43274	c.reportId = reportId
43275	return c
43276}
43277
43278// Fields allows partial responses to be retrieved. See
43279// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43280// for more information.
43281func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
43282	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43283	return c
43284}
43285
43286// IfNoneMatch sets the optional parameter which makes the operation
43287// fail if the object's ETag matches the given value. This is useful for
43288// getting updates only after the object has changed since the last
43289// request. Use googleapi.IsNotModified to check whether the response
43290// error from Do is the result of In-None-Match.
43291func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
43292	c.ifNoneMatch_ = entityTag
43293	return c
43294}
43295
43296// Context sets the context to be used in this call's Do method. Any
43297// pending HTTP request will be aborted if the provided context is
43298// canceled.
43299func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
43300	c.ctx_ = ctx
43301	return c
43302}
43303
43304// Header returns an http.Header that can be modified by the caller to
43305// add HTTP headers to the request.
43306func (c *ReportsGetCall) Header() http.Header {
43307	if c.header_ == nil {
43308		c.header_ = make(http.Header)
43309	}
43310	return c.header_
43311}
43312
43313func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
43314	reqHeaders := make(http.Header)
43315	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43316	for k, v := range c.header_ {
43317		reqHeaders[k] = v
43318	}
43319	reqHeaders.Set("User-Agent", c.s.userAgent())
43320	if c.ifNoneMatch_ != "" {
43321		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43322	}
43323	var body io.Reader = nil
43324	c.urlParams_.Set("alt", alt)
43325	c.urlParams_.Set("prettyPrint", "false")
43326	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
43327	urls += "?" + c.urlParams_.Encode()
43328	req, err := http.NewRequest("GET", urls, body)
43329	if err != nil {
43330		return nil, err
43331	}
43332	req.Header = reqHeaders
43333	googleapi.Expand(req.URL, map[string]string{
43334		"profileId": strconv.FormatInt(c.profileId, 10),
43335		"reportId":  strconv.FormatInt(c.reportId, 10),
43336	})
43337	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43338}
43339
43340// Do executes the "dfareporting.reports.get" call.
43341// Exactly one of *Report or error will be non-nil. Any non-2xx status
43342// code is an error. Response headers are in either
43343// *Report.ServerResponse.Header or (if a response was returned at all)
43344// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
43345// check whether the returned error was because http.StatusNotModified
43346// was returned.
43347func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
43348	gensupport.SetOptions(c.urlParams_, opts...)
43349	res, err := c.doRequest("json")
43350	if res != nil && res.StatusCode == http.StatusNotModified {
43351		if res.Body != nil {
43352			res.Body.Close()
43353		}
43354		return nil, &googleapi.Error{
43355			Code:   res.StatusCode,
43356			Header: res.Header,
43357		}
43358	}
43359	if err != nil {
43360		return nil, err
43361	}
43362	defer googleapi.CloseBody(res)
43363	if err := googleapi.CheckResponse(res); err != nil {
43364		return nil, err
43365	}
43366	ret := &Report{
43367		ServerResponse: googleapi.ServerResponse{
43368			Header:         res.Header,
43369			HTTPStatusCode: res.StatusCode,
43370		},
43371	}
43372	target := &ret
43373	if err := gensupport.DecodeResponse(target, res); err != nil {
43374		return nil, err
43375	}
43376	return ret, nil
43377	// {
43378	//   "description": "Retrieves a report by its ID.",
43379	//   "httpMethod": "GET",
43380	//   "id": "dfareporting.reports.get",
43381	//   "parameterOrder": [
43382	//     "profileId",
43383	//     "reportId"
43384	//   ],
43385	//   "parameters": {
43386	//     "profileId": {
43387	//       "description": "The DFA user profile ID.",
43388	//       "format": "int64",
43389	//       "location": "path",
43390	//       "required": true,
43391	//       "type": "string"
43392	//     },
43393	//     "reportId": {
43394	//       "description": "The ID of the report.",
43395	//       "format": "int64",
43396	//       "location": "path",
43397	//       "required": true,
43398	//       "type": "string"
43399	//     }
43400	//   },
43401	//   "path": "userprofiles/{profileId}/reports/{reportId}",
43402	//   "response": {
43403	//     "$ref": "Report"
43404	//   },
43405	//   "scopes": [
43406	//     "https://www.googleapis.com/auth/dfareporting"
43407	//   ]
43408	// }
43409
43410}
43411
43412// method id "dfareporting.reports.insert":
43413
43414type ReportsInsertCall struct {
43415	s          *Service
43416	profileId  int64
43417	report     *Report
43418	urlParams_ gensupport.URLParams
43419	ctx_       context.Context
43420	header_    http.Header
43421}
43422
43423// Insert: Creates a report.
43424func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
43425	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43426	c.profileId = profileId
43427	c.report = report
43428	return c
43429}
43430
43431// Fields allows partial responses to be retrieved. See
43432// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43433// for more information.
43434func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
43435	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43436	return c
43437}
43438
43439// Context sets the context to be used in this call's Do method. Any
43440// pending HTTP request will be aborted if the provided context is
43441// canceled.
43442func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
43443	c.ctx_ = ctx
43444	return c
43445}
43446
43447// Header returns an http.Header that can be modified by the caller to
43448// add HTTP headers to the request.
43449func (c *ReportsInsertCall) Header() http.Header {
43450	if c.header_ == nil {
43451		c.header_ = make(http.Header)
43452	}
43453	return c.header_
43454}
43455
43456func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
43457	reqHeaders := make(http.Header)
43458	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43459	for k, v := range c.header_ {
43460		reqHeaders[k] = v
43461	}
43462	reqHeaders.Set("User-Agent", c.s.userAgent())
43463	var body io.Reader = nil
43464	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
43465	if err != nil {
43466		return nil, err
43467	}
43468	reqHeaders.Set("Content-Type", "application/json")
43469	c.urlParams_.Set("alt", alt)
43470	c.urlParams_.Set("prettyPrint", "false")
43471	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
43472	urls += "?" + c.urlParams_.Encode()
43473	req, err := http.NewRequest("POST", urls, body)
43474	if err != nil {
43475		return nil, err
43476	}
43477	req.Header = reqHeaders
43478	googleapi.Expand(req.URL, map[string]string{
43479		"profileId": strconv.FormatInt(c.profileId, 10),
43480	})
43481	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43482}
43483
43484// Do executes the "dfareporting.reports.insert" call.
43485// Exactly one of *Report or error will be non-nil. Any non-2xx status
43486// code is an error. Response headers are in either
43487// *Report.ServerResponse.Header or (if a response was returned at all)
43488// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
43489// check whether the returned error was because http.StatusNotModified
43490// was returned.
43491func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
43492	gensupport.SetOptions(c.urlParams_, opts...)
43493	res, err := c.doRequest("json")
43494	if res != nil && res.StatusCode == http.StatusNotModified {
43495		if res.Body != nil {
43496			res.Body.Close()
43497		}
43498		return nil, &googleapi.Error{
43499			Code:   res.StatusCode,
43500			Header: res.Header,
43501		}
43502	}
43503	if err != nil {
43504		return nil, err
43505	}
43506	defer googleapi.CloseBody(res)
43507	if err := googleapi.CheckResponse(res); err != nil {
43508		return nil, err
43509	}
43510	ret := &Report{
43511		ServerResponse: googleapi.ServerResponse{
43512			Header:         res.Header,
43513			HTTPStatusCode: res.StatusCode,
43514		},
43515	}
43516	target := &ret
43517	if err := gensupport.DecodeResponse(target, res); err != nil {
43518		return nil, err
43519	}
43520	return ret, nil
43521	// {
43522	//   "description": "Creates a report.",
43523	//   "httpMethod": "POST",
43524	//   "id": "dfareporting.reports.insert",
43525	//   "parameterOrder": [
43526	//     "profileId"
43527	//   ],
43528	//   "parameters": {
43529	//     "profileId": {
43530	//       "description": "The DFA user profile ID.",
43531	//       "format": "int64",
43532	//       "location": "path",
43533	//       "required": true,
43534	//       "type": "string"
43535	//     }
43536	//   },
43537	//   "path": "userprofiles/{profileId}/reports",
43538	//   "request": {
43539	//     "$ref": "Report"
43540	//   },
43541	//   "response": {
43542	//     "$ref": "Report"
43543	//   },
43544	//   "scopes": [
43545	//     "https://www.googleapis.com/auth/dfareporting"
43546	//   ]
43547	// }
43548
43549}
43550
43551// method id "dfareporting.reports.list":
43552
43553type ReportsListCall struct {
43554	s            *Service
43555	profileId    int64
43556	urlParams_   gensupport.URLParams
43557	ifNoneMatch_ string
43558	ctx_         context.Context
43559	header_      http.Header
43560}
43561
43562// List: Retrieves list of reports.
43563func (r *ReportsService) List(profileId int64) *ReportsListCall {
43564	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43565	c.profileId = profileId
43566	return c
43567}
43568
43569// MaxResults sets the optional parameter "maxResults": Maximum number
43570// of results to return.
43571func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
43572	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
43573	return c
43574}
43575
43576// PageToken sets the optional parameter "pageToken": The value of the
43577// nextToken from the previous result page.
43578func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
43579	c.urlParams_.Set("pageToken", pageToken)
43580	return c
43581}
43582
43583// Scope sets the optional parameter "scope": The scope that defines
43584// which results are returned.
43585//
43586// Possible values:
43587//   "ALL" - All reports in account.
43588//   "MINE" (default) - My reports.
43589func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
43590	c.urlParams_.Set("scope", scope)
43591	return c
43592}
43593
43594// SortField sets the optional parameter "sortField": The field by which
43595// to sort the list.
43596//
43597// Possible values:
43598//   "ID" - Sort by report ID.
43599//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
43600//   "NAME" - Sort by name of reports.
43601func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
43602	c.urlParams_.Set("sortField", sortField)
43603	return c
43604}
43605
43606// SortOrder sets the optional parameter "sortOrder": Order of sorted
43607// results.
43608//
43609// Possible values:
43610//   "ASCENDING" - Ascending order.
43611//   "DESCENDING" (default) - Descending order.
43612func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
43613	c.urlParams_.Set("sortOrder", sortOrder)
43614	return c
43615}
43616
43617// Fields allows partial responses to be retrieved. See
43618// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43619// for more information.
43620func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
43621	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43622	return c
43623}
43624
43625// IfNoneMatch sets the optional parameter which makes the operation
43626// fail if the object's ETag matches the given value. This is useful for
43627// getting updates only after the object has changed since the last
43628// request. Use googleapi.IsNotModified to check whether the response
43629// error from Do is the result of In-None-Match.
43630func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
43631	c.ifNoneMatch_ = entityTag
43632	return c
43633}
43634
43635// Context sets the context to be used in this call's Do method. Any
43636// pending HTTP request will be aborted if the provided context is
43637// canceled.
43638func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
43639	c.ctx_ = ctx
43640	return c
43641}
43642
43643// Header returns an http.Header that can be modified by the caller to
43644// add HTTP headers to the request.
43645func (c *ReportsListCall) Header() http.Header {
43646	if c.header_ == nil {
43647		c.header_ = make(http.Header)
43648	}
43649	return c.header_
43650}
43651
43652func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
43653	reqHeaders := make(http.Header)
43654	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43655	for k, v := range c.header_ {
43656		reqHeaders[k] = v
43657	}
43658	reqHeaders.Set("User-Agent", c.s.userAgent())
43659	if c.ifNoneMatch_ != "" {
43660		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43661	}
43662	var body io.Reader = nil
43663	c.urlParams_.Set("alt", alt)
43664	c.urlParams_.Set("prettyPrint", "false")
43665	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
43666	urls += "?" + c.urlParams_.Encode()
43667	req, err := http.NewRequest("GET", urls, body)
43668	if err != nil {
43669		return nil, err
43670	}
43671	req.Header = reqHeaders
43672	googleapi.Expand(req.URL, map[string]string{
43673		"profileId": strconv.FormatInt(c.profileId, 10),
43674	})
43675	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43676}
43677
43678// Do executes the "dfareporting.reports.list" call.
43679// Exactly one of *ReportList or error will be non-nil. Any non-2xx
43680// status code is an error. Response headers are in either
43681// *ReportList.ServerResponse.Header or (if a response was returned at
43682// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
43683// to check whether the returned error was because
43684// http.StatusNotModified was returned.
43685func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
43686	gensupport.SetOptions(c.urlParams_, opts...)
43687	res, err := c.doRequest("json")
43688	if res != nil && res.StatusCode == http.StatusNotModified {
43689		if res.Body != nil {
43690			res.Body.Close()
43691		}
43692		return nil, &googleapi.Error{
43693			Code:   res.StatusCode,
43694			Header: res.Header,
43695		}
43696	}
43697	if err != nil {
43698		return nil, err
43699	}
43700	defer googleapi.CloseBody(res)
43701	if err := googleapi.CheckResponse(res); err != nil {
43702		return nil, err
43703	}
43704	ret := &ReportList{
43705		ServerResponse: googleapi.ServerResponse{
43706			Header:         res.Header,
43707			HTTPStatusCode: res.StatusCode,
43708		},
43709	}
43710	target := &ret
43711	if err := gensupport.DecodeResponse(target, res); err != nil {
43712		return nil, err
43713	}
43714	return ret, nil
43715	// {
43716	//   "description": "Retrieves list of reports.",
43717	//   "httpMethod": "GET",
43718	//   "id": "dfareporting.reports.list",
43719	//   "parameterOrder": [
43720	//     "profileId"
43721	//   ],
43722	//   "parameters": {
43723	//     "maxResults": {
43724	//       "default": "10",
43725	//       "description": "Maximum number of results to return.",
43726	//       "format": "int32",
43727	//       "location": "query",
43728	//       "maximum": "10",
43729	//       "minimum": "0",
43730	//       "type": "integer"
43731	//     },
43732	//     "pageToken": {
43733	//       "description": "The value of the nextToken from the previous result page.",
43734	//       "location": "query",
43735	//       "type": "string"
43736	//     },
43737	//     "profileId": {
43738	//       "description": "The DFA user profile ID.",
43739	//       "format": "int64",
43740	//       "location": "path",
43741	//       "required": true,
43742	//       "type": "string"
43743	//     },
43744	//     "scope": {
43745	//       "default": "MINE",
43746	//       "description": "The scope that defines which results are returned.",
43747	//       "enum": [
43748	//         "ALL",
43749	//         "MINE"
43750	//       ],
43751	//       "enumDescriptions": [
43752	//         "All reports in account.",
43753	//         "My reports."
43754	//       ],
43755	//       "location": "query",
43756	//       "type": "string"
43757	//     },
43758	//     "sortField": {
43759	//       "default": "LAST_MODIFIED_TIME",
43760	//       "description": "The field by which to sort the list.",
43761	//       "enum": [
43762	//         "ID",
43763	//         "LAST_MODIFIED_TIME",
43764	//         "NAME"
43765	//       ],
43766	//       "enumDescriptions": [
43767	//         "Sort by report ID.",
43768	//         "Sort by 'lastModifiedTime' field.",
43769	//         "Sort by name of reports."
43770	//       ],
43771	//       "location": "query",
43772	//       "type": "string"
43773	//     },
43774	//     "sortOrder": {
43775	//       "default": "DESCENDING",
43776	//       "description": "Order of sorted results.",
43777	//       "enum": [
43778	//         "ASCENDING",
43779	//         "DESCENDING"
43780	//       ],
43781	//       "enumDescriptions": [
43782	//         "Ascending order.",
43783	//         "Descending order."
43784	//       ],
43785	//       "location": "query",
43786	//       "type": "string"
43787	//     }
43788	//   },
43789	//   "path": "userprofiles/{profileId}/reports",
43790	//   "response": {
43791	//     "$ref": "ReportList"
43792	//   },
43793	//   "scopes": [
43794	//     "https://www.googleapis.com/auth/dfareporting"
43795	//   ]
43796	// }
43797
43798}
43799
43800// Pages invokes f for each page of results.
43801// A non-nil error returned from f will halt the iteration.
43802// The provided context supersedes any context provided to the Context method.
43803func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
43804	c.ctx_ = ctx
43805	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
43806	for {
43807		x, err := c.Do()
43808		if err != nil {
43809			return err
43810		}
43811		if err := f(x); err != nil {
43812			return err
43813		}
43814		if x.NextPageToken == "" {
43815			return nil
43816		}
43817		c.PageToken(x.NextPageToken)
43818	}
43819}
43820
43821// method id "dfareporting.reports.patch":
43822
43823type ReportsPatchCall struct {
43824	s          *Service
43825	profileId  int64
43826	reportId   int64
43827	report     *Report
43828	urlParams_ gensupport.URLParams
43829	ctx_       context.Context
43830	header_    http.Header
43831}
43832
43833// Patch: Updates a report. This method supports patch semantics.
43834func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
43835	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43836	c.profileId = profileId
43837	c.reportId = reportId
43838	c.report = report
43839	return c
43840}
43841
43842// Fields allows partial responses to be retrieved. See
43843// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43844// for more information.
43845func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
43846	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43847	return c
43848}
43849
43850// Context sets the context to be used in this call's Do method. Any
43851// pending HTTP request will be aborted if the provided context is
43852// canceled.
43853func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
43854	c.ctx_ = ctx
43855	return c
43856}
43857
43858// Header returns an http.Header that can be modified by the caller to
43859// add HTTP headers to the request.
43860func (c *ReportsPatchCall) Header() http.Header {
43861	if c.header_ == nil {
43862		c.header_ = make(http.Header)
43863	}
43864	return c.header_
43865}
43866
43867func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
43868	reqHeaders := make(http.Header)
43869	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43870	for k, v := range c.header_ {
43871		reqHeaders[k] = v
43872	}
43873	reqHeaders.Set("User-Agent", c.s.userAgent())
43874	var body io.Reader = nil
43875	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
43876	if err != nil {
43877		return nil, err
43878	}
43879	reqHeaders.Set("Content-Type", "application/json")
43880	c.urlParams_.Set("alt", alt)
43881	c.urlParams_.Set("prettyPrint", "false")
43882	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
43883	urls += "?" + c.urlParams_.Encode()
43884	req, err := http.NewRequest("PATCH", urls, body)
43885	if err != nil {
43886		return nil, err
43887	}
43888	req.Header = reqHeaders
43889	googleapi.Expand(req.URL, map[string]string{
43890		"profileId": strconv.FormatInt(c.profileId, 10),
43891		"reportId":  strconv.FormatInt(c.reportId, 10),
43892	})
43893	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43894}
43895
43896// Do executes the "dfareporting.reports.patch" call.
43897// Exactly one of *Report or error will be non-nil. Any non-2xx status
43898// code is an error. Response headers are in either
43899// *Report.ServerResponse.Header or (if a response was returned at all)
43900// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
43901// check whether the returned error was because http.StatusNotModified
43902// was returned.
43903func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
43904	gensupport.SetOptions(c.urlParams_, opts...)
43905	res, err := c.doRequest("json")
43906	if res != nil && res.StatusCode == http.StatusNotModified {
43907		if res.Body != nil {
43908			res.Body.Close()
43909		}
43910		return nil, &googleapi.Error{
43911			Code:   res.StatusCode,
43912			Header: res.Header,
43913		}
43914	}
43915	if err != nil {
43916		return nil, err
43917	}
43918	defer googleapi.CloseBody(res)
43919	if err := googleapi.CheckResponse(res); err != nil {
43920		return nil, err
43921	}
43922	ret := &Report{
43923		ServerResponse: googleapi.ServerResponse{
43924			Header:         res.Header,
43925			HTTPStatusCode: res.StatusCode,
43926		},
43927	}
43928	target := &ret
43929	if err := gensupport.DecodeResponse(target, res); err != nil {
43930		return nil, err
43931	}
43932	return ret, nil
43933	// {
43934	//   "description": "Updates a report. This method supports patch semantics.",
43935	//   "httpMethod": "PATCH",
43936	//   "id": "dfareporting.reports.patch",
43937	//   "parameterOrder": [
43938	//     "profileId",
43939	//     "reportId"
43940	//   ],
43941	//   "parameters": {
43942	//     "profileId": {
43943	//       "description": "The DFA user profile ID.",
43944	//       "format": "int64",
43945	//       "location": "path",
43946	//       "required": true,
43947	//       "type": "string"
43948	//     },
43949	//     "reportId": {
43950	//       "description": "The ID of the report.",
43951	//       "format": "int64",
43952	//       "location": "path",
43953	//       "required": true,
43954	//       "type": "string"
43955	//     }
43956	//   },
43957	//   "path": "userprofiles/{profileId}/reports/{reportId}",
43958	//   "request": {
43959	//     "$ref": "Report"
43960	//   },
43961	//   "response": {
43962	//     "$ref": "Report"
43963	//   },
43964	//   "scopes": [
43965	//     "https://www.googleapis.com/auth/dfareporting"
43966	//   ]
43967	// }
43968
43969}
43970
43971// method id "dfareporting.reports.run":
43972
43973type ReportsRunCall struct {
43974	s          *Service
43975	profileId  int64
43976	reportId   int64
43977	urlParams_ gensupport.URLParams
43978	ctx_       context.Context
43979	header_    http.Header
43980}
43981
43982// Run: Runs a report.
43983func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
43984	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43985	c.profileId = profileId
43986	c.reportId = reportId
43987	return c
43988}
43989
43990// Synchronous sets the optional parameter "synchronous": If set and
43991// true, tries to run the report synchronously.
43992func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
43993	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
43994	return c
43995}
43996
43997// Fields allows partial responses to be retrieved. See
43998// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43999// for more information.
44000func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
44001	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44002	return c
44003}
44004
44005// Context sets the context to be used in this call's Do method. Any
44006// pending HTTP request will be aborted if the provided context is
44007// canceled.
44008func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
44009	c.ctx_ = ctx
44010	return c
44011}
44012
44013// Header returns an http.Header that can be modified by the caller to
44014// add HTTP headers to the request.
44015func (c *ReportsRunCall) Header() http.Header {
44016	if c.header_ == nil {
44017		c.header_ = make(http.Header)
44018	}
44019	return c.header_
44020}
44021
44022func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
44023	reqHeaders := make(http.Header)
44024	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44025	for k, v := range c.header_ {
44026		reqHeaders[k] = v
44027	}
44028	reqHeaders.Set("User-Agent", c.s.userAgent())
44029	var body io.Reader = nil
44030	c.urlParams_.Set("alt", alt)
44031	c.urlParams_.Set("prettyPrint", "false")
44032	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
44033	urls += "?" + c.urlParams_.Encode()
44034	req, err := http.NewRequest("POST", urls, body)
44035	if err != nil {
44036		return nil, err
44037	}
44038	req.Header = reqHeaders
44039	googleapi.Expand(req.URL, map[string]string{
44040		"profileId": strconv.FormatInt(c.profileId, 10),
44041		"reportId":  strconv.FormatInt(c.reportId, 10),
44042	})
44043	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44044}
44045
44046// Do executes the "dfareporting.reports.run" call.
44047// Exactly one of *File or error will be non-nil. Any non-2xx status
44048// code is an error. Response headers are in either
44049// *File.ServerResponse.Header or (if a response was returned at all) in
44050// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
44051// whether the returned error was because http.StatusNotModified was
44052// returned.
44053func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
44054	gensupport.SetOptions(c.urlParams_, opts...)
44055	res, err := c.doRequest("json")
44056	if res != nil && res.StatusCode == http.StatusNotModified {
44057		if res.Body != nil {
44058			res.Body.Close()
44059		}
44060		return nil, &googleapi.Error{
44061			Code:   res.StatusCode,
44062			Header: res.Header,
44063		}
44064	}
44065	if err != nil {
44066		return nil, err
44067	}
44068	defer googleapi.CloseBody(res)
44069	if err := googleapi.CheckResponse(res); err != nil {
44070		return nil, err
44071	}
44072	ret := &File{
44073		ServerResponse: googleapi.ServerResponse{
44074			Header:         res.Header,
44075			HTTPStatusCode: res.StatusCode,
44076		},
44077	}
44078	target := &ret
44079	if err := gensupport.DecodeResponse(target, res); err != nil {
44080		return nil, err
44081	}
44082	return ret, nil
44083	// {
44084	//   "description": "Runs a report.",
44085	//   "httpMethod": "POST",
44086	//   "id": "dfareporting.reports.run",
44087	//   "parameterOrder": [
44088	//     "profileId",
44089	//     "reportId"
44090	//   ],
44091	//   "parameters": {
44092	//     "profileId": {
44093	//       "description": "The DFA profile ID.",
44094	//       "format": "int64",
44095	//       "location": "path",
44096	//       "required": true,
44097	//       "type": "string"
44098	//     },
44099	//     "reportId": {
44100	//       "description": "The ID of the report.",
44101	//       "format": "int64",
44102	//       "location": "path",
44103	//       "required": true,
44104	//       "type": "string"
44105	//     },
44106	//     "synchronous": {
44107	//       "default": "false",
44108	//       "description": "If set and true, tries to run the report synchronously.",
44109	//       "location": "query",
44110	//       "type": "boolean"
44111	//     }
44112	//   },
44113	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
44114	//   "response": {
44115	//     "$ref": "File"
44116	//   },
44117	//   "scopes": [
44118	//     "https://www.googleapis.com/auth/dfareporting"
44119	//   ]
44120	// }
44121
44122}
44123
44124// method id "dfareporting.reports.update":
44125
44126type ReportsUpdateCall struct {
44127	s          *Service
44128	profileId  int64
44129	reportId   int64
44130	report     *Report
44131	urlParams_ gensupport.URLParams
44132	ctx_       context.Context
44133	header_    http.Header
44134}
44135
44136// Update: Updates a report.
44137func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
44138	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44139	c.profileId = profileId
44140	c.reportId = reportId
44141	c.report = report
44142	return c
44143}
44144
44145// Fields allows partial responses to be retrieved. See
44146// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44147// for more information.
44148func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
44149	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44150	return c
44151}
44152
44153// Context sets the context to be used in this call's Do method. Any
44154// pending HTTP request will be aborted if the provided context is
44155// canceled.
44156func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
44157	c.ctx_ = ctx
44158	return c
44159}
44160
44161// Header returns an http.Header that can be modified by the caller to
44162// add HTTP headers to the request.
44163func (c *ReportsUpdateCall) Header() http.Header {
44164	if c.header_ == nil {
44165		c.header_ = make(http.Header)
44166	}
44167	return c.header_
44168}
44169
44170func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
44171	reqHeaders := make(http.Header)
44172	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44173	for k, v := range c.header_ {
44174		reqHeaders[k] = v
44175	}
44176	reqHeaders.Set("User-Agent", c.s.userAgent())
44177	var body io.Reader = nil
44178	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44179	if err != nil {
44180		return nil, err
44181	}
44182	reqHeaders.Set("Content-Type", "application/json")
44183	c.urlParams_.Set("alt", alt)
44184	c.urlParams_.Set("prettyPrint", "false")
44185	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44186	urls += "?" + c.urlParams_.Encode()
44187	req, err := http.NewRequest("PUT", urls, body)
44188	if err != nil {
44189		return nil, err
44190	}
44191	req.Header = reqHeaders
44192	googleapi.Expand(req.URL, map[string]string{
44193		"profileId": strconv.FormatInt(c.profileId, 10),
44194		"reportId":  strconv.FormatInt(c.reportId, 10),
44195	})
44196	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44197}
44198
44199// Do executes the "dfareporting.reports.update" call.
44200// Exactly one of *Report or error will be non-nil. Any non-2xx status
44201// code is an error. Response headers are in either
44202// *Report.ServerResponse.Header or (if a response was returned at all)
44203// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44204// check whether the returned error was because http.StatusNotModified
44205// was returned.
44206func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44207	gensupport.SetOptions(c.urlParams_, opts...)
44208	res, err := c.doRequest("json")
44209	if res != nil && res.StatusCode == http.StatusNotModified {
44210		if res.Body != nil {
44211			res.Body.Close()
44212		}
44213		return nil, &googleapi.Error{
44214			Code:   res.StatusCode,
44215			Header: res.Header,
44216		}
44217	}
44218	if err != nil {
44219		return nil, err
44220	}
44221	defer googleapi.CloseBody(res)
44222	if err := googleapi.CheckResponse(res); err != nil {
44223		return nil, err
44224	}
44225	ret := &Report{
44226		ServerResponse: googleapi.ServerResponse{
44227			Header:         res.Header,
44228			HTTPStatusCode: res.StatusCode,
44229		},
44230	}
44231	target := &ret
44232	if err := gensupport.DecodeResponse(target, res); err != nil {
44233		return nil, err
44234	}
44235	return ret, nil
44236	// {
44237	//   "description": "Updates a report.",
44238	//   "httpMethod": "PUT",
44239	//   "id": "dfareporting.reports.update",
44240	//   "parameterOrder": [
44241	//     "profileId",
44242	//     "reportId"
44243	//   ],
44244	//   "parameters": {
44245	//     "profileId": {
44246	//       "description": "The DFA user profile ID.",
44247	//       "format": "int64",
44248	//       "location": "path",
44249	//       "required": true,
44250	//       "type": "string"
44251	//     },
44252	//     "reportId": {
44253	//       "description": "The ID of the report.",
44254	//       "format": "int64",
44255	//       "location": "path",
44256	//       "required": true,
44257	//       "type": "string"
44258	//     }
44259	//   },
44260	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44261	//   "request": {
44262	//     "$ref": "Report"
44263	//   },
44264	//   "response": {
44265	//     "$ref": "Report"
44266	//   },
44267	//   "scopes": [
44268	//     "https://www.googleapis.com/auth/dfareporting"
44269	//   ]
44270	// }
44271
44272}
44273
44274// method id "dfareporting.reports.compatibleFields.query":
44275
44276type ReportsCompatibleFieldsQueryCall struct {
44277	s          *Service
44278	profileId  int64
44279	report     *Report
44280	urlParams_ gensupport.URLParams
44281	ctx_       context.Context
44282	header_    http.Header
44283}
44284
44285// Query: Returns the fields that are compatible to be selected in the
44286// respective sections of a report criteria, given the fields already
44287// selected in the input report and user permissions.
44288func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
44289	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44290	c.profileId = profileId
44291	c.report = report
44292	return c
44293}
44294
44295// Fields allows partial responses to be retrieved. See
44296// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44297// for more information.
44298func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
44299	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44300	return c
44301}
44302
44303// Context sets the context to be used in this call's Do method. Any
44304// pending HTTP request will be aborted if the provided context is
44305// canceled.
44306func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
44307	c.ctx_ = ctx
44308	return c
44309}
44310
44311// Header returns an http.Header that can be modified by the caller to
44312// add HTTP headers to the request.
44313func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
44314	if c.header_ == nil {
44315		c.header_ = make(http.Header)
44316	}
44317	return c.header_
44318}
44319
44320func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
44321	reqHeaders := make(http.Header)
44322	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44323	for k, v := range c.header_ {
44324		reqHeaders[k] = v
44325	}
44326	reqHeaders.Set("User-Agent", c.s.userAgent())
44327	var body io.Reader = nil
44328	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44329	if err != nil {
44330		return nil, err
44331	}
44332	reqHeaders.Set("Content-Type", "application/json")
44333	c.urlParams_.Set("alt", alt)
44334	c.urlParams_.Set("prettyPrint", "false")
44335	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
44336	urls += "?" + c.urlParams_.Encode()
44337	req, err := http.NewRequest("POST", urls, body)
44338	if err != nil {
44339		return nil, err
44340	}
44341	req.Header = reqHeaders
44342	googleapi.Expand(req.URL, map[string]string{
44343		"profileId": strconv.FormatInt(c.profileId, 10),
44344	})
44345	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44346}
44347
44348// Do executes the "dfareporting.reports.compatibleFields.query" call.
44349// Exactly one of *CompatibleFields or error will be non-nil. Any
44350// non-2xx status code is an error. Response headers are in either
44351// *CompatibleFields.ServerResponse.Header or (if a response was
44352// returned at all) in error.(*googleapi.Error).Header. Use
44353// googleapi.IsNotModified to check whether the returned error was
44354// because http.StatusNotModified was returned.
44355func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
44356	gensupport.SetOptions(c.urlParams_, opts...)
44357	res, err := c.doRequest("json")
44358	if res != nil && res.StatusCode == http.StatusNotModified {
44359		if res.Body != nil {
44360			res.Body.Close()
44361		}
44362		return nil, &googleapi.Error{
44363			Code:   res.StatusCode,
44364			Header: res.Header,
44365		}
44366	}
44367	if err != nil {
44368		return nil, err
44369	}
44370	defer googleapi.CloseBody(res)
44371	if err := googleapi.CheckResponse(res); err != nil {
44372		return nil, err
44373	}
44374	ret := &CompatibleFields{
44375		ServerResponse: googleapi.ServerResponse{
44376			Header:         res.Header,
44377			HTTPStatusCode: res.StatusCode,
44378		},
44379	}
44380	target := &ret
44381	if err := gensupport.DecodeResponse(target, res); err != nil {
44382		return nil, err
44383	}
44384	return ret, nil
44385	// {
44386	//   "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.",
44387	//   "httpMethod": "POST",
44388	//   "id": "dfareporting.reports.compatibleFields.query",
44389	//   "parameterOrder": [
44390	//     "profileId"
44391	//   ],
44392	//   "parameters": {
44393	//     "profileId": {
44394	//       "description": "The DFA user profile ID.",
44395	//       "format": "int64",
44396	//       "location": "path",
44397	//       "required": true,
44398	//       "type": "string"
44399	//     }
44400	//   },
44401	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
44402	//   "request": {
44403	//     "$ref": "Report"
44404	//   },
44405	//   "response": {
44406	//     "$ref": "CompatibleFields"
44407	//   },
44408	//   "scopes": [
44409	//     "https://www.googleapis.com/auth/dfareporting"
44410	//   ]
44411	// }
44412
44413}
44414
44415// method id "dfareporting.reports.files.get":
44416
44417type ReportsFilesGetCall struct {
44418	s            *Service
44419	profileId    int64
44420	reportId     int64
44421	fileId       int64
44422	urlParams_   gensupport.URLParams
44423	ifNoneMatch_ string
44424	ctx_         context.Context
44425	header_      http.Header
44426}
44427
44428// Get: Retrieves a report file. This method supports media download.
44429func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
44430	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44431	c.profileId = profileId
44432	c.reportId = reportId
44433	c.fileId = fileId
44434	return c
44435}
44436
44437// Fields allows partial responses to be retrieved. See
44438// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44439// for more information.
44440func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
44441	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44442	return c
44443}
44444
44445// IfNoneMatch sets the optional parameter which makes the operation
44446// fail if the object's ETag matches the given value. This is useful for
44447// getting updates only after the object has changed since the last
44448// request. Use googleapi.IsNotModified to check whether the response
44449// error from Do is the result of In-None-Match.
44450func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
44451	c.ifNoneMatch_ = entityTag
44452	return c
44453}
44454
44455// Context sets the context to be used in this call's Do and Download
44456// methods. Any pending HTTP request will be aborted if the provided
44457// context is canceled.
44458func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
44459	c.ctx_ = ctx
44460	return c
44461}
44462
44463// Header returns an http.Header that can be modified by the caller to
44464// add HTTP headers to the request.
44465func (c *ReportsFilesGetCall) Header() http.Header {
44466	if c.header_ == nil {
44467		c.header_ = make(http.Header)
44468	}
44469	return c.header_
44470}
44471
44472func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
44473	reqHeaders := make(http.Header)
44474	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44475	for k, v := range c.header_ {
44476		reqHeaders[k] = v
44477	}
44478	reqHeaders.Set("User-Agent", c.s.userAgent())
44479	if c.ifNoneMatch_ != "" {
44480		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44481	}
44482	var body io.Reader = nil
44483	c.urlParams_.Set("alt", alt)
44484	c.urlParams_.Set("prettyPrint", "false")
44485	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
44486	urls += "?" + c.urlParams_.Encode()
44487	req, err := http.NewRequest("GET", urls, body)
44488	if err != nil {
44489		return nil, err
44490	}
44491	req.Header = reqHeaders
44492	googleapi.Expand(req.URL, map[string]string{
44493		"profileId": strconv.FormatInt(c.profileId, 10),
44494		"reportId":  strconv.FormatInt(c.reportId, 10),
44495		"fileId":    strconv.FormatInt(c.fileId, 10),
44496	})
44497	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44498}
44499
44500// Download fetches the API endpoint's "media" value, instead of the normal
44501// API response value. If the returned error is nil, the Response is guaranteed to
44502// have a 2xx status code. Callers must close the Response.Body as usual.
44503func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
44504	gensupport.SetOptions(c.urlParams_, opts...)
44505	res, err := c.doRequest("media")
44506	if err != nil {
44507		return nil, err
44508	}
44509	if err := googleapi.CheckMediaResponse(res); err != nil {
44510		res.Body.Close()
44511		return nil, err
44512	}
44513	return res, nil
44514}
44515
44516// Do executes the "dfareporting.reports.files.get" call.
44517// Exactly one of *File or error will be non-nil. Any non-2xx status
44518// code is an error. Response headers are in either
44519// *File.ServerResponse.Header or (if a response was returned at all) in
44520// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
44521// whether the returned error was because http.StatusNotModified was
44522// returned.
44523func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
44524	gensupport.SetOptions(c.urlParams_, opts...)
44525	res, err := c.doRequest("json")
44526	if res != nil && res.StatusCode == http.StatusNotModified {
44527		if res.Body != nil {
44528			res.Body.Close()
44529		}
44530		return nil, &googleapi.Error{
44531			Code:   res.StatusCode,
44532			Header: res.Header,
44533		}
44534	}
44535	if err != nil {
44536		return nil, err
44537	}
44538	defer googleapi.CloseBody(res)
44539	if err := googleapi.CheckResponse(res); err != nil {
44540		return nil, err
44541	}
44542	ret := &File{
44543		ServerResponse: googleapi.ServerResponse{
44544			Header:         res.Header,
44545			HTTPStatusCode: res.StatusCode,
44546		},
44547	}
44548	target := &ret
44549	if err := gensupport.DecodeResponse(target, res); err != nil {
44550		return nil, err
44551	}
44552	return ret, nil
44553	// {
44554	//   "description": "Retrieves a report file. This method supports media download.",
44555	//   "httpMethod": "GET",
44556	//   "id": "dfareporting.reports.files.get",
44557	//   "parameterOrder": [
44558	//     "profileId",
44559	//     "reportId",
44560	//     "fileId"
44561	//   ],
44562	//   "parameters": {
44563	//     "fileId": {
44564	//       "description": "The ID of the report file.",
44565	//       "format": "int64",
44566	//       "location": "path",
44567	//       "required": true,
44568	//       "type": "string"
44569	//     },
44570	//     "profileId": {
44571	//       "description": "The DFA profile ID.",
44572	//       "format": "int64",
44573	//       "location": "path",
44574	//       "required": true,
44575	//       "type": "string"
44576	//     },
44577	//     "reportId": {
44578	//       "description": "The ID of the report.",
44579	//       "format": "int64",
44580	//       "location": "path",
44581	//       "required": true,
44582	//       "type": "string"
44583	//     }
44584	//   },
44585	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
44586	//   "response": {
44587	//     "$ref": "File"
44588	//   },
44589	//   "scopes": [
44590	//     "https://www.googleapis.com/auth/dfareporting"
44591	//   ],
44592	//   "supportsMediaDownload": true
44593	// }
44594
44595}
44596
44597// method id "dfareporting.reports.files.list":
44598
44599type ReportsFilesListCall struct {
44600	s            *Service
44601	profileId    int64
44602	reportId     int64
44603	urlParams_   gensupport.URLParams
44604	ifNoneMatch_ string
44605	ctx_         context.Context
44606	header_      http.Header
44607}
44608
44609// List: Lists files for a report.
44610func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
44611	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44612	c.profileId = profileId
44613	c.reportId = reportId
44614	return c
44615}
44616
44617// MaxResults sets the optional parameter "maxResults": Maximum number
44618// of results to return.
44619func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
44620	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
44621	return c
44622}
44623
44624// PageToken sets the optional parameter "pageToken": The value of the
44625// nextToken from the previous result page.
44626func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
44627	c.urlParams_.Set("pageToken", pageToken)
44628	return c
44629}
44630
44631// SortField sets the optional parameter "sortField": The field by which
44632// to sort the list.
44633//
44634// Possible values:
44635//   "ID" - Sort by file ID.
44636//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
44637func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
44638	c.urlParams_.Set("sortField", sortField)
44639	return c
44640}
44641
44642// SortOrder sets the optional parameter "sortOrder": Order of sorted
44643// results.
44644//
44645// Possible values:
44646//   "ASCENDING" - Ascending order.
44647//   "DESCENDING" (default) - Descending order.
44648func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
44649	c.urlParams_.Set("sortOrder", sortOrder)
44650	return c
44651}
44652
44653// Fields allows partial responses to be retrieved. See
44654// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44655// for more information.
44656func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
44657	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44658	return c
44659}
44660
44661// IfNoneMatch sets the optional parameter which makes the operation
44662// fail if the object's ETag matches the given value. This is useful for
44663// getting updates only after the object has changed since the last
44664// request. Use googleapi.IsNotModified to check whether the response
44665// error from Do is the result of In-None-Match.
44666func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
44667	c.ifNoneMatch_ = entityTag
44668	return c
44669}
44670
44671// Context sets the context to be used in this call's Do method. Any
44672// pending HTTP request will be aborted if the provided context is
44673// canceled.
44674func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
44675	c.ctx_ = ctx
44676	return c
44677}
44678
44679// Header returns an http.Header that can be modified by the caller to
44680// add HTTP headers to the request.
44681func (c *ReportsFilesListCall) Header() http.Header {
44682	if c.header_ == nil {
44683		c.header_ = make(http.Header)
44684	}
44685	return c.header_
44686}
44687
44688func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
44689	reqHeaders := make(http.Header)
44690	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44691	for k, v := range c.header_ {
44692		reqHeaders[k] = v
44693	}
44694	reqHeaders.Set("User-Agent", c.s.userAgent())
44695	if c.ifNoneMatch_ != "" {
44696		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44697	}
44698	var body io.Reader = nil
44699	c.urlParams_.Set("alt", alt)
44700	c.urlParams_.Set("prettyPrint", "false")
44701	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
44702	urls += "?" + c.urlParams_.Encode()
44703	req, err := http.NewRequest("GET", urls, body)
44704	if err != nil {
44705		return nil, err
44706	}
44707	req.Header = reqHeaders
44708	googleapi.Expand(req.URL, map[string]string{
44709		"profileId": strconv.FormatInt(c.profileId, 10),
44710		"reportId":  strconv.FormatInt(c.reportId, 10),
44711	})
44712	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44713}
44714
44715// Do executes the "dfareporting.reports.files.list" call.
44716// Exactly one of *FileList or error will be non-nil. Any non-2xx status
44717// code is an error. Response headers are in either
44718// *FileList.ServerResponse.Header or (if a response was returned at
44719// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
44720// to check whether the returned error was because
44721// http.StatusNotModified was returned.
44722func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
44723	gensupport.SetOptions(c.urlParams_, opts...)
44724	res, err := c.doRequest("json")
44725	if res != nil && res.StatusCode == http.StatusNotModified {
44726		if res.Body != nil {
44727			res.Body.Close()
44728		}
44729		return nil, &googleapi.Error{
44730			Code:   res.StatusCode,
44731			Header: res.Header,
44732		}
44733	}
44734	if err != nil {
44735		return nil, err
44736	}
44737	defer googleapi.CloseBody(res)
44738	if err := googleapi.CheckResponse(res); err != nil {
44739		return nil, err
44740	}
44741	ret := &FileList{
44742		ServerResponse: googleapi.ServerResponse{
44743			Header:         res.Header,
44744			HTTPStatusCode: res.StatusCode,
44745		},
44746	}
44747	target := &ret
44748	if err := gensupport.DecodeResponse(target, res); err != nil {
44749		return nil, err
44750	}
44751	return ret, nil
44752	// {
44753	//   "description": "Lists files for a report.",
44754	//   "httpMethod": "GET",
44755	//   "id": "dfareporting.reports.files.list",
44756	//   "parameterOrder": [
44757	//     "profileId",
44758	//     "reportId"
44759	//   ],
44760	//   "parameters": {
44761	//     "maxResults": {
44762	//       "default": "10",
44763	//       "description": "Maximum number of results to return.",
44764	//       "format": "int32",
44765	//       "location": "query",
44766	//       "maximum": "10",
44767	//       "minimum": "0",
44768	//       "type": "integer"
44769	//     },
44770	//     "pageToken": {
44771	//       "description": "The value of the nextToken from the previous result page.",
44772	//       "location": "query",
44773	//       "type": "string"
44774	//     },
44775	//     "profileId": {
44776	//       "description": "The DFA profile ID.",
44777	//       "format": "int64",
44778	//       "location": "path",
44779	//       "required": true,
44780	//       "type": "string"
44781	//     },
44782	//     "reportId": {
44783	//       "description": "The ID of the parent report.",
44784	//       "format": "int64",
44785	//       "location": "path",
44786	//       "required": true,
44787	//       "type": "string"
44788	//     },
44789	//     "sortField": {
44790	//       "default": "LAST_MODIFIED_TIME",
44791	//       "description": "The field by which to sort the list.",
44792	//       "enum": [
44793	//         "ID",
44794	//         "LAST_MODIFIED_TIME"
44795	//       ],
44796	//       "enumDescriptions": [
44797	//         "Sort by file ID.",
44798	//         "Sort by 'lastmodifiedAt' field."
44799	//       ],
44800	//       "location": "query",
44801	//       "type": "string"
44802	//     },
44803	//     "sortOrder": {
44804	//       "default": "DESCENDING",
44805	//       "description": "Order of sorted results.",
44806	//       "enum": [
44807	//         "ASCENDING",
44808	//         "DESCENDING"
44809	//       ],
44810	//       "enumDescriptions": [
44811	//         "Ascending order.",
44812	//         "Descending order."
44813	//       ],
44814	//       "location": "query",
44815	//       "type": "string"
44816	//     }
44817	//   },
44818	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
44819	//   "response": {
44820	//     "$ref": "FileList"
44821	//   },
44822	//   "scopes": [
44823	//     "https://www.googleapis.com/auth/dfareporting"
44824	//   ]
44825	// }
44826
44827}
44828
44829// Pages invokes f for each page of results.
44830// A non-nil error returned from f will halt the iteration.
44831// The provided context supersedes any context provided to the Context method.
44832func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
44833	c.ctx_ = ctx
44834	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
44835	for {
44836		x, err := c.Do()
44837		if err != nil {
44838			return err
44839		}
44840		if err := f(x); err != nil {
44841			return err
44842		}
44843		if x.NextPageToken == "" {
44844			return nil
44845		}
44846		c.PageToken(x.NextPageToken)
44847	}
44848}
44849
44850// method id "dfareporting.sites.get":
44851
44852type SitesGetCall struct {
44853	s            *Service
44854	profileId    int64
44855	id           int64
44856	urlParams_   gensupport.URLParams
44857	ifNoneMatch_ string
44858	ctx_         context.Context
44859	header_      http.Header
44860}
44861
44862// Get: Gets one site by ID.
44863func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
44864	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44865	c.profileId = profileId
44866	c.id = id
44867	return c
44868}
44869
44870// Fields allows partial responses to be retrieved. See
44871// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44872// for more information.
44873func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
44874	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44875	return c
44876}
44877
44878// IfNoneMatch sets the optional parameter which makes the operation
44879// fail if the object's ETag matches the given value. This is useful for
44880// getting updates only after the object has changed since the last
44881// request. Use googleapi.IsNotModified to check whether the response
44882// error from Do is the result of In-None-Match.
44883func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
44884	c.ifNoneMatch_ = entityTag
44885	return c
44886}
44887
44888// Context sets the context to be used in this call's Do method. Any
44889// pending HTTP request will be aborted if the provided context is
44890// canceled.
44891func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
44892	c.ctx_ = ctx
44893	return c
44894}
44895
44896// Header returns an http.Header that can be modified by the caller to
44897// add HTTP headers to the request.
44898func (c *SitesGetCall) Header() http.Header {
44899	if c.header_ == nil {
44900		c.header_ = make(http.Header)
44901	}
44902	return c.header_
44903}
44904
44905func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
44906	reqHeaders := make(http.Header)
44907	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44908	for k, v := range c.header_ {
44909		reqHeaders[k] = v
44910	}
44911	reqHeaders.Set("User-Agent", c.s.userAgent())
44912	if c.ifNoneMatch_ != "" {
44913		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44914	}
44915	var body io.Reader = nil
44916	c.urlParams_.Set("alt", alt)
44917	c.urlParams_.Set("prettyPrint", "false")
44918	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
44919	urls += "?" + c.urlParams_.Encode()
44920	req, err := http.NewRequest("GET", urls, body)
44921	if err != nil {
44922		return nil, err
44923	}
44924	req.Header = reqHeaders
44925	googleapi.Expand(req.URL, map[string]string{
44926		"profileId": strconv.FormatInt(c.profileId, 10),
44927		"id":        strconv.FormatInt(c.id, 10),
44928	})
44929	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44930}
44931
44932// Do executes the "dfareporting.sites.get" call.
44933// Exactly one of *Site or error will be non-nil. Any non-2xx status
44934// code is an error. Response headers are in either
44935// *Site.ServerResponse.Header or (if a response was returned at all) in
44936// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
44937// whether the returned error was because http.StatusNotModified was
44938// returned.
44939func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
44940	gensupport.SetOptions(c.urlParams_, opts...)
44941	res, err := c.doRequest("json")
44942	if res != nil && res.StatusCode == http.StatusNotModified {
44943		if res.Body != nil {
44944			res.Body.Close()
44945		}
44946		return nil, &googleapi.Error{
44947			Code:   res.StatusCode,
44948			Header: res.Header,
44949		}
44950	}
44951	if err != nil {
44952		return nil, err
44953	}
44954	defer googleapi.CloseBody(res)
44955	if err := googleapi.CheckResponse(res); err != nil {
44956		return nil, err
44957	}
44958	ret := &Site{
44959		ServerResponse: googleapi.ServerResponse{
44960			Header:         res.Header,
44961			HTTPStatusCode: res.StatusCode,
44962		},
44963	}
44964	target := &ret
44965	if err := gensupport.DecodeResponse(target, res); err != nil {
44966		return nil, err
44967	}
44968	return ret, nil
44969	// {
44970	//   "description": "Gets one site by ID.",
44971	//   "httpMethod": "GET",
44972	//   "id": "dfareporting.sites.get",
44973	//   "parameterOrder": [
44974	//     "profileId",
44975	//     "id"
44976	//   ],
44977	//   "parameters": {
44978	//     "id": {
44979	//       "description": "Site ID.",
44980	//       "format": "int64",
44981	//       "location": "path",
44982	//       "required": true,
44983	//       "type": "string"
44984	//     },
44985	//     "profileId": {
44986	//       "description": "User profile ID associated with this request.",
44987	//       "format": "int64",
44988	//       "location": "path",
44989	//       "required": true,
44990	//       "type": "string"
44991	//     }
44992	//   },
44993	//   "path": "userprofiles/{profileId}/sites/{id}",
44994	//   "response": {
44995	//     "$ref": "Site"
44996	//   },
44997	//   "scopes": [
44998	//     "https://www.googleapis.com/auth/dfatrafficking"
44999	//   ]
45000	// }
45001
45002}
45003
45004// method id "dfareporting.sites.insert":
45005
45006type SitesInsertCall struct {
45007	s          *Service
45008	profileId  int64
45009	site       *Site
45010	urlParams_ gensupport.URLParams
45011	ctx_       context.Context
45012	header_    http.Header
45013}
45014
45015// Insert: Inserts a new site.
45016func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
45017	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45018	c.profileId = profileId
45019	c.site = site
45020	return c
45021}
45022
45023// Fields allows partial responses to be retrieved. See
45024// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45025// for more information.
45026func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
45027	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45028	return c
45029}
45030
45031// Context sets the context to be used in this call's Do method. Any
45032// pending HTTP request will be aborted if the provided context is
45033// canceled.
45034func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
45035	c.ctx_ = ctx
45036	return c
45037}
45038
45039// Header returns an http.Header that can be modified by the caller to
45040// add HTTP headers to the request.
45041func (c *SitesInsertCall) Header() http.Header {
45042	if c.header_ == nil {
45043		c.header_ = make(http.Header)
45044	}
45045	return c.header_
45046}
45047
45048func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
45049	reqHeaders := make(http.Header)
45050	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45051	for k, v := range c.header_ {
45052		reqHeaders[k] = v
45053	}
45054	reqHeaders.Set("User-Agent", c.s.userAgent())
45055	var body io.Reader = nil
45056	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
45057	if err != nil {
45058		return nil, err
45059	}
45060	reqHeaders.Set("Content-Type", "application/json")
45061	c.urlParams_.Set("alt", alt)
45062	c.urlParams_.Set("prettyPrint", "false")
45063	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45064	urls += "?" + c.urlParams_.Encode()
45065	req, err := http.NewRequest("POST", urls, body)
45066	if err != nil {
45067		return nil, err
45068	}
45069	req.Header = reqHeaders
45070	googleapi.Expand(req.URL, map[string]string{
45071		"profileId": strconv.FormatInt(c.profileId, 10),
45072	})
45073	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45074}
45075
45076// Do executes the "dfareporting.sites.insert" call.
45077// Exactly one of *Site or error will be non-nil. Any non-2xx status
45078// code is an error. Response headers are in either
45079// *Site.ServerResponse.Header or (if a response was returned at all) in
45080// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45081// whether the returned error was because http.StatusNotModified was
45082// returned.
45083func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45084	gensupport.SetOptions(c.urlParams_, opts...)
45085	res, err := c.doRequest("json")
45086	if res != nil && res.StatusCode == http.StatusNotModified {
45087		if res.Body != nil {
45088			res.Body.Close()
45089		}
45090		return nil, &googleapi.Error{
45091			Code:   res.StatusCode,
45092			Header: res.Header,
45093		}
45094	}
45095	if err != nil {
45096		return nil, err
45097	}
45098	defer googleapi.CloseBody(res)
45099	if err := googleapi.CheckResponse(res); err != nil {
45100		return nil, err
45101	}
45102	ret := &Site{
45103		ServerResponse: googleapi.ServerResponse{
45104			Header:         res.Header,
45105			HTTPStatusCode: res.StatusCode,
45106		},
45107	}
45108	target := &ret
45109	if err := gensupport.DecodeResponse(target, res); err != nil {
45110		return nil, err
45111	}
45112	return ret, nil
45113	// {
45114	//   "description": "Inserts a new site.",
45115	//   "httpMethod": "POST",
45116	//   "id": "dfareporting.sites.insert",
45117	//   "parameterOrder": [
45118	//     "profileId"
45119	//   ],
45120	//   "parameters": {
45121	//     "profileId": {
45122	//       "description": "User profile ID associated with this request.",
45123	//       "format": "int64",
45124	//       "location": "path",
45125	//       "required": true,
45126	//       "type": "string"
45127	//     }
45128	//   },
45129	//   "path": "userprofiles/{profileId}/sites",
45130	//   "request": {
45131	//     "$ref": "Site"
45132	//   },
45133	//   "response": {
45134	//     "$ref": "Site"
45135	//   },
45136	//   "scopes": [
45137	//     "https://www.googleapis.com/auth/dfatrafficking"
45138	//   ]
45139	// }
45140
45141}
45142
45143// method id "dfareporting.sites.list":
45144
45145type SitesListCall struct {
45146	s            *Service
45147	profileId    int64
45148	urlParams_   gensupport.URLParams
45149	ifNoneMatch_ string
45150	ctx_         context.Context
45151	header_      http.Header
45152}
45153
45154// List: Retrieves a list of sites, possibly filtered. This method
45155// supports paging.
45156func (r *SitesService) List(profileId int64) *SitesListCall {
45157	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45158	c.profileId = profileId
45159	return c
45160}
45161
45162// AcceptsInStreamVideoPlacements sets the optional parameter
45163// "acceptsInStreamVideoPlacements": This search filter is no longer
45164// supported and will have no effect on the results returned.
45165func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
45166	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
45167	return c
45168}
45169
45170// AcceptsInterstitialPlacements sets the optional parameter
45171// "acceptsInterstitialPlacements": This search filter is no longer
45172// supported and will have no effect on the results returned.
45173func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
45174	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
45175	return c
45176}
45177
45178// AcceptsPublisherPaidPlacements sets the optional parameter
45179// "acceptsPublisherPaidPlacements": Select only sites that accept
45180// publisher paid placements.
45181func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
45182	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
45183	return c
45184}
45185
45186// AdWordsSite sets the optional parameter "adWordsSite": Select only
45187// AdWords sites.
45188func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
45189	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
45190	return c
45191}
45192
45193// Approved sets the optional parameter "approved": Select only approved
45194// sites.
45195func (c *SitesListCall) Approved(approved bool) *SitesListCall {
45196	c.urlParams_.Set("approved", fmt.Sprint(approved))
45197	return c
45198}
45199
45200// CampaignIds sets the optional parameter "campaignIds": Select only
45201// sites with these campaign IDs.
45202func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
45203	var campaignIds_ []string
45204	for _, v := range campaignIds {
45205		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
45206	}
45207	c.urlParams_.SetMulti("campaignIds", campaignIds_)
45208	return c
45209}
45210
45211// DirectorySiteIds sets the optional parameter "directorySiteIds":
45212// Select only sites with these directory site IDs.
45213func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
45214	var directorySiteIds_ []string
45215	for _, v := range directorySiteIds {
45216		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
45217	}
45218	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
45219	return c
45220}
45221
45222// Ids sets the optional parameter "ids": Select only sites with these
45223// IDs.
45224func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
45225	var ids_ []string
45226	for _, v := range ids {
45227		ids_ = append(ids_, fmt.Sprint(v))
45228	}
45229	c.urlParams_.SetMulti("ids", ids_)
45230	return c
45231}
45232
45233// MaxResults sets the optional parameter "maxResults": Maximum number
45234// of results to return.
45235func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
45236	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45237	return c
45238}
45239
45240// PageToken sets the optional parameter "pageToken": Value of the
45241// nextPageToken from the previous result page.
45242func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
45243	c.urlParams_.Set("pageToken", pageToken)
45244	return c
45245}
45246
45247// SearchString sets the optional parameter "searchString": Allows
45248// searching for objects by name, ID or keyName. Wildcards (*) are
45249// allowed. For example, "site*2015" will return objects with names like
45250// "site June 2015", "site April 2015", or simply "site 2015". Most of
45251// the searches also add wildcards implicitly at the start and the end
45252// of the search string. For example, a search string of "site" will
45253// match objects with name "my site", "site 2015", or simply "site".
45254func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
45255	c.urlParams_.Set("searchString", searchString)
45256	return c
45257}
45258
45259// SortField sets the optional parameter "sortField": Field by which to
45260// sort the list.
45261//
45262// Possible values:
45263//   "ID" (default)
45264//   "NAME"
45265func (c *SitesListCall) SortField(sortField string) *SitesListCall {
45266	c.urlParams_.Set("sortField", sortField)
45267	return c
45268}
45269
45270// SortOrder sets the optional parameter "sortOrder": Order of sorted
45271// results.
45272//
45273// Possible values:
45274//   "ASCENDING" (default)
45275//   "DESCENDING"
45276func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
45277	c.urlParams_.Set("sortOrder", sortOrder)
45278	return c
45279}
45280
45281// SubaccountId sets the optional parameter "subaccountId": Select only
45282// sites with this subaccount ID.
45283func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
45284	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
45285	return c
45286}
45287
45288// UnmappedSite sets the optional parameter "unmappedSite": Select only
45289// sites that have not been mapped to a directory site.
45290func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
45291	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
45292	return c
45293}
45294
45295// Fields allows partial responses to be retrieved. See
45296// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45297// for more information.
45298func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
45299	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45300	return c
45301}
45302
45303// IfNoneMatch sets the optional parameter which makes the operation
45304// fail if the object's ETag matches the given value. This is useful for
45305// getting updates only after the object has changed since the last
45306// request. Use googleapi.IsNotModified to check whether the response
45307// error from Do is the result of In-None-Match.
45308func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
45309	c.ifNoneMatch_ = entityTag
45310	return c
45311}
45312
45313// Context sets the context to be used in this call's Do method. Any
45314// pending HTTP request will be aborted if the provided context is
45315// canceled.
45316func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
45317	c.ctx_ = ctx
45318	return c
45319}
45320
45321// Header returns an http.Header that can be modified by the caller to
45322// add HTTP headers to the request.
45323func (c *SitesListCall) Header() http.Header {
45324	if c.header_ == nil {
45325		c.header_ = make(http.Header)
45326	}
45327	return c.header_
45328}
45329
45330func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
45331	reqHeaders := make(http.Header)
45332	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45333	for k, v := range c.header_ {
45334		reqHeaders[k] = v
45335	}
45336	reqHeaders.Set("User-Agent", c.s.userAgent())
45337	if c.ifNoneMatch_ != "" {
45338		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45339	}
45340	var body io.Reader = nil
45341	c.urlParams_.Set("alt", alt)
45342	c.urlParams_.Set("prettyPrint", "false")
45343	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45344	urls += "?" + c.urlParams_.Encode()
45345	req, err := http.NewRequest("GET", urls, body)
45346	if err != nil {
45347		return nil, err
45348	}
45349	req.Header = reqHeaders
45350	googleapi.Expand(req.URL, map[string]string{
45351		"profileId": strconv.FormatInt(c.profileId, 10),
45352	})
45353	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45354}
45355
45356// Do executes the "dfareporting.sites.list" call.
45357// Exactly one of *SitesListResponse or error will be non-nil. Any
45358// non-2xx status code is an error. Response headers are in either
45359// *SitesListResponse.ServerResponse.Header or (if a response was
45360// returned at all) in error.(*googleapi.Error).Header. Use
45361// googleapi.IsNotModified to check whether the returned error was
45362// because http.StatusNotModified was returned.
45363func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
45364	gensupport.SetOptions(c.urlParams_, opts...)
45365	res, err := c.doRequest("json")
45366	if res != nil && res.StatusCode == http.StatusNotModified {
45367		if res.Body != nil {
45368			res.Body.Close()
45369		}
45370		return nil, &googleapi.Error{
45371			Code:   res.StatusCode,
45372			Header: res.Header,
45373		}
45374	}
45375	if err != nil {
45376		return nil, err
45377	}
45378	defer googleapi.CloseBody(res)
45379	if err := googleapi.CheckResponse(res); err != nil {
45380		return nil, err
45381	}
45382	ret := &SitesListResponse{
45383		ServerResponse: googleapi.ServerResponse{
45384			Header:         res.Header,
45385			HTTPStatusCode: res.StatusCode,
45386		},
45387	}
45388	target := &ret
45389	if err := gensupport.DecodeResponse(target, res); err != nil {
45390		return nil, err
45391	}
45392	return ret, nil
45393	// {
45394	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
45395	//   "httpMethod": "GET",
45396	//   "id": "dfareporting.sites.list",
45397	//   "parameterOrder": [
45398	//     "profileId"
45399	//   ],
45400	//   "parameters": {
45401	//     "acceptsInStreamVideoPlacements": {
45402	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
45403	//       "location": "query",
45404	//       "type": "boolean"
45405	//     },
45406	//     "acceptsInterstitialPlacements": {
45407	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
45408	//       "location": "query",
45409	//       "type": "boolean"
45410	//     },
45411	//     "acceptsPublisherPaidPlacements": {
45412	//       "description": "Select only sites that accept publisher paid placements.",
45413	//       "location": "query",
45414	//       "type": "boolean"
45415	//     },
45416	//     "adWordsSite": {
45417	//       "description": "Select only AdWords sites.",
45418	//       "location": "query",
45419	//       "type": "boolean"
45420	//     },
45421	//     "approved": {
45422	//       "description": "Select only approved sites.",
45423	//       "location": "query",
45424	//       "type": "boolean"
45425	//     },
45426	//     "campaignIds": {
45427	//       "description": "Select only sites with these campaign IDs.",
45428	//       "format": "int64",
45429	//       "location": "query",
45430	//       "repeated": true,
45431	//       "type": "string"
45432	//     },
45433	//     "directorySiteIds": {
45434	//       "description": "Select only sites with these directory site IDs.",
45435	//       "format": "int64",
45436	//       "location": "query",
45437	//       "repeated": true,
45438	//       "type": "string"
45439	//     },
45440	//     "ids": {
45441	//       "description": "Select only sites with these IDs.",
45442	//       "format": "int64",
45443	//       "location": "query",
45444	//       "repeated": true,
45445	//       "type": "string"
45446	//     },
45447	//     "maxResults": {
45448	//       "default": "1000",
45449	//       "description": "Maximum number of results to return.",
45450	//       "format": "int32",
45451	//       "location": "query",
45452	//       "maximum": "1000",
45453	//       "minimum": "0",
45454	//       "type": "integer"
45455	//     },
45456	//     "pageToken": {
45457	//       "description": "Value of the nextPageToken from the previous result page.",
45458	//       "location": "query",
45459	//       "type": "string"
45460	//     },
45461	//     "profileId": {
45462	//       "description": "User profile ID associated with this request.",
45463	//       "format": "int64",
45464	//       "location": "path",
45465	//       "required": true,
45466	//       "type": "string"
45467	//     },
45468	//     "searchString": {
45469	//       "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\".",
45470	//       "location": "query",
45471	//       "type": "string"
45472	//     },
45473	//     "sortField": {
45474	//       "default": "ID",
45475	//       "description": "Field by which to sort the list.",
45476	//       "enum": [
45477	//         "ID",
45478	//         "NAME"
45479	//       ],
45480	//       "enumDescriptions": [
45481	//         "",
45482	//         ""
45483	//       ],
45484	//       "location": "query",
45485	//       "type": "string"
45486	//     },
45487	//     "sortOrder": {
45488	//       "default": "ASCENDING",
45489	//       "description": "Order of sorted results.",
45490	//       "enum": [
45491	//         "ASCENDING",
45492	//         "DESCENDING"
45493	//       ],
45494	//       "enumDescriptions": [
45495	//         "",
45496	//         ""
45497	//       ],
45498	//       "location": "query",
45499	//       "type": "string"
45500	//     },
45501	//     "subaccountId": {
45502	//       "description": "Select only sites with this subaccount ID.",
45503	//       "format": "int64",
45504	//       "location": "query",
45505	//       "type": "string"
45506	//     },
45507	//     "unmappedSite": {
45508	//       "description": "Select only sites that have not been mapped to a directory site.",
45509	//       "location": "query",
45510	//       "type": "boolean"
45511	//     }
45512	//   },
45513	//   "path": "userprofiles/{profileId}/sites",
45514	//   "response": {
45515	//     "$ref": "SitesListResponse"
45516	//   },
45517	//   "scopes": [
45518	//     "https://www.googleapis.com/auth/dfatrafficking"
45519	//   ]
45520	// }
45521
45522}
45523
45524// Pages invokes f for each page of results.
45525// A non-nil error returned from f will halt the iteration.
45526// The provided context supersedes any context provided to the Context method.
45527func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
45528	c.ctx_ = ctx
45529	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
45530	for {
45531		x, err := c.Do()
45532		if err != nil {
45533			return err
45534		}
45535		if err := f(x); err != nil {
45536			return err
45537		}
45538		if x.NextPageToken == "" {
45539			return nil
45540		}
45541		c.PageToken(x.NextPageToken)
45542	}
45543}
45544
45545// method id "dfareporting.sites.patch":
45546
45547type SitesPatchCall struct {
45548	s          *Service
45549	profileId  int64
45550	site       *Site
45551	urlParams_ gensupport.URLParams
45552	ctx_       context.Context
45553	header_    http.Header
45554}
45555
45556// Patch: Updates an existing site. This method supports patch
45557// semantics.
45558func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
45559	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45560	c.profileId = profileId
45561	c.urlParams_.Set("id", fmt.Sprint(id))
45562	c.site = site
45563	return c
45564}
45565
45566// Fields allows partial responses to be retrieved. See
45567// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45568// for more information.
45569func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
45570	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45571	return c
45572}
45573
45574// Context sets the context to be used in this call's Do method. Any
45575// pending HTTP request will be aborted if the provided context is
45576// canceled.
45577func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
45578	c.ctx_ = ctx
45579	return c
45580}
45581
45582// Header returns an http.Header that can be modified by the caller to
45583// add HTTP headers to the request.
45584func (c *SitesPatchCall) Header() http.Header {
45585	if c.header_ == nil {
45586		c.header_ = make(http.Header)
45587	}
45588	return c.header_
45589}
45590
45591func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
45592	reqHeaders := make(http.Header)
45593	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45594	for k, v := range c.header_ {
45595		reqHeaders[k] = v
45596	}
45597	reqHeaders.Set("User-Agent", c.s.userAgent())
45598	var body io.Reader = nil
45599	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
45600	if err != nil {
45601		return nil, err
45602	}
45603	reqHeaders.Set("Content-Type", "application/json")
45604	c.urlParams_.Set("alt", alt)
45605	c.urlParams_.Set("prettyPrint", "false")
45606	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45607	urls += "?" + c.urlParams_.Encode()
45608	req, err := http.NewRequest("PATCH", urls, body)
45609	if err != nil {
45610		return nil, err
45611	}
45612	req.Header = reqHeaders
45613	googleapi.Expand(req.URL, map[string]string{
45614		"profileId": strconv.FormatInt(c.profileId, 10),
45615	})
45616	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45617}
45618
45619// Do executes the "dfareporting.sites.patch" call.
45620// Exactly one of *Site or error will be non-nil. Any non-2xx status
45621// code is an error. Response headers are in either
45622// *Site.ServerResponse.Header or (if a response was returned at all) in
45623// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45624// whether the returned error was because http.StatusNotModified was
45625// returned.
45626func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45627	gensupport.SetOptions(c.urlParams_, opts...)
45628	res, err := c.doRequest("json")
45629	if res != nil && res.StatusCode == http.StatusNotModified {
45630		if res.Body != nil {
45631			res.Body.Close()
45632		}
45633		return nil, &googleapi.Error{
45634			Code:   res.StatusCode,
45635			Header: res.Header,
45636		}
45637	}
45638	if err != nil {
45639		return nil, err
45640	}
45641	defer googleapi.CloseBody(res)
45642	if err := googleapi.CheckResponse(res); err != nil {
45643		return nil, err
45644	}
45645	ret := &Site{
45646		ServerResponse: googleapi.ServerResponse{
45647			Header:         res.Header,
45648			HTTPStatusCode: res.StatusCode,
45649		},
45650	}
45651	target := &ret
45652	if err := gensupport.DecodeResponse(target, res); err != nil {
45653		return nil, err
45654	}
45655	return ret, nil
45656	// {
45657	//   "description": "Updates an existing site. This method supports patch semantics.",
45658	//   "httpMethod": "PATCH",
45659	//   "id": "dfareporting.sites.patch",
45660	//   "parameterOrder": [
45661	//     "profileId",
45662	//     "id"
45663	//   ],
45664	//   "parameters": {
45665	//     "id": {
45666	//       "description": "Site ID.",
45667	//       "format": "int64",
45668	//       "location": "query",
45669	//       "required": true,
45670	//       "type": "string"
45671	//     },
45672	//     "profileId": {
45673	//       "description": "User profile ID associated with this request.",
45674	//       "format": "int64",
45675	//       "location": "path",
45676	//       "required": true,
45677	//       "type": "string"
45678	//     }
45679	//   },
45680	//   "path": "userprofiles/{profileId}/sites",
45681	//   "request": {
45682	//     "$ref": "Site"
45683	//   },
45684	//   "response": {
45685	//     "$ref": "Site"
45686	//   },
45687	//   "scopes": [
45688	//     "https://www.googleapis.com/auth/dfatrafficking"
45689	//   ]
45690	// }
45691
45692}
45693
45694// method id "dfareporting.sites.update":
45695
45696type SitesUpdateCall struct {
45697	s          *Service
45698	profileId  int64
45699	site       *Site
45700	urlParams_ gensupport.URLParams
45701	ctx_       context.Context
45702	header_    http.Header
45703}
45704
45705// Update: Updates an existing site.
45706func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
45707	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45708	c.profileId = profileId
45709	c.site = site
45710	return c
45711}
45712
45713// Fields allows partial responses to be retrieved. See
45714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45715// for more information.
45716func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
45717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45718	return c
45719}
45720
45721// Context sets the context to be used in this call's Do method. Any
45722// pending HTTP request will be aborted if the provided context is
45723// canceled.
45724func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
45725	c.ctx_ = ctx
45726	return c
45727}
45728
45729// Header returns an http.Header that can be modified by the caller to
45730// add HTTP headers to the request.
45731func (c *SitesUpdateCall) Header() http.Header {
45732	if c.header_ == nil {
45733		c.header_ = make(http.Header)
45734	}
45735	return c.header_
45736}
45737
45738func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
45739	reqHeaders := make(http.Header)
45740	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45741	for k, v := range c.header_ {
45742		reqHeaders[k] = v
45743	}
45744	reqHeaders.Set("User-Agent", c.s.userAgent())
45745	var body io.Reader = nil
45746	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
45747	if err != nil {
45748		return nil, err
45749	}
45750	reqHeaders.Set("Content-Type", "application/json")
45751	c.urlParams_.Set("alt", alt)
45752	c.urlParams_.Set("prettyPrint", "false")
45753	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45754	urls += "?" + c.urlParams_.Encode()
45755	req, err := http.NewRequest("PUT", urls, body)
45756	if err != nil {
45757		return nil, err
45758	}
45759	req.Header = reqHeaders
45760	googleapi.Expand(req.URL, map[string]string{
45761		"profileId": strconv.FormatInt(c.profileId, 10),
45762	})
45763	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45764}
45765
45766// Do executes the "dfareporting.sites.update" call.
45767// Exactly one of *Site or error will be non-nil. Any non-2xx status
45768// code is an error. Response headers are in either
45769// *Site.ServerResponse.Header or (if a response was returned at all) in
45770// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45771// whether the returned error was because http.StatusNotModified was
45772// returned.
45773func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45774	gensupport.SetOptions(c.urlParams_, opts...)
45775	res, err := c.doRequest("json")
45776	if res != nil && res.StatusCode == http.StatusNotModified {
45777		if res.Body != nil {
45778			res.Body.Close()
45779		}
45780		return nil, &googleapi.Error{
45781			Code:   res.StatusCode,
45782			Header: res.Header,
45783		}
45784	}
45785	if err != nil {
45786		return nil, err
45787	}
45788	defer googleapi.CloseBody(res)
45789	if err := googleapi.CheckResponse(res); err != nil {
45790		return nil, err
45791	}
45792	ret := &Site{
45793		ServerResponse: googleapi.ServerResponse{
45794			Header:         res.Header,
45795			HTTPStatusCode: res.StatusCode,
45796		},
45797	}
45798	target := &ret
45799	if err := gensupport.DecodeResponse(target, res); err != nil {
45800		return nil, err
45801	}
45802	return ret, nil
45803	// {
45804	//   "description": "Updates an existing site.",
45805	//   "httpMethod": "PUT",
45806	//   "id": "dfareporting.sites.update",
45807	//   "parameterOrder": [
45808	//     "profileId"
45809	//   ],
45810	//   "parameters": {
45811	//     "profileId": {
45812	//       "description": "User profile ID associated with this request.",
45813	//       "format": "int64",
45814	//       "location": "path",
45815	//       "required": true,
45816	//       "type": "string"
45817	//     }
45818	//   },
45819	//   "path": "userprofiles/{profileId}/sites",
45820	//   "request": {
45821	//     "$ref": "Site"
45822	//   },
45823	//   "response": {
45824	//     "$ref": "Site"
45825	//   },
45826	//   "scopes": [
45827	//     "https://www.googleapis.com/auth/dfatrafficking"
45828	//   ]
45829	// }
45830
45831}
45832
45833// method id "dfareporting.sizes.get":
45834
45835type SizesGetCall struct {
45836	s            *Service
45837	profileId    int64
45838	id           int64
45839	urlParams_   gensupport.URLParams
45840	ifNoneMatch_ string
45841	ctx_         context.Context
45842	header_      http.Header
45843}
45844
45845// Get: Gets one size by ID.
45846func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
45847	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45848	c.profileId = profileId
45849	c.id = id
45850	return c
45851}
45852
45853// Fields allows partial responses to be retrieved. See
45854// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45855// for more information.
45856func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
45857	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45858	return c
45859}
45860
45861// IfNoneMatch sets the optional parameter which makes the operation
45862// fail if the object's ETag matches the given value. This is useful for
45863// getting updates only after the object has changed since the last
45864// request. Use googleapi.IsNotModified to check whether the response
45865// error from Do is the result of In-None-Match.
45866func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
45867	c.ifNoneMatch_ = entityTag
45868	return c
45869}
45870
45871// Context sets the context to be used in this call's Do method. Any
45872// pending HTTP request will be aborted if the provided context is
45873// canceled.
45874func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
45875	c.ctx_ = ctx
45876	return c
45877}
45878
45879// Header returns an http.Header that can be modified by the caller to
45880// add HTTP headers to the request.
45881func (c *SizesGetCall) Header() http.Header {
45882	if c.header_ == nil {
45883		c.header_ = make(http.Header)
45884	}
45885	return c.header_
45886}
45887
45888func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
45889	reqHeaders := make(http.Header)
45890	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45891	for k, v := range c.header_ {
45892		reqHeaders[k] = v
45893	}
45894	reqHeaders.Set("User-Agent", c.s.userAgent())
45895	if c.ifNoneMatch_ != "" {
45896		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45897	}
45898	var body io.Reader = nil
45899	c.urlParams_.Set("alt", alt)
45900	c.urlParams_.Set("prettyPrint", "false")
45901	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
45902	urls += "?" + c.urlParams_.Encode()
45903	req, err := http.NewRequest("GET", urls, body)
45904	if err != nil {
45905		return nil, err
45906	}
45907	req.Header = reqHeaders
45908	googleapi.Expand(req.URL, map[string]string{
45909		"profileId": strconv.FormatInt(c.profileId, 10),
45910		"id":        strconv.FormatInt(c.id, 10),
45911	})
45912	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45913}
45914
45915// Do executes the "dfareporting.sizes.get" call.
45916// Exactly one of *Size or error will be non-nil. Any non-2xx status
45917// code is an error. Response headers are in either
45918// *Size.ServerResponse.Header or (if a response was returned at all) in
45919// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45920// whether the returned error was because http.StatusNotModified was
45921// returned.
45922func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
45923	gensupport.SetOptions(c.urlParams_, opts...)
45924	res, err := c.doRequest("json")
45925	if res != nil && res.StatusCode == http.StatusNotModified {
45926		if res.Body != nil {
45927			res.Body.Close()
45928		}
45929		return nil, &googleapi.Error{
45930			Code:   res.StatusCode,
45931			Header: res.Header,
45932		}
45933	}
45934	if err != nil {
45935		return nil, err
45936	}
45937	defer googleapi.CloseBody(res)
45938	if err := googleapi.CheckResponse(res); err != nil {
45939		return nil, err
45940	}
45941	ret := &Size{
45942		ServerResponse: googleapi.ServerResponse{
45943			Header:         res.Header,
45944			HTTPStatusCode: res.StatusCode,
45945		},
45946	}
45947	target := &ret
45948	if err := gensupport.DecodeResponse(target, res); err != nil {
45949		return nil, err
45950	}
45951	return ret, nil
45952	// {
45953	//   "description": "Gets one size by ID.",
45954	//   "httpMethod": "GET",
45955	//   "id": "dfareporting.sizes.get",
45956	//   "parameterOrder": [
45957	//     "profileId",
45958	//     "id"
45959	//   ],
45960	//   "parameters": {
45961	//     "id": {
45962	//       "description": "Size ID.",
45963	//       "format": "int64",
45964	//       "location": "path",
45965	//       "required": true,
45966	//       "type": "string"
45967	//     },
45968	//     "profileId": {
45969	//       "description": "User profile ID associated with this request.",
45970	//       "format": "int64",
45971	//       "location": "path",
45972	//       "required": true,
45973	//       "type": "string"
45974	//     }
45975	//   },
45976	//   "path": "userprofiles/{profileId}/sizes/{id}",
45977	//   "response": {
45978	//     "$ref": "Size"
45979	//   },
45980	//   "scopes": [
45981	//     "https://www.googleapis.com/auth/dfatrafficking"
45982	//   ]
45983	// }
45984
45985}
45986
45987// method id "dfareporting.sizes.insert":
45988
45989type SizesInsertCall struct {
45990	s          *Service
45991	profileId  int64
45992	size       *Size
45993	urlParams_ gensupport.URLParams
45994	ctx_       context.Context
45995	header_    http.Header
45996}
45997
45998// Insert: Inserts a new size.
45999func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
46000	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46001	c.profileId = profileId
46002	c.size = size
46003	return c
46004}
46005
46006// Fields allows partial responses to be retrieved. See
46007// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46008// for more information.
46009func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
46010	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46011	return c
46012}
46013
46014// Context sets the context to be used in this call's Do method. Any
46015// pending HTTP request will be aborted if the provided context is
46016// canceled.
46017func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
46018	c.ctx_ = ctx
46019	return c
46020}
46021
46022// Header returns an http.Header that can be modified by the caller to
46023// add HTTP headers to the request.
46024func (c *SizesInsertCall) Header() http.Header {
46025	if c.header_ == nil {
46026		c.header_ = make(http.Header)
46027	}
46028	return c.header_
46029}
46030
46031func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
46032	reqHeaders := make(http.Header)
46033	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46034	for k, v := range c.header_ {
46035		reqHeaders[k] = v
46036	}
46037	reqHeaders.Set("User-Agent", c.s.userAgent())
46038	var body io.Reader = nil
46039	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
46040	if err != nil {
46041		return nil, err
46042	}
46043	reqHeaders.Set("Content-Type", "application/json")
46044	c.urlParams_.Set("alt", alt)
46045	c.urlParams_.Set("prettyPrint", "false")
46046	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
46047	urls += "?" + c.urlParams_.Encode()
46048	req, err := http.NewRequest("POST", urls, body)
46049	if err != nil {
46050		return nil, err
46051	}
46052	req.Header = reqHeaders
46053	googleapi.Expand(req.URL, map[string]string{
46054		"profileId": strconv.FormatInt(c.profileId, 10),
46055	})
46056	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46057}
46058
46059// Do executes the "dfareporting.sizes.insert" call.
46060// Exactly one of *Size or error will be non-nil. Any non-2xx status
46061// code is an error. Response headers are in either
46062// *Size.ServerResponse.Header or (if a response was returned at all) in
46063// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46064// whether the returned error was because http.StatusNotModified was
46065// returned.
46066func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46067	gensupport.SetOptions(c.urlParams_, opts...)
46068	res, err := c.doRequest("json")
46069	if res != nil && res.StatusCode == http.StatusNotModified {
46070		if res.Body != nil {
46071			res.Body.Close()
46072		}
46073		return nil, &googleapi.Error{
46074			Code:   res.StatusCode,
46075			Header: res.Header,
46076		}
46077	}
46078	if err != nil {
46079		return nil, err
46080	}
46081	defer googleapi.CloseBody(res)
46082	if err := googleapi.CheckResponse(res); err != nil {
46083		return nil, err
46084	}
46085	ret := &Size{
46086		ServerResponse: googleapi.ServerResponse{
46087			Header:         res.Header,
46088			HTTPStatusCode: res.StatusCode,
46089		},
46090	}
46091	target := &ret
46092	if err := gensupport.DecodeResponse(target, res); err != nil {
46093		return nil, err
46094	}
46095	return ret, nil
46096	// {
46097	//   "description": "Inserts a new size.",
46098	//   "httpMethod": "POST",
46099	//   "id": "dfareporting.sizes.insert",
46100	//   "parameterOrder": [
46101	//     "profileId"
46102	//   ],
46103	//   "parameters": {
46104	//     "profileId": {
46105	//       "description": "User profile ID associated with this request.",
46106	//       "format": "int64",
46107	//       "location": "path",
46108	//       "required": true,
46109	//       "type": "string"
46110	//     }
46111	//   },
46112	//   "path": "userprofiles/{profileId}/sizes",
46113	//   "request": {
46114	//     "$ref": "Size"
46115	//   },
46116	//   "response": {
46117	//     "$ref": "Size"
46118	//   },
46119	//   "scopes": [
46120	//     "https://www.googleapis.com/auth/dfatrafficking"
46121	//   ]
46122	// }
46123
46124}
46125
46126// method id "dfareporting.sizes.list":
46127
46128type SizesListCall struct {
46129	s            *Service
46130	profileId    int64
46131	urlParams_   gensupport.URLParams
46132	ifNoneMatch_ string
46133	ctx_         context.Context
46134	header_      http.Header
46135}
46136
46137// List: Retrieves a list of sizes, possibly filtered.
46138func (r *SizesService) List(profileId int64) *SizesListCall {
46139	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46140	c.profileId = profileId
46141	return c
46142}
46143
46144// Height sets the optional parameter "height": Select only sizes with
46145// this height.
46146func (c *SizesListCall) Height(height int64) *SizesListCall {
46147	c.urlParams_.Set("height", fmt.Sprint(height))
46148	return c
46149}
46150
46151// IabStandard sets the optional parameter "iabStandard": Select only
46152// IAB standard sizes.
46153func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
46154	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
46155	return c
46156}
46157
46158// Ids sets the optional parameter "ids": Select only sizes with these
46159// IDs.
46160func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
46161	var ids_ []string
46162	for _, v := range ids {
46163		ids_ = append(ids_, fmt.Sprint(v))
46164	}
46165	c.urlParams_.SetMulti("ids", ids_)
46166	return c
46167}
46168
46169// Width sets the optional parameter "width": Select only sizes with
46170// this width.
46171func (c *SizesListCall) Width(width int64) *SizesListCall {
46172	c.urlParams_.Set("width", fmt.Sprint(width))
46173	return c
46174}
46175
46176// Fields allows partial responses to be retrieved. See
46177// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46178// for more information.
46179func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
46180	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46181	return c
46182}
46183
46184// IfNoneMatch sets the optional parameter which makes the operation
46185// fail if the object's ETag matches the given value. This is useful for
46186// getting updates only after the object has changed since the last
46187// request. Use googleapi.IsNotModified to check whether the response
46188// error from Do is the result of In-None-Match.
46189func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
46190	c.ifNoneMatch_ = entityTag
46191	return c
46192}
46193
46194// Context sets the context to be used in this call's Do method. Any
46195// pending HTTP request will be aborted if the provided context is
46196// canceled.
46197func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
46198	c.ctx_ = ctx
46199	return c
46200}
46201
46202// Header returns an http.Header that can be modified by the caller to
46203// add HTTP headers to the request.
46204func (c *SizesListCall) Header() http.Header {
46205	if c.header_ == nil {
46206		c.header_ = make(http.Header)
46207	}
46208	return c.header_
46209}
46210
46211func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
46212	reqHeaders := make(http.Header)
46213	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46214	for k, v := range c.header_ {
46215		reqHeaders[k] = v
46216	}
46217	reqHeaders.Set("User-Agent", c.s.userAgent())
46218	if c.ifNoneMatch_ != "" {
46219		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46220	}
46221	var body io.Reader = nil
46222	c.urlParams_.Set("alt", alt)
46223	c.urlParams_.Set("prettyPrint", "false")
46224	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
46225	urls += "?" + c.urlParams_.Encode()
46226	req, err := http.NewRequest("GET", urls, body)
46227	if err != nil {
46228		return nil, err
46229	}
46230	req.Header = reqHeaders
46231	googleapi.Expand(req.URL, map[string]string{
46232		"profileId": strconv.FormatInt(c.profileId, 10),
46233	})
46234	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46235}
46236
46237// Do executes the "dfareporting.sizes.list" call.
46238// Exactly one of *SizesListResponse or error will be non-nil. Any
46239// non-2xx status code is an error. Response headers are in either
46240// *SizesListResponse.ServerResponse.Header or (if a response was
46241// returned at all) in error.(*googleapi.Error).Header. Use
46242// googleapi.IsNotModified to check whether the returned error was
46243// because http.StatusNotModified was returned.
46244func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
46245	gensupport.SetOptions(c.urlParams_, opts...)
46246	res, err := c.doRequest("json")
46247	if res != nil && res.StatusCode == http.StatusNotModified {
46248		if res.Body != nil {
46249			res.Body.Close()
46250		}
46251		return nil, &googleapi.Error{
46252			Code:   res.StatusCode,
46253			Header: res.Header,
46254		}
46255	}
46256	if err != nil {
46257		return nil, err
46258	}
46259	defer googleapi.CloseBody(res)
46260	if err := googleapi.CheckResponse(res); err != nil {
46261		return nil, err
46262	}
46263	ret := &SizesListResponse{
46264		ServerResponse: googleapi.ServerResponse{
46265			Header:         res.Header,
46266			HTTPStatusCode: res.StatusCode,
46267		},
46268	}
46269	target := &ret
46270	if err := gensupport.DecodeResponse(target, res); err != nil {
46271		return nil, err
46272	}
46273	return ret, nil
46274	// {
46275	//   "description": "Retrieves a list of sizes, possibly filtered.",
46276	//   "httpMethod": "GET",
46277	//   "id": "dfareporting.sizes.list",
46278	//   "parameterOrder": [
46279	//     "profileId"
46280	//   ],
46281	//   "parameters": {
46282	//     "height": {
46283	//       "description": "Select only sizes with this height.",
46284	//       "format": "int32",
46285	//       "location": "query",
46286	//       "maximum": "32767",
46287	//       "minimum": "0",
46288	//       "type": "integer"
46289	//     },
46290	//     "iabStandard": {
46291	//       "description": "Select only IAB standard sizes.",
46292	//       "location": "query",
46293	//       "type": "boolean"
46294	//     },
46295	//     "ids": {
46296	//       "description": "Select only sizes with these IDs.",
46297	//       "format": "int64",
46298	//       "location": "query",
46299	//       "repeated": true,
46300	//       "type": "string"
46301	//     },
46302	//     "profileId": {
46303	//       "description": "User profile ID associated with this request.",
46304	//       "format": "int64",
46305	//       "location": "path",
46306	//       "required": true,
46307	//       "type": "string"
46308	//     },
46309	//     "width": {
46310	//       "description": "Select only sizes with this width.",
46311	//       "format": "int32",
46312	//       "location": "query",
46313	//       "maximum": "32767",
46314	//       "minimum": "0",
46315	//       "type": "integer"
46316	//     }
46317	//   },
46318	//   "path": "userprofiles/{profileId}/sizes",
46319	//   "response": {
46320	//     "$ref": "SizesListResponse"
46321	//   },
46322	//   "scopes": [
46323	//     "https://www.googleapis.com/auth/dfatrafficking"
46324	//   ]
46325	// }
46326
46327}
46328
46329// method id "dfareporting.subaccounts.get":
46330
46331type SubaccountsGetCall struct {
46332	s            *Service
46333	profileId    int64
46334	id           int64
46335	urlParams_   gensupport.URLParams
46336	ifNoneMatch_ string
46337	ctx_         context.Context
46338	header_      http.Header
46339}
46340
46341// Get: Gets one subaccount by ID.
46342func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
46343	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46344	c.profileId = profileId
46345	c.id = id
46346	return c
46347}
46348
46349// Fields allows partial responses to be retrieved. See
46350// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46351// for more information.
46352func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
46353	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46354	return c
46355}
46356
46357// IfNoneMatch sets the optional parameter which makes the operation
46358// fail if the object's ETag matches the given value. This is useful for
46359// getting updates only after the object has changed since the last
46360// request. Use googleapi.IsNotModified to check whether the response
46361// error from Do is the result of In-None-Match.
46362func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
46363	c.ifNoneMatch_ = entityTag
46364	return c
46365}
46366
46367// Context sets the context to be used in this call's Do method. Any
46368// pending HTTP request will be aborted if the provided context is
46369// canceled.
46370func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
46371	c.ctx_ = ctx
46372	return c
46373}
46374
46375// Header returns an http.Header that can be modified by the caller to
46376// add HTTP headers to the request.
46377func (c *SubaccountsGetCall) Header() http.Header {
46378	if c.header_ == nil {
46379		c.header_ = make(http.Header)
46380	}
46381	return c.header_
46382}
46383
46384func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
46385	reqHeaders := make(http.Header)
46386	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46387	for k, v := range c.header_ {
46388		reqHeaders[k] = v
46389	}
46390	reqHeaders.Set("User-Agent", c.s.userAgent())
46391	if c.ifNoneMatch_ != "" {
46392		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46393	}
46394	var body io.Reader = nil
46395	c.urlParams_.Set("alt", alt)
46396	c.urlParams_.Set("prettyPrint", "false")
46397	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
46398	urls += "?" + c.urlParams_.Encode()
46399	req, err := http.NewRequest("GET", urls, body)
46400	if err != nil {
46401		return nil, err
46402	}
46403	req.Header = reqHeaders
46404	googleapi.Expand(req.URL, map[string]string{
46405		"profileId": strconv.FormatInt(c.profileId, 10),
46406		"id":        strconv.FormatInt(c.id, 10),
46407	})
46408	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46409}
46410
46411// Do executes the "dfareporting.subaccounts.get" call.
46412// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
46413// status code is an error. Response headers are in either
46414// *Subaccount.ServerResponse.Header or (if a response was returned at
46415// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
46416// to check whether the returned error was because
46417// http.StatusNotModified was returned.
46418func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
46419	gensupport.SetOptions(c.urlParams_, opts...)
46420	res, err := c.doRequest("json")
46421	if res != nil && res.StatusCode == http.StatusNotModified {
46422		if res.Body != nil {
46423			res.Body.Close()
46424		}
46425		return nil, &googleapi.Error{
46426			Code:   res.StatusCode,
46427			Header: res.Header,
46428		}
46429	}
46430	if err != nil {
46431		return nil, err
46432	}
46433	defer googleapi.CloseBody(res)
46434	if err := googleapi.CheckResponse(res); err != nil {
46435		return nil, err
46436	}
46437	ret := &Subaccount{
46438		ServerResponse: googleapi.ServerResponse{
46439			Header:         res.Header,
46440			HTTPStatusCode: res.StatusCode,
46441		},
46442	}
46443	target := &ret
46444	if err := gensupport.DecodeResponse(target, res); err != nil {
46445		return nil, err
46446	}
46447	return ret, nil
46448	// {
46449	//   "description": "Gets one subaccount by ID.",
46450	//   "httpMethod": "GET",
46451	//   "id": "dfareporting.subaccounts.get",
46452	//   "parameterOrder": [
46453	//     "profileId",
46454	//     "id"
46455	//   ],
46456	//   "parameters": {
46457	//     "id": {
46458	//       "description": "Subaccount ID.",
46459	//       "format": "int64",
46460	//       "location": "path",
46461	//       "required": true,
46462	//       "type": "string"
46463	//     },
46464	//     "profileId": {
46465	//       "description": "User profile ID associated with this request.",
46466	//       "format": "int64",
46467	//       "location": "path",
46468	//       "required": true,
46469	//       "type": "string"
46470	//     }
46471	//   },
46472	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
46473	//   "response": {
46474	//     "$ref": "Subaccount"
46475	//   },
46476	//   "scopes": [
46477	//     "https://www.googleapis.com/auth/dfatrafficking"
46478	//   ]
46479	// }
46480
46481}
46482
46483// method id "dfareporting.subaccounts.insert":
46484
46485type SubaccountsInsertCall struct {
46486	s          *Service
46487	profileId  int64
46488	subaccount *Subaccount
46489	urlParams_ gensupport.URLParams
46490	ctx_       context.Context
46491	header_    http.Header
46492}
46493
46494// Insert: Inserts a new subaccount.
46495func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
46496	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46497	c.profileId = profileId
46498	c.subaccount = subaccount
46499	return c
46500}
46501
46502// Fields allows partial responses to be retrieved. See
46503// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46504// for more information.
46505func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
46506	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46507	return c
46508}
46509
46510// Context sets the context to be used in this call's Do method. Any
46511// pending HTTP request will be aborted if the provided context is
46512// canceled.
46513func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
46514	c.ctx_ = ctx
46515	return c
46516}
46517
46518// Header returns an http.Header that can be modified by the caller to
46519// add HTTP headers to the request.
46520func (c *SubaccountsInsertCall) Header() http.Header {
46521	if c.header_ == nil {
46522		c.header_ = make(http.Header)
46523	}
46524	return c.header_
46525}
46526
46527func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
46528	reqHeaders := make(http.Header)
46529	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46530	for k, v := range c.header_ {
46531		reqHeaders[k] = v
46532	}
46533	reqHeaders.Set("User-Agent", c.s.userAgent())
46534	var body io.Reader = nil
46535	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
46536	if err != nil {
46537		return nil, err
46538	}
46539	reqHeaders.Set("Content-Type", "application/json")
46540	c.urlParams_.Set("alt", alt)
46541	c.urlParams_.Set("prettyPrint", "false")
46542	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
46543	urls += "?" + c.urlParams_.Encode()
46544	req, err := http.NewRequest("POST", urls, body)
46545	if err != nil {
46546		return nil, err
46547	}
46548	req.Header = reqHeaders
46549	googleapi.Expand(req.URL, map[string]string{
46550		"profileId": strconv.FormatInt(c.profileId, 10),
46551	})
46552	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46553}
46554
46555// Do executes the "dfareporting.subaccounts.insert" call.
46556// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
46557// status code is an error. Response headers are in either
46558// *Subaccount.ServerResponse.Header or (if a response was returned at
46559// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
46560// to check whether the returned error was because
46561// http.StatusNotModified was returned.
46562func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
46563	gensupport.SetOptions(c.urlParams_, opts...)
46564	res, err := c.doRequest("json")
46565	if res != nil && res.StatusCode == http.StatusNotModified {
46566		if res.Body != nil {
46567			res.Body.Close()
46568		}
46569		return nil, &googleapi.Error{
46570			Code:   res.StatusCode,
46571			Header: res.Header,
46572		}
46573	}
46574	if err != nil {
46575		return nil, err
46576	}
46577	defer googleapi.CloseBody(res)
46578	if err := googleapi.CheckResponse(res); err != nil {
46579		return nil, err
46580	}
46581	ret := &Subaccount{
46582		ServerResponse: googleapi.ServerResponse{
46583			Header:         res.Header,
46584			HTTPStatusCode: res.StatusCode,
46585		},
46586	}
46587	target := &ret
46588	if err := gensupport.DecodeResponse(target, res); err != nil {
46589		return nil, err
46590	}
46591	return ret, nil
46592	// {
46593	//   "description": "Inserts a new subaccount.",
46594	//   "httpMethod": "POST",
46595	//   "id": "dfareporting.subaccounts.insert",
46596	//   "parameterOrder": [
46597	//     "profileId"
46598	//   ],
46599	//   "parameters": {
46600	//     "profileId": {
46601	//       "description": "User profile ID associated with this request.",
46602	//       "format": "int64",
46603	//       "location": "path",
46604	//       "required": true,
46605	//       "type": "string"
46606	//     }
46607	//   },
46608	//   "path": "userprofiles/{profileId}/subaccounts",
46609	//   "request": {
46610	//     "$ref": "Subaccount"
46611	//   },
46612	//   "response": {
46613	//     "$ref": "Subaccount"
46614	//   },
46615	//   "scopes": [
46616	//     "https://www.googleapis.com/auth/dfatrafficking"
46617	//   ]
46618	// }
46619
46620}
46621
46622// method id "dfareporting.subaccounts.list":
46623
46624type SubaccountsListCall struct {
46625	s            *Service
46626	profileId    int64
46627	urlParams_   gensupport.URLParams
46628	ifNoneMatch_ string
46629	ctx_         context.Context
46630	header_      http.Header
46631}
46632
46633// List: Gets a list of subaccounts, possibly filtered. This method
46634// supports paging.
46635func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
46636	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46637	c.profileId = profileId
46638	return c
46639}
46640
46641// Ids sets the optional parameter "ids": Select only subaccounts with
46642// these IDs.
46643func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
46644	var ids_ []string
46645	for _, v := range ids {
46646		ids_ = append(ids_, fmt.Sprint(v))
46647	}
46648	c.urlParams_.SetMulti("ids", ids_)
46649	return c
46650}
46651
46652// MaxResults sets the optional parameter "maxResults": Maximum number
46653// of results to return.
46654func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
46655	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
46656	return c
46657}
46658
46659// PageToken sets the optional parameter "pageToken": Value of the
46660// nextPageToken from the previous result page.
46661func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
46662	c.urlParams_.Set("pageToken", pageToken)
46663	return c
46664}
46665
46666// SearchString sets the optional parameter "searchString": Allows
46667// searching for objects by name or ID. Wildcards (*) are allowed. For
46668// example, "subaccount*2015" will return objects with names like
46669// "subaccount June 2015", "subaccount April 2015", or simply
46670// "subaccount 2015". Most of the searches also add wildcards implicitly
46671// at the start and the end of the search string. For example, a search
46672// string of "subaccount" will match objects with name "my subaccount",
46673// "subaccount 2015", or simply "subaccount".
46674func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
46675	c.urlParams_.Set("searchString", searchString)
46676	return c
46677}
46678
46679// SortField sets the optional parameter "sortField": Field by which to
46680// sort the list.
46681//
46682// Possible values:
46683//   "ID" (default)
46684//   "NAME"
46685func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
46686	c.urlParams_.Set("sortField", sortField)
46687	return c
46688}
46689
46690// SortOrder sets the optional parameter "sortOrder": Order of sorted
46691// results.
46692//
46693// Possible values:
46694//   "ASCENDING" (default)
46695//   "DESCENDING"
46696func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
46697	c.urlParams_.Set("sortOrder", sortOrder)
46698	return c
46699}
46700
46701// Fields allows partial responses to be retrieved. See
46702// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46703// for more information.
46704func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
46705	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46706	return c
46707}
46708
46709// IfNoneMatch sets the optional parameter which makes the operation
46710// fail if the object's ETag matches the given value. This is useful for
46711// getting updates only after the object has changed since the last
46712// request. Use googleapi.IsNotModified to check whether the response
46713// error from Do is the result of In-None-Match.
46714func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
46715	c.ifNoneMatch_ = entityTag
46716	return c
46717}
46718
46719// Context sets the context to be used in this call's Do method. Any
46720// pending HTTP request will be aborted if the provided context is
46721// canceled.
46722func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
46723	c.ctx_ = ctx
46724	return c
46725}
46726
46727// Header returns an http.Header that can be modified by the caller to
46728// add HTTP headers to the request.
46729func (c *SubaccountsListCall) Header() http.Header {
46730	if c.header_ == nil {
46731		c.header_ = make(http.Header)
46732	}
46733	return c.header_
46734}
46735
46736func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
46737	reqHeaders := make(http.Header)
46738	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46739	for k, v := range c.header_ {
46740		reqHeaders[k] = v
46741	}
46742	reqHeaders.Set("User-Agent", c.s.userAgent())
46743	if c.ifNoneMatch_ != "" {
46744		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46745	}
46746	var body io.Reader = nil
46747	c.urlParams_.Set("alt", alt)
46748	c.urlParams_.Set("prettyPrint", "false")
46749	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
46750	urls += "?" + c.urlParams_.Encode()
46751	req, err := http.NewRequest("GET", urls, body)
46752	if err != nil {
46753		return nil, err
46754	}
46755	req.Header = reqHeaders
46756	googleapi.Expand(req.URL, map[string]string{
46757		"profileId": strconv.FormatInt(c.profileId, 10),
46758	})
46759	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46760}
46761
46762// Do executes the "dfareporting.subaccounts.list" call.
46763// Exactly one of *SubaccountsListResponse or error will be non-nil. Any
46764// non-2xx status code is an error. Response headers are in either
46765// *SubaccountsListResponse.ServerResponse.Header or (if a response was
46766// returned at all) in error.(*googleapi.Error).Header. Use
46767// googleapi.IsNotModified to check whether the returned error was
46768// because http.StatusNotModified was returned.
46769func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
46770	gensupport.SetOptions(c.urlParams_, opts...)
46771	res, err := c.doRequest("json")
46772	if res != nil && res.StatusCode == http.StatusNotModified {
46773		if res.Body != nil {
46774			res.Body.Close()
46775		}
46776		return nil, &googleapi.Error{
46777			Code:   res.StatusCode,
46778			Header: res.Header,
46779		}
46780	}
46781	if err != nil {
46782		return nil, err
46783	}
46784	defer googleapi.CloseBody(res)
46785	if err := googleapi.CheckResponse(res); err != nil {
46786		return nil, err
46787	}
46788	ret := &SubaccountsListResponse{
46789		ServerResponse: googleapi.ServerResponse{
46790			Header:         res.Header,
46791			HTTPStatusCode: res.StatusCode,
46792		},
46793	}
46794	target := &ret
46795	if err := gensupport.DecodeResponse(target, res); err != nil {
46796		return nil, err
46797	}
46798	return ret, nil
46799	// {
46800	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
46801	//   "httpMethod": "GET",
46802	//   "id": "dfareporting.subaccounts.list",
46803	//   "parameterOrder": [
46804	//     "profileId"
46805	//   ],
46806	//   "parameters": {
46807	//     "ids": {
46808	//       "description": "Select only subaccounts with these IDs.",
46809	//       "format": "int64",
46810	//       "location": "query",
46811	//       "repeated": true,
46812	//       "type": "string"
46813	//     },
46814	//     "maxResults": {
46815	//       "default": "1000",
46816	//       "description": "Maximum number of results to return.",
46817	//       "format": "int32",
46818	//       "location": "query",
46819	//       "maximum": "1000",
46820	//       "minimum": "0",
46821	//       "type": "integer"
46822	//     },
46823	//     "pageToken": {
46824	//       "description": "Value of the nextPageToken from the previous result page.",
46825	//       "location": "query",
46826	//       "type": "string"
46827	//     },
46828	//     "profileId": {
46829	//       "description": "User profile ID associated with this request.",
46830	//       "format": "int64",
46831	//       "location": "path",
46832	//       "required": true,
46833	//       "type": "string"
46834	//     },
46835	//     "searchString": {
46836	//       "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\".",
46837	//       "location": "query",
46838	//       "type": "string"
46839	//     },
46840	//     "sortField": {
46841	//       "default": "ID",
46842	//       "description": "Field by which to sort the list.",
46843	//       "enum": [
46844	//         "ID",
46845	//         "NAME"
46846	//       ],
46847	//       "enumDescriptions": [
46848	//         "",
46849	//         ""
46850	//       ],
46851	//       "location": "query",
46852	//       "type": "string"
46853	//     },
46854	//     "sortOrder": {
46855	//       "default": "ASCENDING",
46856	//       "description": "Order of sorted results.",
46857	//       "enum": [
46858	//         "ASCENDING",
46859	//         "DESCENDING"
46860	//       ],
46861	//       "enumDescriptions": [
46862	//         "",
46863	//         ""
46864	//       ],
46865	//       "location": "query",
46866	//       "type": "string"
46867	//     }
46868	//   },
46869	//   "path": "userprofiles/{profileId}/subaccounts",
46870	//   "response": {
46871	//     "$ref": "SubaccountsListResponse"
46872	//   },
46873	//   "scopes": [
46874	//     "https://www.googleapis.com/auth/dfatrafficking"
46875	//   ]
46876	// }
46877
46878}
46879
46880// Pages invokes f for each page of results.
46881// A non-nil error returned from f will halt the iteration.
46882// The provided context supersedes any context provided to the Context method.
46883func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
46884	c.ctx_ = ctx
46885	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
46886	for {
46887		x, err := c.Do()
46888		if err != nil {
46889			return err
46890		}
46891		if err := f(x); err != nil {
46892			return err
46893		}
46894		if x.NextPageToken == "" {
46895			return nil
46896		}
46897		c.PageToken(x.NextPageToken)
46898	}
46899}
46900
46901// method id "dfareporting.subaccounts.patch":
46902
46903type SubaccountsPatchCall struct {
46904	s          *Service
46905	profileId  int64
46906	subaccount *Subaccount
46907	urlParams_ gensupport.URLParams
46908	ctx_       context.Context
46909	header_    http.Header
46910}
46911
46912// Patch: Updates an existing subaccount. This method supports patch
46913// semantics.
46914func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
46915	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46916	c.profileId = profileId
46917	c.urlParams_.Set("id", fmt.Sprint(id))
46918	c.subaccount = subaccount
46919	return c
46920}
46921
46922// Fields allows partial responses to be retrieved. See
46923// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46924// for more information.
46925func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
46926	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46927	return c
46928}
46929
46930// Context sets the context to be used in this call's Do method. Any
46931// pending HTTP request will be aborted if the provided context is
46932// canceled.
46933func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
46934	c.ctx_ = ctx
46935	return c
46936}
46937
46938// Header returns an http.Header that can be modified by the caller to
46939// add HTTP headers to the request.
46940func (c *SubaccountsPatchCall) Header() http.Header {
46941	if c.header_ == nil {
46942		c.header_ = make(http.Header)
46943	}
46944	return c.header_
46945}
46946
46947func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
46948	reqHeaders := make(http.Header)
46949	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46950	for k, v := range c.header_ {
46951		reqHeaders[k] = v
46952	}
46953	reqHeaders.Set("User-Agent", c.s.userAgent())
46954	var body io.Reader = nil
46955	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
46956	if err != nil {
46957		return nil, err
46958	}
46959	reqHeaders.Set("Content-Type", "application/json")
46960	c.urlParams_.Set("alt", alt)
46961	c.urlParams_.Set("prettyPrint", "false")
46962	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
46963	urls += "?" + c.urlParams_.Encode()
46964	req, err := http.NewRequest("PATCH", urls, body)
46965	if err != nil {
46966		return nil, err
46967	}
46968	req.Header = reqHeaders
46969	googleapi.Expand(req.URL, map[string]string{
46970		"profileId": strconv.FormatInt(c.profileId, 10),
46971	})
46972	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46973}
46974
46975// Do executes the "dfareporting.subaccounts.patch" call.
46976// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
46977// status code is an error. Response headers are in either
46978// *Subaccount.ServerResponse.Header or (if a response was returned at
46979// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
46980// to check whether the returned error was because
46981// http.StatusNotModified was returned.
46982func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
46983	gensupport.SetOptions(c.urlParams_, opts...)
46984	res, err := c.doRequest("json")
46985	if res != nil && res.StatusCode == http.StatusNotModified {
46986		if res.Body != nil {
46987			res.Body.Close()
46988		}
46989		return nil, &googleapi.Error{
46990			Code:   res.StatusCode,
46991			Header: res.Header,
46992		}
46993	}
46994	if err != nil {
46995		return nil, err
46996	}
46997	defer googleapi.CloseBody(res)
46998	if err := googleapi.CheckResponse(res); err != nil {
46999		return nil, err
47000	}
47001	ret := &Subaccount{
47002		ServerResponse: googleapi.ServerResponse{
47003			Header:         res.Header,
47004			HTTPStatusCode: res.StatusCode,
47005		},
47006	}
47007	target := &ret
47008	if err := gensupport.DecodeResponse(target, res); err != nil {
47009		return nil, err
47010	}
47011	return ret, nil
47012	// {
47013	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
47014	//   "httpMethod": "PATCH",
47015	//   "id": "dfareporting.subaccounts.patch",
47016	//   "parameterOrder": [
47017	//     "profileId",
47018	//     "id"
47019	//   ],
47020	//   "parameters": {
47021	//     "id": {
47022	//       "description": "Subaccount ID.",
47023	//       "format": "int64",
47024	//       "location": "query",
47025	//       "required": true,
47026	//       "type": "string"
47027	//     },
47028	//     "profileId": {
47029	//       "description": "User profile ID associated with this request.",
47030	//       "format": "int64",
47031	//       "location": "path",
47032	//       "required": true,
47033	//       "type": "string"
47034	//     }
47035	//   },
47036	//   "path": "userprofiles/{profileId}/subaccounts",
47037	//   "request": {
47038	//     "$ref": "Subaccount"
47039	//   },
47040	//   "response": {
47041	//     "$ref": "Subaccount"
47042	//   },
47043	//   "scopes": [
47044	//     "https://www.googleapis.com/auth/dfatrafficking"
47045	//   ]
47046	// }
47047
47048}
47049
47050// method id "dfareporting.subaccounts.update":
47051
47052type SubaccountsUpdateCall struct {
47053	s          *Service
47054	profileId  int64
47055	subaccount *Subaccount
47056	urlParams_ gensupport.URLParams
47057	ctx_       context.Context
47058	header_    http.Header
47059}
47060
47061// Update: Updates an existing subaccount.
47062func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
47063	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47064	c.profileId = profileId
47065	c.subaccount = subaccount
47066	return c
47067}
47068
47069// Fields allows partial responses to be retrieved. See
47070// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47071// for more information.
47072func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
47073	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47074	return c
47075}
47076
47077// Context sets the context to be used in this call's Do method. Any
47078// pending HTTP request will be aborted if the provided context is
47079// canceled.
47080func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
47081	c.ctx_ = ctx
47082	return c
47083}
47084
47085// Header returns an http.Header that can be modified by the caller to
47086// add HTTP headers to the request.
47087func (c *SubaccountsUpdateCall) Header() http.Header {
47088	if c.header_ == nil {
47089		c.header_ = make(http.Header)
47090	}
47091	return c.header_
47092}
47093
47094func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
47095	reqHeaders := make(http.Header)
47096	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47097	for k, v := range c.header_ {
47098		reqHeaders[k] = v
47099	}
47100	reqHeaders.Set("User-Agent", c.s.userAgent())
47101	var body io.Reader = nil
47102	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47103	if err != nil {
47104		return nil, err
47105	}
47106	reqHeaders.Set("Content-Type", "application/json")
47107	c.urlParams_.Set("alt", alt)
47108	c.urlParams_.Set("prettyPrint", "false")
47109	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47110	urls += "?" + c.urlParams_.Encode()
47111	req, err := http.NewRequest("PUT", urls, body)
47112	if err != nil {
47113		return nil, err
47114	}
47115	req.Header = reqHeaders
47116	googleapi.Expand(req.URL, map[string]string{
47117		"profileId": strconv.FormatInt(c.profileId, 10),
47118	})
47119	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47120}
47121
47122// Do executes the "dfareporting.subaccounts.update" call.
47123// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47124// status code is an error. Response headers are in either
47125// *Subaccount.ServerResponse.Header or (if a response was returned at
47126// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47127// to check whether the returned error was because
47128// http.StatusNotModified was returned.
47129func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47130	gensupport.SetOptions(c.urlParams_, opts...)
47131	res, err := c.doRequest("json")
47132	if res != nil && res.StatusCode == http.StatusNotModified {
47133		if res.Body != nil {
47134			res.Body.Close()
47135		}
47136		return nil, &googleapi.Error{
47137			Code:   res.StatusCode,
47138			Header: res.Header,
47139		}
47140	}
47141	if err != nil {
47142		return nil, err
47143	}
47144	defer googleapi.CloseBody(res)
47145	if err := googleapi.CheckResponse(res); err != nil {
47146		return nil, err
47147	}
47148	ret := &Subaccount{
47149		ServerResponse: googleapi.ServerResponse{
47150			Header:         res.Header,
47151			HTTPStatusCode: res.StatusCode,
47152		},
47153	}
47154	target := &ret
47155	if err := gensupport.DecodeResponse(target, res); err != nil {
47156		return nil, err
47157	}
47158	return ret, nil
47159	// {
47160	//   "description": "Updates an existing subaccount.",
47161	//   "httpMethod": "PUT",
47162	//   "id": "dfareporting.subaccounts.update",
47163	//   "parameterOrder": [
47164	//     "profileId"
47165	//   ],
47166	//   "parameters": {
47167	//     "profileId": {
47168	//       "description": "User profile ID associated with this request.",
47169	//       "format": "int64",
47170	//       "location": "path",
47171	//       "required": true,
47172	//       "type": "string"
47173	//     }
47174	//   },
47175	//   "path": "userprofiles/{profileId}/subaccounts",
47176	//   "request": {
47177	//     "$ref": "Subaccount"
47178	//   },
47179	//   "response": {
47180	//     "$ref": "Subaccount"
47181	//   },
47182	//   "scopes": [
47183	//     "https://www.googleapis.com/auth/dfatrafficking"
47184	//   ]
47185	// }
47186
47187}
47188
47189// method id "dfareporting.targetableRemarketingLists.get":
47190
47191type TargetableRemarketingListsGetCall struct {
47192	s            *Service
47193	profileId    int64
47194	id           int64
47195	urlParams_   gensupport.URLParams
47196	ifNoneMatch_ string
47197	ctx_         context.Context
47198	header_      http.Header
47199}
47200
47201// Get: Gets one remarketing list by ID.
47202func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
47203	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47204	c.profileId = profileId
47205	c.id = id
47206	return c
47207}
47208
47209// Fields allows partial responses to be retrieved. See
47210// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47211// for more information.
47212func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
47213	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47214	return c
47215}
47216
47217// IfNoneMatch sets the optional parameter which makes the operation
47218// fail if the object's ETag matches the given value. This is useful for
47219// getting updates only after the object has changed since the last
47220// request. Use googleapi.IsNotModified to check whether the response
47221// error from Do is the result of In-None-Match.
47222func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
47223	c.ifNoneMatch_ = entityTag
47224	return c
47225}
47226
47227// Context sets the context to be used in this call's Do method. Any
47228// pending HTTP request will be aborted if the provided context is
47229// canceled.
47230func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
47231	c.ctx_ = ctx
47232	return c
47233}
47234
47235// Header returns an http.Header that can be modified by the caller to
47236// add HTTP headers to the request.
47237func (c *TargetableRemarketingListsGetCall) Header() http.Header {
47238	if c.header_ == nil {
47239		c.header_ = make(http.Header)
47240	}
47241	return c.header_
47242}
47243
47244func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
47245	reqHeaders := make(http.Header)
47246	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47247	for k, v := range c.header_ {
47248		reqHeaders[k] = v
47249	}
47250	reqHeaders.Set("User-Agent", c.s.userAgent())
47251	if c.ifNoneMatch_ != "" {
47252		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47253	}
47254	var body io.Reader = nil
47255	c.urlParams_.Set("alt", alt)
47256	c.urlParams_.Set("prettyPrint", "false")
47257	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
47258	urls += "?" + c.urlParams_.Encode()
47259	req, err := http.NewRequest("GET", urls, body)
47260	if err != nil {
47261		return nil, err
47262	}
47263	req.Header = reqHeaders
47264	googleapi.Expand(req.URL, map[string]string{
47265		"profileId": strconv.FormatInt(c.profileId, 10),
47266		"id":        strconv.FormatInt(c.id, 10),
47267	})
47268	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47269}
47270
47271// Do executes the "dfareporting.targetableRemarketingLists.get" call.
47272// Exactly one of *TargetableRemarketingList or error will be non-nil.
47273// Any non-2xx status code is an error. Response headers are in either
47274// *TargetableRemarketingList.ServerResponse.Header or (if a response
47275// was returned at all) in error.(*googleapi.Error).Header. Use
47276// googleapi.IsNotModified to check whether the returned error was
47277// because http.StatusNotModified was returned.
47278func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
47279	gensupport.SetOptions(c.urlParams_, opts...)
47280	res, err := c.doRequest("json")
47281	if res != nil && res.StatusCode == http.StatusNotModified {
47282		if res.Body != nil {
47283			res.Body.Close()
47284		}
47285		return nil, &googleapi.Error{
47286			Code:   res.StatusCode,
47287			Header: res.Header,
47288		}
47289	}
47290	if err != nil {
47291		return nil, err
47292	}
47293	defer googleapi.CloseBody(res)
47294	if err := googleapi.CheckResponse(res); err != nil {
47295		return nil, err
47296	}
47297	ret := &TargetableRemarketingList{
47298		ServerResponse: googleapi.ServerResponse{
47299			Header:         res.Header,
47300			HTTPStatusCode: res.StatusCode,
47301		},
47302	}
47303	target := &ret
47304	if err := gensupport.DecodeResponse(target, res); err != nil {
47305		return nil, err
47306	}
47307	return ret, nil
47308	// {
47309	//   "description": "Gets one remarketing list by ID.",
47310	//   "httpMethod": "GET",
47311	//   "id": "dfareporting.targetableRemarketingLists.get",
47312	//   "parameterOrder": [
47313	//     "profileId",
47314	//     "id"
47315	//   ],
47316	//   "parameters": {
47317	//     "id": {
47318	//       "description": "Remarketing list ID.",
47319	//       "format": "int64",
47320	//       "location": "path",
47321	//       "required": true,
47322	//       "type": "string"
47323	//     },
47324	//     "profileId": {
47325	//       "description": "User profile ID associated with this request.",
47326	//       "format": "int64",
47327	//       "location": "path",
47328	//       "required": true,
47329	//       "type": "string"
47330	//     }
47331	//   },
47332	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
47333	//   "response": {
47334	//     "$ref": "TargetableRemarketingList"
47335	//   },
47336	//   "scopes": [
47337	//     "https://www.googleapis.com/auth/dfatrafficking"
47338	//   ]
47339	// }
47340
47341}
47342
47343// method id "dfareporting.targetableRemarketingLists.list":
47344
47345type TargetableRemarketingListsListCall struct {
47346	s            *Service
47347	profileId    int64
47348	urlParams_   gensupport.URLParams
47349	ifNoneMatch_ string
47350	ctx_         context.Context
47351	header_      http.Header
47352}
47353
47354// List: Retrieves a list of targetable remarketing lists, possibly
47355// filtered. This method supports paging.
47356func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
47357	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47358	c.profileId = profileId
47359	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
47360	return c
47361}
47362
47363// Active sets the optional parameter "active": Select only active or
47364// only inactive targetable remarketing lists.
47365func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
47366	c.urlParams_.Set("active", fmt.Sprint(active))
47367	return c
47368}
47369
47370// MaxResults sets the optional parameter "maxResults": Maximum number
47371// of results to return.
47372func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
47373	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47374	return c
47375}
47376
47377// Name sets the optional parameter "name": Allows searching for objects
47378// by name or ID. Wildcards (*) are allowed. For example, "remarketing
47379// list*2015" will return objects with names like "remarketing list June
47380// 2015", "remarketing list April 2015", or simply "remarketing list
47381// 2015". Most of the searches also add wildcards implicitly at the
47382// start and the end of the search string. For example, a search string
47383// of "remarketing list" will match objects with name "my remarketing
47384// list", "remarketing list 2015", or simply "remarketing list".
47385func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
47386	c.urlParams_.Set("name", name)
47387	return c
47388}
47389
47390// PageToken sets the optional parameter "pageToken": Value of the
47391// nextPageToken from the previous result page.
47392func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
47393	c.urlParams_.Set("pageToken", pageToken)
47394	return c
47395}
47396
47397// SortField sets the optional parameter "sortField": Field by which to
47398// sort the list.
47399//
47400// Possible values:
47401//   "ID" (default)
47402//   "NAME"
47403func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
47404	c.urlParams_.Set("sortField", sortField)
47405	return c
47406}
47407
47408// SortOrder sets the optional parameter "sortOrder": Order of sorted
47409// results.
47410//
47411// Possible values:
47412//   "ASCENDING" (default)
47413//   "DESCENDING"
47414func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
47415	c.urlParams_.Set("sortOrder", sortOrder)
47416	return c
47417}
47418
47419// Fields allows partial responses to be retrieved. See
47420// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47421// for more information.
47422func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
47423	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47424	return c
47425}
47426
47427// IfNoneMatch sets the optional parameter which makes the operation
47428// fail if the object's ETag matches the given value. This is useful for
47429// getting updates only after the object has changed since the last
47430// request. Use googleapi.IsNotModified to check whether the response
47431// error from Do is the result of In-None-Match.
47432func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
47433	c.ifNoneMatch_ = entityTag
47434	return c
47435}
47436
47437// Context sets the context to be used in this call's Do method. Any
47438// pending HTTP request will be aborted if the provided context is
47439// canceled.
47440func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
47441	c.ctx_ = ctx
47442	return c
47443}
47444
47445// Header returns an http.Header that can be modified by the caller to
47446// add HTTP headers to the request.
47447func (c *TargetableRemarketingListsListCall) Header() http.Header {
47448	if c.header_ == nil {
47449		c.header_ = make(http.Header)
47450	}
47451	return c.header_
47452}
47453
47454func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
47455	reqHeaders := make(http.Header)
47456	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47457	for k, v := range c.header_ {
47458		reqHeaders[k] = v
47459	}
47460	reqHeaders.Set("User-Agent", c.s.userAgent())
47461	if c.ifNoneMatch_ != "" {
47462		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47463	}
47464	var body io.Reader = nil
47465	c.urlParams_.Set("alt", alt)
47466	c.urlParams_.Set("prettyPrint", "false")
47467	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
47468	urls += "?" + c.urlParams_.Encode()
47469	req, err := http.NewRequest("GET", urls, body)
47470	if err != nil {
47471		return nil, err
47472	}
47473	req.Header = reqHeaders
47474	googleapi.Expand(req.URL, map[string]string{
47475		"profileId": strconv.FormatInt(c.profileId, 10),
47476	})
47477	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47478}
47479
47480// Do executes the "dfareporting.targetableRemarketingLists.list" call.
47481// Exactly one of *TargetableRemarketingListsListResponse or error will
47482// be non-nil. Any non-2xx status code is an error. Response headers are
47483// in either
47484// *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
47485// a response was returned at all) in error.(*googleapi.Error).Header.
47486// Use googleapi.IsNotModified to check whether the returned error was
47487// because http.StatusNotModified was returned.
47488func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
47489	gensupport.SetOptions(c.urlParams_, opts...)
47490	res, err := c.doRequest("json")
47491	if res != nil && res.StatusCode == http.StatusNotModified {
47492		if res.Body != nil {
47493			res.Body.Close()
47494		}
47495		return nil, &googleapi.Error{
47496			Code:   res.StatusCode,
47497			Header: res.Header,
47498		}
47499	}
47500	if err != nil {
47501		return nil, err
47502	}
47503	defer googleapi.CloseBody(res)
47504	if err := googleapi.CheckResponse(res); err != nil {
47505		return nil, err
47506	}
47507	ret := &TargetableRemarketingListsListResponse{
47508		ServerResponse: googleapi.ServerResponse{
47509			Header:         res.Header,
47510			HTTPStatusCode: res.StatusCode,
47511		},
47512	}
47513	target := &ret
47514	if err := gensupport.DecodeResponse(target, res); err != nil {
47515		return nil, err
47516	}
47517	return ret, nil
47518	// {
47519	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
47520	//   "httpMethod": "GET",
47521	//   "id": "dfareporting.targetableRemarketingLists.list",
47522	//   "parameterOrder": [
47523	//     "profileId",
47524	//     "advertiserId"
47525	//   ],
47526	//   "parameters": {
47527	//     "active": {
47528	//       "description": "Select only active or only inactive targetable remarketing lists.",
47529	//       "location": "query",
47530	//       "type": "boolean"
47531	//     },
47532	//     "advertiserId": {
47533	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
47534	//       "format": "int64",
47535	//       "location": "query",
47536	//       "required": true,
47537	//       "type": "string"
47538	//     },
47539	//     "maxResults": {
47540	//       "default": "1000",
47541	//       "description": "Maximum number of results to return.",
47542	//       "format": "int32",
47543	//       "location": "query",
47544	//       "maximum": "1000",
47545	//       "minimum": "0",
47546	//       "type": "integer"
47547	//     },
47548	//     "name": {
47549	//       "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\".",
47550	//       "location": "query",
47551	//       "type": "string"
47552	//     },
47553	//     "pageToken": {
47554	//       "description": "Value of the nextPageToken from the previous result page.",
47555	//       "location": "query",
47556	//       "type": "string"
47557	//     },
47558	//     "profileId": {
47559	//       "description": "User profile ID associated with this request.",
47560	//       "format": "int64",
47561	//       "location": "path",
47562	//       "required": true,
47563	//       "type": "string"
47564	//     },
47565	//     "sortField": {
47566	//       "default": "ID",
47567	//       "description": "Field by which to sort the list.",
47568	//       "enum": [
47569	//         "ID",
47570	//         "NAME"
47571	//       ],
47572	//       "enumDescriptions": [
47573	//         "",
47574	//         ""
47575	//       ],
47576	//       "location": "query",
47577	//       "type": "string"
47578	//     },
47579	//     "sortOrder": {
47580	//       "default": "ASCENDING",
47581	//       "description": "Order of sorted results.",
47582	//       "enum": [
47583	//         "ASCENDING",
47584	//         "DESCENDING"
47585	//       ],
47586	//       "enumDescriptions": [
47587	//         "",
47588	//         ""
47589	//       ],
47590	//       "location": "query",
47591	//       "type": "string"
47592	//     }
47593	//   },
47594	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
47595	//   "response": {
47596	//     "$ref": "TargetableRemarketingListsListResponse"
47597	//   },
47598	//   "scopes": [
47599	//     "https://www.googleapis.com/auth/dfatrafficking"
47600	//   ]
47601	// }
47602
47603}
47604
47605// Pages invokes f for each page of results.
47606// A non-nil error returned from f will halt the iteration.
47607// The provided context supersedes any context provided to the Context method.
47608func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
47609	c.ctx_ = ctx
47610	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
47611	for {
47612		x, err := c.Do()
47613		if err != nil {
47614			return err
47615		}
47616		if err := f(x); err != nil {
47617			return err
47618		}
47619		if x.NextPageToken == "" {
47620			return nil
47621		}
47622		c.PageToken(x.NextPageToken)
47623	}
47624}
47625
47626// method id "dfareporting.targetingTemplates.get":
47627
47628type TargetingTemplatesGetCall struct {
47629	s            *Service
47630	profileId    int64
47631	id           int64
47632	urlParams_   gensupport.URLParams
47633	ifNoneMatch_ string
47634	ctx_         context.Context
47635	header_      http.Header
47636}
47637
47638// Get: Gets one targeting template by ID.
47639func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
47640	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47641	c.profileId = profileId
47642	c.id = id
47643	return c
47644}
47645
47646// Fields allows partial responses to be retrieved. See
47647// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47648// for more information.
47649func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
47650	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47651	return c
47652}
47653
47654// IfNoneMatch sets the optional parameter which makes the operation
47655// fail if the object's ETag matches the given value. This is useful for
47656// getting updates only after the object has changed since the last
47657// request. Use googleapi.IsNotModified to check whether the response
47658// error from Do is the result of In-None-Match.
47659func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
47660	c.ifNoneMatch_ = entityTag
47661	return c
47662}
47663
47664// Context sets the context to be used in this call's Do method. Any
47665// pending HTTP request will be aborted if the provided context is
47666// canceled.
47667func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
47668	c.ctx_ = ctx
47669	return c
47670}
47671
47672// Header returns an http.Header that can be modified by the caller to
47673// add HTTP headers to the request.
47674func (c *TargetingTemplatesGetCall) Header() http.Header {
47675	if c.header_ == nil {
47676		c.header_ = make(http.Header)
47677	}
47678	return c.header_
47679}
47680
47681func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
47682	reqHeaders := make(http.Header)
47683	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47684	for k, v := range c.header_ {
47685		reqHeaders[k] = v
47686	}
47687	reqHeaders.Set("User-Agent", c.s.userAgent())
47688	if c.ifNoneMatch_ != "" {
47689		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47690	}
47691	var body io.Reader = nil
47692	c.urlParams_.Set("alt", alt)
47693	c.urlParams_.Set("prettyPrint", "false")
47694	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
47695	urls += "?" + c.urlParams_.Encode()
47696	req, err := http.NewRequest("GET", urls, body)
47697	if err != nil {
47698		return nil, err
47699	}
47700	req.Header = reqHeaders
47701	googleapi.Expand(req.URL, map[string]string{
47702		"profileId": strconv.FormatInt(c.profileId, 10),
47703		"id":        strconv.FormatInt(c.id, 10),
47704	})
47705	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47706}
47707
47708// Do executes the "dfareporting.targetingTemplates.get" call.
47709// Exactly one of *TargetingTemplate or error will be non-nil. Any
47710// non-2xx status code is an error. Response headers are in either
47711// *TargetingTemplate.ServerResponse.Header or (if a response was
47712// returned at all) in error.(*googleapi.Error).Header. Use
47713// googleapi.IsNotModified to check whether the returned error was
47714// because http.StatusNotModified was returned.
47715func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
47716	gensupport.SetOptions(c.urlParams_, opts...)
47717	res, err := c.doRequest("json")
47718	if res != nil && res.StatusCode == http.StatusNotModified {
47719		if res.Body != nil {
47720			res.Body.Close()
47721		}
47722		return nil, &googleapi.Error{
47723			Code:   res.StatusCode,
47724			Header: res.Header,
47725		}
47726	}
47727	if err != nil {
47728		return nil, err
47729	}
47730	defer googleapi.CloseBody(res)
47731	if err := googleapi.CheckResponse(res); err != nil {
47732		return nil, err
47733	}
47734	ret := &TargetingTemplate{
47735		ServerResponse: googleapi.ServerResponse{
47736			Header:         res.Header,
47737			HTTPStatusCode: res.StatusCode,
47738		},
47739	}
47740	target := &ret
47741	if err := gensupport.DecodeResponse(target, res); err != nil {
47742		return nil, err
47743	}
47744	return ret, nil
47745	// {
47746	//   "description": "Gets one targeting template by ID.",
47747	//   "httpMethod": "GET",
47748	//   "id": "dfareporting.targetingTemplates.get",
47749	//   "parameterOrder": [
47750	//     "profileId",
47751	//     "id"
47752	//   ],
47753	//   "parameters": {
47754	//     "id": {
47755	//       "description": "Targeting template ID.",
47756	//       "format": "int64",
47757	//       "location": "path",
47758	//       "required": true,
47759	//       "type": "string"
47760	//     },
47761	//     "profileId": {
47762	//       "description": "User profile ID associated with this request.",
47763	//       "format": "int64",
47764	//       "location": "path",
47765	//       "required": true,
47766	//       "type": "string"
47767	//     }
47768	//   },
47769	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
47770	//   "response": {
47771	//     "$ref": "TargetingTemplate"
47772	//   },
47773	//   "scopes": [
47774	//     "https://www.googleapis.com/auth/dfatrafficking"
47775	//   ]
47776	// }
47777
47778}
47779
47780// method id "dfareporting.targetingTemplates.insert":
47781
47782type TargetingTemplatesInsertCall struct {
47783	s                 *Service
47784	profileId         int64
47785	targetingtemplate *TargetingTemplate
47786	urlParams_        gensupport.URLParams
47787	ctx_              context.Context
47788	header_           http.Header
47789}
47790
47791// Insert: Inserts a new targeting template.
47792func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
47793	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47794	c.profileId = profileId
47795	c.targetingtemplate = targetingtemplate
47796	return c
47797}
47798
47799// Fields allows partial responses to be retrieved. See
47800// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47801// for more information.
47802func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
47803	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47804	return c
47805}
47806
47807// Context sets the context to be used in this call's Do method. Any
47808// pending HTTP request will be aborted if the provided context is
47809// canceled.
47810func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
47811	c.ctx_ = ctx
47812	return c
47813}
47814
47815// Header returns an http.Header that can be modified by the caller to
47816// add HTTP headers to the request.
47817func (c *TargetingTemplatesInsertCall) Header() http.Header {
47818	if c.header_ == nil {
47819		c.header_ = make(http.Header)
47820	}
47821	return c.header_
47822}
47823
47824func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
47825	reqHeaders := make(http.Header)
47826	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47827	for k, v := range c.header_ {
47828		reqHeaders[k] = v
47829	}
47830	reqHeaders.Set("User-Agent", c.s.userAgent())
47831	var body io.Reader = nil
47832	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
47833	if err != nil {
47834		return nil, err
47835	}
47836	reqHeaders.Set("Content-Type", "application/json")
47837	c.urlParams_.Set("alt", alt)
47838	c.urlParams_.Set("prettyPrint", "false")
47839	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
47840	urls += "?" + c.urlParams_.Encode()
47841	req, err := http.NewRequest("POST", urls, body)
47842	if err != nil {
47843		return nil, err
47844	}
47845	req.Header = reqHeaders
47846	googleapi.Expand(req.URL, map[string]string{
47847		"profileId": strconv.FormatInt(c.profileId, 10),
47848	})
47849	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47850}
47851
47852// Do executes the "dfareporting.targetingTemplates.insert" call.
47853// Exactly one of *TargetingTemplate or error will be non-nil. Any
47854// non-2xx status code is an error. Response headers are in either
47855// *TargetingTemplate.ServerResponse.Header or (if a response was
47856// returned at all) in error.(*googleapi.Error).Header. Use
47857// googleapi.IsNotModified to check whether the returned error was
47858// because http.StatusNotModified was returned.
47859func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
47860	gensupport.SetOptions(c.urlParams_, opts...)
47861	res, err := c.doRequest("json")
47862	if res != nil && res.StatusCode == http.StatusNotModified {
47863		if res.Body != nil {
47864			res.Body.Close()
47865		}
47866		return nil, &googleapi.Error{
47867			Code:   res.StatusCode,
47868			Header: res.Header,
47869		}
47870	}
47871	if err != nil {
47872		return nil, err
47873	}
47874	defer googleapi.CloseBody(res)
47875	if err := googleapi.CheckResponse(res); err != nil {
47876		return nil, err
47877	}
47878	ret := &TargetingTemplate{
47879		ServerResponse: googleapi.ServerResponse{
47880			Header:         res.Header,
47881			HTTPStatusCode: res.StatusCode,
47882		},
47883	}
47884	target := &ret
47885	if err := gensupport.DecodeResponse(target, res); err != nil {
47886		return nil, err
47887	}
47888	return ret, nil
47889	// {
47890	//   "description": "Inserts a new targeting template.",
47891	//   "httpMethod": "POST",
47892	//   "id": "dfareporting.targetingTemplates.insert",
47893	//   "parameterOrder": [
47894	//     "profileId"
47895	//   ],
47896	//   "parameters": {
47897	//     "profileId": {
47898	//       "description": "User profile ID associated with this request.",
47899	//       "format": "int64",
47900	//       "location": "path",
47901	//       "required": true,
47902	//       "type": "string"
47903	//     }
47904	//   },
47905	//   "path": "userprofiles/{profileId}/targetingTemplates",
47906	//   "request": {
47907	//     "$ref": "TargetingTemplate"
47908	//   },
47909	//   "response": {
47910	//     "$ref": "TargetingTemplate"
47911	//   },
47912	//   "scopes": [
47913	//     "https://www.googleapis.com/auth/dfatrafficking"
47914	//   ]
47915	// }
47916
47917}
47918
47919// method id "dfareporting.targetingTemplates.list":
47920
47921type TargetingTemplatesListCall struct {
47922	s            *Service
47923	profileId    int64
47924	urlParams_   gensupport.URLParams
47925	ifNoneMatch_ string
47926	ctx_         context.Context
47927	header_      http.Header
47928}
47929
47930// List: Retrieves a list of targeting templates, optionally filtered.
47931// This method supports paging.
47932func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
47933	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47934	c.profileId = profileId
47935	return c
47936}
47937
47938// AdvertiserId sets the optional parameter "advertiserId": Select only
47939// targeting templates with this advertiser ID.
47940func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
47941	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
47942	return c
47943}
47944
47945// Ids sets the optional parameter "ids": Select only targeting
47946// templates with these IDs.
47947func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
47948	var ids_ []string
47949	for _, v := range ids {
47950		ids_ = append(ids_, fmt.Sprint(v))
47951	}
47952	c.urlParams_.SetMulti("ids", ids_)
47953	return c
47954}
47955
47956// MaxResults sets the optional parameter "maxResults": Maximum number
47957// of results to return.
47958func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
47959	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47960	return c
47961}
47962
47963// PageToken sets the optional parameter "pageToken": Value of the
47964// nextPageToken from the previous result page.
47965func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
47966	c.urlParams_.Set("pageToken", pageToken)
47967	return c
47968}
47969
47970// SearchString sets the optional parameter "searchString": Allows
47971// searching for objects by name or ID. Wildcards (*) are allowed. For
47972// example, "template*2015" will return objects with names like
47973// "template June 2015", "template April 2015", or simply "template
47974// 2015". Most of the searches also add wildcards implicitly at the
47975// start and the end of the search string. For example, a search string
47976// of "template" will match objects with name "my template", "template
47977// 2015", or simply "template".
47978func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
47979	c.urlParams_.Set("searchString", searchString)
47980	return c
47981}
47982
47983// SortField sets the optional parameter "sortField": Field by which to
47984// sort the list.
47985//
47986// Possible values:
47987//   "ID" (default)
47988//   "NAME"
47989func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
47990	c.urlParams_.Set("sortField", sortField)
47991	return c
47992}
47993
47994// SortOrder sets the optional parameter "sortOrder": Order of sorted
47995// results.
47996//
47997// Possible values:
47998//   "ASCENDING" (default)
47999//   "DESCENDING"
48000func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
48001	c.urlParams_.Set("sortOrder", sortOrder)
48002	return c
48003}
48004
48005// Fields allows partial responses to be retrieved. See
48006// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48007// for more information.
48008func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
48009	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48010	return c
48011}
48012
48013// IfNoneMatch sets the optional parameter which makes the operation
48014// fail if the object's ETag matches the given value. This is useful for
48015// getting updates only after the object has changed since the last
48016// request. Use googleapi.IsNotModified to check whether the response
48017// error from Do is the result of In-None-Match.
48018func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
48019	c.ifNoneMatch_ = entityTag
48020	return c
48021}
48022
48023// Context sets the context to be used in this call's Do method. Any
48024// pending HTTP request will be aborted if the provided context is
48025// canceled.
48026func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
48027	c.ctx_ = ctx
48028	return c
48029}
48030
48031// Header returns an http.Header that can be modified by the caller to
48032// add HTTP headers to the request.
48033func (c *TargetingTemplatesListCall) Header() http.Header {
48034	if c.header_ == nil {
48035		c.header_ = make(http.Header)
48036	}
48037	return c.header_
48038}
48039
48040func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
48041	reqHeaders := make(http.Header)
48042	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48043	for k, v := range c.header_ {
48044		reqHeaders[k] = v
48045	}
48046	reqHeaders.Set("User-Agent", c.s.userAgent())
48047	if c.ifNoneMatch_ != "" {
48048		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48049	}
48050	var body io.Reader = nil
48051	c.urlParams_.Set("alt", alt)
48052	c.urlParams_.Set("prettyPrint", "false")
48053	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48054	urls += "?" + c.urlParams_.Encode()
48055	req, err := http.NewRequest("GET", urls, body)
48056	if err != nil {
48057		return nil, err
48058	}
48059	req.Header = reqHeaders
48060	googleapi.Expand(req.URL, map[string]string{
48061		"profileId": strconv.FormatInt(c.profileId, 10),
48062	})
48063	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48064}
48065
48066// Do executes the "dfareporting.targetingTemplates.list" call.
48067// Exactly one of *TargetingTemplatesListResponse or error will be
48068// non-nil. Any non-2xx status code is an error. Response headers are in
48069// either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
48070// response was returned at all) in error.(*googleapi.Error).Header. Use
48071// googleapi.IsNotModified to check whether the returned error was
48072// because http.StatusNotModified was returned.
48073func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
48074	gensupport.SetOptions(c.urlParams_, opts...)
48075	res, err := c.doRequest("json")
48076	if res != nil && res.StatusCode == http.StatusNotModified {
48077		if res.Body != nil {
48078			res.Body.Close()
48079		}
48080		return nil, &googleapi.Error{
48081			Code:   res.StatusCode,
48082			Header: res.Header,
48083		}
48084	}
48085	if err != nil {
48086		return nil, err
48087	}
48088	defer googleapi.CloseBody(res)
48089	if err := googleapi.CheckResponse(res); err != nil {
48090		return nil, err
48091	}
48092	ret := &TargetingTemplatesListResponse{
48093		ServerResponse: googleapi.ServerResponse{
48094			Header:         res.Header,
48095			HTTPStatusCode: res.StatusCode,
48096		},
48097	}
48098	target := &ret
48099	if err := gensupport.DecodeResponse(target, res); err != nil {
48100		return nil, err
48101	}
48102	return ret, nil
48103	// {
48104	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
48105	//   "httpMethod": "GET",
48106	//   "id": "dfareporting.targetingTemplates.list",
48107	//   "parameterOrder": [
48108	//     "profileId"
48109	//   ],
48110	//   "parameters": {
48111	//     "advertiserId": {
48112	//       "description": "Select only targeting templates with this advertiser ID.",
48113	//       "format": "int64",
48114	//       "location": "query",
48115	//       "type": "string"
48116	//     },
48117	//     "ids": {
48118	//       "description": "Select only targeting templates with these IDs.",
48119	//       "format": "int64",
48120	//       "location": "query",
48121	//       "repeated": true,
48122	//       "type": "string"
48123	//     },
48124	//     "maxResults": {
48125	//       "default": "1000",
48126	//       "description": "Maximum number of results to return.",
48127	//       "format": "int32",
48128	//       "location": "query",
48129	//       "maximum": "1000",
48130	//       "minimum": "0",
48131	//       "type": "integer"
48132	//     },
48133	//     "pageToken": {
48134	//       "description": "Value of the nextPageToken from the previous result page.",
48135	//       "location": "query",
48136	//       "type": "string"
48137	//     },
48138	//     "profileId": {
48139	//       "description": "User profile ID associated with this request.",
48140	//       "format": "int64",
48141	//       "location": "path",
48142	//       "required": true,
48143	//       "type": "string"
48144	//     },
48145	//     "searchString": {
48146	//       "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\".",
48147	//       "location": "query",
48148	//       "type": "string"
48149	//     },
48150	//     "sortField": {
48151	//       "default": "ID",
48152	//       "description": "Field by which to sort the list.",
48153	//       "enum": [
48154	//         "ID",
48155	//         "NAME"
48156	//       ],
48157	//       "enumDescriptions": [
48158	//         "",
48159	//         ""
48160	//       ],
48161	//       "location": "query",
48162	//       "type": "string"
48163	//     },
48164	//     "sortOrder": {
48165	//       "default": "ASCENDING",
48166	//       "description": "Order of sorted results.",
48167	//       "enum": [
48168	//         "ASCENDING",
48169	//         "DESCENDING"
48170	//       ],
48171	//       "enumDescriptions": [
48172	//         "",
48173	//         ""
48174	//       ],
48175	//       "location": "query",
48176	//       "type": "string"
48177	//     }
48178	//   },
48179	//   "path": "userprofiles/{profileId}/targetingTemplates",
48180	//   "response": {
48181	//     "$ref": "TargetingTemplatesListResponse"
48182	//   },
48183	//   "scopes": [
48184	//     "https://www.googleapis.com/auth/dfatrafficking"
48185	//   ]
48186	// }
48187
48188}
48189
48190// Pages invokes f for each page of results.
48191// A non-nil error returned from f will halt the iteration.
48192// The provided context supersedes any context provided to the Context method.
48193func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
48194	c.ctx_ = ctx
48195	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48196	for {
48197		x, err := c.Do()
48198		if err != nil {
48199			return err
48200		}
48201		if err := f(x); err != nil {
48202			return err
48203		}
48204		if x.NextPageToken == "" {
48205			return nil
48206		}
48207		c.PageToken(x.NextPageToken)
48208	}
48209}
48210
48211// method id "dfareporting.targetingTemplates.patch":
48212
48213type TargetingTemplatesPatchCall struct {
48214	s                 *Service
48215	profileId         int64
48216	targetingtemplate *TargetingTemplate
48217	urlParams_        gensupport.URLParams
48218	ctx_              context.Context
48219	header_           http.Header
48220}
48221
48222// Patch: Updates an existing targeting template. This method supports
48223// patch semantics.
48224func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
48225	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48226	c.profileId = profileId
48227	c.urlParams_.Set("id", fmt.Sprint(id))
48228	c.targetingtemplate = targetingtemplate
48229	return c
48230}
48231
48232// Fields allows partial responses to be retrieved. See
48233// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48234// for more information.
48235func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
48236	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48237	return c
48238}
48239
48240// Context sets the context to be used in this call's Do method. Any
48241// pending HTTP request will be aborted if the provided context is
48242// canceled.
48243func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
48244	c.ctx_ = ctx
48245	return c
48246}
48247
48248// Header returns an http.Header that can be modified by the caller to
48249// add HTTP headers to the request.
48250func (c *TargetingTemplatesPatchCall) Header() http.Header {
48251	if c.header_ == nil {
48252		c.header_ = make(http.Header)
48253	}
48254	return c.header_
48255}
48256
48257func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
48258	reqHeaders := make(http.Header)
48259	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48260	for k, v := range c.header_ {
48261		reqHeaders[k] = v
48262	}
48263	reqHeaders.Set("User-Agent", c.s.userAgent())
48264	var body io.Reader = nil
48265	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48266	if err != nil {
48267		return nil, err
48268	}
48269	reqHeaders.Set("Content-Type", "application/json")
48270	c.urlParams_.Set("alt", alt)
48271	c.urlParams_.Set("prettyPrint", "false")
48272	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48273	urls += "?" + c.urlParams_.Encode()
48274	req, err := http.NewRequest("PATCH", urls, body)
48275	if err != nil {
48276		return nil, err
48277	}
48278	req.Header = reqHeaders
48279	googleapi.Expand(req.URL, map[string]string{
48280		"profileId": strconv.FormatInt(c.profileId, 10),
48281	})
48282	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48283}
48284
48285// Do executes the "dfareporting.targetingTemplates.patch" call.
48286// Exactly one of *TargetingTemplate or error will be non-nil. Any
48287// non-2xx status code is an error. Response headers are in either
48288// *TargetingTemplate.ServerResponse.Header or (if a response was
48289// returned at all) in error.(*googleapi.Error).Header. Use
48290// googleapi.IsNotModified to check whether the returned error was
48291// because http.StatusNotModified was returned.
48292func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48293	gensupport.SetOptions(c.urlParams_, opts...)
48294	res, err := c.doRequest("json")
48295	if res != nil && res.StatusCode == http.StatusNotModified {
48296		if res.Body != nil {
48297			res.Body.Close()
48298		}
48299		return nil, &googleapi.Error{
48300			Code:   res.StatusCode,
48301			Header: res.Header,
48302		}
48303	}
48304	if err != nil {
48305		return nil, err
48306	}
48307	defer googleapi.CloseBody(res)
48308	if err := googleapi.CheckResponse(res); err != nil {
48309		return nil, err
48310	}
48311	ret := &TargetingTemplate{
48312		ServerResponse: googleapi.ServerResponse{
48313			Header:         res.Header,
48314			HTTPStatusCode: res.StatusCode,
48315		},
48316	}
48317	target := &ret
48318	if err := gensupport.DecodeResponse(target, res); err != nil {
48319		return nil, err
48320	}
48321	return ret, nil
48322	// {
48323	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
48324	//   "httpMethod": "PATCH",
48325	//   "id": "dfareporting.targetingTemplates.patch",
48326	//   "parameterOrder": [
48327	//     "profileId",
48328	//     "id"
48329	//   ],
48330	//   "parameters": {
48331	//     "id": {
48332	//       "description": "Targeting template ID.",
48333	//       "format": "int64",
48334	//       "location": "query",
48335	//       "required": true,
48336	//       "type": "string"
48337	//     },
48338	//     "profileId": {
48339	//       "description": "User profile ID associated with this request.",
48340	//       "format": "int64",
48341	//       "location": "path",
48342	//       "required": true,
48343	//       "type": "string"
48344	//     }
48345	//   },
48346	//   "path": "userprofiles/{profileId}/targetingTemplates",
48347	//   "request": {
48348	//     "$ref": "TargetingTemplate"
48349	//   },
48350	//   "response": {
48351	//     "$ref": "TargetingTemplate"
48352	//   },
48353	//   "scopes": [
48354	//     "https://www.googleapis.com/auth/dfatrafficking"
48355	//   ]
48356	// }
48357
48358}
48359
48360// method id "dfareporting.targetingTemplates.update":
48361
48362type TargetingTemplatesUpdateCall struct {
48363	s                 *Service
48364	profileId         int64
48365	targetingtemplate *TargetingTemplate
48366	urlParams_        gensupport.URLParams
48367	ctx_              context.Context
48368	header_           http.Header
48369}
48370
48371// Update: Updates an existing targeting template.
48372func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
48373	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48374	c.profileId = profileId
48375	c.targetingtemplate = targetingtemplate
48376	return c
48377}
48378
48379// Fields allows partial responses to be retrieved. See
48380// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48381// for more information.
48382func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
48383	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48384	return c
48385}
48386
48387// Context sets the context to be used in this call's Do method. Any
48388// pending HTTP request will be aborted if the provided context is
48389// canceled.
48390func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
48391	c.ctx_ = ctx
48392	return c
48393}
48394
48395// Header returns an http.Header that can be modified by the caller to
48396// add HTTP headers to the request.
48397func (c *TargetingTemplatesUpdateCall) Header() http.Header {
48398	if c.header_ == nil {
48399		c.header_ = make(http.Header)
48400	}
48401	return c.header_
48402}
48403
48404func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
48405	reqHeaders := make(http.Header)
48406	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48407	for k, v := range c.header_ {
48408		reqHeaders[k] = v
48409	}
48410	reqHeaders.Set("User-Agent", c.s.userAgent())
48411	var body io.Reader = nil
48412	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48413	if err != nil {
48414		return nil, err
48415	}
48416	reqHeaders.Set("Content-Type", "application/json")
48417	c.urlParams_.Set("alt", alt)
48418	c.urlParams_.Set("prettyPrint", "false")
48419	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48420	urls += "?" + c.urlParams_.Encode()
48421	req, err := http.NewRequest("PUT", urls, body)
48422	if err != nil {
48423		return nil, err
48424	}
48425	req.Header = reqHeaders
48426	googleapi.Expand(req.URL, map[string]string{
48427		"profileId": strconv.FormatInt(c.profileId, 10),
48428	})
48429	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48430}
48431
48432// Do executes the "dfareporting.targetingTemplates.update" call.
48433// Exactly one of *TargetingTemplate or error will be non-nil. Any
48434// non-2xx status code is an error. Response headers are in either
48435// *TargetingTemplate.ServerResponse.Header or (if a response was
48436// returned at all) in error.(*googleapi.Error).Header. Use
48437// googleapi.IsNotModified to check whether the returned error was
48438// because http.StatusNotModified was returned.
48439func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48440	gensupport.SetOptions(c.urlParams_, opts...)
48441	res, err := c.doRequest("json")
48442	if res != nil && res.StatusCode == http.StatusNotModified {
48443		if res.Body != nil {
48444			res.Body.Close()
48445		}
48446		return nil, &googleapi.Error{
48447			Code:   res.StatusCode,
48448			Header: res.Header,
48449		}
48450	}
48451	if err != nil {
48452		return nil, err
48453	}
48454	defer googleapi.CloseBody(res)
48455	if err := googleapi.CheckResponse(res); err != nil {
48456		return nil, err
48457	}
48458	ret := &TargetingTemplate{
48459		ServerResponse: googleapi.ServerResponse{
48460			Header:         res.Header,
48461			HTTPStatusCode: res.StatusCode,
48462		},
48463	}
48464	target := &ret
48465	if err := gensupport.DecodeResponse(target, res); err != nil {
48466		return nil, err
48467	}
48468	return ret, nil
48469	// {
48470	//   "description": "Updates an existing targeting template.",
48471	//   "httpMethod": "PUT",
48472	//   "id": "dfareporting.targetingTemplates.update",
48473	//   "parameterOrder": [
48474	//     "profileId"
48475	//   ],
48476	//   "parameters": {
48477	//     "profileId": {
48478	//       "description": "User profile ID associated with this request.",
48479	//       "format": "int64",
48480	//       "location": "path",
48481	//       "required": true,
48482	//       "type": "string"
48483	//     }
48484	//   },
48485	//   "path": "userprofiles/{profileId}/targetingTemplates",
48486	//   "request": {
48487	//     "$ref": "TargetingTemplate"
48488	//   },
48489	//   "response": {
48490	//     "$ref": "TargetingTemplate"
48491	//   },
48492	//   "scopes": [
48493	//     "https://www.googleapis.com/auth/dfatrafficking"
48494	//   ]
48495	// }
48496
48497}
48498
48499// method id "dfareporting.userProfiles.get":
48500
48501type UserProfilesGetCall struct {
48502	s            *Service
48503	profileId    int64
48504	urlParams_   gensupport.URLParams
48505	ifNoneMatch_ string
48506	ctx_         context.Context
48507	header_      http.Header
48508}
48509
48510// Get: Gets one user profile by ID.
48511func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
48512	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48513	c.profileId = profileId
48514	return c
48515}
48516
48517// Fields allows partial responses to be retrieved. See
48518// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48519// for more information.
48520func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
48521	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48522	return c
48523}
48524
48525// IfNoneMatch sets the optional parameter which makes the operation
48526// fail if the object's ETag matches the given value. This is useful for
48527// getting updates only after the object has changed since the last
48528// request. Use googleapi.IsNotModified to check whether the response
48529// error from Do is the result of In-None-Match.
48530func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
48531	c.ifNoneMatch_ = entityTag
48532	return c
48533}
48534
48535// Context sets the context to be used in this call's Do method. Any
48536// pending HTTP request will be aborted if the provided context is
48537// canceled.
48538func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
48539	c.ctx_ = ctx
48540	return c
48541}
48542
48543// Header returns an http.Header that can be modified by the caller to
48544// add HTTP headers to the request.
48545func (c *UserProfilesGetCall) Header() http.Header {
48546	if c.header_ == nil {
48547		c.header_ = make(http.Header)
48548	}
48549	return c.header_
48550}
48551
48552func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
48553	reqHeaders := make(http.Header)
48554	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48555	for k, v := range c.header_ {
48556		reqHeaders[k] = v
48557	}
48558	reqHeaders.Set("User-Agent", c.s.userAgent())
48559	if c.ifNoneMatch_ != "" {
48560		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48561	}
48562	var body io.Reader = nil
48563	c.urlParams_.Set("alt", alt)
48564	c.urlParams_.Set("prettyPrint", "false")
48565	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
48566	urls += "?" + c.urlParams_.Encode()
48567	req, err := http.NewRequest("GET", urls, body)
48568	if err != nil {
48569		return nil, err
48570	}
48571	req.Header = reqHeaders
48572	googleapi.Expand(req.URL, map[string]string{
48573		"profileId": strconv.FormatInt(c.profileId, 10),
48574	})
48575	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48576}
48577
48578// Do executes the "dfareporting.userProfiles.get" call.
48579// Exactly one of *UserProfile or error will be non-nil. Any non-2xx
48580// status code is an error. Response headers are in either
48581// *UserProfile.ServerResponse.Header or (if a response was returned at
48582// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
48583// to check whether the returned error was because
48584// http.StatusNotModified was returned.
48585func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
48586	gensupport.SetOptions(c.urlParams_, opts...)
48587	res, err := c.doRequest("json")
48588	if res != nil && res.StatusCode == http.StatusNotModified {
48589		if res.Body != nil {
48590			res.Body.Close()
48591		}
48592		return nil, &googleapi.Error{
48593			Code:   res.StatusCode,
48594			Header: res.Header,
48595		}
48596	}
48597	if err != nil {
48598		return nil, err
48599	}
48600	defer googleapi.CloseBody(res)
48601	if err := googleapi.CheckResponse(res); err != nil {
48602		return nil, err
48603	}
48604	ret := &UserProfile{
48605		ServerResponse: googleapi.ServerResponse{
48606			Header:         res.Header,
48607			HTTPStatusCode: res.StatusCode,
48608		},
48609	}
48610	target := &ret
48611	if err := gensupport.DecodeResponse(target, res); err != nil {
48612		return nil, err
48613	}
48614	return ret, nil
48615	// {
48616	//   "description": "Gets one user profile by ID.",
48617	//   "httpMethod": "GET",
48618	//   "id": "dfareporting.userProfiles.get",
48619	//   "parameterOrder": [
48620	//     "profileId"
48621	//   ],
48622	//   "parameters": {
48623	//     "profileId": {
48624	//       "description": "The user profile ID.",
48625	//       "format": "int64",
48626	//       "location": "path",
48627	//       "required": true,
48628	//       "type": "string"
48629	//     }
48630	//   },
48631	//   "path": "userprofiles/{profileId}",
48632	//   "response": {
48633	//     "$ref": "UserProfile"
48634	//   },
48635	//   "scopes": [
48636	//     "https://www.googleapis.com/auth/dfareporting",
48637	//     "https://www.googleapis.com/auth/dfatrafficking"
48638	//   ]
48639	// }
48640
48641}
48642
48643// method id "dfareporting.userProfiles.list":
48644
48645type UserProfilesListCall struct {
48646	s            *Service
48647	urlParams_   gensupport.URLParams
48648	ifNoneMatch_ string
48649	ctx_         context.Context
48650	header_      http.Header
48651}
48652
48653// List: Retrieves list of user profiles for a user.
48654func (r *UserProfilesService) List() *UserProfilesListCall {
48655	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48656	return c
48657}
48658
48659// Fields allows partial responses to be retrieved. See
48660// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48661// for more information.
48662func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
48663	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48664	return c
48665}
48666
48667// IfNoneMatch sets the optional parameter which makes the operation
48668// fail if the object's ETag matches the given value. This is useful for
48669// getting updates only after the object has changed since the last
48670// request. Use googleapi.IsNotModified to check whether the response
48671// error from Do is the result of In-None-Match.
48672func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
48673	c.ifNoneMatch_ = entityTag
48674	return c
48675}
48676
48677// Context sets the context to be used in this call's Do method. Any
48678// pending HTTP request will be aborted if the provided context is
48679// canceled.
48680func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
48681	c.ctx_ = ctx
48682	return c
48683}
48684
48685// Header returns an http.Header that can be modified by the caller to
48686// add HTTP headers to the request.
48687func (c *UserProfilesListCall) Header() http.Header {
48688	if c.header_ == nil {
48689		c.header_ = make(http.Header)
48690	}
48691	return c.header_
48692}
48693
48694func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
48695	reqHeaders := make(http.Header)
48696	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48697	for k, v := range c.header_ {
48698		reqHeaders[k] = v
48699	}
48700	reqHeaders.Set("User-Agent", c.s.userAgent())
48701	if c.ifNoneMatch_ != "" {
48702		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48703	}
48704	var body io.Reader = nil
48705	c.urlParams_.Set("alt", alt)
48706	c.urlParams_.Set("prettyPrint", "false")
48707	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
48708	urls += "?" + c.urlParams_.Encode()
48709	req, err := http.NewRequest("GET", urls, body)
48710	if err != nil {
48711		return nil, err
48712	}
48713	req.Header = reqHeaders
48714	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48715}
48716
48717// Do executes the "dfareporting.userProfiles.list" call.
48718// Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
48719// status code is an error. Response headers are in either
48720// *UserProfileList.ServerResponse.Header or (if a response was returned
48721// at all) in error.(*googleapi.Error).Header. Use
48722// googleapi.IsNotModified to check whether the returned error was
48723// because http.StatusNotModified was returned.
48724func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
48725	gensupport.SetOptions(c.urlParams_, opts...)
48726	res, err := c.doRequest("json")
48727	if res != nil && res.StatusCode == http.StatusNotModified {
48728		if res.Body != nil {
48729			res.Body.Close()
48730		}
48731		return nil, &googleapi.Error{
48732			Code:   res.StatusCode,
48733			Header: res.Header,
48734		}
48735	}
48736	if err != nil {
48737		return nil, err
48738	}
48739	defer googleapi.CloseBody(res)
48740	if err := googleapi.CheckResponse(res); err != nil {
48741		return nil, err
48742	}
48743	ret := &UserProfileList{
48744		ServerResponse: googleapi.ServerResponse{
48745			Header:         res.Header,
48746			HTTPStatusCode: res.StatusCode,
48747		},
48748	}
48749	target := &ret
48750	if err := gensupport.DecodeResponse(target, res); err != nil {
48751		return nil, err
48752	}
48753	return ret, nil
48754	// {
48755	//   "description": "Retrieves list of user profiles for a user.",
48756	//   "httpMethod": "GET",
48757	//   "id": "dfareporting.userProfiles.list",
48758	//   "path": "userprofiles",
48759	//   "response": {
48760	//     "$ref": "UserProfileList"
48761	//   },
48762	//   "scopes": [
48763	//     "https://www.googleapis.com/auth/dfareporting",
48764	//     "https://www.googleapis.com/auth/dfatrafficking"
48765	//   ]
48766	// }
48767
48768}
48769
48770// method id "dfareporting.userRolePermissionGroups.get":
48771
48772type UserRolePermissionGroupsGetCall struct {
48773	s            *Service
48774	profileId    int64
48775	id           int64
48776	urlParams_   gensupport.URLParams
48777	ifNoneMatch_ string
48778	ctx_         context.Context
48779	header_      http.Header
48780}
48781
48782// Get: Gets one user role permission group by ID.
48783func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
48784	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48785	c.profileId = profileId
48786	c.id = id
48787	return c
48788}
48789
48790// Fields allows partial responses to be retrieved. See
48791// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48792// for more information.
48793func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
48794	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48795	return c
48796}
48797
48798// IfNoneMatch sets the optional parameter which makes the operation
48799// fail if the object's ETag matches the given value. This is useful for
48800// getting updates only after the object has changed since the last
48801// request. Use googleapi.IsNotModified to check whether the response
48802// error from Do is the result of In-None-Match.
48803func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
48804	c.ifNoneMatch_ = entityTag
48805	return c
48806}
48807
48808// Context sets the context to be used in this call's Do method. Any
48809// pending HTTP request will be aborted if the provided context is
48810// canceled.
48811func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
48812	c.ctx_ = ctx
48813	return c
48814}
48815
48816// Header returns an http.Header that can be modified by the caller to
48817// add HTTP headers to the request.
48818func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
48819	if c.header_ == nil {
48820		c.header_ = make(http.Header)
48821	}
48822	return c.header_
48823}
48824
48825func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
48826	reqHeaders := make(http.Header)
48827	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48828	for k, v := range c.header_ {
48829		reqHeaders[k] = v
48830	}
48831	reqHeaders.Set("User-Agent", c.s.userAgent())
48832	if c.ifNoneMatch_ != "" {
48833		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48834	}
48835	var body io.Reader = nil
48836	c.urlParams_.Set("alt", alt)
48837	c.urlParams_.Set("prettyPrint", "false")
48838	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
48839	urls += "?" + c.urlParams_.Encode()
48840	req, err := http.NewRequest("GET", urls, body)
48841	if err != nil {
48842		return nil, err
48843	}
48844	req.Header = reqHeaders
48845	googleapi.Expand(req.URL, map[string]string{
48846		"profileId": strconv.FormatInt(c.profileId, 10),
48847		"id":        strconv.FormatInt(c.id, 10),
48848	})
48849	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48850}
48851
48852// Do executes the "dfareporting.userRolePermissionGroups.get" call.
48853// Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
48854// non-2xx status code is an error. Response headers are in either
48855// *UserRolePermissionGroup.ServerResponse.Header or (if a response was
48856// returned at all) in error.(*googleapi.Error).Header. Use
48857// googleapi.IsNotModified to check whether the returned error was
48858// because http.StatusNotModified was returned.
48859func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
48860	gensupport.SetOptions(c.urlParams_, opts...)
48861	res, err := c.doRequest("json")
48862	if res != nil && res.StatusCode == http.StatusNotModified {
48863		if res.Body != nil {
48864			res.Body.Close()
48865		}
48866		return nil, &googleapi.Error{
48867			Code:   res.StatusCode,
48868			Header: res.Header,
48869		}
48870	}
48871	if err != nil {
48872		return nil, err
48873	}
48874	defer googleapi.CloseBody(res)
48875	if err := googleapi.CheckResponse(res); err != nil {
48876		return nil, err
48877	}
48878	ret := &UserRolePermissionGroup{
48879		ServerResponse: googleapi.ServerResponse{
48880			Header:         res.Header,
48881			HTTPStatusCode: res.StatusCode,
48882		},
48883	}
48884	target := &ret
48885	if err := gensupport.DecodeResponse(target, res); err != nil {
48886		return nil, err
48887	}
48888	return ret, nil
48889	// {
48890	//   "description": "Gets one user role permission group by ID.",
48891	//   "httpMethod": "GET",
48892	//   "id": "dfareporting.userRolePermissionGroups.get",
48893	//   "parameterOrder": [
48894	//     "profileId",
48895	//     "id"
48896	//   ],
48897	//   "parameters": {
48898	//     "id": {
48899	//       "description": "User role permission group ID.",
48900	//       "format": "int64",
48901	//       "location": "path",
48902	//       "required": true,
48903	//       "type": "string"
48904	//     },
48905	//     "profileId": {
48906	//       "description": "User profile ID associated with this request.",
48907	//       "format": "int64",
48908	//       "location": "path",
48909	//       "required": true,
48910	//       "type": "string"
48911	//     }
48912	//   },
48913	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
48914	//   "response": {
48915	//     "$ref": "UserRolePermissionGroup"
48916	//   },
48917	//   "scopes": [
48918	//     "https://www.googleapis.com/auth/dfatrafficking"
48919	//   ]
48920	// }
48921
48922}
48923
48924// method id "dfareporting.userRolePermissionGroups.list":
48925
48926type UserRolePermissionGroupsListCall struct {
48927	s            *Service
48928	profileId    int64
48929	urlParams_   gensupport.URLParams
48930	ifNoneMatch_ string
48931	ctx_         context.Context
48932	header_      http.Header
48933}
48934
48935// List: Gets a list of all supported user role permission groups.
48936func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
48937	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48938	c.profileId = profileId
48939	return c
48940}
48941
48942// Fields allows partial responses to be retrieved. See
48943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48944// for more information.
48945func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
48946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48947	return c
48948}
48949
48950// IfNoneMatch sets the optional parameter which makes the operation
48951// fail if the object's ETag matches the given value. This is useful for
48952// getting updates only after the object has changed since the last
48953// request. Use googleapi.IsNotModified to check whether the response
48954// error from Do is the result of In-None-Match.
48955func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
48956	c.ifNoneMatch_ = entityTag
48957	return c
48958}
48959
48960// Context sets the context to be used in this call's Do method. Any
48961// pending HTTP request will be aborted if the provided context is
48962// canceled.
48963func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
48964	c.ctx_ = ctx
48965	return c
48966}
48967
48968// Header returns an http.Header that can be modified by the caller to
48969// add HTTP headers to the request.
48970func (c *UserRolePermissionGroupsListCall) Header() http.Header {
48971	if c.header_ == nil {
48972		c.header_ = make(http.Header)
48973	}
48974	return c.header_
48975}
48976
48977func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
48978	reqHeaders := make(http.Header)
48979	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48980	for k, v := range c.header_ {
48981		reqHeaders[k] = v
48982	}
48983	reqHeaders.Set("User-Agent", c.s.userAgent())
48984	if c.ifNoneMatch_ != "" {
48985		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48986	}
48987	var body io.Reader = nil
48988	c.urlParams_.Set("alt", alt)
48989	c.urlParams_.Set("prettyPrint", "false")
48990	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
48991	urls += "?" + c.urlParams_.Encode()
48992	req, err := http.NewRequest("GET", urls, body)
48993	if err != nil {
48994		return nil, err
48995	}
48996	req.Header = reqHeaders
48997	googleapi.Expand(req.URL, map[string]string{
48998		"profileId": strconv.FormatInt(c.profileId, 10),
48999	})
49000	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49001}
49002
49003// Do executes the "dfareporting.userRolePermissionGroups.list" call.
49004// Exactly one of *UserRolePermissionGroupsListResponse or error will be
49005// non-nil. Any non-2xx status code is an error. Response headers are in
49006// either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
49007// (if a response was returned at all) in
49008// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
49009// whether the returned error was because http.StatusNotModified was
49010// returned.
49011func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
49012	gensupport.SetOptions(c.urlParams_, opts...)
49013	res, err := c.doRequest("json")
49014	if res != nil && res.StatusCode == http.StatusNotModified {
49015		if res.Body != nil {
49016			res.Body.Close()
49017		}
49018		return nil, &googleapi.Error{
49019			Code:   res.StatusCode,
49020			Header: res.Header,
49021		}
49022	}
49023	if err != nil {
49024		return nil, err
49025	}
49026	defer googleapi.CloseBody(res)
49027	if err := googleapi.CheckResponse(res); err != nil {
49028		return nil, err
49029	}
49030	ret := &UserRolePermissionGroupsListResponse{
49031		ServerResponse: googleapi.ServerResponse{
49032			Header:         res.Header,
49033			HTTPStatusCode: res.StatusCode,
49034		},
49035	}
49036	target := &ret
49037	if err := gensupport.DecodeResponse(target, res); err != nil {
49038		return nil, err
49039	}
49040	return ret, nil
49041	// {
49042	//   "description": "Gets a list of all supported user role permission groups.",
49043	//   "httpMethod": "GET",
49044	//   "id": "dfareporting.userRolePermissionGroups.list",
49045	//   "parameterOrder": [
49046	//     "profileId"
49047	//   ],
49048	//   "parameters": {
49049	//     "profileId": {
49050	//       "description": "User profile ID associated with this request.",
49051	//       "format": "int64",
49052	//       "location": "path",
49053	//       "required": true,
49054	//       "type": "string"
49055	//     }
49056	//   },
49057	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
49058	//   "response": {
49059	//     "$ref": "UserRolePermissionGroupsListResponse"
49060	//   },
49061	//   "scopes": [
49062	//     "https://www.googleapis.com/auth/dfatrafficking"
49063	//   ]
49064	// }
49065
49066}
49067
49068// method id "dfareporting.userRolePermissions.get":
49069
49070type UserRolePermissionsGetCall struct {
49071	s            *Service
49072	profileId    int64
49073	id           int64
49074	urlParams_   gensupport.URLParams
49075	ifNoneMatch_ string
49076	ctx_         context.Context
49077	header_      http.Header
49078}
49079
49080// Get: Gets one user role permission by ID.
49081func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
49082	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49083	c.profileId = profileId
49084	c.id = id
49085	return c
49086}
49087
49088// Fields allows partial responses to be retrieved. See
49089// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49090// for more information.
49091func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
49092	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49093	return c
49094}
49095
49096// IfNoneMatch sets the optional parameter which makes the operation
49097// fail if the object's ETag matches the given value. This is useful for
49098// getting updates only after the object has changed since the last
49099// request. Use googleapi.IsNotModified to check whether the response
49100// error from Do is the result of In-None-Match.
49101func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
49102	c.ifNoneMatch_ = entityTag
49103	return c
49104}
49105
49106// Context sets the context to be used in this call's Do method. Any
49107// pending HTTP request will be aborted if the provided context is
49108// canceled.
49109func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
49110	c.ctx_ = ctx
49111	return c
49112}
49113
49114// Header returns an http.Header that can be modified by the caller to
49115// add HTTP headers to the request.
49116func (c *UserRolePermissionsGetCall) Header() http.Header {
49117	if c.header_ == nil {
49118		c.header_ = make(http.Header)
49119	}
49120	return c.header_
49121}
49122
49123func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
49124	reqHeaders := make(http.Header)
49125	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49126	for k, v := range c.header_ {
49127		reqHeaders[k] = v
49128	}
49129	reqHeaders.Set("User-Agent", c.s.userAgent())
49130	if c.ifNoneMatch_ != "" {
49131		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49132	}
49133	var body io.Reader = nil
49134	c.urlParams_.Set("alt", alt)
49135	c.urlParams_.Set("prettyPrint", "false")
49136	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
49137	urls += "?" + c.urlParams_.Encode()
49138	req, err := http.NewRequest("GET", urls, body)
49139	if err != nil {
49140		return nil, err
49141	}
49142	req.Header = reqHeaders
49143	googleapi.Expand(req.URL, map[string]string{
49144		"profileId": strconv.FormatInt(c.profileId, 10),
49145		"id":        strconv.FormatInt(c.id, 10),
49146	})
49147	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49148}
49149
49150// Do executes the "dfareporting.userRolePermissions.get" call.
49151// Exactly one of *UserRolePermission or error will be non-nil. Any
49152// non-2xx status code is an error. Response headers are in either
49153// *UserRolePermission.ServerResponse.Header or (if a response was
49154// returned at all) in error.(*googleapi.Error).Header. Use
49155// googleapi.IsNotModified to check whether the returned error was
49156// because http.StatusNotModified was returned.
49157func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
49158	gensupport.SetOptions(c.urlParams_, opts...)
49159	res, err := c.doRequest("json")
49160	if res != nil && res.StatusCode == http.StatusNotModified {
49161		if res.Body != nil {
49162			res.Body.Close()
49163		}
49164		return nil, &googleapi.Error{
49165			Code:   res.StatusCode,
49166			Header: res.Header,
49167		}
49168	}
49169	if err != nil {
49170		return nil, err
49171	}
49172	defer googleapi.CloseBody(res)
49173	if err := googleapi.CheckResponse(res); err != nil {
49174		return nil, err
49175	}
49176	ret := &UserRolePermission{
49177		ServerResponse: googleapi.ServerResponse{
49178			Header:         res.Header,
49179			HTTPStatusCode: res.StatusCode,
49180		},
49181	}
49182	target := &ret
49183	if err := gensupport.DecodeResponse(target, res); err != nil {
49184		return nil, err
49185	}
49186	return ret, nil
49187	// {
49188	//   "description": "Gets one user role permission by ID.",
49189	//   "httpMethod": "GET",
49190	//   "id": "dfareporting.userRolePermissions.get",
49191	//   "parameterOrder": [
49192	//     "profileId",
49193	//     "id"
49194	//   ],
49195	//   "parameters": {
49196	//     "id": {
49197	//       "description": "User role permission ID.",
49198	//       "format": "int64",
49199	//       "location": "path",
49200	//       "required": true,
49201	//       "type": "string"
49202	//     },
49203	//     "profileId": {
49204	//       "description": "User profile ID associated with this request.",
49205	//       "format": "int64",
49206	//       "location": "path",
49207	//       "required": true,
49208	//       "type": "string"
49209	//     }
49210	//   },
49211	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
49212	//   "response": {
49213	//     "$ref": "UserRolePermission"
49214	//   },
49215	//   "scopes": [
49216	//     "https://www.googleapis.com/auth/dfatrafficking"
49217	//   ]
49218	// }
49219
49220}
49221
49222// method id "dfareporting.userRolePermissions.list":
49223
49224type UserRolePermissionsListCall struct {
49225	s            *Service
49226	profileId    int64
49227	urlParams_   gensupport.URLParams
49228	ifNoneMatch_ string
49229	ctx_         context.Context
49230	header_      http.Header
49231}
49232
49233// List: Gets a list of user role permissions, possibly filtered.
49234func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
49235	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49236	c.profileId = profileId
49237	return c
49238}
49239
49240// Ids sets the optional parameter "ids": Select only user role
49241// permissions with these IDs.
49242func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
49243	var ids_ []string
49244	for _, v := range ids {
49245		ids_ = append(ids_, fmt.Sprint(v))
49246	}
49247	c.urlParams_.SetMulti("ids", ids_)
49248	return c
49249}
49250
49251// Fields allows partial responses to be retrieved. See
49252// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49253// for more information.
49254func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
49255	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49256	return c
49257}
49258
49259// IfNoneMatch sets the optional parameter which makes the operation
49260// fail if the object's ETag matches the given value. This is useful for
49261// getting updates only after the object has changed since the last
49262// request. Use googleapi.IsNotModified to check whether the response
49263// error from Do is the result of In-None-Match.
49264func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
49265	c.ifNoneMatch_ = entityTag
49266	return c
49267}
49268
49269// Context sets the context to be used in this call's Do method. Any
49270// pending HTTP request will be aborted if the provided context is
49271// canceled.
49272func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
49273	c.ctx_ = ctx
49274	return c
49275}
49276
49277// Header returns an http.Header that can be modified by the caller to
49278// add HTTP headers to the request.
49279func (c *UserRolePermissionsListCall) Header() http.Header {
49280	if c.header_ == nil {
49281		c.header_ = make(http.Header)
49282	}
49283	return c.header_
49284}
49285
49286func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
49287	reqHeaders := make(http.Header)
49288	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49289	for k, v := range c.header_ {
49290		reqHeaders[k] = v
49291	}
49292	reqHeaders.Set("User-Agent", c.s.userAgent())
49293	if c.ifNoneMatch_ != "" {
49294		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49295	}
49296	var body io.Reader = nil
49297	c.urlParams_.Set("alt", alt)
49298	c.urlParams_.Set("prettyPrint", "false")
49299	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
49300	urls += "?" + c.urlParams_.Encode()
49301	req, err := http.NewRequest("GET", urls, body)
49302	if err != nil {
49303		return nil, err
49304	}
49305	req.Header = reqHeaders
49306	googleapi.Expand(req.URL, map[string]string{
49307		"profileId": strconv.FormatInt(c.profileId, 10),
49308	})
49309	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49310}
49311
49312// Do executes the "dfareporting.userRolePermissions.list" call.
49313// Exactly one of *UserRolePermissionsListResponse or error will be
49314// non-nil. Any non-2xx status code is an error. Response headers are in
49315// either *UserRolePermissionsListResponse.ServerResponse.Header or (if
49316// a response was returned at all) in error.(*googleapi.Error).Header.
49317// Use googleapi.IsNotModified to check whether the returned error was
49318// because http.StatusNotModified was returned.
49319func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
49320	gensupport.SetOptions(c.urlParams_, opts...)
49321	res, err := c.doRequest("json")
49322	if res != nil && res.StatusCode == http.StatusNotModified {
49323		if res.Body != nil {
49324			res.Body.Close()
49325		}
49326		return nil, &googleapi.Error{
49327			Code:   res.StatusCode,
49328			Header: res.Header,
49329		}
49330	}
49331	if err != nil {
49332		return nil, err
49333	}
49334	defer googleapi.CloseBody(res)
49335	if err := googleapi.CheckResponse(res); err != nil {
49336		return nil, err
49337	}
49338	ret := &UserRolePermissionsListResponse{
49339		ServerResponse: googleapi.ServerResponse{
49340			Header:         res.Header,
49341			HTTPStatusCode: res.StatusCode,
49342		},
49343	}
49344	target := &ret
49345	if err := gensupport.DecodeResponse(target, res); err != nil {
49346		return nil, err
49347	}
49348	return ret, nil
49349	// {
49350	//   "description": "Gets a list of user role permissions, possibly filtered.",
49351	//   "httpMethod": "GET",
49352	//   "id": "dfareporting.userRolePermissions.list",
49353	//   "parameterOrder": [
49354	//     "profileId"
49355	//   ],
49356	//   "parameters": {
49357	//     "ids": {
49358	//       "description": "Select only user role permissions with these IDs.",
49359	//       "format": "int64",
49360	//       "location": "query",
49361	//       "repeated": true,
49362	//       "type": "string"
49363	//     },
49364	//     "profileId": {
49365	//       "description": "User profile ID associated with this request.",
49366	//       "format": "int64",
49367	//       "location": "path",
49368	//       "required": true,
49369	//       "type": "string"
49370	//     }
49371	//   },
49372	//   "path": "userprofiles/{profileId}/userRolePermissions",
49373	//   "response": {
49374	//     "$ref": "UserRolePermissionsListResponse"
49375	//   },
49376	//   "scopes": [
49377	//     "https://www.googleapis.com/auth/dfatrafficking"
49378	//   ]
49379	// }
49380
49381}
49382
49383// method id "dfareporting.userRoles.delete":
49384
49385type UserRolesDeleteCall struct {
49386	s          *Service
49387	profileId  int64
49388	id         int64
49389	urlParams_ gensupport.URLParams
49390	ctx_       context.Context
49391	header_    http.Header
49392}
49393
49394// Delete: Deletes an existing user role.
49395func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
49396	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49397	c.profileId = profileId
49398	c.id = id
49399	return c
49400}
49401
49402// Fields allows partial responses to be retrieved. See
49403// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49404// for more information.
49405func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
49406	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49407	return c
49408}
49409
49410// Context sets the context to be used in this call's Do method. Any
49411// pending HTTP request will be aborted if the provided context is
49412// canceled.
49413func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
49414	c.ctx_ = ctx
49415	return c
49416}
49417
49418// Header returns an http.Header that can be modified by the caller to
49419// add HTTP headers to the request.
49420func (c *UserRolesDeleteCall) Header() http.Header {
49421	if c.header_ == nil {
49422		c.header_ = make(http.Header)
49423	}
49424	return c.header_
49425}
49426
49427func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
49428	reqHeaders := make(http.Header)
49429	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49430	for k, v := range c.header_ {
49431		reqHeaders[k] = v
49432	}
49433	reqHeaders.Set("User-Agent", c.s.userAgent())
49434	var body io.Reader = nil
49435	c.urlParams_.Set("alt", alt)
49436	c.urlParams_.Set("prettyPrint", "false")
49437	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
49438	urls += "?" + c.urlParams_.Encode()
49439	req, err := http.NewRequest("DELETE", urls, body)
49440	if err != nil {
49441		return nil, err
49442	}
49443	req.Header = reqHeaders
49444	googleapi.Expand(req.URL, map[string]string{
49445		"profileId": strconv.FormatInt(c.profileId, 10),
49446		"id":        strconv.FormatInt(c.id, 10),
49447	})
49448	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49449}
49450
49451// Do executes the "dfareporting.userRoles.delete" call.
49452func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
49453	gensupport.SetOptions(c.urlParams_, opts...)
49454	res, err := c.doRequest("json")
49455	if err != nil {
49456		return err
49457	}
49458	defer googleapi.CloseBody(res)
49459	if err := googleapi.CheckResponse(res); err != nil {
49460		return err
49461	}
49462	return nil
49463	// {
49464	//   "description": "Deletes an existing user role.",
49465	//   "httpMethod": "DELETE",
49466	//   "id": "dfareporting.userRoles.delete",
49467	//   "parameterOrder": [
49468	//     "profileId",
49469	//     "id"
49470	//   ],
49471	//   "parameters": {
49472	//     "id": {
49473	//       "description": "User role ID.",
49474	//       "format": "int64",
49475	//       "location": "path",
49476	//       "required": true,
49477	//       "type": "string"
49478	//     },
49479	//     "profileId": {
49480	//       "description": "User profile ID associated with this request.",
49481	//       "format": "int64",
49482	//       "location": "path",
49483	//       "required": true,
49484	//       "type": "string"
49485	//     }
49486	//   },
49487	//   "path": "userprofiles/{profileId}/userRoles/{id}",
49488	//   "scopes": [
49489	//     "https://www.googleapis.com/auth/dfatrafficking"
49490	//   ]
49491	// }
49492
49493}
49494
49495// method id "dfareporting.userRoles.get":
49496
49497type UserRolesGetCall struct {
49498	s            *Service
49499	profileId    int64
49500	id           int64
49501	urlParams_   gensupport.URLParams
49502	ifNoneMatch_ string
49503	ctx_         context.Context
49504	header_      http.Header
49505}
49506
49507// Get: Gets one user role by ID.
49508func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
49509	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49510	c.profileId = profileId
49511	c.id = id
49512	return c
49513}
49514
49515// Fields allows partial responses to be retrieved. See
49516// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49517// for more information.
49518func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
49519	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49520	return c
49521}
49522
49523// IfNoneMatch sets the optional parameter which makes the operation
49524// fail if the object's ETag matches the given value. This is useful for
49525// getting updates only after the object has changed since the last
49526// request. Use googleapi.IsNotModified to check whether the response
49527// error from Do is the result of In-None-Match.
49528func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
49529	c.ifNoneMatch_ = entityTag
49530	return c
49531}
49532
49533// Context sets the context to be used in this call's Do method. Any
49534// pending HTTP request will be aborted if the provided context is
49535// canceled.
49536func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
49537	c.ctx_ = ctx
49538	return c
49539}
49540
49541// Header returns an http.Header that can be modified by the caller to
49542// add HTTP headers to the request.
49543func (c *UserRolesGetCall) Header() http.Header {
49544	if c.header_ == nil {
49545		c.header_ = make(http.Header)
49546	}
49547	return c.header_
49548}
49549
49550func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
49551	reqHeaders := make(http.Header)
49552	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49553	for k, v := range c.header_ {
49554		reqHeaders[k] = v
49555	}
49556	reqHeaders.Set("User-Agent", c.s.userAgent())
49557	if c.ifNoneMatch_ != "" {
49558		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49559	}
49560	var body io.Reader = nil
49561	c.urlParams_.Set("alt", alt)
49562	c.urlParams_.Set("prettyPrint", "false")
49563	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
49564	urls += "?" + c.urlParams_.Encode()
49565	req, err := http.NewRequest("GET", urls, body)
49566	if err != nil {
49567		return nil, err
49568	}
49569	req.Header = reqHeaders
49570	googleapi.Expand(req.URL, map[string]string{
49571		"profileId": strconv.FormatInt(c.profileId, 10),
49572		"id":        strconv.FormatInt(c.id, 10),
49573	})
49574	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49575}
49576
49577// Do executes the "dfareporting.userRoles.get" call.
49578// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
49579// code is an error. Response headers are in either
49580// *UserRole.ServerResponse.Header or (if a response was returned at
49581// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49582// to check whether the returned error was because
49583// http.StatusNotModified was returned.
49584func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
49585	gensupport.SetOptions(c.urlParams_, opts...)
49586	res, err := c.doRequest("json")
49587	if res != nil && res.StatusCode == http.StatusNotModified {
49588		if res.Body != nil {
49589			res.Body.Close()
49590		}
49591		return nil, &googleapi.Error{
49592			Code:   res.StatusCode,
49593			Header: res.Header,
49594		}
49595	}
49596	if err != nil {
49597		return nil, err
49598	}
49599	defer googleapi.CloseBody(res)
49600	if err := googleapi.CheckResponse(res); err != nil {
49601		return nil, err
49602	}
49603	ret := &UserRole{
49604		ServerResponse: googleapi.ServerResponse{
49605			Header:         res.Header,
49606			HTTPStatusCode: res.StatusCode,
49607		},
49608	}
49609	target := &ret
49610	if err := gensupport.DecodeResponse(target, res); err != nil {
49611		return nil, err
49612	}
49613	return ret, nil
49614	// {
49615	//   "description": "Gets one user role by ID.",
49616	//   "httpMethod": "GET",
49617	//   "id": "dfareporting.userRoles.get",
49618	//   "parameterOrder": [
49619	//     "profileId",
49620	//     "id"
49621	//   ],
49622	//   "parameters": {
49623	//     "id": {
49624	//       "description": "User role ID.",
49625	//       "format": "int64",
49626	//       "location": "path",
49627	//       "required": true,
49628	//       "type": "string"
49629	//     },
49630	//     "profileId": {
49631	//       "description": "User profile ID associated with this request.",
49632	//       "format": "int64",
49633	//       "location": "path",
49634	//       "required": true,
49635	//       "type": "string"
49636	//     }
49637	//   },
49638	//   "path": "userprofiles/{profileId}/userRoles/{id}",
49639	//   "response": {
49640	//     "$ref": "UserRole"
49641	//   },
49642	//   "scopes": [
49643	//     "https://www.googleapis.com/auth/dfatrafficking"
49644	//   ]
49645	// }
49646
49647}
49648
49649// method id "dfareporting.userRoles.insert":
49650
49651type UserRolesInsertCall struct {
49652	s          *Service
49653	profileId  int64
49654	userrole   *UserRole
49655	urlParams_ gensupport.URLParams
49656	ctx_       context.Context
49657	header_    http.Header
49658}
49659
49660// Insert: Inserts a new user role.
49661func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
49662	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49663	c.profileId = profileId
49664	c.userrole = userrole
49665	return c
49666}
49667
49668// Fields allows partial responses to be retrieved. See
49669// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49670// for more information.
49671func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
49672	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49673	return c
49674}
49675
49676// Context sets the context to be used in this call's Do method. Any
49677// pending HTTP request will be aborted if the provided context is
49678// canceled.
49679func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
49680	c.ctx_ = ctx
49681	return c
49682}
49683
49684// Header returns an http.Header that can be modified by the caller to
49685// add HTTP headers to the request.
49686func (c *UserRolesInsertCall) Header() http.Header {
49687	if c.header_ == nil {
49688		c.header_ = make(http.Header)
49689	}
49690	return c.header_
49691}
49692
49693func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
49694	reqHeaders := make(http.Header)
49695	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49696	for k, v := range c.header_ {
49697		reqHeaders[k] = v
49698	}
49699	reqHeaders.Set("User-Agent", c.s.userAgent())
49700	var body io.Reader = nil
49701	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
49702	if err != nil {
49703		return nil, err
49704	}
49705	reqHeaders.Set("Content-Type", "application/json")
49706	c.urlParams_.Set("alt", alt)
49707	c.urlParams_.Set("prettyPrint", "false")
49708	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
49709	urls += "?" + c.urlParams_.Encode()
49710	req, err := http.NewRequest("POST", urls, body)
49711	if err != nil {
49712		return nil, err
49713	}
49714	req.Header = reqHeaders
49715	googleapi.Expand(req.URL, map[string]string{
49716		"profileId": strconv.FormatInt(c.profileId, 10),
49717	})
49718	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49719}
49720
49721// Do executes the "dfareporting.userRoles.insert" call.
49722// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
49723// code is an error. Response headers are in either
49724// *UserRole.ServerResponse.Header or (if a response was returned at
49725// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49726// to check whether the returned error was because
49727// http.StatusNotModified was returned.
49728func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
49729	gensupport.SetOptions(c.urlParams_, opts...)
49730	res, err := c.doRequest("json")
49731	if res != nil && res.StatusCode == http.StatusNotModified {
49732		if res.Body != nil {
49733			res.Body.Close()
49734		}
49735		return nil, &googleapi.Error{
49736			Code:   res.StatusCode,
49737			Header: res.Header,
49738		}
49739	}
49740	if err != nil {
49741		return nil, err
49742	}
49743	defer googleapi.CloseBody(res)
49744	if err := googleapi.CheckResponse(res); err != nil {
49745		return nil, err
49746	}
49747	ret := &UserRole{
49748		ServerResponse: googleapi.ServerResponse{
49749			Header:         res.Header,
49750			HTTPStatusCode: res.StatusCode,
49751		},
49752	}
49753	target := &ret
49754	if err := gensupport.DecodeResponse(target, res); err != nil {
49755		return nil, err
49756	}
49757	return ret, nil
49758	// {
49759	//   "description": "Inserts a new user role.",
49760	//   "httpMethod": "POST",
49761	//   "id": "dfareporting.userRoles.insert",
49762	//   "parameterOrder": [
49763	//     "profileId"
49764	//   ],
49765	//   "parameters": {
49766	//     "profileId": {
49767	//       "description": "User profile ID associated with this request.",
49768	//       "format": "int64",
49769	//       "location": "path",
49770	//       "required": true,
49771	//       "type": "string"
49772	//     }
49773	//   },
49774	//   "path": "userprofiles/{profileId}/userRoles",
49775	//   "request": {
49776	//     "$ref": "UserRole"
49777	//   },
49778	//   "response": {
49779	//     "$ref": "UserRole"
49780	//   },
49781	//   "scopes": [
49782	//     "https://www.googleapis.com/auth/dfatrafficking"
49783	//   ]
49784	// }
49785
49786}
49787
49788// method id "dfareporting.userRoles.list":
49789
49790type UserRolesListCall struct {
49791	s            *Service
49792	profileId    int64
49793	urlParams_   gensupport.URLParams
49794	ifNoneMatch_ string
49795	ctx_         context.Context
49796	header_      http.Header
49797}
49798
49799// List: Retrieves a list of user roles, possibly filtered. This method
49800// supports paging.
49801func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
49802	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49803	c.profileId = profileId
49804	return c
49805}
49806
49807// AccountUserRoleOnly sets the optional parameter
49808// "accountUserRoleOnly": Select only account level user roles not
49809// associated with any specific subaccount.
49810func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
49811	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
49812	return c
49813}
49814
49815// Ids sets the optional parameter "ids": Select only user roles with
49816// the specified IDs.
49817func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
49818	var ids_ []string
49819	for _, v := range ids {
49820		ids_ = append(ids_, fmt.Sprint(v))
49821	}
49822	c.urlParams_.SetMulti("ids", ids_)
49823	return c
49824}
49825
49826// MaxResults sets the optional parameter "maxResults": Maximum number
49827// of results to return.
49828func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
49829	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
49830	return c
49831}
49832
49833// PageToken sets the optional parameter "pageToken": Value of the
49834// nextPageToken from the previous result page.
49835func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
49836	c.urlParams_.Set("pageToken", pageToken)
49837	return c
49838}
49839
49840// SearchString sets the optional parameter "searchString": Allows
49841// searching for objects by name or ID. Wildcards (*) are allowed. For
49842// example, "userrole*2015" will return objects with names like
49843// "userrole June 2015", "userrole April 2015", or simply "userrole
49844// 2015". Most of the searches also add wildcards implicitly at the
49845// start and the end of the search string. For example, a search string
49846// of "userrole" will match objects with name "my userrole", "userrole
49847// 2015", or simply "userrole".
49848func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
49849	c.urlParams_.Set("searchString", searchString)
49850	return c
49851}
49852
49853// SortField sets the optional parameter "sortField": Field by which to
49854// sort the list.
49855//
49856// Possible values:
49857//   "ID" (default)
49858//   "NAME"
49859func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
49860	c.urlParams_.Set("sortField", sortField)
49861	return c
49862}
49863
49864// SortOrder sets the optional parameter "sortOrder": Order of sorted
49865// results.
49866//
49867// Possible values:
49868//   "ASCENDING" (default)
49869//   "DESCENDING"
49870func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
49871	c.urlParams_.Set("sortOrder", sortOrder)
49872	return c
49873}
49874
49875// SubaccountId sets the optional parameter "subaccountId": Select only
49876// user roles that belong to this subaccount.
49877func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
49878	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
49879	return c
49880}
49881
49882// Fields allows partial responses to be retrieved. See
49883// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49884// for more information.
49885func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
49886	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49887	return c
49888}
49889
49890// IfNoneMatch sets the optional parameter which makes the operation
49891// fail if the object's ETag matches the given value. This is useful for
49892// getting updates only after the object has changed since the last
49893// request. Use googleapi.IsNotModified to check whether the response
49894// error from Do is the result of In-None-Match.
49895func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
49896	c.ifNoneMatch_ = entityTag
49897	return c
49898}
49899
49900// Context sets the context to be used in this call's Do method. Any
49901// pending HTTP request will be aborted if the provided context is
49902// canceled.
49903func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
49904	c.ctx_ = ctx
49905	return c
49906}
49907
49908// Header returns an http.Header that can be modified by the caller to
49909// add HTTP headers to the request.
49910func (c *UserRolesListCall) Header() http.Header {
49911	if c.header_ == nil {
49912		c.header_ = make(http.Header)
49913	}
49914	return c.header_
49915}
49916
49917func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
49918	reqHeaders := make(http.Header)
49919	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49920	for k, v := range c.header_ {
49921		reqHeaders[k] = v
49922	}
49923	reqHeaders.Set("User-Agent", c.s.userAgent())
49924	if c.ifNoneMatch_ != "" {
49925		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49926	}
49927	var body io.Reader = nil
49928	c.urlParams_.Set("alt", alt)
49929	c.urlParams_.Set("prettyPrint", "false")
49930	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
49931	urls += "?" + c.urlParams_.Encode()
49932	req, err := http.NewRequest("GET", urls, body)
49933	if err != nil {
49934		return nil, err
49935	}
49936	req.Header = reqHeaders
49937	googleapi.Expand(req.URL, map[string]string{
49938		"profileId": strconv.FormatInt(c.profileId, 10),
49939	})
49940	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49941}
49942
49943// Do executes the "dfareporting.userRoles.list" call.
49944// Exactly one of *UserRolesListResponse or error will be non-nil. Any
49945// non-2xx status code is an error. Response headers are in either
49946// *UserRolesListResponse.ServerResponse.Header or (if a response was
49947// returned at all) in error.(*googleapi.Error).Header. Use
49948// googleapi.IsNotModified to check whether the returned error was
49949// because http.StatusNotModified was returned.
49950func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
49951	gensupport.SetOptions(c.urlParams_, opts...)
49952	res, err := c.doRequest("json")
49953	if res != nil && res.StatusCode == http.StatusNotModified {
49954		if res.Body != nil {
49955			res.Body.Close()
49956		}
49957		return nil, &googleapi.Error{
49958			Code:   res.StatusCode,
49959			Header: res.Header,
49960		}
49961	}
49962	if err != nil {
49963		return nil, err
49964	}
49965	defer googleapi.CloseBody(res)
49966	if err := googleapi.CheckResponse(res); err != nil {
49967		return nil, err
49968	}
49969	ret := &UserRolesListResponse{
49970		ServerResponse: googleapi.ServerResponse{
49971			Header:         res.Header,
49972			HTTPStatusCode: res.StatusCode,
49973		},
49974	}
49975	target := &ret
49976	if err := gensupport.DecodeResponse(target, res); err != nil {
49977		return nil, err
49978	}
49979	return ret, nil
49980	// {
49981	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
49982	//   "httpMethod": "GET",
49983	//   "id": "dfareporting.userRoles.list",
49984	//   "parameterOrder": [
49985	//     "profileId"
49986	//   ],
49987	//   "parameters": {
49988	//     "accountUserRoleOnly": {
49989	//       "description": "Select only account level user roles not associated with any specific subaccount.",
49990	//       "location": "query",
49991	//       "type": "boolean"
49992	//     },
49993	//     "ids": {
49994	//       "description": "Select only user roles with the specified IDs.",
49995	//       "format": "int64",
49996	//       "location": "query",
49997	//       "repeated": true,
49998	//       "type": "string"
49999	//     },
50000	//     "maxResults": {
50001	//       "default": "1000",
50002	//       "description": "Maximum number of results to return.",
50003	//       "format": "int32",
50004	//       "location": "query",
50005	//       "maximum": "1000",
50006	//       "minimum": "0",
50007	//       "type": "integer"
50008	//     },
50009	//     "pageToken": {
50010	//       "description": "Value of the nextPageToken from the previous result page.",
50011	//       "location": "query",
50012	//       "type": "string"
50013	//     },
50014	//     "profileId": {
50015	//       "description": "User profile ID associated with this request.",
50016	//       "format": "int64",
50017	//       "location": "path",
50018	//       "required": true,
50019	//       "type": "string"
50020	//     },
50021	//     "searchString": {
50022	//       "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\".",
50023	//       "location": "query",
50024	//       "type": "string"
50025	//     },
50026	//     "sortField": {
50027	//       "default": "ID",
50028	//       "description": "Field by which to sort the list.",
50029	//       "enum": [
50030	//         "ID",
50031	//         "NAME"
50032	//       ],
50033	//       "enumDescriptions": [
50034	//         "",
50035	//         ""
50036	//       ],
50037	//       "location": "query",
50038	//       "type": "string"
50039	//     },
50040	//     "sortOrder": {
50041	//       "default": "ASCENDING",
50042	//       "description": "Order of sorted results.",
50043	//       "enum": [
50044	//         "ASCENDING",
50045	//         "DESCENDING"
50046	//       ],
50047	//       "enumDescriptions": [
50048	//         "",
50049	//         ""
50050	//       ],
50051	//       "location": "query",
50052	//       "type": "string"
50053	//     },
50054	//     "subaccountId": {
50055	//       "description": "Select only user roles that belong to this subaccount.",
50056	//       "format": "int64",
50057	//       "location": "query",
50058	//       "type": "string"
50059	//     }
50060	//   },
50061	//   "path": "userprofiles/{profileId}/userRoles",
50062	//   "response": {
50063	//     "$ref": "UserRolesListResponse"
50064	//   },
50065	//   "scopes": [
50066	//     "https://www.googleapis.com/auth/dfatrafficking"
50067	//   ]
50068	// }
50069
50070}
50071
50072// Pages invokes f for each page of results.
50073// A non-nil error returned from f will halt the iteration.
50074// The provided context supersedes any context provided to the Context method.
50075func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
50076	c.ctx_ = ctx
50077	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
50078	for {
50079		x, err := c.Do()
50080		if err != nil {
50081			return err
50082		}
50083		if err := f(x); err != nil {
50084			return err
50085		}
50086		if x.NextPageToken == "" {
50087			return nil
50088		}
50089		c.PageToken(x.NextPageToken)
50090	}
50091}
50092
50093// method id "dfareporting.userRoles.patch":
50094
50095type UserRolesPatchCall struct {
50096	s          *Service
50097	profileId  int64
50098	userrole   *UserRole
50099	urlParams_ gensupport.URLParams
50100	ctx_       context.Context
50101	header_    http.Header
50102}
50103
50104// Patch: Updates an existing user role. This method supports patch
50105// semantics.
50106func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
50107	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50108	c.profileId = profileId
50109	c.urlParams_.Set("id", fmt.Sprint(id))
50110	c.userrole = userrole
50111	return c
50112}
50113
50114// Fields allows partial responses to be retrieved. See
50115// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50116// for more information.
50117func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
50118	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50119	return c
50120}
50121
50122// Context sets the context to be used in this call's Do method. Any
50123// pending HTTP request will be aborted if the provided context is
50124// canceled.
50125func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
50126	c.ctx_ = ctx
50127	return c
50128}
50129
50130// Header returns an http.Header that can be modified by the caller to
50131// add HTTP headers to the request.
50132func (c *UserRolesPatchCall) Header() http.Header {
50133	if c.header_ == nil {
50134		c.header_ = make(http.Header)
50135	}
50136	return c.header_
50137}
50138
50139func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
50140	reqHeaders := make(http.Header)
50141	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50142	for k, v := range c.header_ {
50143		reqHeaders[k] = v
50144	}
50145	reqHeaders.Set("User-Agent", c.s.userAgent())
50146	var body io.Reader = nil
50147	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50148	if err != nil {
50149		return nil, err
50150	}
50151	reqHeaders.Set("Content-Type", "application/json")
50152	c.urlParams_.Set("alt", alt)
50153	c.urlParams_.Set("prettyPrint", "false")
50154	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50155	urls += "?" + c.urlParams_.Encode()
50156	req, err := http.NewRequest("PATCH", urls, body)
50157	if err != nil {
50158		return nil, err
50159	}
50160	req.Header = reqHeaders
50161	googleapi.Expand(req.URL, map[string]string{
50162		"profileId": strconv.FormatInt(c.profileId, 10),
50163	})
50164	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50165}
50166
50167// Do executes the "dfareporting.userRoles.patch" call.
50168// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50169// code is an error. Response headers are in either
50170// *UserRole.ServerResponse.Header or (if a response was returned at
50171// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50172// to check whether the returned error was because
50173// http.StatusNotModified was returned.
50174func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50175	gensupport.SetOptions(c.urlParams_, opts...)
50176	res, err := c.doRequest("json")
50177	if res != nil && res.StatusCode == http.StatusNotModified {
50178		if res.Body != nil {
50179			res.Body.Close()
50180		}
50181		return nil, &googleapi.Error{
50182			Code:   res.StatusCode,
50183			Header: res.Header,
50184		}
50185	}
50186	if err != nil {
50187		return nil, err
50188	}
50189	defer googleapi.CloseBody(res)
50190	if err := googleapi.CheckResponse(res); err != nil {
50191		return nil, err
50192	}
50193	ret := &UserRole{
50194		ServerResponse: googleapi.ServerResponse{
50195			Header:         res.Header,
50196			HTTPStatusCode: res.StatusCode,
50197		},
50198	}
50199	target := &ret
50200	if err := gensupport.DecodeResponse(target, res); err != nil {
50201		return nil, err
50202	}
50203	return ret, nil
50204	// {
50205	//   "description": "Updates an existing user role. This method supports patch semantics.",
50206	//   "httpMethod": "PATCH",
50207	//   "id": "dfareporting.userRoles.patch",
50208	//   "parameterOrder": [
50209	//     "profileId",
50210	//     "id"
50211	//   ],
50212	//   "parameters": {
50213	//     "id": {
50214	//       "description": "User role ID.",
50215	//       "format": "int64",
50216	//       "location": "query",
50217	//       "required": true,
50218	//       "type": "string"
50219	//     },
50220	//     "profileId": {
50221	//       "description": "User profile ID associated with this request.",
50222	//       "format": "int64",
50223	//       "location": "path",
50224	//       "required": true,
50225	//       "type": "string"
50226	//     }
50227	//   },
50228	//   "path": "userprofiles/{profileId}/userRoles",
50229	//   "request": {
50230	//     "$ref": "UserRole"
50231	//   },
50232	//   "response": {
50233	//     "$ref": "UserRole"
50234	//   },
50235	//   "scopes": [
50236	//     "https://www.googleapis.com/auth/dfatrafficking"
50237	//   ]
50238	// }
50239
50240}
50241
50242// method id "dfareporting.userRoles.update":
50243
50244type UserRolesUpdateCall struct {
50245	s          *Service
50246	profileId  int64
50247	userrole   *UserRole
50248	urlParams_ gensupport.URLParams
50249	ctx_       context.Context
50250	header_    http.Header
50251}
50252
50253// Update: Updates an existing user role.
50254func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
50255	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50256	c.profileId = profileId
50257	c.userrole = userrole
50258	return c
50259}
50260
50261// Fields allows partial responses to be retrieved. See
50262// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50263// for more information.
50264func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
50265	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50266	return c
50267}
50268
50269// Context sets the context to be used in this call's Do method. Any
50270// pending HTTP request will be aborted if the provided context is
50271// canceled.
50272func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
50273	c.ctx_ = ctx
50274	return c
50275}
50276
50277// Header returns an http.Header that can be modified by the caller to
50278// add HTTP headers to the request.
50279func (c *UserRolesUpdateCall) Header() http.Header {
50280	if c.header_ == nil {
50281		c.header_ = make(http.Header)
50282	}
50283	return c.header_
50284}
50285
50286func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
50287	reqHeaders := make(http.Header)
50288	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50289	for k, v := range c.header_ {
50290		reqHeaders[k] = v
50291	}
50292	reqHeaders.Set("User-Agent", c.s.userAgent())
50293	var body io.Reader = nil
50294	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50295	if err != nil {
50296		return nil, err
50297	}
50298	reqHeaders.Set("Content-Type", "application/json")
50299	c.urlParams_.Set("alt", alt)
50300	c.urlParams_.Set("prettyPrint", "false")
50301	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50302	urls += "?" + c.urlParams_.Encode()
50303	req, err := http.NewRequest("PUT", urls, body)
50304	if err != nil {
50305		return nil, err
50306	}
50307	req.Header = reqHeaders
50308	googleapi.Expand(req.URL, map[string]string{
50309		"profileId": strconv.FormatInt(c.profileId, 10),
50310	})
50311	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50312}
50313
50314// Do executes the "dfareporting.userRoles.update" call.
50315// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50316// code is an error. Response headers are in either
50317// *UserRole.ServerResponse.Header or (if a response was returned at
50318// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50319// to check whether the returned error was because
50320// http.StatusNotModified was returned.
50321func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50322	gensupport.SetOptions(c.urlParams_, opts...)
50323	res, err := c.doRequest("json")
50324	if res != nil && res.StatusCode == http.StatusNotModified {
50325		if res.Body != nil {
50326			res.Body.Close()
50327		}
50328		return nil, &googleapi.Error{
50329			Code:   res.StatusCode,
50330			Header: res.Header,
50331		}
50332	}
50333	if err != nil {
50334		return nil, err
50335	}
50336	defer googleapi.CloseBody(res)
50337	if err := googleapi.CheckResponse(res); err != nil {
50338		return nil, err
50339	}
50340	ret := &UserRole{
50341		ServerResponse: googleapi.ServerResponse{
50342			Header:         res.Header,
50343			HTTPStatusCode: res.StatusCode,
50344		},
50345	}
50346	target := &ret
50347	if err := gensupport.DecodeResponse(target, res); err != nil {
50348		return nil, err
50349	}
50350	return ret, nil
50351	// {
50352	//   "description": "Updates an existing user role.",
50353	//   "httpMethod": "PUT",
50354	//   "id": "dfareporting.userRoles.update",
50355	//   "parameterOrder": [
50356	//     "profileId"
50357	//   ],
50358	//   "parameters": {
50359	//     "profileId": {
50360	//       "description": "User profile ID associated with this request.",
50361	//       "format": "int64",
50362	//       "location": "path",
50363	//       "required": true,
50364	//       "type": "string"
50365	//     }
50366	//   },
50367	//   "path": "userprofiles/{profileId}/userRoles",
50368	//   "request": {
50369	//     "$ref": "UserRole"
50370	//   },
50371	//   "response": {
50372	//     "$ref": "UserRole"
50373	//   },
50374	//   "scopes": [
50375	//     "https://www.googleapis.com/auth/dfatrafficking"
50376	//   ]
50377	// }
50378
50379}
50380
50381// method id "dfareporting.videoFormats.get":
50382
50383type VideoFormatsGetCall struct {
50384	s            *Service
50385	profileId    int64
50386	id           int64
50387	urlParams_   gensupport.URLParams
50388	ifNoneMatch_ string
50389	ctx_         context.Context
50390	header_      http.Header
50391}
50392
50393// Get: Gets one video format by ID.
50394func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
50395	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50396	c.profileId = profileId
50397	c.id = id
50398	return c
50399}
50400
50401// Fields allows partial responses to be retrieved. See
50402// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50403// for more information.
50404func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
50405	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50406	return c
50407}
50408
50409// IfNoneMatch sets the optional parameter which makes the operation
50410// fail if the object's ETag matches the given value. This is useful for
50411// getting updates only after the object has changed since the last
50412// request. Use googleapi.IsNotModified to check whether the response
50413// error from Do is the result of In-None-Match.
50414func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
50415	c.ifNoneMatch_ = entityTag
50416	return c
50417}
50418
50419// Context sets the context to be used in this call's Do method. Any
50420// pending HTTP request will be aborted if the provided context is
50421// canceled.
50422func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
50423	c.ctx_ = ctx
50424	return c
50425}
50426
50427// Header returns an http.Header that can be modified by the caller to
50428// add HTTP headers to the request.
50429func (c *VideoFormatsGetCall) Header() http.Header {
50430	if c.header_ == nil {
50431		c.header_ = make(http.Header)
50432	}
50433	return c.header_
50434}
50435
50436func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
50437	reqHeaders := make(http.Header)
50438	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50439	for k, v := range c.header_ {
50440		reqHeaders[k] = v
50441	}
50442	reqHeaders.Set("User-Agent", c.s.userAgent())
50443	if c.ifNoneMatch_ != "" {
50444		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50445	}
50446	var body io.Reader = nil
50447	c.urlParams_.Set("alt", alt)
50448	c.urlParams_.Set("prettyPrint", "false")
50449	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
50450	urls += "?" + c.urlParams_.Encode()
50451	req, err := http.NewRequest("GET", urls, body)
50452	if err != nil {
50453		return nil, err
50454	}
50455	req.Header = reqHeaders
50456	googleapi.Expand(req.URL, map[string]string{
50457		"profileId": strconv.FormatInt(c.profileId, 10),
50458		"id":        strconv.FormatInt(c.id, 10),
50459	})
50460	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50461}
50462
50463// Do executes the "dfareporting.videoFormats.get" call.
50464// Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
50465// status code is an error. Response headers are in either
50466// *VideoFormat.ServerResponse.Header or (if a response was returned at
50467// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50468// to check whether the returned error was because
50469// http.StatusNotModified was returned.
50470func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
50471	gensupport.SetOptions(c.urlParams_, opts...)
50472	res, err := c.doRequest("json")
50473	if res != nil && res.StatusCode == http.StatusNotModified {
50474		if res.Body != nil {
50475			res.Body.Close()
50476		}
50477		return nil, &googleapi.Error{
50478			Code:   res.StatusCode,
50479			Header: res.Header,
50480		}
50481	}
50482	if err != nil {
50483		return nil, err
50484	}
50485	defer googleapi.CloseBody(res)
50486	if err := googleapi.CheckResponse(res); err != nil {
50487		return nil, err
50488	}
50489	ret := &VideoFormat{
50490		ServerResponse: googleapi.ServerResponse{
50491			Header:         res.Header,
50492			HTTPStatusCode: res.StatusCode,
50493		},
50494	}
50495	target := &ret
50496	if err := gensupport.DecodeResponse(target, res); err != nil {
50497		return nil, err
50498	}
50499	return ret, nil
50500	// {
50501	//   "description": "Gets one video format by ID.",
50502	//   "httpMethod": "GET",
50503	//   "id": "dfareporting.videoFormats.get",
50504	//   "parameterOrder": [
50505	//     "profileId",
50506	//     "id"
50507	//   ],
50508	//   "parameters": {
50509	//     "id": {
50510	//       "description": "Video format ID.",
50511	//       "format": "int32",
50512	//       "location": "path",
50513	//       "required": true,
50514	//       "type": "integer"
50515	//     },
50516	//     "profileId": {
50517	//       "description": "User profile ID associated with this request.",
50518	//       "format": "int64",
50519	//       "location": "path",
50520	//       "required": true,
50521	//       "type": "string"
50522	//     }
50523	//   },
50524	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
50525	//   "response": {
50526	//     "$ref": "VideoFormat"
50527	//   },
50528	//   "scopes": [
50529	//     "https://www.googleapis.com/auth/dfatrafficking"
50530	//   ]
50531	// }
50532
50533}
50534
50535// method id "dfareporting.videoFormats.list":
50536
50537type VideoFormatsListCall struct {
50538	s            *Service
50539	profileId    int64
50540	urlParams_   gensupport.URLParams
50541	ifNoneMatch_ string
50542	ctx_         context.Context
50543	header_      http.Header
50544}
50545
50546// List: Lists available video formats.
50547func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
50548	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50549	c.profileId = profileId
50550	return c
50551}
50552
50553// Fields allows partial responses to be retrieved. See
50554// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50555// for more information.
50556func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
50557	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50558	return c
50559}
50560
50561// IfNoneMatch sets the optional parameter which makes the operation
50562// fail if the object's ETag matches the given value. This is useful for
50563// getting updates only after the object has changed since the last
50564// request. Use googleapi.IsNotModified to check whether the response
50565// error from Do is the result of In-None-Match.
50566func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
50567	c.ifNoneMatch_ = entityTag
50568	return c
50569}
50570
50571// Context sets the context to be used in this call's Do method. Any
50572// pending HTTP request will be aborted if the provided context is
50573// canceled.
50574func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
50575	c.ctx_ = ctx
50576	return c
50577}
50578
50579// Header returns an http.Header that can be modified by the caller to
50580// add HTTP headers to the request.
50581func (c *VideoFormatsListCall) Header() http.Header {
50582	if c.header_ == nil {
50583		c.header_ = make(http.Header)
50584	}
50585	return c.header_
50586}
50587
50588func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
50589	reqHeaders := make(http.Header)
50590	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50591	for k, v := range c.header_ {
50592		reqHeaders[k] = v
50593	}
50594	reqHeaders.Set("User-Agent", c.s.userAgent())
50595	if c.ifNoneMatch_ != "" {
50596		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50597	}
50598	var body io.Reader = nil
50599	c.urlParams_.Set("alt", alt)
50600	c.urlParams_.Set("prettyPrint", "false")
50601	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
50602	urls += "?" + c.urlParams_.Encode()
50603	req, err := http.NewRequest("GET", urls, body)
50604	if err != nil {
50605		return nil, err
50606	}
50607	req.Header = reqHeaders
50608	googleapi.Expand(req.URL, map[string]string{
50609		"profileId": strconv.FormatInt(c.profileId, 10),
50610	})
50611	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50612}
50613
50614// Do executes the "dfareporting.videoFormats.list" call.
50615// Exactly one of *VideoFormatsListResponse or error will be non-nil.
50616// Any non-2xx status code is an error. Response headers are in either
50617// *VideoFormatsListResponse.ServerResponse.Header or (if a response was
50618// returned at all) in error.(*googleapi.Error).Header. Use
50619// googleapi.IsNotModified to check whether the returned error was
50620// because http.StatusNotModified was returned.
50621func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
50622	gensupport.SetOptions(c.urlParams_, opts...)
50623	res, err := c.doRequest("json")
50624	if res != nil && res.StatusCode == http.StatusNotModified {
50625		if res.Body != nil {
50626			res.Body.Close()
50627		}
50628		return nil, &googleapi.Error{
50629			Code:   res.StatusCode,
50630			Header: res.Header,
50631		}
50632	}
50633	if err != nil {
50634		return nil, err
50635	}
50636	defer googleapi.CloseBody(res)
50637	if err := googleapi.CheckResponse(res); err != nil {
50638		return nil, err
50639	}
50640	ret := &VideoFormatsListResponse{
50641		ServerResponse: googleapi.ServerResponse{
50642			Header:         res.Header,
50643			HTTPStatusCode: res.StatusCode,
50644		},
50645	}
50646	target := &ret
50647	if err := gensupport.DecodeResponse(target, res); err != nil {
50648		return nil, err
50649	}
50650	return ret, nil
50651	// {
50652	//   "description": "Lists available video formats.",
50653	//   "httpMethod": "GET",
50654	//   "id": "dfareporting.videoFormats.list",
50655	//   "parameterOrder": [
50656	//     "profileId"
50657	//   ],
50658	//   "parameters": {
50659	//     "profileId": {
50660	//       "description": "User profile ID associated with this request.",
50661	//       "format": "int64",
50662	//       "location": "path",
50663	//       "required": true,
50664	//       "type": "string"
50665	//     }
50666	//   },
50667	//   "path": "userprofiles/{profileId}/videoFormats",
50668	//   "response": {
50669	//     "$ref": "VideoFormatsListResponse"
50670	//   },
50671	//   "scopes": [
50672	//     "https://www.googleapis.com/auth/dfatrafficking"
50673	//   ]
50674	// }
50675
50676}
50677