1// Copyright 2021 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package displayvideo provides access to the Display & Video 360 API.
8//
9// For product documentation, see: https://developers.google.com/display-video/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/displayvideo/v1"
16//   ...
17//   ctx := context.Background()
18//   displayvideoService, err := displayvideo.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//   displayvideoService, err := displayvideo.NewService(ctx, option.WithScopes(displayvideo.DoubleclickbidmanagerScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   displayvideoService, err := displayvideo.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//   displayvideoService, err := displayvideo.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package displayvideo // import "google.golang.org/api/displayvideo/v1"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "displayvideo:v1"
79const apiName = "displayvideo"
80const apiVersion = "v1"
81const basePath = "https://displayvideo.googleapis.com/"
82const mtlsBasePath = "https://displayvideo.mtls.googleapis.com/"
83
84// OAuth2 scopes used by this API.
85const (
86	// Create, see, edit, and permanently delete your Display & Video 360
87	// entities and reports
88	DisplayVideoScope = "https://www.googleapis.com/auth/display-video"
89
90	// Create, see, and edit Display & Video 360 Campaign entities and see
91	// billing invoices
92	DisplayVideoMediaplanningScope = "https://www.googleapis.com/auth/display-video-mediaplanning"
93
94	// Private Service:
95	// https://www.googleapis.com/auth/display-video-user-management
96	DisplayVideoUserManagementScope = "https://www.googleapis.com/auth/display-video-user-management"
97
98	// View and manage your reports in DoubleClick Bid Manager
99	DoubleclickbidmanagerScope = "https://www.googleapis.com/auth/doubleclickbidmanager"
100)
101
102// NewService creates a new Service.
103func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
104	scopesOption := option.WithScopes(
105		"https://www.googleapis.com/auth/display-video",
106		"https://www.googleapis.com/auth/display-video-mediaplanning",
107		"https://www.googleapis.com/auth/display-video-user-management",
108		"https://www.googleapis.com/auth/doubleclickbidmanager",
109	)
110	// NOTE: prepend, so we don't override user-specified scopes.
111	opts = append([]option.ClientOption{scopesOption}, opts...)
112	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
113	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
114	client, endpoint, err := htransport.NewClient(ctx, opts...)
115	if err != nil {
116		return nil, err
117	}
118	s, err := New(client)
119	if err != nil {
120		return nil, err
121	}
122	if endpoint != "" {
123		s.BasePath = endpoint
124	}
125	return s, nil
126}
127
128// New creates a new Service. It uses the provided http.Client for requests.
129//
130// Deprecated: please use NewService instead.
131// To provide a custom HTTP client, use option.WithHTTPClient.
132// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
133func New(client *http.Client) (*Service, error) {
134	if client == nil {
135		return nil, errors.New("client is nil")
136	}
137	s := &Service{client: client, BasePath: basePath}
138	s.Advertisers = NewAdvertisersService(s)
139	s.CombinedAudiences = NewCombinedAudiencesService(s)
140	s.CustomBiddingAlgorithms = NewCustomBiddingAlgorithmsService(s)
141	s.CustomLists = NewCustomListsService(s)
142	s.FirstAndThirdPartyAudiences = NewFirstAndThirdPartyAudiencesService(s)
143	s.FloodlightGroups = NewFloodlightGroupsService(s)
144	s.GoogleAudiences = NewGoogleAudiencesService(s)
145	s.InventorySourceGroups = NewInventorySourceGroupsService(s)
146	s.InventorySources = NewInventorySourcesService(s)
147	s.Media = NewMediaService(s)
148	s.Partners = NewPartnersService(s)
149	s.Sdfdownloadtasks = NewSdfdownloadtasksService(s)
150	s.TargetingTypes = NewTargetingTypesService(s)
151	s.Users = NewUsersService(s)
152	return s, nil
153}
154
155type Service struct {
156	client    *http.Client
157	BasePath  string // API endpoint base URL
158	UserAgent string // optional additional User-Agent fragment
159
160	Advertisers *AdvertisersService
161
162	CombinedAudiences *CombinedAudiencesService
163
164	CustomBiddingAlgorithms *CustomBiddingAlgorithmsService
165
166	CustomLists *CustomListsService
167
168	FirstAndThirdPartyAudiences *FirstAndThirdPartyAudiencesService
169
170	FloodlightGroups *FloodlightGroupsService
171
172	GoogleAudiences *GoogleAudiencesService
173
174	InventorySourceGroups *InventorySourceGroupsService
175
176	InventorySources *InventorySourcesService
177
178	Media *MediaService
179
180	Partners *PartnersService
181
182	Sdfdownloadtasks *SdfdownloadtasksService
183
184	TargetingTypes *TargetingTypesService
185
186	Users *UsersService
187}
188
189func (s *Service) userAgent() string {
190	if s.UserAgent == "" {
191		return googleapi.UserAgent
192	}
193	return googleapi.UserAgent + " " + s.UserAgent
194}
195
196func NewAdvertisersService(s *Service) *AdvertisersService {
197	rs := &AdvertisersService{s: s}
198	rs.Assets = NewAdvertisersAssetsService(s)
199	rs.Campaigns = NewAdvertisersCampaignsService(s)
200	rs.Channels = NewAdvertisersChannelsService(s)
201	rs.Creatives = NewAdvertisersCreativesService(s)
202	rs.InsertionOrders = NewAdvertisersInsertionOrdersService(s)
203	rs.Invoices = NewAdvertisersInvoicesService(s)
204	rs.LineItems = NewAdvertisersLineItemsService(s)
205	rs.LocationLists = NewAdvertisersLocationListsService(s)
206	rs.ManualTriggers = NewAdvertisersManualTriggersService(s)
207	rs.NegativeKeywordLists = NewAdvertisersNegativeKeywordListsService(s)
208	rs.TargetingTypes = NewAdvertisersTargetingTypesService(s)
209	return rs
210}
211
212type AdvertisersService struct {
213	s *Service
214
215	Assets *AdvertisersAssetsService
216
217	Campaigns *AdvertisersCampaignsService
218
219	Channels *AdvertisersChannelsService
220
221	Creatives *AdvertisersCreativesService
222
223	InsertionOrders *AdvertisersInsertionOrdersService
224
225	Invoices *AdvertisersInvoicesService
226
227	LineItems *AdvertisersLineItemsService
228
229	LocationLists *AdvertisersLocationListsService
230
231	ManualTriggers *AdvertisersManualTriggersService
232
233	NegativeKeywordLists *AdvertisersNegativeKeywordListsService
234
235	TargetingTypes *AdvertisersTargetingTypesService
236}
237
238func NewAdvertisersAssetsService(s *Service) *AdvertisersAssetsService {
239	rs := &AdvertisersAssetsService{s: s}
240	return rs
241}
242
243type AdvertisersAssetsService struct {
244	s *Service
245}
246
247func NewAdvertisersCampaignsService(s *Service) *AdvertisersCampaignsService {
248	rs := &AdvertisersCampaignsService{s: s}
249	rs.TargetingTypes = NewAdvertisersCampaignsTargetingTypesService(s)
250	return rs
251}
252
253type AdvertisersCampaignsService struct {
254	s *Service
255
256	TargetingTypes *AdvertisersCampaignsTargetingTypesService
257}
258
259func NewAdvertisersCampaignsTargetingTypesService(s *Service) *AdvertisersCampaignsTargetingTypesService {
260	rs := &AdvertisersCampaignsTargetingTypesService{s: s}
261	rs.AssignedTargetingOptions = NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s)
262	return rs
263}
264
265type AdvertisersCampaignsTargetingTypesService struct {
266	s *Service
267
268	AssignedTargetingOptions *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService
269}
270
271func NewAdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService {
272	rs := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService{s: s}
273	return rs
274}
275
276type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService struct {
277	s *Service
278}
279
280func NewAdvertisersChannelsService(s *Service) *AdvertisersChannelsService {
281	rs := &AdvertisersChannelsService{s: s}
282	rs.Sites = NewAdvertisersChannelsSitesService(s)
283	return rs
284}
285
286type AdvertisersChannelsService struct {
287	s *Service
288
289	Sites *AdvertisersChannelsSitesService
290}
291
292func NewAdvertisersChannelsSitesService(s *Service) *AdvertisersChannelsSitesService {
293	rs := &AdvertisersChannelsSitesService{s: s}
294	return rs
295}
296
297type AdvertisersChannelsSitesService struct {
298	s *Service
299}
300
301func NewAdvertisersCreativesService(s *Service) *AdvertisersCreativesService {
302	rs := &AdvertisersCreativesService{s: s}
303	return rs
304}
305
306type AdvertisersCreativesService struct {
307	s *Service
308}
309
310func NewAdvertisersInsertionOrdersService(s *Service) *AdvertisersInsertionOrdersService {
311	rs := &AdvertisersInsertionOrdersService{s: s}
312	rs.TargetingTypes = NewAdvertisersInsertionOrdersTargetingTypesService(s)
313	return rs
314}
315
316type AdvertisersInsertionOrdersService struct {
317	s *Service
318
319	TargetingTypes *AdvertisersInsertionOrdersTargetingTypesService
320}
321
322func NewAdvertisersInsertionOrdersTargetingTypesService(s *Service) *AdvertisersInsertionOrdersTargetingTypesService {
323	rs := &AdvertisersInsertionOrdersTargetingTypesService{s: s}
324	rs.AssignedTargetingOptions = NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s)
325	return rs
326}
327
328type AdvertisersInsertionOrdersTargetingTypesService struct {
329	s *Service
330
331	AssignedTargetingOptions *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService
332}
333
334func NewAdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService {
335	rs := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService{s: s}
336	return rs
337}
338
339type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService struct {
340	s *Service
341}
342
343func NewAdvertisersInvoicesService(s *Service) *AdvertisersInvoicesService {
344	rs := &AdvertisersInvoicesService{s: s}
345	return rs
346}
347
348type AdvertisersInvoicesService struct {
349	s *Service
350}
351
352func NewAdvertisersLineItemsService(s *Service) *AdvertisersLineItemsService {
353	rs := &AdvertisersLineItemsService{s: s}
354	rs.TargetingTypes = NewAdvertisersLineItemsTargetingTypesService(s)
355	return rs
356}
357
358type AdvertisersLineItemsService struct {
359	s *Service
360
361	TargetingTypes *AdvertisersLineItemsTargetingTypesService
362}
363
364func NewAdvertisersLineItemsTargetingTypesService(s *Service) *AdvertisersLineItemsTargetingTypesService {
365	rs := &AdvertisersLineItemsTargetingTypesService{s: s}
366	rs.AssignedTargetingOptions = NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s)
367	return rs
368}
369
370type AdvertisersLineItemsTargetingTypesService struct {
371	s *Service
372
373	AssignedTargetingOptions *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService
374}
375
376func NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService {
377	rs := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService{s: s}
378	return rs
379}
380
381type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService struct {
382	s *Service
383}
384
385func NewAdvertisersLocationListsService(s *Service) *AdvertisersLocationListsService {
386	rs := &AdvertisersLocationListsService{s: s}
387	rs.AssignedLocations = NewAdvertisersLocationListsAssignedLocationsService(s)
388	return rs
389}
390
391type AdvertisersLocationListsService struct {
392	s *Service
393
394	AssignedLocations *AdvertisersLocationListsAssignedLocationsService
395}
396
397func NewAdvertisersLocationListsAssignedLocationsService(s *Service) *AdvertisersLocationListsAssignedLocationsService {
398	rs := &AdvertisersLocationListsAssignedLocationsService{s: s}
399	return rs
400}
401
402type AdvertisersLocationListsAssignedLocationsService struct {
403	s *Service
404}
405
406func NewAdvertisersManualTriggersService(s *Service) *AdvertisersManualTriggersService {
407	rs := &AdvertisersManualTriggersService{s: s}
408	return rs
409}
410
411type AdvertisersManualTriggersService struct {
412	s *Service
413}
414
415func NewAdvertisersNegativeKeywordListsService(s *Service) *AdvertisersNegativeKeywordListsService {
416	rs := &AdvertisersNegativeKeywordListsService{s: s}
417	rs.NegativeKeywords = NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s)
418	return rs
419}
420
421type AdvertisersNegativeKeywordListsService struct {
422	s *Service
423
424	NegativeKeywords *AdvertisersNegativeKeywordListsNegativeKeywordsService
425}
426
427func NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s *Service) *AdvertisersNegativeKeywordListsNegativeKeywordsService {
428	rs := &AdvertisersNegativeKeywordListsNegativeKeywordsService{s: s}
429	return rs
430}
431
432type AdvertisersNegativeKeywordListsNegativeKeywordsService struct {
433	s *Service
434}
435
436func NewAdvertisersTargetingTypesService(s *Service) *AdvertisersTargetingTypesService {
437	rs := &AdvertisersTargetingTypesService{s: s}
438	rs.AssignedTargetingOptions = NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s)
439	return rs
440}
441
442type AdvertisersTargetingTypesService struct {
443	s *Service
444
445	AssignedTargetingOptions *AdvertisersTargetingTypesAssignedTargetingOptionsService
446}
447
448func NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersTargetingTypesAssignedTargetingOptionsService {
449	rs := &AdvertisersTargetingTypesAssignedTargetingOptionsService{s: s}
450	return rs
451}
452
453type AdvertisersTargetingTypesAssignedTargetingOptionsService struct {
454	s *Service
455}
456
457func NewCombinedAudiencesService(s *Service) *CombinedAudiencesService {
458	rs := &CombinedAudiencesService{s: s}
459	return rs
460}
461
462type CombinedAudiencesService struct {
463	s *Service
464}
465
466func NewCustomBiddingAlgorithmsService(s *Service) *CustomBiddingAlgorithmsService {
467	rs := &CustomBiddingAlgorithmsService{s: s}
468	return rs
469}
470
471type CustomBiddingAlgorithmsService struct {
472	s *Service
473}
474
475func NewCustomListsService(s *Service) *CustomListsService {
476	rs := &CustomListsService{s: s}
477	return rs
478}
479
480type CustomListsService struct {
481	s *Service
482}
483
484func NewFirstAndThirdPartyAudiencesService(s *Service) *FirstAndThirdPartyAudiencesService {
485	rs := &FirstAndThirdPartyAudiencesService{s: s}
486	return rs
487}
488
489type FirstAndThirdPartyAudiencesService struct {
490	s *Service
491}
492
493func NewFloodlightGroupsService(s *Service) *FloodlightGroupsService {
494	rs := &FloodlightGroupsService{s: s}
495	return rs
496}
497
498type FloodlightGroupsService struct {
499	s *Service
500}
501
502func NewGoogleAudiencesService(s *Service) *GoogleAudiencesService {
503	rs := &GoogleAudiencesService{s: s}
504	return rs
505}
506
507type GoogleAudiencesService struct {
508	s *Service
509}
510
511func NewInventorySourceGroupsService(s *Service) *InventorySourceGroupsService {
512	rs := &InventorySourceGroupsService{s: s}
513	rs.AssignedInventorySources = NewInventorySourceGroupsAssignedInventorySourcesService(s)
514	return rs
515}
516
517type InventorySourceGroupsService struct {
518	s *Service
519
520	AssignedInventorySources *InventorySourceGroupsAssignedInventorySourcesService
521}
522
523func NewInventorySourceGroupsAssignedInventorySourcesService(s *Service) *InventorySourceGroupsAssignedInventorySourcesService {
524	rs := &InventorySourceGroupsAssignedInventorySourcesService{s: s}
525	return rs
526}
527
528type InventorySourceGroupsAssignedInventorySourcesService struct {
529	s *Service
530}
531
532func NewInventorySourcesService(s *Service) *InventorySourcesService {
533	rs := &InventorySourcesService{s: s}
534	return rs
535}
536
537type InventorySourcesService struct {
538	s *Service
539}
540
541func NewMediaService(s *Service) *MediaService {
542	rs := &MediaService{s: s}
543	return rs
544}
545
546type MediaService struct {
547	s *Service
548}
549
550func NewPartnersService(s *Service) *PartnersService {
551	rs := &PartnersService{s: s}
552	rs.Channels = NewPartnersChannelsService(s)
553	rs.TargetingTypes = NewPartnersTargetingTypesService(s)
554	return rs
555}
556
557type PartnersService struct {
558	s *Service
559
560	Channels *PartnersChannelsService
561
562	TargetingTypes *PartnersTargetingTypesService
563}
564
565func NewPartnersChannelsService(s *Service) *PartnersChannelsService {
566	rs := &PartnersChannelsService{s: s}
567	rs.Sites = NewPartnersChannelsSitesService(s)
568	return rs
569}
570
571type PartnersChannelsService struct {
572	s *Service
573
574	Sites *PartnersChannelsSitesService
575}
576
577func NewPartnersChannelsSitesService(s *Service) *PartnersChannelsSitesService {
578	rs := &PartnersChannelsSitesService{s: s}
579	return rs
580}
581
582type PartnersChannelsSitesService struct {
583	s *Service
584}
585
586func NewPartnersTargetingTypesService(s *Service) *PartnersTargetingTypesService {
587	rs := &PartnersTargetingTypesService{s: s}
588	rs.AssignedTargetingOptions = NewPartnersTargetingTypesAssignedTargetingOptionsService(s)
589	return rs
590}
591
592type PartnersTargetingTypesService struct {
593	s *Service
594
595	AssignedTargetingOptions *PartnersTargetingTypesAssignedTargetingOptionsService
596}
597
598func NewPartnersTargetingTypesAssignedTargetingOptionsService(s *Service) *PartnersTargetingTypesAssignedTargetingOptionsService {
599	rs := &PartnersTargetingTypesAssignedTargetingOptionsService{s: s}
600	return rs
601}
602
603type PartnersTargetingTypesAssignedTargetingOptionsService struct {
604	s *Service
605}
606
607func NewSdfdownloadtasksService(s *Service) *SdfdownloadtasksService {
608	rs := &SdfdownloadtasksService{s: s}
609	rs.Operations = NewSdfdownloadtasksOperationsService(s)
610	return rs
611}
612
613type SdfdownloadtasksService struct {
614	s *Service
615
616	Operations *SdfdownloadtasksOperationsService
617}
618
619func NewSdfdownloadtasksOperationsService(s *Service) *SdfdownloadtasksOperationsService {
620	rs := &SdfdownloadtasksOperationsService{s: s}
621	return rs
622}
623
624type SdfdownloadtasksOperationsService struct {
625	s *Service
626}
627
628func NewTargetingTypesService(s *Service) *TargetingTypesService {
629	rs := &TargetingTypesService{s: s}
630	rs.TargetingOptions = NewTargetingTypesTargetingOptionsService(s)
631	return rs
632}
633
634type TargetingTypesService struct {
635	s *Service
636
637	TargetingOptions *TargetingTypesTargetingOptionsService
638}
639
640func NewTargetingTypesTargetingOptionsService(s *Service) *TargetingTypesTargetingOptionsService {
641	rs := &TargetingTypesTargetingOptionsService{s: s}
642	return rs
643}
644
645type TargetingTypesTargetingOptionsService struct {
646	s *Service
647}
648
649func NewUsersService(s *Service) *UsersService {
650	rs := &UsersService{s: s}
651	return rs
652}
653
654type UsersService struct {
655	s *Service
656}
657
658// ActivateManualTriggerRequest: Request message for
659// ManualTriggerService.ActivateManualTrigger.
660type ActivateManualTriggerRequest struct {
661}
662
663// ActiveViewVideoViewabilityMetricConfig: Configuration for custom
664// Active View video viewability metrics.
665type ActiveViewVideoViewabilityMetricConfig struct {
666	// DisplayName: Required. The display name of the custom metric.
667	DisplayName string `json:"displayName,omitempty"`
668
669	// MinimumDuration: The minimum visible video duration required (in
670	// seconds) in order for an impression to be recorded. You must specify
671	// minimum_duration, minimum_quartile or both. If both are specified, an
672	// impression meets the metric criteria if either requirement is met
673	// (whichever happens first).
674	//
675	// Possible values:
676	//   "VIDEO_DURATION_UNSPECIFIED" - Value is not specified or is unknown
677	// in this version.
678	//   "VIDEO_DURATION_SECONDS_NONE" - No duration value.
679	//   "VIDEO_DURATION_SECONDS_0" - 0 seconds.
680	//   "VIDEO_DURATION_SECONDS_1" - 1 second.
681	//   "VIDEO_DURATION_SECONDS_2" - 2 seconds.
682	//   "VIDEO_DURATION_SECONDS_3" - 3 seconds.
683	//   "VIDEO_DURATION_SECONDS_4" - 4 seconds.
684	//   "VIDEO_DURATION_SECONDS_5" - 5 seconds.
685	//   "VIDEO_DURATION_SECONDS_6" - 6 seconds.
686	//   "VIDEO_DURATION_SECONDS_7" - 7 seconds.
687	//   "VIDEO_DURATION_SECONDS_8" - 8 seconds.
688	//   "VIDEO_DURATION_SECONDS_9" - 9 seconds.
689	//   "VIDEO_DURATION_SECONDS_10" - 10 seconds.
690	//   "VIDEO_DURATION_SECONDS_11" - 11 seconds.
691	//   "VIDEO_DURATION_SECONDS_12" - 12 seconds.
692	//   "VIDEO_DURATION_SECONDS_13" - 13 seconds.
693	//   "VIDEO_DURATION_SECONDS_14" - 14 seconds.
694	//   "VIDEO_DURATION_SECONDS_15" - 15 seconds.
695	//   "VIDEO_DURATION_SECONDS_30" - 30 seconds.
696	//   "VIDEO_DURATION_SECONDS_45" - 45 seconds.
697	//   "VIDEO_DURATION_SECONDS_60" - 60 seconds.
698	MinimumDuration string `json:"minimumDuration,omitempty"`
699
700	// MinimumQuartile: The minimum visible video duration required, based
701	// on the video quartiles, in order for an impression to be recorded.
702	// You must specify minimum_duration, minimum_quartile or both. If both
703	// are specified, an impression meets the metric criteria if either
704	// requirement is met (whichever happens first).
705	//
706	// Possible values:
707	//   "VIDEO_DURATION_QUARTILE_UNSPECIFIED" - Value is not specified or
708	// is unknown in this version.
709	//   "VIDEO_DURATION_QUARTILE_NONE" - No quartile value.
710	//   "VIDEO_DURATION_QUARTILE_FIRST" - First quartile.
711	//   "VIDEO_DURATION_QUARTILE_SECOND" - Second quartile (midpoint).
712	//   "VIDEO_DURATION_QUARTILE_THIRD" - Third quartile.
713	//   "VIDEO_DURATION_QUARTILE_FOURTH" - Fourth quartile (completion).
714	MinimumQuartile string `json:"minimumQuartile,omitempty"`
715
716	// MinimumViewability: Required. The minimum percentage of the video
717	// ad's pixels visible on the screen in order for an impression to be
718	// recorded.
719	//
720	// Possible values:
721	//   "VIEWABILITY_PERCENT_UNSPECIFIED" - Value is not specified or is
722	// unknown in this version.
723	//   "VIEWABILITY_PERCENT_0" - 0% viewable.
724	//   "VIEWABILITY_PERCENT_25" - 25% viewable.
725	//   "VIEWABILITY_PERCENT_50" - 50% viewable.
726	//   "VIEWABILITY_PERCENT_75" - 75% viewable.
727	//   "VIEWABILITY_PERCENT_100" - 100% viewable.
728	MinimumViewability string `json:"minimumViewability,omitempty"`
729
730	// MinimumVolume: Required. The minimum percentage of the video ad's
731	// volume required in order for an impression to be recorded.
732	//
733	// Possible values:
734	//   "VIDEO_VOLUME_PERCENT_UNSPECIFIED" - Value is not specified or is
735	// unknown in this version.
736	//   "VIDEO_VOLUME_PERCENT_0" - 0% volume.
737	//   "VIDEO_VOLUME_PERCENT_10" - 10% volume.
738	MinimumVolume string `json:"minimumVolume,omitempty"`
739
740	// ForceSendFields is a list of field names (e.g. "DisplayName") to
741	// unconditionally include in API requests. By default, fields with
742	// empty values are omitted from API requests. However, any non-pointer,
743	// non-interface field appearing in ForceSendFields will be sent to the
744	// server regardless of whether the field is empty or not. This may be
745	// used to include empty fields in Patch requests.
746	ForceSendFields []string `json:"-"`
747
748	// NullFields is a list of field names (e.g. "DisplayName") to include
749	// in API requests with the JSON null value. By default, fields with
750	// empty values are omitted from API requests. However, any field with
751	// an empty value appearing in NullFields will be sent to the server as
752	// null. It is an error if a field in this list has a non-empty value.
753	// This may be used to include null fields in Patch requests.
754	NullFields []string `json:"-"`
755}
756
757func (s *ActiveViewVideoViewabilityMetricConfig) MarshalJSON() ([]byte, error) {
758	type NoMethod ActiveViewVideoViewabilityMetricConfig
759	raw := NoMethod(*s)
760	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
761}
762
763// Adloox: Details of Adloox settings.
764type Adloox struct {
765	// ExcludedAdlooxCategories: Adloox's brand safety settings.
766	//
767	// Possible values:
768	//   "ADLOOX_UNSPECIFIED" - This enum is only a placeholder and it
769	// doesn't specify any Adloox option.
770	//   "ADULT_CONTENT_HARD" - Adult content (hard).
771	//   "ADULT_CONTENT_SOFT" - Adult content (soft).
772	//   "ILLEGAL_CONTENT" - Illegal content.
773	//   "BORDERLINE_CONTENT" - Borderline content.
774	//   "DISCRIMINATORY_CONTENT" - Discriminatory content.
775	//   "VIOLENT_CONTENT_WEAPONS" - Violent content & weapons.
776	//   "LOW_VIEWABILITY_DOMAINS" - Low viewability domains.
777	//   "FRAUD" - Fraud.
778	ExcludedAdlooxCategories []string `json:"excludedAdlooxCategories,omitempty"`
779
780	// ForceSendFields is a list of field names (e.g.
781	// "ExcludedAdlooxCategories") to unconditionally include in API
782	// requests. By default, fields with empty values are omitted from API
783	// requests. However, any non-pointer, non-interface field appearing in
784	// ForceSendFields will be sent to the server regardless of whether the
785	// field is empty or not. This may be used to include empty fields in
786	// Patch requests.
787	ForceSendFields []string `json:"-"`
788
789	// NullFields is a list of field names (e.g. "ExcludedAdlooxCategories")
790	// to include in API requests with the JSON null value. By default,
791	// fields with empty values are omitted from API requests. However, any
792	// field with an empty value appearing in NullFields will be sent to the
793	// server as null. It is an error if a field in this list has a
794	// non-empty value. This may be used to include null fields in Patch
795	// requests.
796	NullFields []string `json:"-"`
797}
798
799func (s *Adloox) MarshalJSON() ([]byte, error) {
800	type NoMethod Adloox
801	raw := NoMethod(*s)
802	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
803}
804
805// Advertiser: A single advertiser in Display & Video 360 (DV360).
806type Advertiser struct {
807	// AdServerConfig: Required. Immutable. Ad server related settings of
808	// the advertiser.
809	AdServerConfig *AdvertiserAdServerConfig `json:"adServerConfig,omitempty"`
810
811	// AdvertiserId: Output only. The unique ID of the advertiser. Assigned
812	// by the system.
813	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
814
815	// CreativeConfig: Required. Creative related settings of the
816	// advertiser.
817	CreativeConfig *AdvertiserCreativeConfig `json:"creativeConfig,omitempty"`
818
819	// DataAccessConfig: Settings that control how advertiser data may be
820	// accessed.
821	DataAccessConfig *AdvertiserDataAccessConfig `json:"dataAccessConfig,omitempty"`
822
823	// DisplayName: Required. The display name of the advertiser. Must be
824	// UTF-8 encoded with a maximum size of 240 bytes.
825	DisplayName string `json:"displayName,omitempty"`
826
827	// EntityStatus: Required. Controls whether or not insertion orders and
828	// line items of the advertiser can spend their budgets and bid on
829	// inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`,
830	// `ENTITY_STATUS_PAUSED` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. *
831	// If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will
832	// be deleted 30 days from when it was first scheduled for deletion.
833	//
834	// Possible values:
835	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
836	// specified or is unknown in this version.
837	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
838	// budget.
839	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
840	// budget spending are disabled. An entity can be deleted after
841	// archived. Deleted entities cannot be retrieved.
842	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
843	// budget spending are disabled.
844	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
845	// the entity.
846	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
847	// for deletion.
848	EntityStatus string `json:"entityStatus,omitempty"`
849
850	// GeneralConfig: Required. General settings of the advertiser.
851	GeneralConfig *AdvertiserGeneralConfig `json:"generalConfig,omitempty"`
852
853	// IntegrationDetails: Integration details of the advertiser. Only
854	// integrationCode is currently applicable to advertiser. Other fields
855	// of IntegrationDetails are not supported and will be ignored if
856	// provided.
857	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
858
859	// Name: Output only. The resource name of the advertiser.
860	Name string `json:"name,omitempty"`
861
862	// PartnerId: Required. Immutable. The unique ID of the partner that the
863	// advertiser belongs to.
864	PartnerId int64 `json:"partnerId,omitempty,string"`
865
866	// PrismaEnabled: Whether integration with Mediaocean (Prisma) is
867	// enabled. By enabling this, you agree to the following: On behalf of
868	// my company, I authorize Mediaocean (Prisma) to send budget segment
869	// plans to Google, and I authorize Google to send corresponding
870	// reporting and invoices from DV360 to Mediaocean for the purposes of
871	// budget planning, billing, and reconciliation for this advertiser.
872	PrismaEnabled bool `json:"prismaEnabled,omitempty"`
873
874	// ServingConfig: Targeting settings related to ad serving of the
875	// advertiser.
876	ServingConfig *AdvertiserTargetingConfig `json:"servingConfig,omitempty"`
877
878	// UpdateTime: Output only. The timestamp when the advertiser was last
879	// updated. Assigned by the system.
880	UpdateTime string `json:"updateTime,omitempty"`
881
882	// ServerResponse contains the HTTP response code and headers from the
883	// server.
884	googleapi.ServerResponse `json:"-"`
885
886	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
887	// unconditionally include in API requests. By default, fields with
888	// empty values are omitted from API requests. However, any non-pointer,
889	// non-interface field appearing in ForceSendFields will be sent to the
890	// server regardless of whether the field is empty or not. This may be
891	// used to include empty fields in Patch requests.
892	ForceSendFields []string `json:"-"`
893
894	// NullFields is a list of field names (e.g. "AdServerConfig") to
895	// include in API requests with the JSON null value. By default, fields
896	// with empty values are omitted from API requests. However, any field
897	// with an empty value appearing in NullFields will be sent to the
898	// server as null. It is an error if a field in this list has a
899	// non-empty value. This may be used to include null fields in Patch
900	// requests.
901	NullFields []string `json:"-"`
902}
903
904func (s *Advertiser) MarshalJSON() ([]byte, error) {
905	type NoMethod Advertiser
906	raw := NoMethod(*s)
907	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
908}
909
910// AdvertiserAdServerConfig: Ad server related settings of an
911// advertiser.
912type AdvertiserAdServerConfig struct {
913	// CmHybridConfig: The configuration for advertisers that use both
914	// Campaign Manager 360 (CM360) and third-party ad servers.
915	CmHybridConfig *CmHybridConfig `json:"cmHybridConfig,omitempty"`
916
917	// ThirdPartyOnlyConfig: The configuration for advertisers that use
918	// third-party ad servers only.
919	ThirdPartyOnlyConfig *ThirdPartyOnlyConfig `json:"thirdPartyOnlyConfig,omitempty"`
920
921	// ForceSendFields is a list of field names (e.g. "CmHybridConfig") to
922	// unconditionally include in API requests. By default, fields with
923	// empty values are omitted from API requests. However, any non-pointer,
924	// non-interface field appearing in ForceSendFields will be sent to the
925	// server regardless of whether the field is empty or not. This may be
926	// used to include empty fields in Patch requests.
927	ForceSendFields []string `json:"-"`
928
929	// NullFields is a list of field names (e.g. "CmHybridConfig") to
930	// include in API requests with the JSON null value. By default, fields
931	// with empty values are omitted from API requests. However, any field
932	// with an empty value appearing in NullFields will be sent to the
933	// server as null. It is an error if a field in this list has a
934	// non-empty value. This may be used to include null fields in Patch
935	// requests.
936	NullFields []string `json:"-"`
937}
938
939func (s *AdvertiserAdServerConfig) MarshalJSON() ([]byte, error) {
940	type NoMethod AdvertiserAdServerConfig
941	raw := NoMethod(*s)
942	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
943}
944
945// AdvertiserCreativeConfig: Creatives related settings of an
946// advertiser.
947type AdvertiserCreativeConfig struct {
948	// DynamicCreativeEnabled: Whether or not the advertiser is enabled for
949	// dynamic creatives.
950	DynamicCreativeEnabled bool `json:"dynamicCreativeEnabled,omitempty"`
951
952	// IasClientId: An ID for configuring campaign monitoring provided by
953	// Integral Ad Service (IAS). The DV360 system will append an IAS
954	// "Campaign Monitor" tag containing this ID to the creative tag.
955	IasClientId int64 `json:"iasClientId,omitempty,string"`
956
957	// ObaComplianceDisabled: Whether or not to use DV360's Online
958	// Behavioral Advertising (OBA) compliance. Warning: Changing OBA
959	// settings may cause the audit status of your creatives to be reset by
960	// some ad exchanges, making them ineligible to serve until they are
961	// re-approved.
962	ObaComplianceDisabled bool `json:"obaComplianceDisabled,omitempty"`
963
964	// VideoCreativeDataSharingAuthorized: By setting this field to `true`,
965	// you, on behalf of your company, authorize Google to use video
966	// creatives associated with this Display & Video 360 advertiser to
967	// provide reporting and features related to the advertiser's television
968	// campaigns. Applicable only when the advertiser has a CM360 hybrid ad
969	// server configuration.
970	VideoCreativeDataSharingAuthorized bool `json:"videoCreativeDataSharingAuthorized,omitempty"`
971
972	// ForceSendFields is a list of field names (e.g.
973	// "DynamicCreativeEnabled") to unconditionally include in API requests.
974	// By default, fields with empty values are omitted from API requests.
975	// However, any non-pointer, non-interface field appearing in
976	// ForceSendFields will be sent to the server regardless of whether the
977	// field is empty or not. This may be used to include empty fields in
978	// Patch requests.
979	ForceSendFields []string `json:"-"`
980
981	// NullFields is a list of field names (e.g. "DynamicCreativeEnabled")
982	// to include in API requests with the JSON null value. By default,
983	// fields with empty values are omitted from API requests. However, any
984	// field with an empty value appearing in NullFields will be sent to the
985	// server as null. It is an error if a field in this list has a
986	// non-empty value. This may be used to include null fields in Patch
987	// requests.
988	NullFields []string `json:"-"`
989}
990
991func (s *AdvertiserCreativeConfig) MarshalJSON() ([]byte, error) {
992	type NoMethod AdvertiserCreativeConfig
993	raw := NoMethod(*s)
994	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
995}
996
997// AdvertiserDataAccessConfig: Settings that control how advertiser
998// related data may be accessed.
999type AdvertiserDataAccessConfig struct {
1000	// SdfConfig: Structured Data Files (SDF) settings for the advertiser.
1001	// If not specified, the SDF settings of the parent partner are used.
1002	SdfConfig *AdvertiserSdfConfig `json:"sdfConfig,omitempty"`
1003
1004	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
1005	// unconditionally include in API requests. By default, fields with
1006	// empty values are omitted from API requests. However, any non-pointer,
1007	// non-interface field appearing in ForceSendFields will be sent to the
1008	// server regardless of whether the field is empty or not. This may be
1009	// used to include empty fields in Patch requests.
1010	ForceSendFields []string `json:"-"`
1011
1012	// NullFields is a list of field names (e.g. "SdfConfig") to include in
1013	// API requests with the JSON null value. By default, fields with empty
1014	// values are omitted from API requests. However, any field with an
1015	// empty value appearing in NullFields will be sent to the server as
1016	// null. It is an error if a field in this list has a non-empty value.
1017	// This may be used to include null fields in Patch requests.
1018	NullFields []string `json:"-"`
1019}
1020
1021func (s *AdvertiserDataAccessConfig) MarshalJSON() ([]byte, error) {
1022	type NoMethod AdvertiserDataAccessConfig
1023	raw := NoMethod(*s)
1024	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1025}
1026
1027// AdvertiserGeneralConfig: General settings of an advertiser.
1028type AdvertiserGeneralConfig struct {
1029	// CurrencyCode: Required. Immutable. Advertiser's currency in ISO 4217
1030	// format. Accepted codes and the currencies they represent are:
1031	// Currency Code : Currency Name * `ARS` : Argentine Peso * `AUD` :
1032	// Australian Dollar * `BRL` : Brazilian Real * `CAD` : Canadian Dollar
1033	// * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese Yuan *
1034	// `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone
1035	// * `EGP` : Egyption Pound * `EUR` : Euro * `GBP` : British Pound *
1036	// `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint * `IDR` :
1037	// Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee *
1038	// `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican
1039	// Pesos * `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` :
1040	// Norwegian Krone * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo
1041	// Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` :
1042	// Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD`
1043	// : New Taiwan Dollar * `USD` : US Dollar * `ZAR` : South African Rand
1044	CurrencyCode string `json:"currencyCode,omitempty"`
1045
1046	// DomainUrl: Required. The domain URL of the advertiser's primary
1047	// website. The system will send this information to publishers that
1048	// require website URL to associate a campaign with an advertiser.
1049	// Provide a URL with no path or query string, beginning with `http:` or
1050	// `https:`. For example, http://www.example.com
1051	DomainUrl string `json:"domainUrl,omitempty"`
1052
1053	// TimeZone: Output only. The standard TZ database name of the
1054	// advertiser's time zone. For example, `America/New_York`. See more at:
1055	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For
1056	// CM360 hybrid advertisers, the time zone is the same as that of the
1057	// associated CM360 account; for third-party only advertisers, the time
1058	// zone is the same as that of the parent partner.
1059	TimeZone string `json:"timeZone,omitempty"`
1060
1061	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
1062	// unconditionally include in API requests. By default, fields with
1063	// empty values are omitted from API requests. However, any non-pointer,
1064	// non-interface field appearing in ForceSendFields will be sent to the
1065	// server regardless of whether the field is empty or not. This may be
1066	// used to include empty fields in Patch requests.
1067	ForceSendFields []string `json:"-"`
1068
1069	// NullFields is a list of field names (e.g. "CurrencyCode") to include
1070	// in API requests with the JSON null value. By default, fields with
1071	// empty values are omitted from API requests. However, any field with
1072	// an empty value appearing in NullFields will be sent to the server as
1073	// null. It is an error if a field in this list has a non-empty value.
1074	// This may be used to include null fields in Patch requests.
1075	NullFields []string `json:"-"`
1076}
1077
1078func (s *AdvertiserGeneralConfig) MarshalJSON() ([]byte, error) {
1079	type NoMethod AdvertiserGeneralConfig
1080	raw := NoMethod(*s)
1081	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1082}
1083
1084// AdvertiserSdfConfig: Structured Data Files (SDF) settings of an
1085// advertiser.
1086type AdvertiserSdfConfig struct {
1087	// OverridePartnerSdfConfig: Whether or not this advertiser overrides
1088	// the SDF configuration of its parent partner. By default, an
1089	// advertiser inherits the SDF configuration from the parent partner. To
1090	// override the partner configuration, set this field to `true` and
1091	// provide the new configuration in sdfConfig.
1092	OverridePartnerSdfConfig bool `json:"overridePartnerSdfConfig,omitempty"`
1093
1094	// SdfConfig: The SDF configuration for the advertiser. * Required when
1095	// overridePartnerSdfConfig is `true`. * Output only when
1096	// overridePartnerSdfConfig is `false`.
1097	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
1098
1099	// ForceSendFields is a list of field names (e.g.
1100	// "OverridePartnerSdfConfig") to unconditionally include in API
1101	// requests. By default, fields with empty values are omitted from API
1102	// requests. However, any non-pointer, non-interface field appearing in
1103	// ForceSendFields will be sent to the server regardless of whether the
1104	// field is empty or not. This may be used to include empty fields in
1105	// Patch requests.
1106	ForceSendFields []string `json:"-"`
1107
1108	// NullFields is a list of field names (e.g. "OverridePartnerSdfConfig")
1109	// to include in API requests with the JSON null value. By default,
1110	// fields with empty values are omitted from API requests. However, any
1111	// field with an empty value appearing in NullFields will be sent to the
1112	// server as null. It is an error if a field in this list has a
1113	// non-empty value. This may be used to include null fields in Patch
1114	// requests.
1115	NullFields []string `json:"-"`
1116}
1117
1118func (s *AdvertiserSdfConfig) MarshalJSON() ([]byte, error) {
1119	type NoMethod AdvertiserSdfConfig
1120	raw := NoMethod(*s)
1121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1122}
1123
1124// AdvertiserTargetingConfig: Targeting settings related to ad serving
1125// of an advertiser.
1126type AdvertiserTargetingConfig struct {
1127	// ExemptTvFromViewabilityTargeting: Whether or not connected TV devices
1128	// are exempt from viewability targeting for all video line items under
1129	// the advertiser.
1130	ExemptTvFromViewabilityTargeting bool `json:"exemptTvFromViewabilityTargeting,omitempty"`
1131
1132	// ForceSendFields is a list of field names (e.g.
1133	// "ExemptTvFromViewabilityTargeting") to unconditionally include in API
1134	// requests. By default, fields with empty values are omitted from API
1135	// requests. However, any non-pointer, non-interface field appearing in
1136	// ForceSendFields will be sent to the server regardless of whether the
1137	// field is empty or not. This may be used to include empty fields in
1138	// Patch requests.
1139	ForceSendFields []string `json:"-"`
1140
1141	// NullFields is a list of field names (e.g.
1142	// "ExemptTvFromViewabilityTargeting") to include in API requests with
1143	// the JSON null value. By default, fields with empty values are omitted
1144	// from API requests. However, any field with an empty value appearing
1145	// in NullFields will be sent to the server as null. It is an error if a
1146	// field in this list has a non-empty value. This may be used to include
1147	// null fields in Patch requests.
1148	NullFields []string `json:"-"`
1149}
1150
1151func (s *AdvertiserTargetingConfig) MarshalJSON() ([]byte, error) {
1152	type NoMethod AdvertiserTargetingConfig
1153	raw := NoMethod(*s)
1154	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1155}
1156
1157// AgeRangeAssignedTargetingOptionDetails: Represents a targetable age
1158// range. This will be populated in the details field of an
1159// AssignedTargetingOption when targeting_type is
1160// `TARGETING_TYPE_AGE_RANGE`.
1161type AgeRangeAssignedTargetingOptionDetails struct {
1162	// AgeRange: Output only. The age range of an audience. We only support
1163	// targeting a continuous age range of an audience. Thus, the age range
1164	// represented in this field can be 1) targeted solely, or, 2) part of a
1165	// larger continuous age range. The reach of a continuous age range
1166	// targeting can be expanded by also targeting an audience of an unknown
1167	// age.
1168	//
1169	// Possible values:
1170	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not
1171	// specified in this version. This enum is a placeholder for default
1172	// value and does not represent a real age range option.
1173	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
1174	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
1175	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
1176	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
1177	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
1178	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
1179	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
1180	AgeRange string `json:"ageRange,omitempty"`
1181
1182	// TargetingOptionId: Required. The targeting_option_id of a
1183	// TargetingOption of type `TARGETING_TYPE_AGE_RANGE`.
1184	TargetingOptionId string `json:"targetingOptionId,omitempty"`
1185
1186	// ForceSendFields is a list of field names (e.g. "AgeRange") to
1187	// unconditionally include in API requests. By default, fields with
1188	// empty values are omitted from API requests. However, any non-pointer,
1189	// non-interface field appearing in ForceSendFields will be sent to the
1190	// server regardless of whether the field is empty or not. This may be
1191	// used to include empty fields in Patch requests.
1192	ForceSendFields []string `json:"-"`
1193
1194	// NullFields is a list of field names (e.g. "AgeRange") to include in
1195	// API requests with the JSON null value. By default, fields with empty
1196	// values are omitted from API requests. However, any field with an
1197	// empty value appearing in NullFields will be sent to the server as
1198	// null. It is an error if a field in this list has a non-empty value.
1199	// This may be used to include null fields in Patch requests.
1200	NullFields []string `json:"-"`
1201}
1202
1203func (s *AgeRangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1204	type NoMethod AgeRangeAssignedTargetingOptionDetails
1205	raw := NoMethod(*s)
1206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1207}
1208
1209// AgeRangeTargetingOptionDetails: Represents a targetable age range.
1210// This will be populated in the age_range_details field when
1211// targeting_type is `TARGETING_TYPE_AGE_RANGE`.
1212type AgeRangeTargetingOptionDetails struct {
1213	// AgeRange: Output only. The age range of an audience.
1214	//
1215	// Possible values:
1216	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not
1217	// specified in this version. This enum is a placeholder for default
1218	// value and does not represent a real age range option.
1219	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
1220	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
1221	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
1222	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
1223	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
1224	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
1225	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
1226	AgeRange string `json:"ageRange,omitempty"`
1227
1228	// ForceSendFields is a list of field names (e.g. "AgeRange") to
1229	// unconditionally include in API requests. By default, fields with
1230	// empty values are omitted from API requests. However, any non-pointer,
1231	// non-interface field appearing in ForceSendFields will be sent to the
1232	// server regardless of whether the field is empty or not. This may be
1233	// used to include empty fields in Patch requests.
1234	ForceSendFields []string `json:"-"`
1235
1236	// NullFields is a list of field names (e.g. "AgeRange") to include in
1237	// API requests with the JSON null value. By default, fields with empty
1238	// values are omitted from API requests. However, any field with an
1239	// empty value appearing in NullFields will be sent to the server as
1240	// null. It is an error if a field in this list has a non-empty value.
1241	// This may be used to include null fields in Patch requests.
1242	NullFields []string `json:"-"`
1243}
1244
1245func (s *AgeRangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1246	type NoMethod AgeRangeTargetingOptionDetails
1247	raw := NoMethod(*s)
1248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1249}
1250
1251// AppAssignedTargetingOptionDetails: Details for assigned app targeting
1252// option. This will be populated in the details field of an
1253// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.
1254type AppAssignedTargetingOptionDetails struct {
1255	// AppId: Required. The ID of the app. Android's Play store app uses
1256	// bundle ID, for example `com.google.android.gm`. Apple's App store app
1257	// ID uses 9 digit string, for example `422689480`.
1258	AppId string `json:"appId,omitempty"`
1259
1260	// AppPlatform: Indicates the platform of the targeted app. If this
1261	// field is not specified, the app platform will be assumed to be mobile
1262	// (i.e., Android or iOS), and we will derive the appropriate mobile
1263	// platform from the app ID.
1264	//
1265	// Possible values:
1266	//   "APP_PLATFORM_UNSPECIFIED" - Default value when app platform is not
1267	// specified in this version. This enum is a placeholder for default
1268	// value and does not represent a real platform option.
1269	//   "APP_PLATFORM_IOS" - The app platform is iOS.
1270	//   "APP_PLATFORM_ANDROID" - The app platform is Android.
1271	//   "APP_PLATFORM_ROKU" - The app platform is Roku.
1272	//   "APP_PLATFORM_AMAZON_FIRETV" - The app platform is Amazon FireTV.
1273	//   "APP_PLATFORM_PLAYSTATION" - The app platform is Playstation.
1274	//   "APP_PLATFORM_APPLE_TV" - The app platform is Apple TV.
1275	//   "APP_PLATFORM_XBOX" - The app platform is Xbox.
1276	//   "APP_PLATFORM_SAMSUNG_TV" - The app platform is Samsung TV.
1277	//   "APP_PLATFORM_ANDROID_TV" - The app platform is Android TV.
1278	//   "APP_PLATFORM_GENERIC_CTV" - The app platform is a CTV platform
1279	// that is not explicitly listed elsewhere.
1280	AppPlatform string `json:"appPlatform,omitempty"`
1281
1282	// DisplayName: Output only. The display name of the app.
1283	DisplayName string `json:"displayName,omitempty"`
1284
1285	// Negative: Indicates if this option is being negatively targeted.
1286	Negative bool `json:"negative,omitempty"`
1287
1288	// ForceSendFields is a list of field names (e.g. "AppId") to
1289	// unconditionally include in API requests. By default, fields with
1290	// empty values are omitted from API requests. However, any non-pointer,
1291	// non-interface field appearing in ForceSendFields will be sent to the
1292	// server regardless of whether the field is empty or not. This may be
1293	// used to include empty fields in Patch requests.
1294	ForceSendFields []string `json:"-"`
1295
1296	// NullFields is a list of field names (e.g. "AppId") to include in API
1297	// requests with the JSON null value. By default, fields with empty
1298	// values are omitted from API requests. However, any field with an
1299	// empty value appearing in NullFields will be sent to the server as
1300	// null. It is an error if a field in this list has a non-empty value.
1301	// This may be used to include null fields in Patch requests.
1302	NullFields []string `json:"-"`
1303}
1304
1305func (s *AppAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1306	type NoMethod AppAssignedTargetingOptionDetails
1307	raw := NoMethod(*s)
1308	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1309}
1310
1311// AppCategoryAssignedTargetingOptionDetails: Details for assigned app
1312// category targeting option. This will be populated in the
1313// app_category_details field of an AssignedTargetingOption when
1314// targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
1315type AppCategoryAssignedTargetingOptionDetails struct {
1316	// DisplayName: Output only. The display name of the app category.
1317	DisplayName string `json:"displayName,omitempty"`
1318
1319	// Negative: Indicates if this option is being negatively targeted.
1320	Negative bool `json:"negative,omitempty"`
1321
1322	// TargetingOptionId: Required. The targeting_option_id field when
1323	// targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
1324	TargetingOptionId string `json:"targetingOptionId,omitempty"`
1325
1326	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1327	// unconditionally include in API requests. By default, fields with
1328	// empty values are omitted from API requests. However, any non-pointer,
1329	// non-interface field appearing in ForceSendFields will be sent to the
1330	// server regardless of whether the field is empty or not. This may be
1331	// used to include empty fields in Patch requests.
1332	ForceSendFields []string `json:"-"`
1333
1334	// NullFields is a list of field names (e.g. "DisplayName") to include
1335	// in API requests with the JSON null value. By default, fields with
1336	// empty values are omitted from API requests. However, any field with
1337	// an empty value appearing in NullFields will be sent to the server as
1338	// null. It is an error if a field in this list has a non-empty value.
1339	// This may be used to include null fields in Patch requests.
1340	NullFields []string `json:"-"`
1341}
1342
1343func (s *AppCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1344	type NoMethod AppCategoryAssignedTargetingOptionDetails
1345	raw := NoMethod(*s)
1346	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1347}
1348
1349// AppCategoryTargetingOptionDetails: Represents a targetable collection
1350// of apps. A collection lets you target dynamic groups of related apps
1351// that are maintained by the platform, for example `All Apps/Google
1352// Play/Games`. This will be populated in the app_category_details field
1353// when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
1354type AppCategoryTargetingOptionDetails struct {
1355	// DisplayName: Output only. The name of the app collection.
1356	DisplayName string `json:"displayName,omitempty"`
1357
1358	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1359	// unconditionally include in API requests. By default, fields with
1360	// empty values are omitted from API requests. However, any non-pointer,
1361	// non-interface field appearing in ForceSendFields will be sent to the
1362	// server regardless of whether the field is empty or not. This may be
1363	// used to include empty fields in Patch requests.
1364	ForceSendFields []string `json:"-"`
1365
1366	// NullFields is a list of field names (e.g. "DisplayName") to include
1367	// in API requests with the JSON null value. By default, fields with
1368	// empty values are omitted from API requests. However, any field with
1369	// an empty value appearing in NullFields will be sent to the server as
1370	// null. It is an error if a field in this list has a non-empty value.
1371	// This may be used to include null fields in Patch requests.
1372	NullFields []string `json:"-"`
1373}
1374
1375func (s *AppCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1376	type NoMethod AppCategoryTargetingOptionDetails
1377	raw := NoMethod(*s)
1378	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1379}
1380
1381// Asset: A single asset.
1382type Asset struct {
1383	// Content: The asset content. For uploaded assets, the content is the
1384	// serving path.
1385	Content string `json:"content,omitempty"`
1386
1387	// MediaId: Media ID of the uploaded asset. This is a unique identifier
1388	// for the asset. This ID can be passed to other API calls, e.g.
1389	// CreateCreative to associate the asset with a creative.
1390	MediaId int64 `json:"mediaId,omitempty,string"`
1391
1392	// ForceSendFields is a list of field names (e.g. "Content") to
1393	// unconditionally include in API requests. By default, fields with
1394	// empty values are omitted from API requests. However, any non-pointer,
1395	// non-interface field appearing in ForceSendFields will be sent to the
1396	// server regardless of whether the field is empty or not. This may be
1397	// used to include empty fields in Patch requests.
1398	ForceSendFields []string `json:"-"`
1399
1400	// NullFields is a list of field names (e.g. "Content") to include in
1401	// API requests with the JSON null value. By default, fields with empty
1402	// values are omitted from API requests. However, any field with an
1403	// empty value appearing in NullFields will be sent to the server as
1404	// null. It is an error if a field in this list has a non-empty value.
1405	// This may be used to include null fields in Patch requests.
1406	NullFields []string `json:"-"`
1407}
1408
1409func (s *Asset) MarshalJSON() ([]byte, error) {
1410	type NoMethod Asset
1411	raw := NoMethod(*s)
1412	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1413}
1414
1415// AssetAssociation: Asset association for the creative.
1416type AssetAssociation struct {
1417	// Asset: The associated asset.
1418	Asset *Asset `json:"asset,omitempty"`
1419
1420	// Role: The role of this asset for the creative.
1421	//
1422	// Possible values:
1423	//   "ASSET_ROLE_UNSPECIFIED" - Asset role is not specified or is
1424	// unknown in this version.
1425	//   "ASSET_ROLE_MAIN" - The asset is the main asset of the creative.
1426	//   "ASSET_ROLE_BACKUP" - The asset is a backup asset of the creative.
1427	//   "ASSET_ROLE_POLITE_LOAD" - The asset is a polite load asset of the
1428	// creative.
1429	//   "ASSET_ROLE_HEADLINE" - Headline of a native creative. The content
1430	// must be UTF-8 encoded with a length of no more than 25 characters.
1431	// This role is only supported in following creative_type: *
1432	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1433	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1434	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1435	// `CREATIVE_TYPE_NATIVE_VIDEO`
1436	//   "ASSET_ROLE_LONG_HEADLINE" - Long headline of a native creative.
1437	// The content must be UTF-8 encoded with a length of no more than 50
1438	// characters. This role is only supported in following creative_type: *
1439	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1440	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1441	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1442	// `CREATIVE_TYPE_NATIVE_VIDEO`
1443	//   "ASSET_ROLE_BODY" - Body text of a native creative. The content
1444	// must be UTF-8 encoded with a length of no more than 90 characters.
1445	// This role is only supported in following creative_type: *
1446	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1447	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1448	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1449	// `CREATIVE_TYPE_NATIVE_VIDEO`
1450	//   "ASSET_ROLE_LONG_BODY" - Long body text of a native creative. The
1451	// content must be UTF-8 encoded with a length of no more than 150
1452	// characters. This role is only supported in following creative_type: *
1453	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1454	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1455	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1456	// `CREATIVE_TYPE_NATIVE_VIDEO`
1457	//   "ASSET_ROLE_CAPTION_URL" - A short, friendly version of the landing
1458	// page URL to show in the creative. This URL gives people an idea of
1459	// where they'll arrive after they click on the creative. The content
1460	// must be UTF-8 encoded with a length of no more than 30 characters.
1461	// For example, if the landing page URL is
1462	// 'http://www.example.com/page', the caption URL can be 'example.com'.
1463	// The protocol (http://) is optional, but the URL can't contain spaces
1464	// or special characters. This role is only supported in following
1465	// creative_type: * `CREATIVE_TYPE_NATIVE` *
1466	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1467	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1468	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1469	// `CREATIVE_TYPE_NATIVE_VIDEO`
1470	//   "ASSET_ROLE_CALL_TO_ACTION" - The text to use on the call-to-action
1471	// button of a native creative. The content must be UTF-8 encoded with a
1472	// length of no more than 15 characters. This role is only supported in
1473	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
1474	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1475	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1476	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1477	// `CREATIVE_TYPE_NATIVE_VIDEO`
1478	//   "ASSET_ROLE_ADVERTISER_NAME" - The text that identifies the
1479	// advertiser or brand name. The content must be UTF-8 encoded with a
1480	// length of no more than 25 characters. This role is only supported in
1481	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
1482	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1483	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1484	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1485	// `CREATIVE_TYPE_NATIVE_VIDEO`
1486	//   "ASSET_ROLE_PRICE" - The purchase price of your app in the Google
1487	// play store or iOS app store (for example, $5.99). Note that this
1488	// value is not automatically synced with the actual value listed in the
1489	// store. It will always be the one provided when save the creative. The
1490	// content must be UTF-8 encoded with a length of no more than 15
1491	// characters. This role is only supported in following creative_type: *
1492	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1493	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1494	//   "ASSET_ROLE_ANDROID_APP_ID" - The ID of an Android app in the
1495	// Google play store. You can find this ID in the App’s Google Play
1496	// Store URL after ‘id’. For example, in
1497	// https://play.google.com/store/apps/details?id=com.company.appname the
1498	// identifier is com.company.appname. This role is only supported in
1499	// following creative_type: * `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1500	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1501	//   "ASSET_ROLE_IOS_APP_ID" - The ID of an iOS app in the Apple app
1502	// store. This ID number can be found in the Apple App Store URL as the
1503	// string of numbers directly after "id". For example, in
1504	// https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the
1505	// ID is 422689480. This role is only supported in following
1506	// creative_type: * `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1507	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1508	//   "ASSET_ROLE_RATING" - The rating of an app in the Google play store
1509	// or iOS app store. Note that this value is not automatically synced
1510	// with the actual rating in the store. It will always be the one
1511	// provided when save the creative. This role is only supported in
1512	// following creative_type: * `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1513	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1514	//   "ASSET_ROLE_ICON" - The icon of a creative. This role is only
1515	// supported and required in following creative_type: *
1516	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1517	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1518	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1519	//   "ASSET_ROLE_COVER_IMAGE" - The cover image of a native video
1520	// creative. This role is only supported and required in following
1521	// creative_type: * `CREATIVE_TYPE_VIDEO`
1522	Role string `json:"role,omitempty"`
1523
1524	// ForceSendFields is a list of field names (e.g. "Asset") to
1525	// unconditionally include in API requests. By default, fields with
1526	// empty values are omitted from API requests. However, any non-pointer,
1527	// non-interface field appearing in ForceSendFields will be sent to the
1528	// server regardless of whether the field is empty or not. This may be
1529	// used to include empty fields in Patch requests.
1530	ForceSendFields []string `json:"-"`
1531
1532	// NullFields is a list of field names (e.g. "Asset") to include in API
1533	// requests with the JSON null value. By default, fields with empty
1534	// values are omitted from API requests. However, any field with an
1535	// empty value appearing in NullFields will be sent to the server as
1536	// null. It is an error if a field in this list has a non-empty value.
1537	// This may be used to include null fields in Patch requests.
1538	NullFields []string `json:"-"`
1539}
1540
1541func (s *AssetAssociation) MarshalJSON() ([]byte, error) {
1542	type NoMethod AssetAssociation
1543	raw := NoMethod(*s)
1544	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1545}
1546
1547// AssignedInventorySource: An assignment between a targetable inventory
1548// source and an inventory source group.
1549type AssignedInventorySource struct {
1550	// AssignedInventorySourceId: Output only. The unique ID of the assigned
1551	// inventory source. The ID is only unique within a given inventory
1552	// source group. It may be reused in other contexts.
1553	AssignedInventorySourceId int64 `json:"assignedInventorySourceId,omitempty,string"`
1554
1555	// InventorySourceId: Required. The ID of the inventory source entity
1556	// being targeted.
1557	InventorySourceId string `json:"inventorySourceId,omitempty"`
1558
1559	// Name: Output only. The resource name of the assigned inventory
1560	// source.
1561	Name string `json:"name,omitempty"`
1562
1563	// ServerResponse contains the HTTP response code and headers from the
1564	// server.
1565	googleapi.ServerResponse `json:"-"`
1566
1567	// ForceSendFields is a list of field names (e.g.
1568	// "AssignedInventorySourceId") to unconditionally include in API
1569	// requests. By default, fields with empty values are omitted from API
1570	// requests. However, any non-pointer, non-interface field appearing in
1571	// ForceSendFields will be sent to the server regardless of whether the
1572	// field is empty or not. This may be used to include empty fields in
1573	// Patch requests.
1574	ForceSendFields []string `json:"-"`
1575
1576	// NullFields is a list of field names (e.g.
1577	// "AssignedInventorySourceId") to include in API requests with the JSON
1578	// null value. By default, fields with empty values are omitted from API
1579	// requests. However, any field with an empty value appearing in
1580	// NullFields will be sent to the server as null. It is an error if a
1581	// field in this list has a non-empty value. This may be used to include
1582	// null fields in Patch requests.
1583	NullFields []string `json:"-"`
1584}
1585
1586func (s *AssignedInventorySource) MarshalJSON() ([]byte, error) {
1587	type NoMethod AssignedInventorySource
1588	raw := NoMethod(*s)
1589	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1590}
1591
1592// AssignedLocation: An assignment between a location list and a
1593// relevant targeting option. Currently, geo region targeting options
1594// are the only supported option for assignment.
1595type AssignedLocation struct {
1596	// AssignedLocationId: Output only. The unique ID of the assigned
1597	// location. The ID is only unique within a location list. It may be
1598	// reused in other contexts.
1599	AssignedLocationId int64 `json:"assignedLocationId,omitempty,string"`
1600
1601	// Name: Output only. The resource name of the assigned location.
1602	Name string `json:"name,omitempty"`
1603
1604	// TargetingOptionId: Required. The ID of the targeting option assigned
1605	// to the location list. Must be of type TARGETING_TYPE_GEO_REGION.
1606	TargetingOptionId string `json:"targetingOptionId,omitempty"`
1607
1608	// ServerResponse contains the HTTP response code and headers from the
1609	// server.
1610	googleapi.ServerResponse `json:"-"`
1611
1612	// ForceSendFields is a list of field names (e.g. "AssignedLocationId")
1613	// to unconditionally include in API requests. By default, fields with
1614	// empty values are omitted from API requests. However, any non-pointer,
1615	// non-interface field appearing in ForceSendFields will be sent to the
1616	// server regardless of whether the field is empty or not. This may be
1617	// used to include empty fields in Patch requests.
1618	ForceSendFields []string `json:"-"`
1619
1620	// NullFields is a list of field names (e.g. "AssignedLocationId") to
1621	// include in API requests with the JSON null value. By default, fields
1622	// with empty values are omitted from API requests. However, any field
1623	// with an empty value appearing in NullFields will be sent to the
1624	// server as null. It is an error if a field in this list has a
1625	// non-empty value. This may be used to include null fields in Patch
1626	// requests.
1627	NullFields []string `json:"-"`
1628}
1629
1630func (s *AssignedLocation) MarshalJSON() ([]byte, error) {
1631	type NoMethod AssignedLocation
1632	raw := NoMethod(*s)
1633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1634}
1635
1636// AssignedTargetingOption: A single assigned targeting option, which
1637// defines the state of a targeting option for an entity with targeting
1638// settings.
1639type AssignedTargetingOption struct {
1640	// AgeRangeDetails: Age range details. This field will be populated when
1641	// the targeting_type is `TARGETING_TYPE_AGE_RANGE`.
1642	AgeRangeDetails *AgeRangeAssignedTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
1643
1644	// AppCategoryDetails: App category details. This field will be
1645	// populated when the targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
1646	AppCategoryDetails *AppCategoryAssignedTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
1647
1648	// AppDetails: App details. This field will be populated when the
1649	// targeting_type is `TARGETING_TYPE_APP`.
1650	AppDetails *AppAssignedTargetingOptionDetails `json:"appDetails,omitempty"`
1651
1652	// AssignedTargetingOptionId: Output only. The unique ID of the assigned
1653	// targeting option. The ID is only unique within a given resource and
1654	// targeting type. It may be reused in other contexts.
1655	AssignedTargetingOptionId string `json:"assignedTargetingOptionId,omitempty"`
1656
1657	// AudienceGroupDetails: Audience targeting details. This field will be
1658	// populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`.
1659	// You can only target one audience group option per resource.
1660	AudienceGroupDetails *AudienceGroupAssignedTargetingOptionDetails `json:"audienceGroupDetails,omitempty"`
1661
1662	// AuthorizedSellerStatusDetails: Authorized seller status details. This
1663	// field will be populated when the targeting_type is
1664	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one
1665	// authorized seller status option per resource. If a resource doesn't
1666	// have an authorized seller status option, all authorized sellers
1667	// indicated as DIRECT or RESELLER in the ads.txt file are targeted by
1668	// default.
1669	AuthorizedSellerStatusDetails *AuthorizedSellerStatusAssignedTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
1670
1671	// BrowserDetails: Browser details. This field will be populated when
1672	// the targeting_type is `TARGETING_TYPE_BROWSER`.
1673	BrowserDetails *BrowserAssignedTargetingOptionDetails `json:"browserDetails,omitempty"`
1674
1675	// CarrierAndIspDetails: Carrier and ISP details. This field will be
1676	// populated when the targeting_type is
1677	// `TARGETING_TYPE_CARRIER_AND_ISP`.
1678	CarrierAndIspDetails *CarrierAndIspAssignedTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
1679
1680	// CategoryDetails: Category details. This field will be populated when
1681	// the targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category
1682	// will also target its subcategories. If a category is excluded from
1683	// targeting and a subcategory is included, the exclusion will take
1684	// precedence.
1685	CategoryDetails *CategoryAssignedTargetingOptionDetails `json:"categoryDetails,omitempty"`
1686
1687	// ChannelDetails: Channel details. This field will be populated when
1688	// the targeting_type is `TARGETING_TYPE_CHANNEL`.
1689	ChannelDetails *ChannelAssignedTargetingOptionDetails `json:"channelDetails,omitempty"`
1690
1691	// ContentInstreamPositionDetails: Content instream position details.
1692	// This field will be populated when the targeting_type is
1693	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
1694	ContentInstreamPositionDetails *ContentInstreamPositionAssignedTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
1695
1696	// ContentOutstreamPositionDetails: Content outstream position details.
1697	// This field will be populated when the targeting_type is
1698	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
1699	ContentOutstreamPositionDetails *ContentOutstreamPositionAssignedTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
1700
1701	// DayAndTimeDetails: Day and time details. This field will be populated
1702	// when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`.
1703	DayAndTimeDetails *DayAndTimeAssignedTargetingOptionDetails `json:"dayAndTimeDetails,omitempty"`
1704
1705	// DeviceMakeModelDetails: Device make and model details. This field
1706	// will be populated when the targeting_type is
1707	// `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
1708	DeviceMakeModelDetails *DeviceMakeModelAssignedTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
1709
1710	// DeviceTypeDetails: Device Type details. This field will be populated
1711	// when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
1712	DeviceTypeDetails *DeviceTypeAssignedTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
1713
1714	// DigitalContentLabelExclusionDetails: Digital content label details.
1715	// This field will be populated when the targeting_type is
1716	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content
1717	// labels are targeting exclusions. Advertiser level digital content
1718	// label exclusions, if set, are always applied in serving (even though
1719	// they aren't visible in resource settings). Resource settings can
1720	// exclude content labels in addition to advertiser exclusions, but
1721	// can't override them. A line item won't serve if all the digital
1722	// content labels are excluded.
1723	DigitalContentLabelExclusionDetails *DigitalContentLabelAssignedTargetingOptionDetails `json:"digitalContentLabelExclusionDetails,omitempty"`
1724
1725	// EnvironmentDetails: Environment details. This field will be populated
1726	// when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
1727	EnvironmentDetails *EnvironmentAssignedTargetingOptionDetails `json:"environmentDetails,omitempty"`
1728
1729	// ExchangeDetails: Exchange details. This field will be populated when
1730	// the targeting_type is `TARGETING_TYPE_EXCHANGE`.
1731	ExchangeDetails *ExchangeAssignedTargetingOptionDetails `json:"exchangeDetails,omitempty"`
1732
1733	// GenderDetails: Gender details. This field will be populated when the
1734	// targeting_type is `TARGETING_TYPE_GENDER`.
1735	GenderDetails *GenderAssignedTargetingOptionDetails `json:"genderDetails,omitempty"`
1736
1737	// GeoRegionDetails: Geographic region details. This field will be
1738	// populated when the targeting_type is `TARGETING_TYPE_GEO_REGION`.
1739	GeoRegionDetails *GeoRegionAssignedTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
1740
1741	// HouseholdIncomeDetails: Household income details. This field will be
1742	// populated when the targeting_type is
1743	// `TARGETING_TYPE_HOUSEHOLD_INCOME`.
1744	HouseholdIncomeDetails *HouseholdIncomeAssignedTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
1745
1746	// Inheritance: Output only. The inheritance status of the assigned
1747	// targeting option.
1748	//
1749	// Possible values:
1750	//   "INHERITANCE_UNSPECIFIED" - The inheritance is unspecified or
1751	// unknown.
1752	//   "NOT_INHERITED" - The assigned targeting option is not inherited
1753	// from higher level entity.
1754	//   "INHERITED_FROM_PARTNER" - The assigned targeting option is
1755	// inherited from partner targeting settings.
1756	//   "INHERITED_FROM_ADVERTISER" - The assigned targeting option is
1757	// inherited from advertiser targeting settings.
1758	Inheritance string `json:"inheritance,omitempty"`
1759
1760	// InventorySourceDetails: Inventory source details. This field will be
1761	// populated when the targeting_type is
1762	// `TARGETING_TYPE_INVENTORY_SOURCE`.
1763	InventorySourceDetails *InventorySourceAssignedTargetingOptionDetails `json:"inventorySourceDetails,omitempty"`
1764
1765	// InventorySourceGroupDetails: Inventory source group details. This
1766	// field will be populated when the targeting_type is
1767	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
1768	InventorySourceGroupDetails *InventorySourceGroupAssignedTargetingOptionDetails `json:"inventorySourceGroupDetails,omitempty"`
1769
1770	// KeywordDetails: Keyword details. This field will be populated when
1771	// the targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000
1772	// direct negative keywords can be assigned to a resource. No limit on
1773	// number of positive keywords that can be assigned.
1774	KeywordDetails *KeywordAssignedTargetingOptionDetails `json:"keywordDetails,omitempty"`
1775
1776	// LanguageDetails: Language details. This field will be populated when
1777	// the targeting_type is `TARGETING_TYPE_LANGUAGE`.
1778	LanguageDetails *LanguageAssignedTargetingOptionDetails `json:"languageDetails,omitempty"`
1779
1780	// Name: Output only. The resource name for this assigned targeting
1781	// option.
1782	Name string `json:"name,omitempty"`
1783
1784	// NativeContentPositionDetails: Native content position details. This
1785	// field will be populated when the targeting_type is
1786	// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
1787	NativeContentPositionDetails *NativeContentPositionAssignedTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
1788
1789	// NegativeKeywordListDetails: Keyword details. This field will be
1790	// populated when the targeting_type is
1791	// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative
1792	// keyword lists can be assigned to a resource.
1793	NegativeKeywordListDetails *NegativeKeywordListAssignedTargetingOptionDetails `json:"negativeKeywordListDetails,omitempty"`
1794
1795	// OnScreenPositionDetails: On screen position details. This field will
1796	// be populated when the targeting_type is
1797	// `TARGETING_TYPE_ON_SCREEN_POSITION`.
1798	OnScreenPositionDetails *OnScreenPositionAssignedTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
1799
1800	// OperatingSystemDetails: Operating system details. This field will be
1801	// populated when the targeting_type is
1802	// `TARGETING_TYPE_OPERATING_SYSTEM`.
1803	OperatingSystemDetails *OperatingSystemAssignedTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
1804
1805	// ParentalStatusDetails: Parental status details. This field will be
1806	// populated when the targeting_type is
1807	// `TARGETING_TYPE_PARENTAL_STATUS`.
1808	ParentalStatusDetails *ParentalStatusAssignedTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
1809
1810	// ProximityLocationListDetails: Proximity location list details. This
1811	// field will be populated when the targeting_type is
1812	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
1813	ProximityLocationListDetails *ProximityLocationListAssignedTargetingOptionDetails `json:"proximityLocationListDetails,omitempty"`
1814
1815	// RegionalLocationListDetails: Regional location list details. This
1816	// field will be populated when the targeting_type is
1817	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
1818	RegionalLocationListDetails *RegionalLocationListAssignedTargetingOptionDetails `json:"regionalLocationListDetails,omitempty"`
1819
1820	// SensitiveCategoryExclusionDetails: Sensitive category details. This
1821	// field will be populated when the targeting_type is
1822	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories
1823	// are targeting exclusions. Advertiser level sensitive category
1824	// exclusions, if set, are always applied in serving (even though they
1825	// aren't visible in resource settings). Resource settings can exclude
1826	// sensitive categories in addition to advertiser exclusions, but can't
1827	// override them.
1828	SensitiveCategoryExclusionDetails *SensitiveCategoryAssignedTargetingOptionDetails `json:"sensitiveCategoryExclusionDetails,omitempty"`
1829
1830	// SubExchangeDetails: Sub-exchange details. This field will be
1831	// populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
1832	SubExchangeDetails *SubExchangeAssignedTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
1833
1834	// TargetingType: Output only. Identifies the type of this assigned
1835	// targeting option.
1836	//
1837	// Possible values:
1838	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
1839	// specified or is unknown in this version.
1840	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
1841	// related websites or apps).
1842	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
1843	// example, education or puzzle games).
1844	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
1845	// Birds).
1846	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
1847	// quora.com).
1848	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
1849	// period on a specific day.
1850	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
1851	// (for example, 18-24).
1852	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
1853	// specified regions on a regional location list.
1854	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
1855	// specified points of interest on a proximity location list.
1856	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
1857	// example, female or male).
1858	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
1859	// size for video ads.
1860	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
1861	// content for video ads.
1862	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
1863	// parental status (for example, parent or not a parent).
1864	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
1865	// ads in a specific content instream position (for example, pre-roll,
1866	// mid-roll, or post-roll).
1867	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
1868	// specific content outstream position.
1869	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
1870	// (for example, tablet or connected TV).
1871	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
1872	// groups of audiences. Singleton field, at most one can exist on a
1873	// single Lineitem at a time.
1874	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
1875	// example, Chrome).
1876	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
1877	// household income range (for example, top 10%).
1878	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
1879	// screen position.
1880	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
1881	// third party verification (for example, IAS or DoubleVerify).
1882	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
1883	// by specific digital content label ratings (for example, DL-MA:
1884	// suitable only for mature audiences).
1885	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
1886	// content by sensitive categories (for example, adult).
1887	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
1888	// (for example, web or app).
1889	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
1890	// carrier or internet service provider (ISP) (for example, Comcast or
1891	// Orange).
1892	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
1893	// operating system (for example, macOS).
1894	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
1895	// device make or model (for example, Roku or Samsung).
1896	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
1897	// example, dog or retriever).
1898	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
1899	// negative keyword list.
1900	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
1901	// (for example, 80% viewable).
1902	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
1903	// category (for example, arts & entertainment).
1904	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
1905	// specific deals and auction packages.
1906	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
1907	// example, English or Japanese).
1908	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
1909	// authorized sellers.
1910	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
1911	// location (for example, a city or state).
1912	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
1913	// a group of deals and auction packages.
1914	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
1915	// exchanges.
1916	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
1917	// sub-exchanges.
1918	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
1919	// native content position.
1920	TargetingType string `json:"targetingType,omitempty"`
1921
1922	// ThirdPartyVerifierDetails: Third party verification details. This
1923	// field will be populated when the targeting_type is
1924	// `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
1925	ThirdPartyVerifierDetails *ThirdPartyVerifierAssignedTargetingOptionDetails `json:"thirdPartyVerifierDetails,omitempty"`
1926
1927	// UrlDetails: URL details. This field will be populated when the
1928	// targeting_type is `TARGETING_TYPE_URL`.
1929	UrlDetails *UrlAssignedTargetingOptionDetails `json:"urlDetails,omitempty"`
1930
1931	// UserRewardedContentDetails: User rewarded content details. This field
1932	// will be populated when the targeting_type is
1933	// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
1934	UserRewardedContentDetails *UserRewardedContentAssignedTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
1935
1936	// VideoPlayerSizeDetails: Video player size details. This field will be
1937	// populated when the targeting_type is
1938	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
1939	VideoPlayerSizeDetails *VideoPlayerSizeAssignedTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
1940
1941	// ViewabilityDetails: Viewability details. This field will be populated
1942	// when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only
1943	// target one viewability option per resource.
1944	ViewabilityDetails *ViewabilityAssignedTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
1945
1946	// ServerResponse contains the HTTP response code and headers from the
1947	// server.
1948	googleapi.ServerResponse `json:"-"`
1949
1950	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
1951	// unconditionally include in API requests. By default, fields with
1952	// empty values are omitted from API requests. However, any non-pointer,
1953	// non-interface field appearing in ForceSendFields will be sent to the
1954	// server regardless of whether the field is empty or not. This may be
1955	// used to include empty fields in Patch requests.
1956	ForceSendFields []string `json:"-"`
1957
1958	// NullFields is a list of field names (e.g. "AgeRangeDetails") to
1959	// include in API requests with the JSON null value. By default, fields
1960	// with empty values are omitted from API requests. However, any field
1961	// with an empty value appearing in NullFields will be sent to the
1962	// server as null. It is an error if a field in this list has a
1963	// non-empty value. This may be used to include null fields in Patch
1964	// requests.
1965	NullFields []string `json:"-"`
1966}
1967
1968func (s *AssignedTargetingOption) MarshalJSON() ([]byte, error) {
1969	type NoMethod AssignedTargetingOption
1970	raw := NoMethod(*s)
1971	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1972}
1973
1974// AssignedUserRole: A single assigned user role, which defines a user's
1975// authorized interaction with a specified partner or advertiser.
1976type AssignedUserRole struct {
1977	// AdvertiserId: The ID of the advertiser that the assigend user role
1978	// applies to.
1979	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1980
1981	// AssignedUserRoleId: Output only. The ID of the assigned user role.
1982	AssignedUserRoleId string `json:"assignedUserRoleId,omitempty"`
1983
1984	// PartnerId: The ID of the partner that the assigned user role applies
1985	// to.
1986	PartnerId int64 `json:"partnerId,omitempty,string"`
1987
1988	// UserRole: Required. The user role to assign to a user for the entity.
1989	//
1990	// Possible values:
1991	//   "USER_ROLE_UNSPECIFIED" - Default value when the user role is not
1992	// specified or is unknown in this version.
1993	//   "ADMIN" - The user can manage campaigns, creatives, insertion
1994	// orders, line items, and reports for the entity. They can view and
1995	// edit billing information, create or modify users, and enable or
1996	// disable exchanges. This role can only be assigned for a partner
1997	// entity.
1998	//   "ADMIN_PARTNER_CLIENT" - The user can manage campaigns, creatives,
1999	// insertion orders, line items, and reports for the entity. They can
2000	// create and modify other `ADMIN_PARTNER_CLIENT` users and view billing
2001	// information. They cannot view revenue models, markups, or any other
2002	// reseller-sensitive fields. This role can only be assigned for a
2003	// partner entity.
2004	//   "STANDARD" - The user can manage campaigns, creatives, insertion
2005	// orders, line items, and reports for the entity. They cannot create
2006	// and modify users or view billing information.
2007	//   "STANDARD_PLANNER" - The user can view all campaigns, creatives,
2008	// insertion orders, line items, and reports for the entity, including
2009	// all cost data. They can create and modify planning-related features,
2010	// including plans and inventory.
2011	//   "STANDARD_PLANNER_LIMITED" - The user can view all campaigns,
2012	// creatives, insertion orders, line items, and reports for the entity.
2013	// They can create or modify planning-related features, including plans
2014	// and inventory. They have no access to cost data and cannot start,
2015	// accept, or negotiate deals.
2016	//   "STANDARD_PARTNER_CLIENT" - The user can manage campaigns,
2017	// creatives, insertion orders, line items, and reports for the entity.
2018	// They cannot create or modify other users or view billing information.
2019	// They cannot view revenue models, markups, or any other
2020	// reseller-sensitive fields. This role can only be assigned for an
2021	// advertiser entity.
2022	//   "READ_ONLY" - The user can only build reports and view data for the
2023	// entity.
2024	//   "REPORTING_ONLY" - The user can only create and manage reports.
2025	//   "LIMITED_REPORTING_ONLY" - The user can only create and manage the
2026	// following client-safe reports: General, Audience Performance,
2027	// Cross-Partner, Keyword, Order ID, Category, and Third-Party Data
2028	// Provider.
2029	//   "CREATIVE" - The user can view media plan information they need to
2030	// collaborate, but can't view cost-related data or Marketplace.
2031	//   "CREATIVE_ADMIN" - The user can view media plan information they
2032	// need to collaborate, but can't view cost-related data or Marketplace.
2033	// In addition, they can add other creative admins or creative users to
2034	// the entity.
2035	UserRole string `json:"userRole,omitempty"`
2036
2037	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
2038	// unconditionally include in API requests. By default, fields with
2039	// empty values are omitted from API requests. However, any non-pointer,
2040	// non-interface field appearing in ForceSendFields will be sent to the
2041	// server regardless of whether the field is empty or not. This may be
2042	// used to include empty fields in Patch requests.
2043	ForceSendFields []string `json:"-"`
2044
2045	// NullFields is a list of field names (e.g. "AdvertiserId") to include
2046	// in API requests with the JSON null value. By default, fields with
2047	// empty values are omitted from API requests. However, any field with
2048	// an empty value appearing in NullFields will be sent to the server as
2049	// null. It is an error if a field in this list has a non-empty value.
2050	// This may be used to include null fields in Patch requests.
2051	NullFields []string `json:"-"`
2052}
2053
2054func (s *AssignedUserRole) MarshalJSON() ([]byte, error) {
2055	type NoMethod AssignedUserRole
2056	raw := NoMethod(*s)
2057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2058}
2059
2060// AudienceGroupAssignedTargetingOptionDetails: Assigned audience group
2061// targeting option details. This will be populated in the details field
2062// of an AssignedTargetingOption when targeting_type is
2063// `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is
2064// UNION, except for excluded_first_and_third_party_audience_group and
2065// excluded_google_audience_group, of which COMPLEMENT is UNION'ed with
2066// other groups.
2067type AudienceGroupAssignedTargetingOptionDetails struct {
2068	// ExcludedFirstAndThirdPartyAudienceGroup: The first and third party
2069	// audience ids and recencies of the excluded first and third party
2070	// audience group. Used for negative targeting. Its COMPLEMENT is used
2071	// to UNION other audience groups.
2072	ExcludedFirstAndThirdPartyAudienceGroup *FirstAndThirdPartyAudienceGroup `json:"excludedFirstAndThirdPartyAudienceGroup,omitempty"`
2073
2074	// ExcludedGoogleAudienceGroup: The Google audience ids of the excluded
2075	// Google audience group. Used for negative targeting. It's COMPLEMENT
2076	// is used to UNION other audience groups. Only contains Affinity,
2077	// In-market and Installed-apps type Google audiences. All items are
2078	// logically ‘OR’ of each other.
2079	ExcludedGoogleAudienceGroup *GoogleAudienceGroup `json:"excludedGoogleAudienceGroup,omitempty"`
2080
2081	// IncludedCombinedAudienceGroup: The combined audience ids of the
2082	// included combined audience group. Contains combined audience ids
2083	// only.
2084	IncludedCombinedAudienceGroup *CombinedAudienceGroup `json:"includedCombinedAudienceGroup,omitempty"`
2085
2086	// IncludedCustomListGroup: The custom list ids of the included custom
2087	// list group. Contains custom list ids only.
2088	IncludedCustomListGroup *CustomListGroup `json:"includedCustomListGroup,omitempty"`
2089
2090	// IncludedFirstAndThirdPartyAudienceGroups: The first and third party
2091	// audience ids and recencies of included first and third party audience
2092	// groups. Each first and third party audience group contains first and
2093	// third party audience ids only. The relation between each first and
2094	// third party audience group is INTERSECTION, and the result is
2095	// UNION'ed with other audience groups. Repeated groups with same
2096	// settings will be ignored.
2097	IncludedFirstAndThirdPartyAudienceGroups []*FirstAndThirdPartyAudienceGroup `json:"includedFirstAndThirdPartyAudienceGroups,omitempty"`
2098
2099	// IncludedGoogleAudienceGroup: The Google audience ids of the included
2100	// Google audience group. Contains Google audience ids only.
2101	IncludedGoogleAudienceGroup *GoogleAudienceGroup `json:"includedGoogleAudienceGroup,omitempty"`
2102
2103	// ForceSendFields is a list of field names (e.g.
2104	// "ExcludedFirstAndThirdPartyAudienceGroup") to unconditionally include
2105	// in API requests. By default, fields with empty values are omitted
2106	// from API requests. However, any non-pointer, non-interface field
2107	// appearing in ForceSendFields will be sent to the server regardless of
2108	// whether the field is empty or not. This may be used to include empty
2109	// fields in Patch requests.
2110	ForceSendFields []string `json:"-"`
2111
2112	// NullFields is a list of field names (e.g.
2113	// "ExcludedFirstAndThirdPartyAudienceGroup") to include in API requests
2114	// with the JSON null value. By default, fields with empty values are
2115	// omitted from API requests. However, any field with an empty value
2116	// appearing in NullFields will be sent to the server as null. It is an
2117	// error if a field in this list has a non-empty value. This may be used
2118	// to include null fields in Patch requests.
2119	NullFields []string `json:"-"`
2120}
2121
2122func (s *AudienceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2123	type NoMethod AudienceGroupAssignedTargetingOptionDetails
2124	raw := NoMethod(*s)
2125	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2126}
2127
2128// AudioVideoOffset: The length an audio or a video has been played.
2129type AudioVideoOffset struct {
2130	// Percentage: The offset in percentage of the audio or video duration.
2131	Percentage int64 `json:"percentage,omitempty,string"`
2132
2133	// Seconds: The offset in seconds from the start of the audio or video.
2134	Seconds int64 `json:"seconds,omitempty,string"`
2135
2136	// ForceSendFields is a list of field names (e.g. "Percentage") to
2137	// unconditionally include in API requests. By default, fields with
2138	// empty values are omitted from API requests. However, any non-pointer,
2139	// non-interface field appearing in ForceSendFields will be sent to the
2140	// server regardless of whether the field is empty or not. This may be
2141	// used to include empty fields in Patch requests.
2142	ForceSendFields []string `json:"-"`
2143
2144	// NullFields is a list of field names (e.g. "Percentage") to include in
2145	// API requests with the JSON null value. By default, fields with empty
2146	// values are omitted from API requests. However, any field with an
2147	// empty value appearing in NullFields will be sent to the server as
2148	// null. It is an error if a field in this list has a non-empty value.
2149	// This may be used to include null fields in Patch requests.
2150	NullFields []string `json:"-"`
2151}
2152
2153func (s *AudioVideoOffset) MarshalJSON() ([]byte, error) {
2154	type NoMethod AudioVideoOffset
2155	raw := NoMethod(*s)
2156	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2157}
2158
2159// AuditAdvertiserResponse: Response message for
2160// AdvertiserService.AuditAdvertiser.
2161type AuditAdvertiserResponse struct {
2162	// AdGroupCriteriaCount: The number of individual targeting options from
2163	// the following targeting types that are assigned to a line item under
2164	// this advertiser. These individual targeting options count towards the
2165	// limit of 4500000 ad group targeting options per advertiser.
2166	// Qualifying Targeting types: * Channels, URLs, apps, and collections *
2167	// Demographic * Google Audiences, including Affinity, Custom Affinity,
2168	// and In-market audiences * Inventory source * Keyword * Mobile app
2169	// category * User lists * Video targeting * Viewability
2170	AdGroupCriteriaCount int64 `json:"adGroupCriteriaCount,omitempty,string"`
2171
2172	// CampaignCriteriaCount: The number of individual targeting options
2173	// from the following targeting types that are assigned to a line item
2174	// under this advertiser. These individual targeting options count
2175	// towards the limit of 900000 campaign targeting options per
2176	// advertiser. Qualifying Targeting types: * Position * Browser *
2177	// Connection speed * Day and time * Device and operating system *
2178	// Digital content label * Sensitive categories * Environment *
2179	// Geography, including business chains and proximity * ISP * Language *
2180	// Third-party verification
2181	CampaignCriteriaCount int64 `json:"campaignCriteriaCount,omitempty,string"`
2182
2183	// ChannelsCount: The number of channels created under this advertiser.
2184	// These channels count towards the limit of 1000 channels per
2185	// advertiser.
2186	ChannelsCount int64 `json:"channelsCount,omitempty,string"`
2187
2188	// NegativeKeywordListsCount: The number of negative keyword lists
2189	// created under this advertiser. These negative keyword lists count
2190	// towards the limit of 20 negative keyword lists per advertiser.
2191	NegativeKeywordListsCount int64 `json:"negativeKeywordListsCount,omitempty,string"`
2192
2193	// NegativelyTargetedChannelsCount: The number of negatively targeted
2194	// channels created under this advertiser. These negatively targeted
2195	// channels count towards the limit of 5 negatively targeted channels
2196	// per advertiser.
2197	NegativelyTargetedChannelsCount int64 `json:"negativelyTargetedChannelsCount,omitempty,string"`
2198
2199	// UsedCampaignsCount: The number of ACTIVE and PAUSED campaigns under
2200	// this advertiser. These campaigns count towards the limit of 9999
2201	// campaigns per advertiser.
2202	UsedCampaignsCount int64 `json:"usedCampaignsCount,omitempty,string"`
2203
2204	// UsedInsertionOrdersCount: The number of ACTIVE, PAUSED and DRAFT
2205	// insertion orders under this advertiser. These insertion orders count
2206	// towards the limit of 9999 insertion orders per advertiser.
2207	UsedInsertionOrdersCount int64 `json:"usedInsertionOrdersCount,omitempty,string"`
2208
2209	// UsedLineItemsCount: The number of ACTIVE, PAUSED, and DRAFT line
2210	// items under this advertiser. These line items count towards the limit
2211	// of 9999 line items per advertiser.
2212	UsedLineItemsCount int64 `json:"usedLineItemsCount,omitempty,string"`
2213
2214	// ServerResponse contains the HTTP response code and headers from the
2215	// server.
2216	googleapi.ServerResponse `json:"-"`
2217
2218	// ForceSendFields is a list of field names (e.g.
2219	// "AdGroupCriteriaCount") to unconditionally include in API requests.
2220	// By default, fields with empty values are omitted from API requests.
2221	// However, any non-pointer, non-interface field appearing in
2222	// ForceSendFields will be sent to the server regardless of whether the
2223	// field is empty or not. This may be used to include empty fields in
2224	// Patch requests.
2225	ForceSendFields []string `json:"-"`
2226
2227	// NullFields is a list of field names (e.g. "AdGroupCriteriaCount") to
2228	// include in API requests with the JSON null value. By default, fields
2229	// with empty values are omitted from API requests. However, any field
2230	// with an empty value appearing in NullFields will be sent to the
2231	// server as null. It is an error if a field in this list has a
2232	// non-empty value. This may be used to include null fields in Patch
2233	// requests.
2234	NullFields []string `json:"-"`
2235}
2236
2237func (s *AuditAdvertiserResponse) MarshalJSON() ([]byte, error) {
2238	type NoMethod AuditAdvertiserResponse
2239	raw := NoMethod(*s)
2240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2241}
2242
2243// AuthorizedSellerStatusAssignedTargetingOptionDetails: Represents an
2244// assigned authorized seller status. This will be populated in the
2245// details field of an AssignedTargetingOption when targeting_type is
2246// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2247type AuthorizedSellerStatusAssignedTargetingOptionDetails struct {
2248	// AuthorizedSellerStatus: Output only. The authorized seller status to
2249	// target.
2250	//
2251	// Possible values:
2252	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when
2253	// authorized seller status is not specified in this version. This enum
2254	// is a placeholder for default value and does not represent a real
2255	// authorized seller status option.
2256	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
2257	// authorized sellers that directly own the inventory being monetized,
2258	// as indicated by a DIRECT declaration in the ads.txt file.
2259	//
2260	// "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
2261	//  - All authorized sellers, including publishers that have not posted
2262	// an ads.txt file. Display & Video 360 automatically disallows
2263	// unauthorized sellers.
2264	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
2265
2266	// TargetingOptionId: Required. The targeting_option_id of a
2267	// TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2268	TargetingOptionId string `json:"targetingOptionId,omitempty"`
2269
2270	// ForceSendFields is a list of field names (e.g.
2271	// "AuthorizedSellerStatus") to unconditionally include in API requests.
2272	// By default, fields with empty values are omitted from API requests.
2273	// However, any non-pointer, non-interface field appearing in
2274	// ForceSendFields will be sent to the server regardless of whether the
2275	// field is empty or not. This may be used to include empty fields in
2276	// Patch requests.
2277	ForceSendFields []string `json:"-"`
2278
2279	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus")
2280	// to include in API requests with the JSON null value. By default,
2281	// fields with empty values are omitted from API requests. However, any
2282	// field with an empty value appearing in NullFields will be sent to the
2283	// server as null. It is an error if a field in this list has a
2284	// non-empty value. This may be used to include null fields in Patch
2285	// requests.
2286	NullFields []string `json:"-"`
2287}
2288
2289func (s *AuthorizedSellerStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2290	type NoMethod AuthorizedSellerStatusAssignedTargetingOptionDetails
2291	raw := NoMethod(*s)
2292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2293}
2294
2295// AuthorizedSellerStatusTargetingOptionDetails: Represents a targetable
2296// authorized seller status. This will be populated in the
2297// authorized_seller_status_details field when targeting_type is
2298// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2299type AuthorizedSellerStatusTargetingOptionDetails struct {
2300	// AuthorizedSellerStatus: Output only. The authorized seller status.
2301	//
2302	// Possible values:
2303	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when
2304	// authorized seller status is not specified in this version. This enum
2305	// is a placeholder for default value and does not represent a real
2306	// authorized seller status option.
2307	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
2308	// authorized sellers that directly own the inventory being monetized,
2309	// as indicated by a DIRECT declaration in the ads.txt file.
2310	//
2311	// "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
2312	//  - All authorized sellers, including publishers that have not posted
2313	// an ads.txt file. Display & Video 360 automatically disallows
2314	// unauthorized sellers.
2315	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
2316
2317	// ForceSendFields is a list of field names (e.g.
2318	// "AuthorizedSellerStatus") to unconditionally include in API requests.
2319	// By default, fields with empty values are omitted from API requests.
2320	// However, any non-pointer, non-interface field appearing in
2321	// ForceSendFields will be sent to the server regardless of whether the
2322	// field is empty or not. This may be used to include empty fields in
2323	// Patch requests.
2324	ForceSendFields []string `json:"-"`
2325
2326	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus")
2327	// to include in API requests with the JSON null value. By default,
2328	// fields with empty values are omitted from API requests. However, any
2329	// field with an empty value appearing in NullFields will be sent to the
2330	// server as null. It is an error if a field in this list has a
2331	// non-empty value. This may be used to include null fields in Patch
2332	// requests.
2333	NullFields []string `json:"-"`
2334}
2335
2336func (s *AuthorizedSellerStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2337	type NoMethod AuthorizedSellerStatusTargetingOptionDetails
2338	raw := NoMethod(*s)
2339	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2340}
2341
2342// BiddingStrategy: Settings that control the bid strategy. Bid strategy
2343// determines the bid price.
2344type BiddingStrategy struct {
2345	// FixedBid: A strategy that uses a fixed bid price.
2346	FixedBid *FixedBidStrategy `json:"fixedBid,omitempty"`
2347
2348	// MaximizeSpendAutoBid: A strategy that automatically adjusts the bid
2349	// to optimize to your performance goal while spending the full budget.
2350	// At insertion order level, the markup_type of line items cannot be set
2351	// to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when
2352	// performance_goal_type is one of: *
2353	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
2354	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
2355	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the
2356	// line_item_type of the insertion order line items must be either: *
2357	// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` ,
2358	// and when performance_goal_type is either: *
2359	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` *
2360	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type
2361	// of the insertion order line items must be
2362	// `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
2363	MaximizeSpendAutoBid *MaximizeSpendBidStrategy `json:"maximizeSpendAutoBid,omitempty"`
2364
2365	// PerformanceGoalAutoBid: A strategy that automatically adjusts the bid
2366	// to meet or beat a specified performance goal. It is to be used only
2367	// for a line item entity.
2368	PerformanceGoalAutoBid *PerformanceGoalBidStrategy `json:"performanceGoalAutoBid,omitempty"`
2369
2370	// ForceSendFields is a list of field names (e.g. "FixedBid") to
2371	// unconditionally include in API requests. By default, fields with
2372	// empty values are omitted from API requests. However, any non-pointer,
2373	// non-interface field appearing in ForceSendFields will be sent to the
2374	// server regardless of whether the field is empty or not. This may be
2375	// used to include empty fields in Patch requests.
2376	ForceSendFields []string `json:"-"`
2377
2378	// NullFields is a list of field names (e.g. "FixedBid") to include in
2379	// API requests with the JSON null value. By default, fields with empty
2380	// values are omitted from API requests. However, any field with an
2381	// empty value appearing in NullFields will be sent to the server as
2382	// null. It is an error if a field in this list has a non-empty value.
2383	// This may be used to include null fields in Patch requests.
2384	NullFields []string `json:"-"`
2385}
2386
2387func (s *BiddingStrategy) MarshalJSON() ([]byte, error) {
2388	type NoMethod BiddingStrategy
2389	raw := NoMethod(*s)
2390	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2391}
2392
2393// BrowserAssignedTargetingOptionDetails: Details for assigned browser
2394// targeting option. This will be populated in the details field of an
2395// AssignedTargetingOption when targeting_type is
2396// `TARGETING_TYPE_BROWSER`.
2397type BrowserAssignedTargetingOptionDetails struct {
2398	// DisplayName: Output only. The display name of the browser.
2399	DisplayName string `json:"displayName,omitempty"`
2400
2401	// Negative: Indicates if this option is being negatively targeted. All
2402	// assigned browser targeting options on the same resource must have the
2403	// same value for this field.
2404	Negative bool `json:"negative,omitempty"`
2405
2406	// TargetingOptionId: Required. The targeting_option_id of a
2407	// TargetingOption of type `TARGETING_TYPE_BROWSER`.
2408	TargetingOptionId string `json:"targetingOptionId,omitempty"`
2409
2410	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2411	// unconditionally include in API requests. By default, fields with
2412	// empty values are omitted from API requests. However, any non-pointer,
2413	// non-interface field appearing in ForceSendFields will be sent to the
2414	// server regardless of whether the field is empty or not. This may be
2415	// used to include empty fields in Patch requests.
2416	ForceSendFields []string `json:"-"`
2417
2418	// NullFields is a list of field names (e.g. "DisplayName") to include
2419	// in API requests with the JSON null value. By default, fields with
2420	// empty values are omitted from API requests. However, any field with
2421	// an empty value appearing in NullFields will be sent to the server as
2422	// null. It is an error if a field in this list has a non-empty value.
2423	// This may be used to include null fields in Patch requests.
2424	NullFields []string `json:"-"`
2425}
2426
2427func (s *BrowserAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2428	type NoMethod BrowserAssignedTargetingOptionDetails
2429	raw := NoMethod(*s)
2430	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2431}
2432
2433// BrowserTargetingOptionDetails: Represents a targetable browser. This
2434// will be populated in the browser_details field when targeting_type is
2435// `TARGETING_TYPE_BROWSER`.
2436type BrowserTargetingOptionDetails struct {
2437	// DisplayName: Output only. The display name of the browser.
2438	DisplayName string `json:"displayName,omitempty"`
2439
2440	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2441	// unconditionally include in API requests. By default, fields with
2442	// empty values are omitted from API requests. However, any non-pointer,
2443	// non-interface field appearing in ForceSendFields will be sent to the
2444	// server regardless of whether the field is empty or not. This may be
2445	// used to include empty fields in Patch requests.
2446	ForceSendFields []string `json:"-"`
2447
2448	// NullFields is a list of field names (e.g. "DisplayName") to include
2449	// in API requests with the JSON null value. By default, fields with
2450	// empty values are omitted from API requests. However, any field with
2451	// an empty value appearing in NullFields will be sent to the server as
2452	// null. It is an error if a field in this list has a non-empty value.
2453	// This may be used to include null fields in Patch requests.
2454	NullFields []string `json:"-"`
2455}
2456
2457func (s *BrowserTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2458	type NoMethod BrowserTargetingOptionDetails
2459	raw := NoMethod(*s)
2460	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2461}
2462
2463// BudgetSummary: Summarized information of an individual campaign
2464// budget.
2465type BudgetSummary struct {
2466	// ExternalBudgetId: Corresponds to the external_budget_id of a campaign
2467	// budget. If the value is not set in the campaign budget, this field
2468	// will be empty.
2469	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
2470
2471	// PreTaxAmountMicros: The sum of charges made under this budget before
2472	// taxes, in micros of the invoice's currency. For example, if
2473	// currency_code is `USD`, then 1000000 represents one US dollar.
2474	PreTaxAmountMicros int64 `json:"preTaxAmountMicros,omitempty,string"`
2475
2476	// PrismaCpeCode: Relevant client, product, and estimate codes from the
2477	// Mediaocean Prisma tool. Only applicable for campaign budgets with an
2478	// external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN.
2479	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
2480
2481	// TaxAmountMicros: The amount of tax applied to charges under this
2482	// budget, in micros of the invoice's currency. For example, if
2483	// currency_code is `USD`, then 1000000 represents one US dollar.
2484	TaxAmountMicros int64 `json:"taxAmountMicros,omitempty,string"`
2485
2486	// TotalAmountMicros: The total sum of charges made under this budget,
2487	// including tax, in micros of the invoice's currency. For example, if
2488	// currency_code is `USD`, then 1000000 represents one US dollar.
2489	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
2490
2491	// ForceSendFields is a list of field names (e.g. "ExternalBudgetId") to
2492	// unconditionally include in API requests. By default, fields with
2493	// empty values are omitted from API requests. However, any non-pointer,
2494	// non-interface field appearing in ForceSendFields will be sent to the
2495	// server regardless of whether the field is empty or not. This may be
2496	// used to include empty fields in Patch requests.
2497	ForceSendFields []string `json:"-"`
2498
2499	// NullFields is a list of field names (e.g. "ExternalBudgetId") to
2500	// include in API requests with the JSON null value. By default, fields
2501	// with empty values are omitted from API requests. However, any field
2502	// with an empty value appearing in NullFields will be sent to the
2503	// server as null. It is an error if a field in this list has a
2504	// non-empty value. This may be used to include null fields in Patch
2505	// requests.
2506	NullFields []string `json:"-"`
2507}
2508
2509func (s *BudgetSummary) MarshalJSON() ([]byte, error) {
2510	type NoMethod BudgetSummary
2511	raw := NoMethod(*s)
2512	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2513}
2514
2515// BulkEditAdvertiserAssignedTargetingOptionsRequest: Request message
2516// for BulkEditAdvertiserAssignedTargetingOptions.
2517type BulkEditAdvertiserAssignedTargetingOptionsRequest struct {
2518	// CreateRequests: The assigned targeting options to create in batch,
2519	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2520	// Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
2521	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
2522	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
2523	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2524
2525	// DeleteRequests: The assigned targeting options to delete in batch,
2526	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2527	// Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
2528	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
2529	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
2530	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2531
2532	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2533	// unconditionally include in API requests. By default, fields with
2534	// empty values are omitted from API requests. However, any non-pointer,
2535	// non-interface field appearing in ForceSendFields will be sent to the
2536	// server regardless of whether the field is empty or not. This may be
2537	// used to include empty fields in Patch requests.
2538	ForceSendFields []string `json:"-"`
2539
2540	// NullFields is a list of field names (e.g. "CreateRequests") to
2541	// include in API requests with the JSON null value. By default, fields
2542	// with empty values are omitted from API requests. However, any field
2543	// with an empty value appearing in NullFields will be sent to the
2544	// server as null. It is an error if a field in this list has a
2545	// non-empty value. This may be used to include null fields in Patch
2546	// requests.
2547	NullFields []string `json:"-"`
2548}
2549
2550func (s *BulkEditAdvertiserAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2551	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsRequest
2552	raw := NoMethod(*s)
2553	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2554}
2555
2556type BulkEditAdvertiserAssignedTargetingOptionsResponse struct {
2557	// CreatedAssignedTargetingOptions: The list of assigned targeting
2558	// options that have been successfully created. This list will be absent
2559	// if empty.
2560	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2561
2562	// ServerResponse contains the HTTP response code and headers from the
2563	// server.
2564	googleapi.ServerResponse `json:"-"`
2565
2566	// ForceSendFields is a list of field names (e.g.
2567	// "CreatedAssignedTargetingOptions") to unconditionally include in API
2568	// requests. By default, fields with empty values are omitted from API
2569	// requests. However, any non-pointer, non-interface field appearing in
2570	// ForceSendFields will be sent to the server regardless of whether the
2571	// field is empty or not. This may be used to include empty fields in
2572	// Patch requests.
2573	ForceSendFields []string `json:"-"`
2574
2575	// NullFields is a list of field names (e.g.
2576	// "CreatedAssignedTargetingOptions") to include in API requests with
2577	// the JSON null value. By default, fields with empty values are omitted
2578	// from API requests. However, any field with an empty value appearing
2579	// in NullFields will be sent to the server as null. It is an error if a
2580	// field in this list has a non-empty value. This may be used to include
2581	// null fields in Patch requests.
2582	NullFields []string `json:"-"`
2583}
2584
2585func (s *BulkEditAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2586	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsResponse
2587	raw := NoMethod(*s)
2588	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2589}
2590
2591// BulkEditAssignedInventorySourcesRequest: Request message for
2592// AssignedInventorySourceService.BulkEdit.
2593type BulkEditAssignedInventorySourcesRequest struct {
2594	// AdvertiserId: The ID of the advertiser that owns the parent inventory
2595	// source group. The parent partner does not have access to these
2596	// assigned inventory sources.
2597	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2598
2599	// CreatedAssignedInventorySources: The assigned inventory sources to
2600	// create in bulk, specified as a list of AssignedInventorySources.
2601	CreatedAssignedInventorySources []*AssignedInventorySource `json:"createdAssignedInventorySources,omitempty"`
2602
2603	// DeletedAssignedInventorySources: The IDs of the assigned inventory
2604	// sources to delete in bulk, specified as a list of
2605	// assigned_inventory_source_ids.
2606	DeletedAssignedInventorySources googleapi.Int64s `json:"deletedAssignedInventorySources,omitempty"`
2607
2608	// PartnerId: The ID of the partner that owns the inventory source
2609	// group. Only this partner has write access to these assigned inventory
2610	// sources.
2611	PartnerId int64 `json:"partnerId,omitempty,string"`
2612
2613	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
2614	// unconditionally include in API requests. By default, fields with
2615	// empty values are omitted from API requests. However, any non-pointer,
2616	// non-interface field appearing in ForceSendFields will be sent to the
2617	// server regardless of whether the field is empty or not. This may be
2618	// used to include empty fields in Patch requests.
2619	ForceSendFields []string `json:"-"`
2620
2621	// NullFields is a list of field names (e.g. "AdvertiserId") to include
2622	// in API requests with the JSON null value. By default, fields with
2623	// empty values are omitted from API requests. However, any field with
2624	// an empty value appearing in NullFields will be sent to the server as
2625	// null. It is an error if a field in this list has a non-empty value.
2626	// This may be used to include null fields in Patch requests.
2627	NullFields []string `json:"-"`
2628}
2629
2630func (s *BulkEditAssignedInventorySourcesRequest) MarshalJSON() ([]byte, error) {
2631	type NoMethod BulkEditAssignedInventorySourcesRequest
2632	raw := NoMethod(*s)
2633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2634}
2635
2636// BulkEditAssignedInventorySourcesResponse: Response message for
2637// AssignedInventorySourceService.BulkEdit.
2638type BulkEditAssignedInventorySourcesResponse struct {
2639	// AssignedInventorySources: The list of assigned inventory sources that
2640	// have been successfully created. This list will be absent if empty.
2641	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
2642
2643	// ServerResponse contains the HTTP response code and headers from the
2644	// server.
2645	googleapi.ServerResponse `json:"-"`
2646
2647	// ForceSendFields is a list of field names (e.g.
2648	// "AssignedInventorySources") to unconditionally include in API
2649	// requests. By default, fields with empty values are omitted from API
2650	// requests. However, any non-pointer, non-interface field appearing in
2651	// ForceSendFields will be sent to the server regardless of whether the
2652	// field is empty or not. This may be used to include empty fields in
2653	// Patch requests.
2654	ForceSendFields []string `json:"-"`
2655
2656	// NullFields is a list of field names (e.g. "AssignedInventorySources")
2657	// to include in API requests with the JSON null value. By default,
2658	// fields with empty values are omitted from API requests. However, any
2659	// field with an empty value appearing in NullFields will be sent to the
2660	// server as null. It is an error if a field in this list has a
2661	// non-empty value. This may be used to include null fields in Patch
2662	// requests.
2663	NullFields []string `json:"-"`
2664}
2665
2666func (s *BulkEditAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
2667	type NoMethod BulkEditAssignedInventorySourcesResponse
2668	raw := NoMethod(*s)
2669	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2670}
2671
2672// BulkEditAssignedLocationsRequest: Request message for
2673// AssignedLocationService.BulkEditAssignedLocations.
2674type BulkEditAssignedLocationsRequest struct {
2675	// CreatedAssignedLocations: The assigned locations to create in bulk,
2676	// specified as a list of AssignedLocations.
2677	CreatedAssignedLocations []*AssignedLocation `json:"createdAssignedLocations,omitempty"`
2678
2679	// DeletedAssignedLocations: The IDs of the assigned locations to delete
2680	// in bulk, specified as a list of assigned_location_ids.
2681	DeletedAssignedLocations googleapi.Int64s `json:"deletedAssignedLocations,omitempty"`
2682
2683	// ForceSendFields is a list of field names (e.g.
2684	// "CreatedAssignedLocations") to unconditionally include in API
2685	// requests. By default, fields with empty values are omitted from API
2686	// requests. However, any non-pointer, non-interface field appearing in
2687	// ForceSendFields will be sent to the server regardless of whether the
2688	// field is empty or not. This may be used to include empty fields in
2689	// Patch requests.
2690	ForceSendFields []string `json:"-"`
2691
2692	// NullFields is a list of field names (e.g. "CreatedAssignedLocations")
2693	// to include in API requests with the JSON null value. By default,
2694	// fields with empty values are omitted from API requests. However, any
2695	// field with an empty value appearing in NullFields will be sent to the
2696	// server as null. It is an error if a field in this list has a
2697	// non-empty value. This may be used to include null fields in Patch
2698	// requests.
2699	NullFields []string `json:"-"`
2700}
2701
2702func (s *BulkEditAssignedLocationsRequest) MarshalJSON() ([]byte, error) {
2703	type NoMethod BulkEditAssignedLocationsRequest
2704	raw := NoMethod(*s)
2705	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2706}
2707
2708// BulkEditAssignedLocationsResponse: Response message for
2709// AssignedLocationService.BulkEditAssignedLocations.
2710type BulkEditAssignedLocationsResponse struct {
2711	// AssignedLocations: The list of assigned locations that have been
2712	// successfully created. This list will be absent if empty.
2713	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
2714
2715	// ServerResponse contains the HTTP response code and headers from the
2716	// server.
2717	googleapi.ServerResponse `json:"-"`
2718
2719	// ForceSendFields is a list of field names (e.g. "AssignedLocations")
2720	// to unconditionally include in API requests. By default, fields with
2721	// empty values are omitted from API requests. However, any non-pointer,
2722	// non-interface field appearing in ForceSendFields will be sent to the
2723	// server regardless of whether the field is empty or not. This may be
2724	// used to include empty fields in Patch requests.
2725	ForceSendFields []string `json:"-"`
2726
2727	// NullFields is a list of field names (e.g. "AssignedLocations") to
2728	// include in API requests with the JSON null value. By default, fields
2729	// with empty values are omitted from API requests. However, any field
2730	// with an empty value appearing in NullFields will be sent to the
2731	// server as null. It is an error if a field in this list has a
2732	// non-empty value. This may be used to include null fields in Patch
2733	// requests.
2734	NullFields []string `json:"-"`
2735}
2736
2737func (s *BulkEditAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
2738	type NoMethod BulkEditAssignedLocationsResponse
2739	raw := NoMethod(*s)
2740	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2741}
2742
2743// BulkEditAssignedUserRolesRequest: Request message for
2744// BulkEditAssignedUserRoles.
2745type BulkEditAssignedUserRolesRequest struct {
2746	// CreatedAssignedUserRoles: The assigned user roles to create in batch,
2747	// specified as a list of AssignedUserRoles.
2748	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
2749
2750	// DeletedAssignedUserRoles: The assigned user roles to delete in batch,
2751	// specified as a list of assigned_user_role_ids. The format of
2752	// assigned_user_role_id is `entityType-entityid`, for example
2753	// `partner-123`.
2754	DeletedAssignedUserRoles []string `json:"deletedAssignedUserRoles,omitempty"`
2755
2756	// ForceSendFields is a list of field names (e.g.
2757	// "CreatedAssignedUserRoles") to unconditionally include in API
2758	// requests. By default, fields with empty values are omitted from API
2759	// requests. However, any non-pointer, non-interface field appearing in
2760	// ForceSendFields will be sent to the server regardless of whether the
2761	// field is empty or not. This may be used to include empty fields in
2762	// Patch requests.
2763	ForceSendFields []string `json:"-"`
2764
2765	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles")
2766	// to include in API requests with the JSON null value. By default,
2767	// fields with empty values are omitted from API requests. However, any
2768	// field with an empty value appearing in NullFields will be sent to the
2769	// server as null. It is an error if a field in this list has a
2770	// non-empty value. This may be used to include null fields in Patch
2771	// requests.
2772	NullFields []string `json:"-"`
2773}
2774
2775func (s *BulkEditAssignedUserRolesRequest) MarshalJSON() ([]byte, error) {
2776	type NoMethod BulkEditAssignedUserRolesRequest
2777	raw := NoMethod(*s)
2778	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2779}
2780
2781type BulkEditAssignedUserRolesResponse struct {
2782	// CreatedAssignedUserRoles: The list of assigned user roles that have
2783	// been successfully created. This list will be absent if empty.
2784	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
2785
2786	// ServerResponse contains the HTTP response code and headers from the
2787	// server.
2788	googleapi.ServerResponse `json:"-"`
2789
2790	// ForceSendFields is a list of field names (e.g.
2791	// "CreatedAssignedUserRoles") to unconditionally include in API
2792	// requests. By default, fields with empty values are omitted from API
2793	// requests. However, any non-pointer, non-interface field appearing in
2794	// ForceSendFields will be sent to the server regardless of whether the
2795	// field is empty or not. This may be used to include empty fields in
2796	// Patch requests.
2797	ForceSendFields []string `json:"-"`
2798
2799	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles")
2800	// to include in API requests with the JSON null value. By default,
2801	// fields with empty values are omitted from API requests. However, any
2802	// field with an empty value appearing in NullFields will be sent to the
2803	// server as null. It is an error if a field in this list has a
2804	// non-empty value. This may be used to include null fields in Patch
2805	// requests.
2806	NullFields []string `json:"-"`
2807}
2808
2809func (s *BulkEditAssignedUserRolesResponse) MarshalJSON() ([]byte, error) {
2810	type NoMethod BulkEditAssignedUserRolesResponse
2811	raw := NoMethod(*s)
2812	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2813}
2814
2815// BulkEditLineItemAssignedTargetingOptionsRequest: Request message for
2816// BulkEditLineItemAssignedTargetingOptions.
2817type BulkEditLineItemAssignedTargetingOptionsRequest struct {
2818	// CreateRequests: The assigned targeting options to create in batch,
2819	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2820	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2821
2822	// DeleteRequests: The assigned targeting options to delete in batch,
2823	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2824	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2825
2826	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2827	// unconditionally include in API requests. By default, fields with
2828	// empty values are omitted from API requests. However, any non-pointer,
2829	// non-interface field appearing in ForceSendFields will be sent to the
2830	// server regardless of whether the field is empty or not. This may be
2831	// used to include empty fields in Patch requests.
2832	ForceSendFields []string `json:"-"`
2833
2834	// NullFields is a list of field names (e.g. "CreateRequests") to
2835	// include in API requests with the JSON null value. By default, fields
2836	// with empty values are omitted from API requests. However, any field
2837	// with an empty value appearing in NullFields will be sent to the
2838	// server as null. It is an error if a field in this list has a
2839	// non-empty value. This may be used to include null fields in Patch
2840	// requests.
2841	NullFields []string `json:"-"`
2842}
2843
2844func (s *BulkEditLineItemAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2845	type NoMethod BulkEditLineItemAssignedTargetingOptionsRequest
2846	raw := NoMethod(*s)
2847	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2848}
2849
2850type BulkEditLineItemAssignedTargetingOptionsResponse struct {
2851	// CreatedAssignedTargetingOptions: The list of assigned targeting
2852	// options that have been successfully created. This list will be absent
2853	// if empty.
2854	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2855
2856	// ServerResponse contains the HTTP response code and headers from the
2857	// server.
2858	googleapi.ServerResponse `json:"-"`
2859
2860	// ForceSendFields is a list of field names (e.g.
2861	// "CreatedAssignedTargetingOptions") to unconditionally include in API
2862	// requests. By default, fields with empty values are omitted from API
2863	// requests. However, any non-pointer, non-interface field appearing in
2864	// ForceSendFields will be sent to the server regardless of whether the
2865	// field is empty or not. This may be used to include empty fields in
2866	// Patch requests.
2867	ForceSendFields []string `json:"-"`
2868
2869	// NullFields is a list of field names (e.g.
2870	// "CreatedAssignedTargetingOptions") to include in API requests with
2871	// the JSON null value. By default, fields with empty values are omitted
2872	// from API requests. However, any field with an empty value appearing
2873	// in NullFields will be sent to the server as null. It is an error if a
2874	// field in this list has a non-empty value. This may be used to include
2875	// null fields in Patch requests.
2876	NullFields []string `json:"-"`
2877}
2878
2879func (s *BulkEditLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2880	type NoMethod BulkEditLineItemAssignedTargetingOptionsResponse
2881	raw := NoMethod(*s)
2882	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2883}
2884
2885// BulkEditNegativeKeywordsRequest: Request message for
2886// NegativeKeywordService.BulkEditNegativeKeywords.
2887type BulkEditNegativeKeywordsRequest struct {
2888	// CreatedNegativeKeywords: The negative keywords to create in batch,
2889	// specified as a list of NegativeKeywords.
2890	CreatedNegativeKeywords []*NegativeKeyword `json:"createdNegativeKeywords,omitempty"`
2891
2892	// DeletedNegativeKeywords: The negative keywords to delete in batch,
2893	// specified as a list of keyword_values.
2894	DeletedNegativeKeywords []string `json:"deletedNegativeKeywords,omitempty"`
2895
2896	// ForceSendFields is a list of field names (e.g.
2897	// "CreatedNegativeKeywords") to unconditionally include in API
2898	// requests. By default, fields with empty values are omitted from API
2899	// requests. However, any non-pointer, non-interface field appearing in
2900	// ForceSendFields will be sent to the server regardless of whether the
2901	// field is empty or not. This may be used to include empty fields in
2902	// Patch requests.
2903	ForceSendFields []string `json:"-"`
2904
2905	// NullFields is a list of field names (e.g. "CreatedNegativeKeywords")
2906	// to include in API requests with the JSON null value. By default,
2907	// fields with empty values are omitted from API requests. However, any
2908	// field with an empty value appearing in NullFields will be sent to the
2909	// server as null. It is an error if a field in this list has a
2910	// non-empty value. This may be used to include null fields in Patch
2911	// requests.
2912	NullFields []string `json:"-"`
2913}
2914
2915func (s *BulkEditNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
2916	type NoMethod BulkEditNegativeKeywordsRequest
2917	raw := NoMethod(*s)
2918	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2919}
2920
2921// BulkEditNegativeKeywordsResponse: Response message for
2922// NegativeKeywordService.BulkEditNegativeKeywords.
2923type BulkEditNegativeKeywordsResponse struct {
2924	// NegativeKeywords: The list of negative keywords that have been
2925	// successfully created. This list will be absent if empty.
2926	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
2927
2928	// ServerResponse contains the HTTP response code and headers from the
2929	// server.
2930	googleapi.ServerResponse `json:"-"`
2931
2932	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
2933	// unconditionally include in API requests. By default, fields with
2934	// empty values are omitted from API requests. However, any non-pointer,
2935	// non-interface field appearing in ForceSendFields will be sent to the
2936	// server regardless of whether the field is empty or not. This may be
2937	// used to include empty fields in Patch requests.
2938	ForceSendFields []string `json:"-"`
2939
2940	// NullFields is a list of field names (e.g. "NegativeKeywords") to
2941	// include in API requests with the JSON null value. By default, fields
2942	// with empty values are omitted from API requests. However, any field
2943	// with an empty value appearing in NullFields will be sent to the
2944	// server as null. It is an error if a field in this list has a
2945	// non-empty value. This may be used to include null fields in Patch
2946	// requests.
2947	NullFields []string `json:"-"`
2948}
2949
2950func (s *BulkEditNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
2951	type NoMethod BulkEditNegativeKeywordsResponse
2952	raw := NoMethod(*s)
2953	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2954}
2955
2956// BulkEditPartnerAssignedTargetingOptionsRequest: Request message for
2957// BulkEditPartnerAssignedTargetingOptions.
2958type BulkEditPartnerAssignedTargetingOptionsRequest struct {
2959	// CreateRequests: The assigned targeting options to create in batch,
2960	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2961	// Supported targeting types: * `TARGETING_TYPE_CHANNEL`
2962	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2963
2964	// DeleteRequests: The assigned targeting options to delete in batch,
2965	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2966	// Supported targeting types: * `TARGETING_TYPE_CHANNEL`
2967	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2968
2969	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2970	// unconditionally include in API requests. By default, fields with
2971	// empty values are omitted from API requests. However, any non-pointer,
2972	// non-interface field appearing in ForceSendFields will be sent to the
2973	// server regardless of whether the field is empty or not. This may be
2974	// used to include empty fields in Patch requests.
2975	ForceSendFields []string `json:"-"`
2976
2977	// NullFields is a list of field names (e.g. "CreateRequests") to
2978	// include in API requests with the JSON null value. By default, fields
2979	// with empty values are omitted from API requests. However, any field
2980	// with an empty value appearing in NullFields will be sent to the
2981	// server as null. It is an error if a field in this list has a
2982	// non-empty value. This may be used to include null fields in Patch
2983	// requests.
2984	NullFields []string `json:"-"`
2985}
2986
2987func (s *BulkEditPartnerAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2988	type NoMethod BulkEditPartnerAssignedTargetingOptionsRequest
2989	raw := NoMethod(*s)
2990	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2991}
2992
2993type BulkEditPartnerAssignedTargetingOptionsResponse struct {
2994	// CreatedAssignedTargetingOptions: The list of assigned targeting
2995	// options that have been successfully created. This list will be absent
2996	// if empty.
2997	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2998
2999	// ServerResponse contains the HTTP response code and headers from the
3000	// server.
3001	googleapi.ServerResponse `json:"-"`
3002
3003	// ForceSendFields is a list of field names (e.g.
3004	// "CreatedAssignedTargetingOptions") to unconditionally include in API
3005	// requests. By default, fields with empty values are omitted from API
3006	// requests. However, any non-pointer, non-interface field appearing in
3007	// ForceSendFields will be sent to the server regardless of whether the
3008	// field is empty or not. This may be used to include empty fields in
3009	// Patch requests.
3010	ForceSendFields []string `json:"-"`
3011
3012	// NullFields is a list of field names (e.g.
3013	// "CreatedAssignedTargetingOptions") to include in API requests with
3014	// the JSON null value. By default, fields with empty values are omitted
3015	// from API requests. However, any field with an empty value appearing
3016	// in NullFields will be sent to the server as null. It is an error if a
3017	// field in this list has a non-empty value. This may be used to include
3018	// null fields in Patch requests.
3019	NullFields []string `json:"-"`
3020}
3021
3022func (s *BulkEditPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3023	type NoMethod BulkEditPartnerAssignedTargetingOptionsResponse
3024	raw := NoMethod(*s)
3025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3026}
3027
3028// BulkEditSitesRequest: Request message for SiteService.BulkEditSites.
3029type BulkEditSitesRequest struct {
3030	// AdvertiserId: The ID of the advertiser that owns the parent channel.
3031	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3032
3033	// CreatedSites: The sites to create in batch, specified as a list of
3034	// Sites.
3035	CreatedSites []*Site `json:"createdSites,omitempty"`
3036
3037	// DeletedSites: The sites to delete in batch, specified as a list of
3038	// site url_or_app_ids.
3039	DeletedSites []string `json:"deletedSites,omitempty"`
3040
3041	// PartnerId: The ID of the partner that owns the parent channel.
3042	PartnerId int64 `json:"partnerId,omitempty,string"`
3043
3044	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3045	// unconditionally include in API requests. By default, fields with
3046	// empty values are omitted from API requests. However, any non-pointer,
3047	// non-interface field appearing in ForceSendFields will be sent to the
3048	// server regardless of whether the field is empty or not. This may be
3049	// used to include empty fields in Patch requests.
3050	ForceSendFields []string `json:"-"`
3051
3052	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3053	// in API requests with the JSON null value. By default, fields with
3054	// empty values are omitted from API requests. However, any field with
3055	// an empty value appearing in NullFields will be sent to the server as
3056	// null. It is an error if a field in this list has a non-empty value.
3057	// This may be used to include null fields in Patch requests.
3058	NullFields []string `json:"-"`
3059}
3060
3061func (s *BulkEditSitesRequest) MarshalJSON() ([]byte, error) {
3062	type NoMethod BulkEditSitesRequest
3063	raw := NoMethod(*s)
3064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3065}
3066
3067// BulkEditSitesResponse: Response message for
3068// SiteService.BulkEditSites.
3069type BulkEditSitesResponse struct {
3070	// Sites: The list of sites that have been successfully created. This
3071	// list will be absent if empty.
3072	Sites []*Site `json:"sites,omitempty"`
3073
3074	// ServerResponse contains the HTTP response code and headers from the
3075	// server.
3076	googleapi.ServerResponse `json:"-"`
3077
3078	// ForceSendFields is a list of field names (e.g. "Sites") to
3079	// unconditionally include in API requests. By default, fields with
3080	// empty values are omitted from API requests. However, any non-pointer,
3081	// non-interface field appearing in ForceSendFields will be sent to the
3082	// server regardless of whether the field is empty or not. This may be
3083	// used to include empty fields in Patch requests.
3084	ForceSendFields []string `json:"-"`
3085
3086	// NullFields is a list of field names (e.g. "Sites") to include in API
3087	// requests with the JSON null value. By default, fields with empty
3088	// values are omitted from API requests. However, any field with an
3089	// empty value appearing in NullFields will be sent to the server as
3090	// null. It is an error if a field in this list has a non-empty value.
3091	// This may be used to include null fields in Patch requests.
3092	NullFields []string `json:"-"`
3093}
3094
3095func (s *BulkEditSitesResponse) MarshalJSON() ([]byte, error) {
3096	type NoMethod BulkEditSitesResponse
3097	raw := NoMethod(*s)
3098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3099}
3100
3101type BulkListAdvertiserAssignedTargetingOptionsResponse struct {
3102	// AssignedTargetingOptions: The list of assigned targeting options.
3103	// This list will be absent if empty.
3104	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3105
3106	// NextPageToken: A token identifying the next page of results. This
3107	// value should be specified as the pageToken in a subsequent
3108	// BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next
3109	// page of results. This token will be absent if there are no more
3110	// assigned_targeting_options to return.
3111	NextPageToken string `json:"nextPageToken,omitempty"`
3112
3113	// ServerResponse contains the HTTP response code and headers from the
3114	// server.
3115	googleapi.ServerResponse `json:"-"`
3116
3117	// ForceSendFields is a list of field names (e.g.
3118	// "AssignedTargetingOptions") to unconditionally include in API
3119	// requests. By default, fields with empty values are omitted from API
3120	// requests. However, any non-pointer, non-interface field appearing in
3121	// ForceSendFields will be sent to the server regardless of whether the
3122	// field is empty or not. This may be used to include empty fields in
3123	// Patch requests.
3124	ForceSendFields []string `json:"-"`
3125
3126	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3127	// to include in API requests with the JSON null value. By default,
3128	// fields with empty values are omitted from API requests. However, any
3129	// field with an empty value appearing in NullFields will be sent to the
3130	// server as null. It is an error if a field in this list has a
3131	// non-empty value. This may be used to include null fields in Patch
3132	// requests.
3133	NullFields []string `json:"-"`
3134}
3135
3136func (s *BulkListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3137	type NoMethod BulkListAdvertiserAssignedTargetingOptionsResponse
3138	raw := NoMethod(*s)
3139	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3140}
3141
3142// BulkListCampaignAssignedTargetingOptionsResponse: Response message
3143// for BulkListCampaignAssignedTargetingOptions.
3144type BulkListCampaignAssignedTargetingOptionsResponse struct {
3145	// AssignedTargetingOptions: The list of assigned targeting options.
3146	// This list will be absent if empty.
3147	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3148
3149	// NextPageToken: A token identifying the next page of results. This
3150	// value should be specified as the pageToken in a subsequent
3151	// BulkListCampaignAssignedTargetingOptionsRequest to fetch the next
3152	// page of results. This token will be absent if there are no more
3153	// assigned_targeting_options to return.
3154	NextPageToken string `json:"nextPageToken,omitempty"`
3155
3156	// ServerResponse contains the HTTP response code and headers from the
3157	// server.
3158	googleapi.ServerResponse `json:"-"`
3159
3160	// ForceSendFields is a list of field names (e.g.
3161	// "AssignedTargetingOptions") to unconditionally include in API
3162	// requests. By default, fields with empty values are omitted from API
3163	// requests. However, any non-pointer, non-interface field appearing in
3164	// ForceSendFields will be sent to the server regardless of whether the
3165	// field is empty or not. This may be used to include empty fields in
3166	// Patch requests.
3167	ForceSendFields []string `json:"-"`
3168
3169	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3170	// to include in API requests with the JSON null value. By default,
3171	// fields with empty values are omitted from API requests. However, any
3172	// field with an empty value appearing in NullFields will be sent to the
3173	// server as null. It is an error if a field in this list has a
3174	// non-empty value. This may be used to include null fields in Patch
3175	// requests.
3176	NullFields []string `json:"-"`
3177}
3178
3179func (s *BulkListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3180	type NoMethod BulkListCampaignAssignedTargetingOptionsResponse
3181	raw := NoMethod(*s)
3182	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3183}
3184
3185// BulkListInsertionOrderAssignedTargetingOptionsResponse: Response
3186// message for BulkListInsertionOrderAssignedTargetingOptions.
3187type BulkListInsertionOrderAssignedTargetingOptionsResponse struct {
3188	// AssignedTargetingOptions: The list of assigned targeting options.
3189	// This list will be absent if empty.
3190	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3191
3192	// NextPageToken: A token identifying the next page of results. This
3193	// value should be specified as the pageToken in a subsequent
3194	// BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the
3195	// next page of results. This token will be absent if there are no more
3196	// assigned_targeting_options to return.
3197	NextPageToken string `json:"nextPageToken,omitempty"`
3198
3199	// ServerResponse contains the HTTP response code and headers from the
3200	// server.
3201	googleapi.ServerResponse `json:"-"`
3202
3203	// ForceSendFields is a list of field names (e.g.
3204	// "AssignedTargetingOptions") to unconditionally include in API
3205	// requests. By default, fields with empty values are omitted from API
3206	// requests. However, any non-pointer, non-interface field appearing in
3207	// ForceSendFields will be sent to the server regardless of whether the
3208	// field is empty or not. This may be used to include empty fields in
3209	// Patch requests.
3210	ForceSendFields []string `json:"-"`
3211
3212	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3213	// to include in API requests with the JSON null value. By default,
3214	// fields with empty values are omitted from API requests. However, any
3215	// field with an empty value appearing in NullFields will be sent to the
3216	// server as null. It is an error if a field in this list has a
3217	// non-empty value. This may be used to include null fields in Patch
3218	// requests.
3219	NullFields []string `json:"-"`
3220}
3221
3222func (s *BulkListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3223	type NoMethod BulkListInsertionOrderAssignedTargetingOptionsResponse
3224	raw := NoMethod(*s)
3225	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3226}
3227
3228type BulkListLineItemAssignedTargetingOptionsResponse struct {
3229	// AssignedTargetingOptions: The list of assigned targeting options.
3230	// This list will be absent if empty.
3231	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3232
3233	// NextPageToken: A token identifying the next page of results. This
3234	// value should be specified as the pageToken in a subsequent
3235	// BulkListLineItemAssignedTargetingOptionsRequest to fetch the next
3236	// page of results. This token will be absent if there are no more
3237	// assigned_targeting_options to return.
3238	NextPageToken string `json:"nextPageToken,omitempty"`
3239
3240	// ServerResponse contains the HTTP response code and headers from the
3241	// server.
3242	googleapi.ServerResponse `json:"-"`
3243
3244	// ForceSendFields is a list of field names (e.g.
3245	// "AssignedTargetingOptions") to unconditionally include in API
3246	// requests. By default, fields with empty values are omitted from API
3247	// requests. However, any non-pointer, non-interface field appearing in
3248	// ForceSendFields will be sent to the server regardless of whether the
3249	// field is empty or not. This may be used to include empty fields in
3250	// Patch requests.
3251	ForceSendFields []string `json:"-"`
3252
3253	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3254	// to include in API requests with the JSON null value. By default,
3255	// fields with empty values are omitted from API requests. However, any
3256	// field with an empty value appearing in NullFields will be sent to the
3257	// server as null. It is an error if a field in this list has a
3258	// non-empty value. This may be used to include null fields in Patch
3259	// requests.
3260	NullFields []string `json:"-"`
3261}
3262
3263func (s *BulkListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3264	type NoMethod BulkListLineItemAssignedTargetingOptionsResponse
3265	raw := NoMethod(*s)
3266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3267}
3268
3269// Campaign: A single campaign.
3270type Campaign struct {
3271	// AdvertiserId: Output only. The unique ID of the advertiser the
3272	// campaign belongs to.
3273	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3274
3275	// CampaignBudgets: The list of budgets available to this campaign. If
3276	// this field is not set, the campaign uses an unlimited budget.
3277	CampaignBudgets []*CampaignBudget `json:"campaignBudgets,omitempty"`
3278
3279	// CampaignFlight: Required. The planned spend and duration of the
3280	// campaign.
3281	CampaignFlight *CampaignFlight `json:"campaignFlight,omitempty"`
3282
3283	// CampaignGoal: Required. The goal of the campaign.
3284	CampaignGoal *CampaignGoal `json:"campaignGoal,omitempty"`
3285
3286	// CampaignId: Output only. The unique ID of the campaign. Assigned by
3287	// the system.
3288	CampaignId int64 `json:"campaignId,omitempty,string"`
3289
3290	// DisplayName: Required. The display name of the campaign. Must be
3291	// UTF-8 encoded with a maximum size of 240 bytes.
3292	DisplayName string `json:"displayName,omitempty"`
3293
3294	// EntityStatus: Required. Controls whether or not the insertion orders
3295	// under this campaign can spend their budgets and bid on inventory. *
3296	// Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`,
3297	// and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method,
3298	// `ENTITY_STATUS_ARCHIVED` is not allowed.
3299	//
3300	// Possible values:
3301	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
3302	// specified or is unknown in this version.
3303	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
3304	// budget.
3305	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
3306	// budget spending are disabled. An entity can be deleted after
3307	// archived. Deleted entities cannot be retrieved.
3308	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
3309	// budget spending are disabled.
3310	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
3311	// the entity.
3312	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
3313	// for deletion.
3314	EntityStatus string `json:"entityStatus,omitempty"`
3315
3316	// FrequencyCap: Required. The frequency cap setting of the campaign.
3317	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
3318
3319	// Name: Output only. The resource name of the campaign.
3320	Name string `json:"name,omitempty"`
3321
3322	// UpdateTime: Output only. The timestamp when the campaign was last
3323	// updated. Assigned by the system.
3324	UpdateTime string `json:"updateTime,omitempty"`
3325
3326	// ServerResponse contains the HTTP response code and headers from the
3327	// server.
3328	googleapi.ServerResponse `json:"-"`
3329
3330	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3331	// unconditionally include in API requests. By default, fields with
3332	// empty values are omitted from API requests. However, any non-pointer,
3333	// non-interface field appearing in ForceSendFields will be sent to the
3334	// server regardless of whether the field is empty or not. This may be
3335	// used to include empty fields in Patch requests.
3336	ForceSendFields []string `json:"-"`
3337
3338	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3339	// in API requests with the JSON null value. By default, fields with
3340	// empty values are omitted from API requests. However, any field with
3341	// an empty value appearing in NullFields will be sent to the server as
3342	// null. It is an error if a field in this list has a non-empty value.
3343	// This may be used to include null fields in Patch requests.
3344	NullFields []string `json:"-"`
3345}
3346
3347func (s *Campaign) MarshalJSON() ([]byte, error) {
3348	type NoMethod Campaign
3349	raw := NoMethod(*s)
3350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3351}
3352
3353// CampaignBudget: Settings that control how the campaign budget is
3354// allocated.
3355type CampaignBudget struct {
3356	// BudgetAmountMicros: Required. The total amount the linked insertion
3357	// order segments can budget. The amount is in micros. Must be greater
3358	// than 0. For example, 500000000 represents 500 standard units of the
3359	// currency.
3360	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
3361
3362	// BudgetId: The unique ID of the campaign budget. Assigned by the
3363	// system. Do not set for new budgets. Must be included when updating or
3364	// adding budgets to campaign_budgets. Otherwise, a new ID will be
3365	// generated and assigned.
3366	BudgetId int64 `json:"budgetId,omitempty,string"`
3367
3368	// BudgetUnit: Required. Immutable. Specifies whether the budget is
3369	// measured in currency or impressions.
3370	//
3371	// Possible values:
3372	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
3373	// unknown in this version.
3374	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
3375	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
3376	BudgetUnit string `json:"budgetUnit,omitempty"`
3377
3378	// DateRange: Required. The date range for the campaign budget. Linked
3379	// budget segments may have a different date range. They are resolved
3380	// relative to the parent advertiser's time zone. Both `start_date` and
3381	// `end_date` must be before the year 2037.
3382	DateRange *DateRange `json:"dateRange,omitempty"`
3383
3384	// DisplayName: Required. The display name of the budget. Must be UTF-8
3385	// encoded with a maximum size of 240 bytes.
3386	DisplayName string `json:"displayName,omitempty"`
3387
3388	// ExternalBudgetId: Immutable. The ID identifying this budget to the
3389	// external source. If this field is set and the invoice detail level of
3390	// the corresponding billing profile is set to "Budget level PO", all
3391	// impressions served against this budget will include this ID on the
3392	// invoice. Must be unique under the campaign.
3393	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
3394
3395	// ExternalBudgetSource: Required. The external source of the budget.
3396	//
3397	// Possible values:
3398	//   "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED" - External budget source value
3399	// is not specified or unknown in this version.
3400	//   "EXTERNAL_BUDGET_SOURCE_NONE" - Budget has no external source.
3401	//   "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" - Budget source is Mediaocean.
3402	ExternalBudgetSource string `json:"externalBudgetSource,omitempty"`
3403
3404	// InvoiceGroupingId: Immutable. The ID used to group budgets to be
3405	// included the same invoice. If this field is set and the invoice level
3406	// of the corresponding billing profile is set to "Budget invoice
3407	// grouping ID", all external_budget_id sharing the same
3408	// invoice_grouping_id will be grouped in the same invoice.
3409	InvoiceGroupingId string `json:"invoiceGroupingId,omitempty"`
3410
3411	// PrismaConfig: Additional metadata for use by the Mediaocean Prisma
3412	// tool. Required for Mediaocean budgets. Only applicable to
3413	// prisma_enabled advertisers.
3414	PrismaConfig *PrismaConfig `json:"prismaConfig,omitempty"`
3415
3416	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros")
3417	// to unconditionally include in API requests. By default, fields with
3418	// empty values are omitted from API requests. However, any non-pointer,
3419	// non-interface field appearing in ForceSendFields will be sent to the
3420	// server regardless of whether the field is empty or not. This may be
3421	// used to include empty fields in Patch requests.
3422	ForceSendFields []string `json:"-"`
3423
3424	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to
3425	// include in API requests with the JSON null value. By default, fields
3426	// with empty values are omitted from API requests. However, any field
3427	// with an empty value appearing in NullFields will be sent to the
3428	// server as null. It is an error if a field in this list has a
3429	// non-empty value. This may be used to include null fields in Patch
3430	// requests.
3431	NullFields []string `json:"-"`
3432}
3433
3434func (s *CampaignBudget) MarshalJSON() ([]byte, error) {
3435	type NoMethod CampaignBudget
3436	raw := NoMethod(*s)
3437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3438}
3439
3440// CampaignFlight: Settings that track the planned spend and duration of
3441// a campaign.
3442type CampaignFlight struct {
3443	// PlannedDates: Required. The dates that the campaign is expected to
3444	// run. They are resolved relative to the parent advertiser's time zone.
3445	// * The dates specified here will not affect serving. They are used to
3446	// generate alerts and warnings. For example, if the flight date of any
3447	// child insertion order is outside the range of these dates, the user
3448	// interface will show a warning. * `start_date` is required and must be
3449	// the current date or later. * `end_date` is optional. If specified, it
3450	// must be the `start_date` or later. * Any specified date must be
3451	// before the year 2037.
3452	PlannedDates *DateRange `json:"plannedDates,omitempty"`
3453
3454	// PlannedSpendAmountMicros: The amount the campaign is expected to
3455	// spend for its given planned_dates. This will not limit serving, but
3456	// will be used for tracking spend in the DV360 UI. The amount is in
3457	// micros. Must be greater than or equal to 0. For example, 500000000
3458	// represents 500 standard units of the currency.
3459	PlannedSpendAmountMicros int64 `json:"plannedSpendAmountMicros,omitempty,string"`
3460
3461	// ForceSendFields is a list of field names (e.g. "PlannedDates") to
3462	// unconditionally include in API requests. By default, fields with
3463	// empty values are omitted from API requests. However, any non-pointer,
3464	// non-interface field appearing in ForceSendFields will be sent to the
3465	// server regardless of whether the field is empty or not. This may be
3466	// used to include empty fields in Patch requests.
3467	ForceSendFields []string `json:"-"`
3468
3469	// NullFields is a list of field names (e.g. "PlannedDates") to include
3470	// in API requests with the JSON null value. By default, fields with
3471	// empty values are omitted from API requests. However, any field with
3472	// an empty value appearing in NullFields will be sent to the server as
3473	// null. It is an error if a field in this list has a non-empty value.
3474	// This may be used to include null fields in Patch requests.
3475	NullFields []string `json:"-"`
3476}
3477
3478func (s *CampaignFlight) MarshalJSON() ([]byte, error) {
3479	type NoMethod CampaignFlight
3480	raw := NoMethod(*s)
3481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3482}
3483
3484// CampaignGoal: Settings that control the goal of a campaign.
3485type CampaignGoal struct {
3486	// CampaignGoalType: Required. The type of the campaign goal.
3487	//
3488	// Possible values:
3489	//   "CAMPAIGN_GOAL_TYPE_UNSPECIFIED" - Goal value is not specified or
3490	// unknown in this version.
3491	//   "CAMPAIGN_GOAL_TYPE_APP_INSTALL" - Drive app installs or
3492	// engagements.
3493	//   "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS" - Raise awareness of a brand
3494	// or product.
3495	//   "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION" - Drive offline or in-store
3496	// sales.
3497	//   "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" - Drive online action or visits.
3498	CampaignGoalType string `json:"campaignGoalType,omitempty"`
3499
3500	// PerformanceGoal: Required. The performance goal of the campaign.
3501	// Acceptable values for performance_goal_type are: *
3502	// `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
3503	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` *
3504	// `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` *
3505	// `PERFORMANCE_GOAL_TYPE_OTHER`
3506	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
3507
3508	// ForceSendFields is a list of field names (e.g. "CampaignGoalType") to
3509	// unconditionally include in API requests. By default, fields with
3510	// empty values are omitted from API requests. However, any non-pointer,
3511	// non-interface field appearing in ForceSendFields will be sent to the
3512	// server regardless of whether the field is empty or not. This may be
3513	// used to include empty fields in Patch requests.
3514	ForceSendFields []string `json:"-"`
3515
3516	// NullFields is a list of field names (e.g. "CampaignGoalType") to
3517	// include in API requests with the JSON null value. By default, fields
3518	// with empty values are omitted from API requests. However, any field
3519	// with an empty value appearing in NullFields will be sent to the
3520	// server as null. It is an error if a field in this list has a
3521	// non-empty value. This may be used to include null fields in Patch
3522	// requests.
3523	NullFields []string `json:"-"`
3524}
3525
3526func (s *CampaignGoal) MarshalJSON() ([]byte, error) {
3527	type NoMethod CampaignGoal
3528	raw := NoMethod(*s)
3529	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3530}
3531
3532// CarrierAndIspAssignedTargetingOptionDetails: Details for assigned
3533// carrier and ISP targeting option. This will be populated in the
3534// details field of an AssignedTargetingOption when targeting_type is
3535// `TARGETING_TYPE_CARRIER_AND_ISP`.
3536type CarrierAndIspAssignedTargetingOptionDetails struct {
3537	// DisplayName: Output only. The display name of the carrier or ISP.
3538	DisplayName string `json:"displayName,omitempty"`
3539
3540	// Negative: Indicates if this option is being negatively targeted. All
3541	// assigned carrier and ISP targeting options on the same resource must
3542	// have the same value for this field.
3543	Negative bool `json:"negative,omitempty"`
3544
3545	// TargetingOptionId: Required. The targeting_option_id of a
3546	// TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.
3547	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3548
3549	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3550	// unconditionally include in API requests. By default, fields with
3551	// empty values are omitted from API requests. However, any non-pointer,
3552	// non-interface field appearing in ForceSendFields will be sent to the
3553	// server regardless of whether the field is empty or not. This may be
3554	// used to include empty fields in Patch requests.
3555	ForceSendFields []string `json:"-"`
3556
3557	// NullFields is a list of field names (e.g. "DisplayName") to include
3558	// in API requests with the JSON null value. By default, fields with
3559	// empty values are omitted from API requests. However, any field with
3560	// an empty value appearing in NullFields will be sent to the server as
3561	// null. It is an error if a field in this list has a non-empty value.
3562	// This may be used to include null fields in Patch requests.
3563	NullFields []string `json:"-"`
3564}
3565
3566func (s *CarrierAndIspAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3567	type NoMethod CarrierAndIspAssignedTargetingOptionDetails
3568	raw := NoMethod(*s)
3569	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3570}
3571
3572// CarrierAndIspTargetingOptionDetails: Represents a targetable carrier
3573// or ISP. This will be populated in the carrier_and_isp_details field
3574// of a TargetingOption when targeting_type is
3575// `TARGETING_TYPE_CARRIER_AND_ISP`.
3576type CarrierAndIspTargetingOptionDetails struct {
3577	// DisplayName: Output only. The display name of the carrier or ISP.
3578	DisplayName string `json:"displayName,omitempty"`
3579
3580	// Type: Output only. The type indicating if it's carrier or ISP.
3581	//
3582	// Possible values:
3583	//   "CARRIER_AND_ISP_TYPE_UNSPECIFIED" - Default value when type is not
3584	// specified or is unknown in this version.
3585	//   "CARRIER_AND_ISP_TYPE_ISP" - Indicates this targeting resource
3586	// refers to an ISP.
3587	//   "CARRIER_AND_ISP_TYPE_CARRIER" - Indicates this targeting resource
3588	// refers to a mobile carrier.
3589	Type string `json:"type,omitempty"`
3590
3591	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3592	// unconditionally include in API requests. By default, fields with
3593	// empty values are omitted from API requests. However, any non-pointer,
3594	// non-interface field appearing in ForceSendFields will be sent to the
3595	// server regardless of whether the field is empty or not. This may be
3596	// used to include empty fields in Patch requests.
3597	ForceSendFields []string `json:"-"`
3598
3599	// NullFields is a list of field names (e.g. "DisplayName") to include
3600	// in API requests with the JSON null value. By default, fields with
3601	// empty values are omitted from API requests. However, any field with
3602	// an empty value appearing in NullFields will be sent to the server as
3603	// null. It is an error if a field in this list has a non-empty value.
3604	// This may be used to include null fields in Patch requests.
3605	NullFields []string `json:"-"`
3606}
3607
3608func (s *CarrierAndIspTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3609	type NoMethod CarrierAndIspTargetingOptionDetails
3610	raw := NoMethod(*s)
3611	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3612}
3613
3614// CategoryAssignedTargetingOptionDetails: Assigned category targeting
3615// option details. This will be populated in the category_details field
3616// when targeting_type is `TARGETING_TYPE_CATEGORY`.
3617type CategoryAssignedTargetingOptionDetails struct {
3618	// DisplayName: Output only. The display name of the category.
3619	DisplayName string `json:"displayName,omitempty"`
3620
3621	// Negative: Indicates if this option is being negatively targeted.
3622	Negative bool `json:"negative,omitempty"`
3623
3624	// TargetingOptionId: Required. The targeting_option_id field when
3625	// targeting_type is `TARGETING_TYPE_CATEGORY`.
3626	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3627
3628	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3629	// unconditionally include in API requests. By default, fields with
3630	// empty values are omitted from API requests. However, any non-pointer,
3631	// non-interface field appearing in ForceSendFields will be sent to the
3632	// server regardless of whether the field is empty or not. This may be
3633	// used to include empty fields in Patch requests.
3634	ForceSendFields []string `json:"-"`
3635
3636	// NullFields is a list of field names (e.g. "DisplayName") to include
3637	// in API requests with the JSON null value. By default, fields with
3638	// empty values are omitted from API requests. However, any field with
3639	// an empty value appearing in NullFields will be sent to the server as
3640	// null. It is an error if a field in this list has a non-empty value.
3641	// This may be used to include null fields in Patch requests.
3642	NullFields []string `json:"-"`
3643}
3644
3645func (s *CategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3646	type NoMethod CategoryAssignedTargetingOptionDetails
3647	raw := NoMethod(*s)
3648	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3649}
3650
3651// CategoryTargetingOptionDetails: Represents a targetable category.
3652// This will be populated in the category_details field of a
3653// TargetingOption when targeting_type is `TARGETING_TYPE_CATEGORY`.
3654type CategoryTargetingOptionDetails struct {
3655	// DisplayName: Output only. The display name of the category.
3656	DisplayName string `json:"displayName,omitempty"`
3657
3658	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3659	// unconditionally include in API requests. By default, fields with
3660	// empty values are omitted from API requests. However, any non-pointer,
3661	// non-interface field appearing in ForceSendFields will be sent to the
3662	// server regardless of whether the field is empty or not. This may be
3663	// used to include empty fields in Patch requests.
3664	ForceSendFields []string `json:"-"`
3665
3666	// NullFields is a list of field names (e.g. "DisplayName") to include
3667	// in API requests with the JSON null value. By default, fields with
3668	// empty values are omitted from API requests. However, any field with
3669	// an empty value appearing in NullFields will be sent to the server as
3670	// null. It is an error if a field in this list has a non-empty value.
3671	// This may be used to include null fields in Patch requests.
3672	NullFields []string `json:"-"`
3673}
3674
3675func (s *CategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3676	type NoMethod CategoryTargetingOptionDetails
3677	raw := NoMethod(*s)
3678	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3679}
3680
3681// Channel: A single channel. Channels are custom groups of related
3682// websites and apps.
3683type Channel struct {
3684	// AdvertiserId: The ID of the advertiser that owns the channel.
3685	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3686
3687	// ChannelId: Output only. The unique ID of the channel. Assigned by the
3688	// system.
3689	ChannelId int64 `json:"channelId,omitempty,string"`
3690
3691	// DisplayName: Required. The display name of the channel. Must be UTF-8
3692	// encoded with a maximum length of 240 bytes.
3693	DisplayName string `json:"displayName,omitempty"`
3694
3695	// Name: Output only. The resource name of the channel.
3696	Name string `json:"name,omitempty"`
3697
3698	// NegativelyTargetedLineItemCount: Output only. Number of line items
3699	// that are directly targeting this channel negatively.
3700	NegativelyTargetedLineItemCount int64 `json:"negativelyTargetedLineItemCount,omitempty,string"`
3701
3702	// PartnerId: The ID of the partner that owns the channel.
3703	PartnerId int64 `json:"partnerId,omitempty,string"`
3704
3705	// PositivelyTargetedLineItemCount: Output only. Number of line items
3706	// that are directly targeting this channel positively.
3707	PositivelyTargetedLineItemCount int64 `json:"positivelyTargetedLineItemCount,omitempty,string"`
3708
3709	// ServerResponse contains the HTTP response code and headers from the
3710	// server.
3711	googleapi.ServerResponse `json:"-"`
3712
3713	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3714	// unconditionally include in API requests. By default, fields with
3715	// empty values are omitted from API requests. However, any non-pointer,
3716	// non-interface field appearing in ForceSendFields will be sent to the
3717	// server regardless of whether the field is empty or not. This may be
3718	// used to include empty fields in Patch requests.
3719	ForceSendFields []string `json:"-"`
3720
3721	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3722	// in API requests with the JSON null value. By default, fields with
3723	// empty values are omitted from API requests. However, any field with
3724	// an empty value appearing in NullFields will be sent to the server as
3725	// null. It is an error if a field in this list has a non-empty value.
3726	// This may be used to include null fields in Patch requests.
3727	NullFields []string `json:"-"`
3728}
3729
3730func (s *Channel) MarshalJSON() ([]byte, error) {
3731	type NoMethod Channel
3732	raw := NoMethod(*s)
3733	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3734}
3735
3736// ChannelAssignedTargetingOptionDetails: Details for assigned channel
3737// targeting option. This will be populated in the details field of an
3738// AssignedTargetingOption when targeting_type is
3739// `TARGETING_TYPE_CHANNEL`.
3740type ChannelAssignedTargetingOptionDetails struct {
3741	// ChannelId: Required. ID of the channel. Should refer to the channel
3742	// ID field on a Partner-owned channel
3743	// (partners.channels#Channel.FIELDS.channel_id) or advertiser-owned
3744	// channel (advertisers.channels#Channel.FIELDS.channel_id) resource.
3745	ChannelId int64 `json:"channelId,omitempty,string"`
3746
3747	// Negative: Indicates if this option is being negatively targeted. For
3748	// advertiser level assigned targeting option, this field must be true.
3749	Negative bool `json:"negative,omitempty"`
3750
3751	// ForceSendFields is a list of field names (e.g. "ChannelId") to
3752	// unconditionally include in API requests. By default, fields with
3753	// empty values are omitted from API requests. However, any non-pointer,
3754	// non-interface field appearing in ForceSendFields will be sent to the
3755	// server regardless of whether the field is empty or not. This may be
3756	// used to include empty fields in Patch requests.
3757	ForceSendFields []string `json:"-"`
3758
3759	// NullFields is a list of field names (e.g. "ChannelId") to include in
3760	// API requests with the JSON null value. By default, fields with empty
3761	// values are omitted from API requests. However, any field with an
3762	// empty value appearing in NullFields will be sent to the server as
3763	// null. It is an error if a field in this list has a non-empty value.
3764	// This may be used to include null fields in Patch requests.
3765	NullFields []string `json:"-"`
3766}
3767
3768func (s *ChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3769	type NoMethod ChannelAssignedTargetingOptionDetails
3770	raw := NoMethod(*s)
3771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3772}
3773
3774// CmHybridConfig: Settings for advertisers that use both Campaign
3775// Manager 360 (CM360) and third-party ad servers.
3776type CmHybridConfig struct {
3777	// CmAccountId: Required. Immutable. Account ID of the CM360 Floodlight
3778	// configuration linked with the DV360 advertiser.
3779	CmAccountId int64 `json:"cmAccountId,omitempty,string"`
3780
3781	// CmFloodlightConfigId: Required. Immutable. ID of the CM360 Floodlight
3782	// configuration linked with the DV360 advertiser.
3783	CmFloodlightConfigId int64 `json:"cmFloodlightConfigId,omitempty,string"`
3784
3785	// CmFloodlightLinkingAuthorized: Required. Immutable. By setting this
3786	// field to `true`, you, on behalf of your company, authorize the
3787	// sharing of information from the given Floodlight configuration to
3788	// this Display & Video 360 advertiser.
3789	CmFloodlightLinkingAuthorized bool `json:"cmFloodlightLinkingAuthorized,omitempty"`
3790
3791	// CmSyncableSiteIds: A list of CM360 sites whose placements will be
3792	// synced to DV360 as creatives. If absent or empty in CreateAdvertiser
3793	// method, the system will automatically create a CM360 site. Removing
3794	// sites from this list may cause DV360 creatives synced from CM360 to
3795	// be deleted. At least one site must be specified.
3796	CmSyncableSiteIds googleapi.Int64s `json:"cmSyncableSiteIds,omitempty"`
3797
3798	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to
3799	// CM360.
3800	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
3801
3802	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in
3803	// CM360 data transfer reports.
3804	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
3805
3806	// ForceSendFields is a list of field names (e.g. "CmAccountId") to
3807	// unconditionally include in API requests. By default, fields with
3808	// empty values are omitted from API requests. However, any non-pointer,
3809	// non-interface field appearing in ForceSendFields will be sent to the
3810	// server regardless of whether the field is empty or not. This may be
3811	// used to include empty fields in Patch requests.
3812	ForceSendFields []string `json:"-"`
3813
3814	// NullFields is a list of field names (e.g. "CmAccountId") to include
3815	// in API requests with the JSON null value. By default, fields with
3816	// empty values are omitted from API requests. However, any field with
3817	// an empty value appearing in NullFields will be sent to the server as
3818	// null. It is an error if a field in this list has a non-empty value.
3819	// This may be used to include null fields in Patch requests.
3820	NullFields []string `json:"-"`
3821}
3822
3823func (s *CmHybridConfig) MarshalJSON() ([]byte, error) {
3824	type NoMethod CmHybridConfig
3825	raw := NoMethod(*s)
3826	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3827}
3828
3829// CmTrackingAd: A Campaign Manager 360 tracking ad.
3830type CmTrackingAd struct {
3831	// CmAdId: The ad ID of the campaign manager 360 tracking Ad.
3832	CmAdId int64 `json:"cmAdId,omitempty,string"`
3833
3834	// CmCreativeId: The creative ID of the campaign manager 360 tracking
3835	// Ad.
3836	CmCreativeId int64 `json:"cmCreativeId,omitempty,string"`
3837
3838	// CmPlacementId: The placement ID of the campaign manager 360 tracking
3839	// Ad.
3840	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
3841
3842	// ForceSendFields is a list of field names (e.g. "CmAdId") to
3843	// unconditionally include in API requests. By default, fields with
3844	// empty values are omitted from API requests. However, any non-pointer,
3845	// non-interface field appearing in ForceSendFields will be sent to the
3846	// server regardless of whether the field is empty or not. This may be
3847	// used to include empty fields in Patch requests.
3848	ForceSendFields []string `json:"-"`
3849
3850	// NullFields is a list of field names (e.g. "CmAdId") to include in API
3851	// requests with the JSON null value. By default, fields with empty
3852	// values are omitted from API requests. However, any field with an
3853	// empty value appearing in NullFields will be sent to the server as
3854	// null. It is an error if a field in this list has a non-empty value.
3855	// This may be used to include null fields in Patch requests.
3856	NullFields []string `json:"-"`
3857}
3858
3859func (s *CmTrackingAd) MarshalJSON() ([]byte, error) {
3860	type NoMethod CmTrackingAd
3861	raw := NoMethod(*s)
3862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3863}
3864
3865// CombinedAudience: Describes a combined audience resource.
3866type CombinedAudience struct {
3867	// CombinedAudienceId: Output only. The unique ID of the combined
3868	// audience. Assigned by the system.
3869	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
3870
3871	// DisplayName: Output only. The display name of the combined audience.
3872	// .
3873	DisplayName string `json:"displayName,omitempty"`
3874
3875	// Name: Output only. The resource name of the combined audience.
3876	Name string `json:"name,omitempty"`
3877
3878	// ServerResponse contains the HTTP response code and headers from the
3879	// server.
3880	googleapi.ServerResponse `json:"-"`
3881
3882	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId")
3883	// to unconditionally include in API requests. By default, fields with
3884	// empty values are omitted from API requests. However, any non-pointer,
3885	// non-interface field appearing in ForceSendFields will be sent to the
3886	// server regardless of whether the field is empty or not. This may be
3887	// used to include empty fields in Patch requests.
3888	ForceSendFields []string `json:"-"`
3889
3890	// NullFields is a list of field names (e.g. "CombinedAudienceId") to
3891	// include in API requests with the JSON null value. By default, fields
3892	// with empty values are omitted from API requests. However, any field
3893	// with an empty value appearing in NullFields will be sent to the
3894	// server as null. It is an error if a field in this list has a
3895	// non-empty value. This may be used to include null fields in Patch
3896	// requests.
3897	NullFields []string `json:"-"`
3898}
3899
3900func (s *CombinedAudience) MarshalJSON() ([]byte, error) {
3901	type NoMethod CombinedAudience
3902	raw := NoMethod(*s)
3903	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3904}
3905
3906// CombinedAudienceGroup: Details of combined audience group. All
3907// combined audience targeting settings are logically ‘OR’ of each
3908// other.
3909type CombinedAudienceGroup struct {
3910	// Settings: Required. All combined audience targeting settings in
3911	// combined audience group. Repeated settings with same id will be
3912	// ignored. The number of combined audience settings should be no more
3913	// than five, error will be thrown otherwise.
3914	Settings []*CombinedAudienceTargetingSetting `json:"settings,omitempty"`
3915
3916	// ForceSendFields is a list of field names (e.g. "Settings") to
3917	// unconditionally include in API requests. By default, fields with
3918	// empty values are omitted from API requests. However, any non-pointer,
3919	// non-interface field appearing in ForceSendFields will be sent to the
3920	// server regardless of whether the field is empty or not. This may be
3921	// used to include empty fields in Patch requests.
3922	ForceSendFields []string `json:"-"`
3923
3924	// NullFields is a list of field names (e.g. "Settings") to include in
3925	// API requests with the JSON null value. By default, fields with empty
3926	// values are omitted from API requests. However, any field with an
3927	// empty value appearing in NullFields will be sent to the server as
3928	// null. It is an error if a field in this list has a non-empty value.
3929	// This may be used to include null fields in Patch requests.
3930	NullFields []string `json:"-"`
3931}
3932
3933func (s *CombinedAudienceGroup) MarshalJSON() ([]byte, error) {
3934	type NoMethod CombinedAudienceGroup
3935	raw := NoMethod(*s)
3936	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3937}
3938
3939// CombinedAudienceTargetingSetting: Details of combined audience
3940// targeting setting.
3941type CombinedAudienceTargetingSetting struct {
3942	// CombinedAudienceId: Required. Combined audience id of combined
3943	// audience targeting setting. This id is combined_audience_id.
3944	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
3945
3946	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId")
3947	// to unconditionally include in API requests. By default, fields with
3948	// empty values are omitted from API requests. However, any non-pointer,
3949	// non-interface field appearing in ForceSendFields will be sent to the
3950	// server regardless of whether the field is empty or not. This may be
3951	// used to include empty fields in Patch requests.
3952	ForceSendFields []string `json:"-"`
3953
3954	// NullFields is a list of field names (e.g. "CombinedAudienceId") to
3955	// include in API requests with the JSON null value. By default, fields
3956	// with empty values are omitted from API requests. However, any field
3957	// with an empty value appearing in NullFields will be sent to the
3958	// server as null. It is an error if a field in this list has a
3959	// non-empty value. This may be used to include null fields in Patch
3960	// requests.
3961	NullFields []string `json:"-"`
3962}
3963
3964func (s *CombinedAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
3965	type NoMethod CombinedAudienceTargetingSetting
3966	raw := NoMethod(*s)
3967	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3968}
3969
3970// ContentInstreamPositionAssignedTargetingOptionDetails: Assigned
3971// content instream position targeting option details. This will be
3972// populated in the content_instream_position_details field when
3973// targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
3974type ContentInstreamPositionAssignedTargetingOptionDetails struct {
3975	// AdType: Output only. The ad type to target. Only applicable to
3976	// insertion order targeting and new line items supporting the specified
3977	// ad type will inherit this targeting option by default. Possible
3978	// values are: * `AD_TYPE_VIDEO`, the setting will be inherited by new
3979	// line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. *
3980	// `AD_TYPE_AUDIO`, the setting will be inherited by new line item when
3981	// line_item_type is `LINE_ITEM_TYPE_AUDIO_DEFAULT`.
3982	//
3983	// Possible values:
3984	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in
3985	// this version.
3986	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
3987	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
3988	// streaming content in video players.
3989	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during
3990	// audio content.
3991	AdType string `json:"adType,omitempty"`
3992
3993	// ContentInstreamPosition: Output only. The content instream position
3994	// for video or audio ads.
3995	//
3996	// Possible values:
3997	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position
3998	// is not specified in this version. This enum is a place holder for a
3999	// default value and does not represent a real in stream ad position.
4000	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before
4001	// streaming content.
4002	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the
4003	// beginning and end of streaming content.
4004	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
4005	// streaming content.
4006	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is
4007	// unknown.
4008	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
4009
4010	// TargetingOptionId: Required. The targeting_option_id field when
4011	// targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
4012	TargetingOptionId string `json:"targetingOptionId,omitempty"`
4013
4014	// ForceSendFields is a list of field names (e.g. "AdType") 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. "AdType") to include in API
4023	// 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 *ContentInstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4032	type NoMethod ContentInstreamPositionAssignedTargetingOptionDetails
4033	raw := NoMethod(*s)
4034	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4035}
4036
4037// ContentInstreamPositionTargetingOptionDetails: Represents a
4038// targetable content instream position, which could be used by video
4039// and audio ads. This will be populated in the
4040// content_instream_position_details field when targeting_type is
4041// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
4042type ContentInstreamPositionTargetingOptionDetails struct {
4043	// ContentInstreamPosition: Output only. The content instream position.
4044	//
4045	// Possible values:
4046	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position
4047	// is not specified in this version. This enum is a place holder for a
4048	// default value and does not represent a real in stream ad position.
4049	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before
4050	// streaming content.
4051	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the
4052	// beginning and end of streaming content.
4053	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
4054	// streaming content.
4055	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is
4056	// unknown.
4057	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
4058
4059	// ForceSendFields is a list of field names (e.g.
4060	// "ContentInstreamPosition") to unconditionally include in API
4061	// requests. By default, fields with empty values are omitted from API
4062	// requests. However, any non-pointer, non-interface field appearing in
4063	// ForceSendFields will be sent to the server regardless of whether the
4064	// field is empty or not. This may be used to include empty fields in
4065	// Patch requests.
4066	ForceSendFields []string `json:"-"`
4067
4068	// NullFields is a list of field names (e.g. "ContentInstreamPosition")
4069	// to include in API requests with the JSON null value. By default,
4070	// fields with empty values are omitted from API requests. However, any
4071	// field with an empty value appearing in NullFields will be sent to the
4072	// server as null. It is an error if a field in this list has a
4073	// non-empty value. This may be used to include null fields in Patch
4074	// requests.
4075	NullFields []string `json:"-"`
4076}
4077
4078func (s *ContentInstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4079	type NoMethod ContentInstreamPositionTargetingOptionDetails
4080	raw := NoMethod(*s)
4081	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4082}
4083
4084// ContentOutstreamPositionAssignedTargetingOptionDetails: Assigned
4085// content outstream position targeting option details. This will be
4086// populated in the content_outstream_position_details field when
4087// targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
4088type ContentOutstreamPositionAssignedTargetingOptionDetails struct {
4089	// AdType: Output only. The ad type to target. Only applicable to
4090	// insertion order targeting and new line items supporting the specified
4091	// ad type will inherit this targeting option by default. Possible
4092	// values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new
4093	// line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. *
4094	// `AD_TYPE_VIDEO`, the setting will be inherited by new line item when
4095	// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
4096	//
4097	// Possible values:
4098	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in
4099	// this version.
4100	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
4101	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
4102	// streaming content in video players.
4103	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during
4104	// audio content.
4105	AdType string `json:"adType,omitempty"`
4106
4107	// ContentOutstreamPosition: Output only. The content outstream
4108	// position.
4109	//
4110	// Possible values:
4111	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream
4112	// position is not specified in this version. This enum is a place
4113	// holder for a default value and does not represent a real content
4114	// outstream position.
4115	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown
4116	// in the content outstream.
4117	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between
4118	// the paragraphs of your pages.
4119	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the
4120	// top and the sides of a page.
4121	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a
4122	// scrollable stream of content. A feed is typically editorial (e.g. a
4123	// list of articles or news) or listings (e.g. a list of products or
4124	// services).
4125	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or
4126	// between content loads.
4127	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
4128
4129	// TargetingOptionId: Required. The targeting_option_id field when
4130	// targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
4131	TargetingOptionId string `json:"targetingOptionId,omitempty"`
4132
4133	// ForceSendFields is a list of field names (e.g. "AdType") to
4134	// unconditionally include in API requests. By default, fields with
4135	// empty values are omitted from API requests. However, any non-pointer,
4136	// non-interface field appearing in ForceSendFields will be sent to the
4137	// server regardless of whether the field is empty or not. This may be
4138	// used to include empty fields in Patch requests.
4139	ForceSendFields []string `json:"-"`
4140
4141	// NullFields is a list of field names (e.g. "AdType") to include in API
4142	// requests with the JSON null value. By default, fields with empty
4143	// values are omitted from API requests. However, any field with an
4144	// empty value appearing in NullFields will be sent to the server as
4145	// null. It is an error if a field in this list has a non-empty value.
4146	// This may be used to include null fields in Patch requests.
4147	NullFields []string `json:"-"`
4148}
4149
4150func (s *ContentOutstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4151	type NoMethod ContentOutstreamPositionAssignedTargetingOptionDetails
4152	raw := NoMethod(*s)
4153	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4154}
4155
4156// ContentOutstreamPositionTargetingOptionDetails: Represents a
4157// targetable content outstream position, which could be used by display
4158// and video ads. This will be populated in the
4159// content_outstream_position_details field when targeting_type is
4160// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
4161type ContentOutstreamPositionTargetingOptionDetails struct {
4162	// ContentOutstreamPosition: Output only. The content outstream
4163	// position.
4164	//
4165	// Possible values:
4166	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream
4167	// position is not specified in this version. This enum is a place
4168	// holder for a default value and does not represent a real content
4169	// outstream position.
4170	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown
4171	// in the content outstream.
4172	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between
4173	// the paragraphs of your pages.
4174	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the
4175	// top and the sides of a page.
4176	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a
4177	// scrollable stream of content. A feed is typically editorial (e.g. a
4178	// list of articles or news) or listings (e.g. a list of products or
4179	// services).
4180	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or
4181	// between content loads.
4182	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
4183
4184	// ForceSendFields is a list of field names (e.g.
4185	// "ContentOutstreamPosition") to unconditionally include in API
4186	// requests. By default, fields with empty values are omitted from API
4187	// requests. However, any non-pointer, non-interface field appearing in
4188	// ForceSendFields will be sent to the server regardless of whether the
4189	// field is empty or not. This may be used to include empty fields in
4190	// Patch requests.
4191	ForceSendFields []string `json:"-"`
4192
4193	// NullFields is a list of field names (e.g. "ContentOutstreamPosition")
4194	// to include in API requests with the JSON null value. By default,
4195	// fields with empty values are omitted from API requests. However, any
4196	// field with an empty value appearing in NullFields will be sent to the
4197	// server as null. It is an error if a field in this list has a
4198	// non-empty value. This may be used to include null fields in Patch
4199	// requests.
4200	NullFields []string `json:"-"`
4201}
4202
4203func (s *ContentOutstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4204	type NoMethod ContentOutstreamPositionTargetingOptionDetails
4205	raw := NoMethod(*s)
4206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4207}
4208
4209// ConversionCountingConfig: Settings that control how conversions are
4210// counted. All post-click conversions will be counted. A percentage
4211// value can be set for post-view conversions counting.
4212type ConversionCountingConfig struct {
4213	// FloodlightActivityConfigs: The Floodlight activity configs used to
4214	// track conversions. The number of conversions counted is the sum of
4215	// all of the conversions counted by all of the Floodlight activity IDs
4216	// specified in this field.
4217	FloodlightActivityConfigs []*TrackingFloodlightActivityConfig `json:"floodlightActivityConfigs,omitempty"`
4218
4219	// PostViewCountPercentageMillis: The percentage of post-view
4220	// conversions to count, in millis (1/1000 of a percent). Must be
4221	// between 0 and 100000 inclusive. For example, to track 50% of the
4222	// post-click conversions, set a value of 50000.
4223	PostViewCountPercentageMillis int64 `json:"postViewCountPercentageMillis,omitempty,string"`
4224
4225	// ForceSendFields is a list of field names (e.g.
4226	// "FloodlightActivityConfigs") to unconditionally include in API
4227	// requests. By default, fields with empty values are omitted from API
4228	// requests. However, any non-pointer, non-interface field appearing in
4229	// ForceSendFields will be sent to the server regardless of whether the
4230	// field is empty or not. This may be used to include empty fields in
4231	// Patch requests.
4232	ForceSendFields []string `json:"-"`
4233
4234	// NullFields is a list of field names (e.g.
4235	// "FloodlightActivityConfigs") to include in API requests with the JSON
4236	// null value. By default, fields with empty values are omitted from API
4237	// requests. However, any field with an empty value appearing in
4238	// NullFields will be sent to the server as null. It is an error if a
4239	// field in this list has a non-empty value. This may be used to include
4240	// null fields in Patch requests.
4241	NullFields []string `json:"-"`
4242}
4243
4244func (s *ConversionCountingConfig) MarshalJSON() ([]byte, error) {
4245	type NoMethod ConversionCountingConfig
4246	raw := NoMethod(*s)
4247	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4248}
4249
4250// CounterEvent: Counter event of the creative.
4251type CounterEvent struct {
4252	// Name: Required. The name of the counter event.
4253	Name string `json:"name,omitempty"`
4254
4255	// ReportingName: Required. The name used to identify this counter event
4256	// in reports.
4257	ReportingName string `json:"reportingName,omitempty"`
4258
4259	// ForceSendFields is a list of field names (e.g. "Name") to
4260	// unconditionally include in API requests. By default, fields with
4261	// empty values are omitted from API requests. However, any non-pointer,
4262	// non-interface field appearing in ForceSendFields will be sent to the
4263	// server regardless of whether the field is empty or not. This may be
4264	// used to include empty fields in Patch requests.
4265	ForceSendFields []string `json:"-"`
4266
4267	// NullFields is a list of field names (e.g. "Name") to include in API
4268	// requests with the JSON null value. By default, fields with empty
4269	// values are omitted from API requests. However, any field with an
4270	// empty value appearing in NullFields will be sent to the server as
4271	// null. It is an error if a field in this list has a non-empty value.
4272	// This may be used to include null fields in Patch requests.
4273	NullFields []string `json:"-"`
4274}
4275
4276func (s *CounterEvent) MarshalJSON() ([]byte, error) {
4277	type NoMethod CounterEvent
4278	raw := NoMethod(*s)
4279	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4280}
4281
4282// CreateAssetRequest: A request message for CreateAsset.
4283type CreateAssetRequest struct {
4284	// Filename: Required. The filename of the asset, including the file
4285	// extension. The filename must be UTF-8 encoded with a maximum size of
4286	// 240 bytes.
4287	Filename string `json:"filename,omitempty"`
4288
4289	// ForceSendFields is a list of field names (e.g. "Filename") to
4290	// unconditionally include in API requests. By default, fields with
4291	// empty values are omitted from API requests. However, any non-pointer,
4292	// non-interface field appearing in ForceSendFields will be sent to the
4293	// server regardless of whether the field is empty or not. This may be
4294	// used to include empty fields in Patch requests.
4295	ForceSendFields []string `json:"-"`
4296
4297	// NullFields is a list of field names (e.g. "Filename") to include in
4298	// API requests with the JSON null value. By default, fields with empty
4299	// values are omitted from API requests. However, any field with an
4300	// empty value appearing in NullFields will be sent to the server as
4301	// null. It is an error if a field in this list has a non-empty value.
4302	// This may be used to include null fields in Patch requests.
4303	NullFields []string `json:"-"`
4304}
4305
4306func (s *CreateAssetRequest) MarshalJSON() ([]byte, error) {
4307	type NoMethod CreateAssetRequest
4308	raw := NoMethod(*s)
4309	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4310}
4311
4312// CreateAssetResponse: A response message for CreateAsset.
4313type CreateAssetResponse struct {
4314	// Asset: The uploaded asset, if successful.
4315	Asset *Asset `json:"asset,omitempty"`
4316
4317	// ServerResponse contains the HTTP response code and headers from the
4318	// server.
4319	googleapi.ServerResponse `json:"-"`
4320
4321	// ForceSendFields is a list of field names (e.g. "Asset") to
4322	// unconditionally include in API requests. By default, fields with
4323	// empty values are omitted from API requests. However, any non-pointer,
4324	// non-interface field appearing in ForceSendFields will be sent to the
4325	// server regardless of whether the field is empty or not. This may be
4326	// used to include empty fields in Patch requests.
4327	ForceSendFields []string `json:"-"`
4328
4329	// NullFields is a list of field names (e.g. "Asset") to include in API
4330	// requests with the JSON null value. By default, fields with empty
4331	// values are omitted from API requests. However, any field with an
4332	// empty value appearing in NullFields will be sent to the server as
4333	// null. It is an error if a field in this list has a non-empty value.
4334	// This may be used to include null fields in Patch requests.
4335	NullFields []string `json:"-"`
4336}
4337
4338func (s *CreateAssetResponse) MarshalJSON() ([]byte, error) {
4339	type NoMethod CreateAssetResponse
4340	raw := NoMethod(*s)
4341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4342}
4343
4344// CreateAssignedTargetingOptionsRequest: A request listing which
4345// assigned targeting options of a given targeting type should be
4346// created and added.
4347type CreateAssignedTargetingOptionsRequest struct {
4348	// AssignedTargetingOptions: Required. The assigned targeting options to
4349	// create and add.
4350	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
4351
4352	// TargetingType: Required. Identifies the type of this assigned
4353	// targeting option.
4354	//
4355	// Possible values:
4356	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
4357	// specified or is unknown in this version.
4358	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
4359	// related websites or apps).
4360	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
4361	// example, education or puzzle games).
4362	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
4363	// Birds).
4364	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
4365	// quora.com).
4366	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
4367	// period on a specific day.
4368	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
4369	// (for example, 18-24).
4370	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
4371	// specified regions on a regional location list.
4372	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
4373	// specified points of interest on a proximity location list.
4374	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
4375	// example, female or male).
4376	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
4377	// size for video ads.
4378	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
4379	// content for video ads.
4380	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
4381	// parental status (for example, parent or not a parent).
4382	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
4383	// ads in a specific content instream position (for example, pre-roll,
4384	// mid-roll, or post-roll).
4385	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
4386	// specific content outstream position.
4387	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
4388	// (for example, tablet or connected TV).
4389	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
4390	// groups of audiences. Singleton field, at most one can exist on a
4391	// single Lineitem at a time.
4392	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
4393	// example, Chrome).
4394	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
4395	// household income range (for example, top 10%).
4396	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
4397	// screen position.
4398	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
4399	// third party verification (for example, IAS or DoubleVerify).
4400	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
4401	// by specific digital content label ratings (for example, DL-MA:
4402	// suitable only for mature audiences).
4403	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
4404	// content by sensitive categories (for example, adult).
4405	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
4406	// (for example, web or app).
4407	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
4408	// carrier or internet service provider (ISP) (for example, Comcast or
4409	// Orange).
4410	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
4411	// operating system (for example, macOS).
4412	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
4413	// device make or model (for example, Roku or Samsung).
4414	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
4415	// example, dog or retriever).
4416	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
4417	// negative keyword list.
4418	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
4419	// (for example, 80% viewable).
4420	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
4421	// category (for example, arts & entertainment).
4422	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
4423	// specific deals and auction packages.
4424	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
4425	// example, English or Japanese).
4426	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
4427	// authorized sellers.
4428	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
4429	// location (for example, a city or state).
4430	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
4431	// a group of deals and auction packages.
4432	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
4433	// exchanges.
4434	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
4435	// sub-exchanges.
4436	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
4437	// native content position.
4438	TargetingType string `json:"targetingType,omitempty"`
4439
4440	// ForceSendFields is a list of field names (e.g.
4441	// "AssignedTargetingOptions") to unconditionally include in API
4442	// requests. By default, fields with empty values are omitted from API
4443	// requests. However, any non-pointer, non-interface field appearing in
4444	// ForceSendFields will be sent to the server regardless of whether the
4445	// field is empty or not. This may be used to include empty fields in
4446	// Patch requests.
4447	ForceSendFields []string `json:"-"`
4448
4449	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
4450	// to include in API requests with the JSON null value. By default,
4451	// fields with empty values are omitted from API requests. However, any
4452	// field with an empty value appearing in NullFields will be sent to the
4453	// server as null. It is an error if a field in this list has a
4454	// non-empty value. This may be used to include null fields in Patch
4455	// requests.
4456	NullFields []string `json:"-"`
4457}
4458
4459func (s *CreateAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
4460	type NoMethod CreateAssignedTargetingOptionsRequest
4461	raw := NoMethod(*s)
4462	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4463}
4464
4465// CreateSdfDownloadTaskRequest: Request message for
4466// [SdfDownloadTaskService.CreateSdfDownloadTask].
4467type CreateSdfDownloadTaskRequest struct {
4468	// AdvertiserId: The ID of the advertiser to download SDF for.
4469	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4470
4471	// IdFilter: Filters on entities by their entity IDs.
4472	IdFilter *IdFilter `json:"idFilter,omitempty"`
4473
4474	// InventorySourceFilter: Filters on Inventory Sources by their IDs.
4475	InventorySourceFilter *InventorySourceFilter `json:"inventorySourceFilter,omitempty"`
4476
4477	// ParentEntityFilter: Filters on selected file types. The entities in
4478	// each file are filtered by a chosen set of filter entities. The filter
4479	// entities must be the same type as, or a parent type of, the selected
4480	// file types.
4481	ParentEntityFilter *ParentEntityFilter `json:"parentEntityFilter,omitempty"`
4482
4483	// PartnerId: The ID of the partner to download SDF for.
4484	PartnerId int64 `json:"partnerId,omitempty,string"`
4485
4486	// Version: Required. The SDF version of the downloaded file. If set to
4487	// `SDF_VERSION_UNSPECIFIED`, this will default to the version specified
4488	// by the advertiser or partner identified by `root_id`. An advertiser
4489	// inherits its SDF version from its partner unless configured
4490	// otherwise.
4491	//
4492	// Possible values:
4493	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
4494	// is unknown in this version.
4495	//   "SDF_VERSION_3_1" - SDF version 3.1
4496	//   "SDF_VERSION_4" - SDF version 4
4497	//   "SDF_VERSION_4_1" - SDF version 4.1
4498	//   "SDF_VERSION_4_2" - SDF version 4.2
4499	//   "SDF_VERSION_5" - SDF version 5.
4500	//   "SDF_VERSION_5_1" - SDF version 5.1
4501	//   "SDF_VERSION_5_2" - SDF version 5.2
4502	//   "SDF_VERSION_5_3" - SDF version 5.3
4503	Version string `json:"version,omitempty"`
4504
4505	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
4506	// unconditionally include in API requests. By default, fields with
4507	// empty values are omitted from API requests. However, any non-pointer,
4508	// non-interface field appearing in ForceSendFields will be sent to the
4509	// server regardless of whether the field is empty or not. This may be
4510	// used to include empty fields in Patch requests.
4511	ForceSendFields []string `json:"-"`
4512
4513	// NullFields is a list of field names (e.g. "AdvertiserId") to include
4514	// in API requests with the JSON null value. By default, fields with
4515	// empty values are omitted from API requests. However, any field with
4516	// an empty value appearing in NullFields will be sent to the server as
4517	// null. It is an error if a field in this list has a non-empty value.
4518	// This may be used to include null fields in Patch requests.
4519	NullFields []string `json:"-"`
4520}
4521
4522func (s *CreateSdfDownloadTaskRequest) MarshalJSON() ([]byte, error) {
4523	type NoMethod CreateSdfDownloadTaskRequest
4524	raw := NoMethod(*s)
4525	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4526}
4527
4528// Creative: A single Creative.
4529type Creative struct {
4530	// AdditionalDimensions: Additional dimensions. Applicable when
4531	// creative_type is one of: * `CREATIVE_TYPE_STANDARD` *
4532	// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` *
4533	// `CREATIVE_TYPE_TEMPLATED_APP_INSTALL` *
4534	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` *
4535	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4536	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4537	// `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified,
4538	// width_pixels and height_pixels are both required and must be greater
4539	// than or equal to 0.
4540	AdditionalDimensions []*Dimensions `json:"additionalDimensions,omitempty"`
4541
4542	// AdvertiserId: Output only. The unique ID of the advertiser the
4543	// creative belongs to.
4544	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4545
4546	// AppendedTag: Third-party HTML tracking tag to be appended to the
4547	// creative tag.
4548	AppendedTag string `json:"appendedTag,omitempty"`
4549
4550	// Assets: Required. Assets associated to this creative. Assets can be
4551	// associated to the creative in one of following roles: *
4552	// `ASSET_ROLE_UNSPECIFIED` * `ASSET_ROLE_MAIN` * `ASSET_ROLE_BACKUP` *
4553	// `ASSET_ROLE_POLITE_LOAD`
4554	Assets []*AssetAssociation `json:"assets,omitempty"`
4555
4556	// CmPlacementId: Output only. The unique ID of the Campaign Manager 360
4557	// placement associated with the creative. This field is only applicable
4558	// for creatives that are synced from Campaign Manager.
4559	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
4560
4561	// CmTrackingAd: The Campaign Manager 360 tracking ad associated with
4562	// the creative. Optional for the following creative_type when created
4563	// by an advertiser that uses both Campaign Manager 360 and third-party
4564	// ad serving: * `CREATIVE_TYPE_NATIVE` *
4565	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
4566	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4567	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` Output only for other
4568	// cases.
4569	CmTrackingAd *CmTrackingAd `json:"cmTrackingAd,omitempty"`
4570
4571	// CompanionCreativeIds: The IDs of companion creatives for a video
4572	// creative. You can assign existing display creatives (with image or
4573	// HTML5 assets) to serve surrounding the publisher's video player.
4574	// Companions display around the video player while the video is playing
4575	// and remain after the video has completed. Creatives contain
4576	// additional dimensions can not be companion creatives. This field is
4577	// only supported for following creative_type: * `CREATIVE_TYPE_AUDIO` *
4578	// `CREATIVE_TYPE_VIDEO`
4579	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4580
4581	// CounterEvents: Counter events for a rich media creative. Counters
4582	// track the number of times that a user interacts with any part of a
4583	// rich media creative in a specified way (mouse-overs, mouse-outs,
4584	// clicks, taps, data loading, keyboard entries, etc.). Any event that
4585	// can be captured in the creative can be recorded as a counter. Leave
4586	// it empty or unset for creatives containing image assets only.
4587	CounterEvents []*CounterEvent `json:"counterEvents,omitempty"`
4588
4589	// CreateTime: Output only. The timestamp when the creative was created.
4590	// Assigned by the system.
4591	CreateTime string `json:"createTime,omitempty"`
4592
4593	// CreativeAttributes: Output only. A list of attributes of the creative
4594	// that is generated by the system.
4595	//
4596	// Possible values:
4597	//   "CREATIVE_ATTRIBUTE_UNSPECIFIED" - The creative attribute is not
4598	// specified or is unknown in this version.
4599	//   "CREATIVE_ATTRIBUTE_VAST" - The creative is a VAST creative.
4600	//   "CREATIVE_ATTRIBUTE_VPAID_LINEAR" - The creative is a linear VPAID
4601	// creative.
4602	//   "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" - The creative is a
4603	// non-linear VPAID creative.
4604	CreativeAttributes []string `json:"creativeAttributes,omitempty"`
4605
4606	// CreativeId: Output only. The unique ID of the creative. Assigned by
4607	// the system.
4608	CreativeId int64 `json:"creativeId,omitempty,string"`
4609
4610	// CreativeType: Required. Immutable. The type of the creative.
4611	//
4612	// Possible values:
4613	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is
4614	// unknown in this version.
4615	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and
4616	// update methods are supported for this creative type if the
4617	// hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` *
4618	// `HOSTING_SOURCE_THIRD_PARTY`
4619	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
4620	// methods are supported for this creative type if the hosting_source is
4621	// `HOSTING_SOURCE_THIRD_PARTY`
4622	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods
4623	// are supported for this creative type if the hosting_source is one of
4624	// the following: * `HOSTING_SOURCE_HOSTED` *
4625	// `HOSTING_SOURCE_THIRD_PARTY`
4626	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers
4627	// with assets from advertiser. Create and update methods are supported
4628	// for this creative type if the hosting_source is
4629	// `HOSTING_SOURCE_HOSTED`
4630	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install
4631	// mobile creative (banner). Create and update methods are **not**
4632	// supported for this creative type.
4633	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create
4634	// and update methods are supported for this creative type if the
4635	// hosting_source is `HOSTING_SOURCE_HOSTED`
4636	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial
4637	// creative including both display and video. Create and update methods
4638	// are **not** supported for this creative type.
4639	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox
4640	// creative. Create and update methods are **not** supported for this
4641	// creative type.
4642	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative.
4643	// Create and update methods are supported for this creative type if the
4644	// hosting_source is `HOSTING_SOURCE_HOSTED`
4645	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app
4646	// install creative. Create and update methods are supported for this
4647	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
4648	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods
4649	// are supported for this creative type if the hosting_source is
4650	// `HOSTING_SOURCE_HOSTED`
4651	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative.
4652	// Create and update methods are **not** supported for this creative
4653	// type.
4654	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and
4655	// update methods are supported for this creative type if the
4656	// hosting_source is `HOSTING_SOURCE_HOSTED`
4657	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install
4658	// mobile video creative. Create and update methods are **not**
4659	// supported for this creative type.
4660	CreativeType string `json:"creativeType,omitempty"`
4661
4662	// Dimensions: Required. Primary dimensions of the creative. Applicable
4663	// to all creative types. The value of width_pixels and height_pixels
4664	// defaults to `0` when creative_type is one of: * `CREATIVE_TYPE_VIDEO`
4665	// * `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL` *
4666	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4667	// `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO`
4668	Dimensions *Dimensions `json:"dimensions,omitempty"`
4669
4670	// DisplayName: Required. The display name of the creative. Must be
4671	// UTF-8 encoded with a maximum size of 240 bytes.
4672	DisplayName string `json:"displayName,omitempty"`
4673
4674	// Dynamic: Output only. Indicates whether the creative is dynamic.
4675	Dynamic bool `json:"dynamic,omitempty"`
4676
4677	// EntityStatus: Required. Controls whether or not the creative can
4678	// serve. Accepted values are: * `ENTITY_STATUS_ACTIVE` *
4679	// `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED`
4680	//
4681	// Possible values:
4682	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
4683	// specified or is unknown in this version.
4684	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
4685	// budget.
4686	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
4687	// budget spending are disabled. An entity can be deleted after
4688	// archived. Deleted entities cannot be retrieved.
4689	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
4690	// budget spending are disabled.
4691	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
4692	// the entity.
4693	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
4694	// for deletion.
4695	EntityStatus string `json:"entityStatus,omitempty"`
4696
4697	// ExitEvents: Required. Exit events for this creative. An exit (also
4698	// known as a click tag) is any area in your creative that someone can
4699	// click or tap to open an advertiser's landing page. Every creative
4700	// must include at least one exit. You can add an exit to your creative
4701	// in any of the following ways: * Use Google Web Designer's tap area. *
4702	// Define a JavaScript variable called "clickTag". * Use the Enabler
4703	// (Enabler.exit()) to track exits in rich media formats.
4704	ExitEvents []*ExitEvent `json:"exitEvents,omitempty"`
4705
4706	// ExpandOnHover: Optional. Indicates the creative will automatically
4707	// expand on hover. Optional and only valid for third-party expandable
4708	// creatives. Third-party expandable creatives are creatives with
4709	// following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4710	// with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`
4711	ExpandOnHover bool `json:"expandOnHover,omitempty"`
4712
4713	// ExpandingDirection: Optional. Specifies the expanding direction of
4714	// the creative. Required and only valid for third-party expandable
4715	// creatives. Third-party expandable creatives are creatives with
4716	// following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4717	// with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`
4718	//
4719	// Possible values:
4720	//   "EXPANDING_DIRECTION_UNSPECIFIED" - The expanding direction is not
4721	// specified.
4722	//   "EXPANDING_DIRECTION_NONE" - Does not expand in any direction.
4723	//   "EXPANDING_DIRECTION_UP" - Expands up.
4724	//   "EXPANDING_DIRECTION_DOWN" - Expands down.
4725	//   "EXPANDING_DIRECTION_LEFT" - Expands left.
4726	//   "EXPANDING_DIRECTION_RIGHT" - Expands right.
4727	//   "EXPANDING_DIRECTION_UP_AND_LEFT" - Expands up and to the left
4728	// side.
4729	//   "EXPANDING_DIRECTION_UP_AND_RIGHT" - Expands up and to the right
4730	// side.
4731	//   "EXPANDING_DIRECTION_DOWN_AND_LEFT" - Expands down and to the left
4732	// side.
4733	//   "EXPANDING_DIRECTION_DOWN_AND_RIGHT" - Expands down and to the
4734	// right side.
4735	//   "EXPANDING_DIRECTION_UP_OR_DOWN" - Expands either up or down.
4736	//   "EXPANDING_DIRECTION_LEFT_OR_RIGHT" - Expands to either the left or
4737	// the right side.
4738	//   "EXPANDING_DIRECTION_ANY_DIAGONAL" - Can expand in any diagonal
4739	// direction.
4740	ExpandingDirection string `json:"expandingDirection,omitempty"`
4741
4742	// HostingSource: Required. Indicates where the creative is hosted.
4743	//
4744	// Possible values:
4745	//   "HOSTING_SOURCE_UNSPECIFIED" - Hosting source is not specified or
4746	// is unknown in this version.
4747	//   "HOSTING_SOURCE_CM" - A creative synced from Campaign Manager 360.
4748	// Create and update methods are **not** supported for this hosting
4749	// type.
4750	//   "HOSTING_SOURCE_THIRD_PARTY" - A creative hosted by a third-party
4751	// ad server (3PAS). Create and update methods are supported for this
4752	// hosting type if the creative_type is one of the following: *
4753	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_EXPANDABLE` *
4754	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`
4755	//   "HOSTING_SOURCE_HOSTED" - A creative created in DV360 and hosted by
4756	// Campaign Manager 360. Create and update methods are supported for
4757	// this hosting type if the creative_type is one of the following: *
4758	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` *
4759	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4760	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4761	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4762	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`
4763	//   "HOSTING_SOURCE_RICH_MEDIA" - A rich media creative created in
4764	// Studio and hosted by Campaign Manager 360. Create and update methods
4765	// are **not** supported for this hosting type.
4766	HostingSource string `json:"hostingSource,omitempty"`
4767
4768	// Html5Video: Output only. Indicates the third-party VAST tag creative
4769	// requires HTML5 Video support. Output only and only valid for
4770	// third-party VAST tag creatives. Third-party VAST tag creatives are
4771	// creatives with following hosting_source: *
4772	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
4773	// `CREATIVE_TYPE_VIDEO`
4774	Html5Video bool `json:"html5Video,omitempty"`
4775
4776	// IasCampaignMonitoring: Indicates whether Integral Ad Science (IAS)
4777	// campaign monitoring is enabled. To enable this for the creative, make
4778	// sure the Advertiser.creative_config.ias_client_id has been set to
4779	// your IAS client ID.
4780	IasCampaignMonitoring bool `json:"iasCampaignMonitoring,omitempty"`
4781
4782	// IntegrationCode: ID information used to link this creative to an
4783	// external system. Must be UTF-8 encoded with a length of no more than
4784	// 10,000 characters.
4785	IntegrationCode string `json:"integrationCode,omitempty"`
4786
4787	// JsTrackerUrl: JavaScript measurement URL from supported third-party
4788	// verification providers (ComScore, DoubleVerify, IAS, Moat). HTML
4789	// script tags are not supported. This field is only supported in
4790	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
4791	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
4792	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4793	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4794	// `CREATIVE_TYPE_NATIVE_VIDEO`
4795	JsTrackerUrl string `json:"jsTrackerUrl,omitempty"`
4796
4797	// LineItemIds: Output only. The IDs of the line items this creative is
4798	// associated with. To associate a creative to a line item, use
4799	// LineItem.creative_ids instead.
4800	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
4801
4802	// MediaDuration: Output only. Media duration of the creative.
4803	// Applicable when creative_type is one of: * `CREATIVE_TYPE_VIDEO` *
4804	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4805	// `CREATIVE_TYPE_PUBLISHER_HOSTED`
4806	MediaDuration string `json:"mediaDuration,omitempty"`
4807
4808	// Mp3Audio: Output only. Indicates the third-party audio creative
4809	// supports MP3. Output only and only valid for third-party audio
4810	// creatives. Third-party audio creatives are creatives with following
4811	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4812	// following creative_type: * `CREATIVE_TYPE_AUDIO`
4813	Mp3Audio bool `json:"mp3Audio,omitempty"`
4814
4815	// Name: Output only. The resource name of the creative.
4816	Name string `json:"name,omitempty"`
4817
4818	// Notes: User notes for this creative. Must be UTF-8 encoded with a
4819	// length of no more than 20,000 characters.
4820	Notes string `json:"notes,omitempty"`
4821
4822	// ObaIcon: Specifies the OBA icon for a video creative. This field is
4823	// only supported in following creative_type: * `CREATIVE_TYPE_VIDEO`
4824	ObaIcon *ObaIcon `json:"obaIcon,omitempty"`
4825
4826	// OggAudio: Output only. Indicates the third-party audio creative
4827	// supports OGG. Output only and only valid for third-party audio
4828	// creatives. Third-party audio creatives are creatives with following
4829	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4830	// following creative_type: * `CREATIVE_TYPE_AUDIO`
4831	OggAudio bool `json:"oggAudio,omitempty"`
4832
4833	// ProgressOffset: Amount of time to play the video before counting a
4834	// view. This field is required when skippable is true. This field is
4835	// only supported for the following creative_type: *
4836	// `CREATIVE_TYPE_VIDEO`
4837	ProgressOffset *AudioVideoOffset `json:"progressOffset,omitempty"`
4838
4839	// RequireHtml5: Optional. Indicates that the creative relies on HTML5
4840	// to render properly. Optional and only valid for third-party tag
4841	// creatives. Third-party tag creatives are creatives with following
4842	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4843	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4844	// `CREATIVE_TYPE_EXPANDABLE`
4845	RequireHtml5 bool `json:"requireHtml5,omitempty"`
4846
4847	// RequireMraid: Optional. Indicates that the creative requires MRAID
4848	// (Mobile Rich Media Ad Interface Definitions system). Set this if the
4849	// creative relies on mobile gestures for interactivity, such as swiping
4850	// or tapping. Optional and only valid for third-party tag creatives.
4851	// Third-party tag creatives are creatives with following
4852	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4853	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4854	// `CREATIVE_TYPE_EXPANDABLE`
4855	RequireMraid bool `json:"requireMraid,omitempty"`
4856
4857	// RequirePingForAttribution: Optional. Indicates that the creative will
4858	// wait for a return ping for attribution. Only valid when using a
4859	// Campaign Manager 360 tracking ad with a third-party ad server
4860	// parameter and the ${DC_DBM_TOKEN} macro. Optional and only valid for
4861	// third-party tag creatives or third-party VAST tag creatives.
4862	// Third-party tag creatives are creatives with following
4863	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4864	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4865	// `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are
4866	// creatives with following hosting_source: *
4867	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
4868	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
4869	RequirePingForAttribution bool `json:"requirePingForAttribution,omitempty"`
4870
4871	// ReviewStatus: Output only. The current status of the creative review
4872	// process.
4873	ReviewStatus *ReviewStatusInfo `json:"reviewStatus,omitempty"`
4874
4875	// SkipOffset: Amount of time to play the video before the skip button
4876	// appears. This field is required when skippable is true. This field is
4877	// only supported for the following creative_type: *
4878	// `CREATIVE_TYPE_VIDEO`
4879	SkipOffset *AudioVideoOffset `json:"skipOffset,omitempty"`
4880
4881	// Skippable: Whether the user can choose to skip a video creative. This
4882	// field is only supported for the following creative_type: *
4883	// `CREATIVE_TYPE_VIDEO`
4884	Skippable bool `json:"skippable,omitempty"`
4885
4886	// ThirdPartyTag: Optional. The original third-party tag used for the
4887	// creative. Required and only valid for third-party tag creatives.
4888	// Third-party tag creatives are creatives with following
4889	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4890	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4891	// `CREATIVE_TYPE_EXPANDABLE`
4892	ThirdPartyTag string `json:"thirdPartyTag,omitempty"`
4893
4894	// ThirdPartyUrls: Tracking URLs from third parties to track
4895	// interactions with a video creative. This field is only supported for
4896	// the following creative_type: * `CREATIVE_TYPE_AUDIO` *
4897	// `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`
4898	ThirdPartyUrls []*ThirdPartyUrl `json:"thirdPartyUrls,omitempty"`
4899
4900	// TimerEvents: Timer custom events for a rich media creative. Timers
4901	// track the time during which a user views and interacts with a
4902	// specified part of a rich media creative. A creative can have multiple
4903	// timer events, each timed independently. Leave it empty or unset for
4904	// creatives containing image assets only.
4905	TimerEvents []*TimerEvent `json:"timerEvents,omitempty"`
4906
4907	// TrackerUrls: Tracking URLs for analytics providers or third-party ad
4908	// technology vendors. The URLs must start with https (except on
4909	// inventory that doesn't require SSL compliance). If using macros in
4910	// your URL, use only macros supported by Display & Video 360. Standard
4911	// URLs only, no IMG or SCRIPT tags. This field is only supported in
4912	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
4913	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
4914	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4915	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4916	// `CREATIVE_TYPE_NATIVE_VIDEO`
4917	TrackerUrls []string `json:"trackerUrls,omitempty"`
4918
4919	// Transcodes: Output only. Audio/Video transcodes. Display & Video 360
4920	// transcodes the main asset into a number of alternative versions that
4921	// use different file formats or have different properties (resolution,
4922	// audio bit rate, and video bit rate), each designed for specific video
4923	// players or bandwidths. These transcodes give a publisher's system
4924	// more options to choose from for each impression on your video and
4925	// ensures that the appropriate file serves based on the viewer’s
4926	// connection and screen size. This field is only supported in following
4927	// creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`
4928	// * `CREATIVE_TYPE_AUDIO`
4929	Transcodes []*Transcode `json:"transcodes,omitempty"`
4930
4931	// UniversalAdId: Optional. An optional creative identifier provided by
4932	// a registry that is unique across all platforms. Universal Ad ID is
4933	// part of the VAST 4.0 standard. It can be modified after the creative
4934	// is created. This field is only supported for the following
4935	// creative_type: * `CREATIVE_TYPE_VIDEO`
4936	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
4937
4938	// UpdateTime: Output only. The timestamp when the creative was last
4939	// updated. Assigned by the system.
4940	UpdateTime string `json:"updateTime,omitempty"`
4941
4942	// VastTagUrl: Optional. The URL of the VAST tag for a third-party VAST
4943	// tag creative. Required and only valid for third-party VAST tag
4944	// creatives. Third-party VAST tag creatives are creatives with
4945	// following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4946	// with following creative_type: * `CREATIVE_TYPE_AUDIO` *
4947	// `CREATIVE_TYPE_VIDEO`
4948	VastTagUrl string `json:"vastTagUrl,omitempty"`
4949
4950	// Vpaid: Output only. Indicates the third-party VAST tag creative
4951	// requires VPAID (Digital Video Player-Ad Interface). Output only and
4952	// only valid for third-party VAST tag creatives. Third-party VAST tag
4953	// creatives are creatives with following hosting_source: *
4954	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
4955	// `CREATIVE_TYPE_VIDEO`
4956	Vpaid bool `json:"vpaid,omitempty"`
4957
4958	// ServerResponse contains the HTTP response code and headers from the
4959	// server.
4960	googleapi.ServerResponse `json:"-"`
4961
4962	// ForceSendFields is a list of field names (e.g.
4963	// "AdditionalDimensions") to unconditionally include in API requests.
4964	// By default, fields with empty values are omitted from API requests.
4965	// However, any non-pointer, non-interface field appearing in
4966	// ForceSendFields will be sent to the server regardless of whether the
4967	// field is empty or not. This may be used to include empty fields in
4968	// Patch requests.
4969	ForceSendFields []string `json:"-"`
4970
4971	// NullFields is a list of field names (e.g. "AdditionalDimensions") to
4972	// include in API requests with the JSON null value. By default, fields
4973	// with empty values are omitted from API requests. However, any field
4974	// with an empty value appearing in NullFields will be sent to the
4975	// server as null. It is an error if a field in this list has a
4976	// non-empty value. This may be used to include null fields in Patch
4977	// requests.
4978	NullFields []string `json:"-"`
4979}
4980
4981func (s *Creative) MarshalJSON() ([]byte, error) {
4982	type NoMethod Creative
4983	raw := NoMethod(*s)
4984	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4985}
4986
4987// CreativeConfig: Creative requirements configuration for the inventory
4988// source.
4989type CreativeConfig struct {
4990	// CreativeType: The type of creative that can be assigned to the
4991	// inventory source.
4992	//
4993	// Possible values:
4994	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is
4995	// unknown in this version.
4996	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and
4997	// update methods are supported for this creative type if the
4998	// hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` *
4999	// `HOSTING_SOURCE_THIRD_PARTY`
5000	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
5001	// methods are supported for this creative type if the hosting_source is
5002	// `HOSTING_SOURCE_THIRD_PARTY`
5003	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods
5004	// are supported for this creative type if the hosting_source is one of
5005	// the following: * `HOSTING_SOURCE_HOSTED` *
5006	// `HOSTING_SOURCE_THIRD_PARTY`
5007	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers
5008	// with assets from advertiser. Create and update methods are supported
5009	// for this creative type if the hosting_source is
5010	// `HOSTING_SOURCE_HOSTED`
5011	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install
5012	// mobile creative (banner). Create and update methods are **not**
5013	// supported for this creative type.
5014	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create
5015	// and update methods are supported for this creative type if the
5016	// hosting_source is `HOSTING_SOURCE_HOSTED`
5017	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial
5018	// creative including both display and video. Create and update methods
5019	// are **not** supported for this creative type.
5020	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox
5021	// creative. Create and update methods are **not** supported for this
5022	// creative type.
5023	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative.
5024	// Create and update methods are supported for this creative type if the
5025	// hosting_source is `HOSTING_SOURCE_HOSTED`
5026	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app
5027	// install creative. Create and update methods are supported for this
5028	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
5029	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods
5030	// are supported for this creative type if the hosting_source is
5031	// `HOSTING_SOURCE_HOSTED`
5032	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative.
5033	// Create and update methods are **not** supported for this creative
5034	// type.
5035	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and
5036	// update methods are supported for this creative type if the
5037	// hosting_source is `HOSTING_SOURCE_HOSTED`
5038	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install
5039	// mobile video creative. Create and update methods are **not**
5040	// supported for this creative type.
5041	CreativeType string `json:"creativeType,omitempty"`
5042
5043	// DisplayCreativeConfig: The configuration for display creatives.
5044	// Applicable when creative_type is `CREATIVE_TYPE_STANDARD`.
5045	DisplayCreativeConfig *InventorySourceDisplayCreativeConfig `json:"displayCreativeConfig,omitempty"`
5046
5047	// VideoCreativeConfig: The configuration for video creatives.
5048	// Applicable when creative_type is `CREATIVE_TYPE_VIDEO`.
5049	VideoCreativeConfig *InventorySourceVideoCreativeConfig `json:"videoCreativeConfig,omitempty"`
5050
5051	// ForceSendFields is a list of field names (e.g. "CreativeType") to
5052	// unconditionally include in API requests. By default, fields with
5053	// empty values are omitted from API requests. However, any non-pointer,
5054	// non-interface field appearing in ForceSendFields will be sent to the
5055	// server regardless of whether the field is empty or not. This may be
5056	// used to include empty fields in Patch requests.
5057	ForceSendFields []string `json:"-"`
5058
5059	// NullFields is a list of field names (e.g. "CreativeType") to include
5060	// in API requests with the JSON null value. By default, fields with
5061	// empty values are omitted from API requests. However, any field with
5062	// an empty value appearing in NullFields will be sent to the server as
5063	// null. It is an error if a field in this list has a non-empty value.
5064	// This may be used to include null fields in Patch requests.
5065	NullFields []string `json:"-"`
5066}
5067
5068func (s *CreativeConfig) MarshalJSON() ([]byte, error) {
5069	type NoMethod CreativeConfig
5070	raw := NoMethod(*s)
5071	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5072}
5073
5074// CustomBiddingAlgorithm: A single custom bidding algorithm.
5075type CustomBiddingAlgorithm struct {
5076	// AdvertiserId: Immutable. The unique ID of the advertiser that owns
5077	// the custom bidding algorithm.
5078	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5079
5080	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom
5081	// bidding algorithm. Assigned by the system.
5082	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
5083
5084	// CustomBiddingAlgorithmType: Required. Immutable. The type of custom
5085	// bidding algorithm.
5086	//
5087	// Possible values:
5088	//   "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED" - Algorithm type is not
5089	// specified or is unknown in this version.
5090	//   "SCRIPT_BASED" - Algorithm generated through customer-uploaded
5091	// custom bidding script files.
5092	//   "ADS_DATA_HUB_BASED" - Algorithm created through Ads Data Hub
5093	// product.
5094	CustomBiddingAlgorithmType string `json:"customBiddingAlgorithmType,omitempty"`
5095
5096	// DisplayName: Required. The display name of the custom bidding
5097	// algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
5098	DisplayName string `json:"displayName,omitempty"`
5099
5100	// EntityStatus: Controls whether or not the custom bidding algorithm
5101	// can be used as a bidding strategy. Accepted values are: *
5102	// `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
5103	//
5104	// Possible values:
5105	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
5106	// specified or is unknown in this version.
5107	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
5108	// budget.
5109	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
5110	// budget spending are disabled. An entity can be deleted after
5111	// archived. Deleted entities cannot be retrieved.
5112	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
5113	// budget spending are disabled.
5114	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
5115	// the entity.
5116	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
5117	// for deletion.
5118	EntityStatus string `json:"entityStatus,omitempty"`
5119
5120	// Name: Output only. The resource name of the custom bidding algorithm.
5121	Name string `json:"name,omitempty"`
5122
5123	// PartnerId: Immutable. The unique ID of the partner that owns the
5124	// custom bidding algorithm.
5125	PartnerId int64 `json:"partnerId,omitempty,string"`
5126
5127	// ServerResponse contains the HTTP response code and headers from the
5128	// server.
5129	googleapi.ServerResponse `json:"-"`
5130
5131	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
5132	// unconditionally include in API requests. By default, fields with
5133	// empty values are omitted from API requests. However, any non-pointer,
5134	// non-interface field appearing in ForceSendFields will be sent to the
5135	// server regardless of whether the field is empty or not. This may be
5136	// used to include empty fields in Patch requests.
5137	ForceSendFields []string `json:"-"`
5138
5139	// NullFields is a list of field names (e.g. "AdvertiserId") to include
5140	// in API requests with the JSON null value. By default, fields with
5141	// empty values are omitted from API requests. However, any field with
5142	// an empty value appearing in NullFields will be sent to the server as
5143	// null. It is an error if a field in this list has a non-empty value.
5144	// This may be used to include null fields in Patch requests.
5145	NullFields []string `json:"-"`
5146}
5147
5148func (s *CustomBiddingAlgorithm) MarshalJSON() ([]byte, error) {
5149	type NoMethod CustomBiddingAlgorithm
5150	raw := NoMethod(*s)
5151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5152}
5153
5154// CustomList: Describes a custom list entity, such as a custom affinity
5155// or custom intent audience list.
5156type CustomList struct {
5157	// CustomListId: Output only. The unique ID of the custom list. Assigned
5158	// by the system.
5159	CustomListId int64 `json:"customListId,omitempty,string"`
5160
5161	// DisplayName: Output only. The display name of the custom list. .
5162	DisplayName string `json:"displayName,omitempty"`
5163
5164	// Name: Output only. The resource name of the custom list.
5165	Name string `json:"name,omitempty"`
5166
5167	// ServerResponse contains the HTTP response code and headers from the
5168	// server.
5169	googleapi.ServerResponse `json:"-"`
5170
5171	// ForceSendFields is a list of field names (e.g. "CustomListId") to
5172	// unconditionally include in API requests. By default, fields with
5173	// empty values are omitted from API requests. However, any non-pointer,
5174	// non-interface field appearing in ForceSendFields will be sent to the
5175	// server regardless of whether the field is empty or not. This may be
5176	// used to include empty fields in Patch requests.
5177	ForceSendFields []string `json:"-"`
5178
5179	// NullFields is a list of field names (e.g. "CustomListId") to include
5180	// in API requests with the JSON null value. By default, fields with
5181	// empty values are omitted from API requests. However, any field with
5182	// an empty value appearing in NullFields will be sent to the server as
5183	// null. It is an error if a field in this list has a non-empty value.
5184	// This may be used to include null fields in Patch requests.
5185	NullFields []string `json:"-"`
5186}
5187
5188func (s *CustomList) MarshalJSON() ([]byte, error) {
5189	type NoMethod CustomList
5190	raw := NoMethod(*s)
5191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5192}
5193
5194// CustomListGroup: Details of custom list group. All custom list
5195// targeting settings are logically ‘OR’ of each other.
5196type CustomListGroup struct {
5197	// Settings: Required. All custom list targeting settings in custom list
5198	// group. Repeated settings with same id will be ignored.
5199	Settings []*CustomListTargetingSetting `json:"settings,omitempty"`
5200
5201	// ForceSendFields is a list of field names (e.g. "Settings") to
5202	// unconditionally include in API requests. By default, fields with
5203	// empty values are omitted from API requests. However, any non-pointer,
5204	// non-interface field appearing in ForceSendFields will be sent to the
5205	// server regardless of whether the field is empty or not. This may be
5206	// used to include empty fields in Patch requests.
5207	ForceSendFields []string `json:"-"`
5208
5209	// NullFields is a list of field names (e.g. "Settings") to include in
5210	// API requests with the JSON null value. By default, fields with empty
5211	// values are omitted from API requests. However, any field with an
5212	// empty value appearing in NullFields will be sent to the server as
5213	// null. It is an error if a field in this list has a non-empty value.
5214	// This may be used to include null fields in Patch requests.
5215	NullFields []string `json:"-"`
5216}
5217
5218func (s *CustomListGroup) MarshalJSON() ([]byte, error) {
5219	type NoMethod CustomListGroup
5220	raw := NoMethod(*s)
5221	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5222}
5223
5224// CustomListTargetingSetting: Details of custom list targeting setting.
5225type CustomListTargetingSetting struct {
5226	// CustomListId: Required. Custom id of custom list targeting setting.
5227	// This id is custom_list_id.
5228	CustomListId int64 `json:"customListId,omitempty,string"`
5229
5230	// ForceSendFields is a list of field names (e.g. "CustomListId") to
5231	// unconditionally include in API requests. By default, fields with
5232	// empty values are omitted from API requests. However, any non-pointer,
5233	// non-interface field appearing in ForceSendFields will be sent to the
5234	// server regardless of whether the field is empty or not. This may be
5235	// used to include empty fields in Patch requests.
5236	ForceSendFields []string `json:"-"`
5237
5238	// NullFields is a list of field names (e.g. "CustomListId") to include
5239	// in API requests with the JSON null value. By default, fields with
5240	// empty values are omitted from API requests. However, any field with
5241	// an empty value appearing in NullFields will be sent to the server as
5242	// null. It is an error if a field in this list has a non-empty value.
5243	// This may be used to include null fields in Patch requests.
5244	NullFields []string `json:"-"`
5245}
5246
5247func (s *CustomListTargetingSetting) MarshalJSON() ([]byte, error) {
5248	type NoMethod CustomListTargetingSetting
5249	raw := NoMethod(*s)
5250	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5251}
5252
5253// Date: Represents a whole or partial calendar date, such as a
5254// birthday. The time of day and time zone are either specified
5255// elsewhere or are insignificant. The date is relative to the Gregorian
5256// Calendar. This can represent one of the following: * A full date,
5257// with non-zero year, month, and day values * A month and day value,
5258// with a zero year, such as an anniversary * A year on its own, with
5259// zero month and day values * A year and month value, with a zero day,
5260// such as a credit card expiration date Related types are
5261// google.type.TimeOfDay and `google.protobuf.Timestamp`.
5262type Date struct {
5263	// Day: Day of a month. Must be from 1 to 31 and valid for the year and
5264	// month, or 0 to specify a year by itself or a year and month where the
5265	// day isn't significant.
5266	Day int64 `json:"day,omitempty"`
5267
5268	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year
5269	// without a month and day.
5270	Month int64 `json:"month,omitempty"`
5271
5272	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a
5273	// date without a year.
5274	Year int64 `json:"year,omitempty"`
5275
5276	// ForceSendFields is a list of field names (e.g. "Day") to
5277	// unconditionally include in API requests. By default, fields with
5278	// empty values are omitted from API requests. However, any non-pointer,
5279	// non-interface field appearing in ForceSendFields will be sent to the
5280	// server regardless of whether the field is empty or not. This may be
5281	// used to include empty fields in Patch requests.
5282	ForceSendFields []string `json:"-"`
5283
5284	// NullFields is a list of field names (e.g. "Day") to include in API
5285	// requests with the JSON null value. By default, fields with empty
5286	// values are omitted from API requests. However, any field with an
5287	// empty value appearing in NullFields will be sent to the server as
5288	// null. It is an error if a field in this list has a non-empty value.
5289	// This may be used to include null fields in Patch requests.
5290	NullFields []string `json:"-"`
5291}
5292
5293func (s *Date) MarshalJSON() ([]byte, error) {
5294	type NoMethod Date
5295	raw := NoMethod(*s)
5296	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5297}
5298
5299// DateRange: A date range.
5300type DateRange struct {
5301	// EndDate: The upper bound of the date range, inclusive. Must specify a
5302	// positive value for `year`, `month`, and `day`.
5303	EndDate *Date `json:"endDate,omitempty"`
5304
5305	// StartDate: The lower bound of the date range, inclusive. Must specify
5306	// a positive value for `year`, `month`, and `day`.
5307	StartDate *Date `json:"startDate,omitempty"`
5308
5309	// ForceSendFields is a list of field names (e.g. "EndDate") to
5310	// unconditionally include in API requests. By default, fields with
5311	// empty values are omitted from API requests. However, any non-pointer,
5312	// non-interface field appearing in ForceSendFields will be sent to the
5313	// server regardless of whether the field is empty or not. This may be
5314	// used to include empty fields in Patch requests.
5315	ForceSendFields []string `json:"-"`
5316
5317	// NullFields is a list of field names (e.g. "EndDate") to include in
5318	// API requests with the JSON null value. By default, fields with empty
5319	// values are omitted from API requests. However, any field with an
5320	// empty value appearing in NullFields will be sent to the server as
5321	// null. It is an error if a field in this list has a non-empty value.
5322	// This may be used to include null fields in Patch requests.
5323	NullFields []string `json:"-"`
5324}
5325
5326func (s *DateRange) MarshalJSON() ([]byte, error) {
5327	type NoMethod DateRange
5328	raw := NoMethod(*s)
5329	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5330}
5331
5332// DayAndTimeAssignedTargetingOptionDetails: Representation of a segment
5333// of time defined on a specific day of the week and with a start and
5334// end time. The time represented by `start_hour` must be before the
5335// time represented by `end_hour`.
5336type DayAndTimeAssignedTargetingOptionDetails struct {
5337	// DayOfWeek: Required. The day of the week for this day and time
5338	// targeting setting.
5339	//
5340	// Possible values:
5341	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
5342	//   "MONDAY" - Monday
5343	//   "TUESDAY" - Tuesday
5344	//   "WEDNESDAY" - Wednesday
5345	//   "THURSDAY" - Thursday
5346	//   "FRIDAY" - Friday
5347	//   "SATURDAY" - Saturday
5348	//   "SUNDAY" - Sunday
5349	DayOfWeek string `json:"dayOfWeek,omitempty"`
5350
5351	// EndHour: Required. The end hour for day and time targeting. Must be
5352	// between 1 (1 hour after start of day) and 24 (end of day).
5353	EndHour int64 `json:"endHour,omitempty"`
5354
5355	// StartHour: Required. The start hour for day and time targeting. Must
5356	// be between 0 (start of day) and 23 (1 hour before end of day).
5357	StartHour int64 `json:"startHour,omitempty"`
5358
5359	// TimeZoneResolution: Required. The mechanism used to determine which
5360	// timezone to use for this day and time targeting setting.
5361	//
5362	// Possible values:
5363	//   "TIME_ZONE_RESOLUTION_UNSPECIFIED" - Time zone resolution is either
5364	// unspecific or unknown.
5365	//   "TIME_ZONE_RESOLUTION_END_USER" - Times are resolved in the time
5366	// zone of the user that saw the ad.
5367	//   "TIME_ZONE_RESOLUTION_ADVERTISER" - Times are resolved in the time
5368	// zone of the advertiser that served the ad.
5369	TimeZoneResolution string `json:"timeZoneResolution,omitempty"`
5370
5371	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
5372	// unconditionally include in API requests. By default, fields with
5373	// empty values are omitted from API requests. However, any non-pointer,
5374	// non-interface field appearing in ForceSendFields will be sent to the
5375	// server regardless of whether the field is empty or not. This may be
5376	// used to include empty fields in Patch requests.
5377	ForceSendFields []string `json:"-"`
5378
5379	// NullFields is a list of field names (e.g. "DayOfWeek") to include in
5380	// API requests with the JSON null value. By default, fields with empty
5381	// values are omitted from API requests. However, any field with an
5382	// empty value appearing in NullFields will be sent to the server as
5383	// null. It is an error if a field in this list has a non-empty value.
5384	// This may be used to include null fields in Patch requests.
5385	NullFields []string `json:"-"`
5386}
5387
5388func (s *DayAndTimeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5389	type NoMethod DayAndTimeAssignedTargetingOptionDetails
5390	raw := NoMethod(*s)
5391	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5392}
5393
5394// DeactivateManualTriggerRequest: Request message for
5395// ManualTriggerService.DeactivateManualTrigger.
5396type DeactivateManualTriggerRequest struct {
5397}
5398
5399// DeleteAssignedTargetingOptionsRequest: A request listing which
5400// assigned targeting options of a given targeting type should be
5401// deleted.
5402type DeleteAssignedTargetingOptionsRequest struct {
5403	// AssignedTargetingOptionIds: Required. The assigned targeting option
5404	// IDs to delete.
5405	AssignedTargetingOptionIds []string `json:"assignedTargetingOptionIds,omitempty"`
5406
5407	// TargetingType: Required. Identifies the type of this assigned
5408	// targeting option.
5409	//
5410	// Possible values:
5411	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
5412	// specified or is unknown in this version.
5413	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
5414	// related websites or apps).
5415	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
5416	// example, education or puzzle games).
5417	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
5418	// Birds).
5419	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
5420	// quora.com).
5421	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
5422	// period on a specific day.
5423	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
5424	// (for example, 18-24).
5425	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
5426	// specified regions on a regional location list.
5427	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
5428	// specified points of interest on a proximity location list.
5429	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
5430	// example, female or male).
5431	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
5432	// size for video ads.
5433	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
5434	// content for video ads.
5435	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
5436	// parental status (for example, parent or not a parent).
5437	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
5438	// ads in a specific content instream position (for example, pre-roll,
5439	// mid-roll, or post-roll).
5440	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
5441	// specific content outstream position.
5442	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
5443	// (for example, tablet or connected TV).
5444	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
5445	// groups of audiences. Singleton field, at most one can exist on a
5446	// single Lineitem at a time.
5447	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
5448	// example, Chrome).
5449	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
5450	// household income range (for example, top 10%).
5451	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
5452	// screen position.
5453	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
5454	// third party verification (for example, IAS or DoubleVerify).
5455	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
5456	// by specific digital content label ratings (for example, DL-MA:
5457	// suitable only for mature audiences).
5458	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
5459	// content by sensitive categories (for example, adult).
5460	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
5461	// (for example, web or app).
5462	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
5463	// carrier or internet service provider (ISP) (for example, Comcast or
5464	// Orange).
5465	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
5466	// operating system (for example, macOS).
5467	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
5468	// device make or model (for example, Roku or Samsung).
5469	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
5470	// example, dog or retriever).
5471	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
5472	// negative keyword list.
5473	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
5474	// (for example, 80% viewable).
5475	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
5476	// category (for example, arts & entertainment).
5477	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
5478	// specific deals and auction packages.
5479	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
5480	// example, English or Japanese).
5481	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
5482	// authorized sellers.
5483	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
5484	// location (for example, a city or state).
5485	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
5486	// a group of deals and auction packages.
5487	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
5488	// exchanges.
5489	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
5490	// sub-exchanges.
5491	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
5492	// native content position.
5493	TargetingType string `json:"targetingType,omitempty"`
5494
5495	// ForceSendFields is a list of field names (e.g.
5496	// "AssignedTargetingOptionIds") to unconditionally include in API
5497	// requests. By default, fields with empty values are omitted from API
5498	// requests. However, any non-pointer, non-interface field appearing in
5499	// ForceSendFields will be sent to the server regardless of whether the
5500	// field is empty or not. This may be used to include empty fields in
5501	// Patch requests.
5502	ForceSendFields []string `json:"-"`
5503
5504	// NullFields is a list of field names (e.g.
5505	// "AssignedTargetingOptionIds") to include in API requests with the
5506	// JSON null value. By default, fields with empty values are omitted
5507	// from API requests. However, any field with an empty value appearing
5508	// in NullFields will be sent to the server as null. It is an error if a
5509	// field in this list has a non-empty value. This may be used to include
5510	// null fields in Patch requests.
5511	NullFields []string `json:"-"`
5512}
5513
5514func (s *DeleteAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
5515	type NoMethod DeleteAssignedTargetingOptionsRequest
5516	raw := NoMethod(*s)
5517	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5518}
5519
5520// DeviceMakeModelAssignedTargetingOptionDetails: Assigned device make
5521// and model targeting option details. This will be populated in the
5522// device_make_model_details field when targeting_type is
5523// `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5524type DeviceMakeModelAssignedTargetingOptionDetails struct {
5525	// DisplayName: Output only. The display name of the device make and
5526	// model.
5527	DisplayName string `json:"displayName,omitempty"`
5528
5529	// Negative: Indicates if this option is being negatively targeted.
5530	Negative bool `json:"negative,omitempty"`
5531
5532	// TargetingOptionId: Required. The targeting_option_id field when
5533	// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5534	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5535
5536	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5537	// unconditionally include in API requests. By default, fields with
5538	// empty values are omitted from API requests. However, any non-pointer,
5539	// non-interface field appearing in ForceSendFields will be sent to the
5540	// server regardless of whether the field is empty or not. This may be
5541	// used to include empty fields in Patch requests.
5542	ForceSendFields []string `json:"-"`
5543
5544	// NullFields is a list of field names (e.g. "DisplayName") to include
5545	// in API requests with the JSON null value. By default, fields with
5546	// empty values are omitted from API requests. However, any field with
5547	// an empty value appearing in NullFields will be sent to the server as
5548	// null. It is an error if a field in this list has a non-empty value.
5549	// This may be used to include null fields in Patch requests.
5550	NullFields []string `json:"-"`
5551}
5552
5553func (s *DeviceMakeModelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5554	type NoMethod DeviceMakeModelAssignedTargetingOptionDetails
5555	raw := NoMethod(*s)
5556	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5557}
5558
5559// DeviceMakeModelTargetingOptionDetails: Represents a targetable device
5560// make and model. This will be populated in the
5561// device_make_model_details field of a TargetingOption when
5562// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5563type DeviceMakeModelTargetingOptionDetails struct {
5564	// DisplayName: Output only. The display name of the device make and
5565	// model.
5566	DisplayName string `json:"displayName,omitempty"`
5567
5568	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5569	// unconditionally include in API requests. By default, fields with
5570	// empty values are omitted from API requests. However, any non-pointer,
5571	// non-interface field appearing in ForceSendFields will be sent to the
5572	// server regardless of whether the field is empty or not. This may be
5573	// used to include empty fields in Patch requests.
5574	ForceSendFields []string `json:"-"`
5575
5576	// NullFields is a list of field names (e.g. "DisplayName") to include
5577	// in API requests with the JSON null value. By default, fields with
5578	// empty values are omitted from API requests. However, any field with
5579	// an empty value appearing in NullFields will be sent to the server as
5580	// null. It is an error if a field in this list has a non-empty value.
5581	// This may be used to include null fields in Patch requests.
5582	NullFields []string `json:"-"`
5583}
5584
5585func (s *DeviceMakeModelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5586	type NoMethod DeviceMakeModelTargetingOptionDetails
5587	raw := NoMethod(*s)
5588	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5589}
5590
5591// DeviceTypeAssignedTargetingOptionDetails: Targeting details for
5592// device type. This will be populated in the details field of an
5593// AssignedTargetingOption when targeting_type is
5594// `TARGETING_TYPE_DEVICE_TYPE`.
5595type DeviceTypeAssignedTargetingOptionDetails struct {
5596	// DeviceType: Output only. The display name of the device type.
5597	//
5598	// Possible values:
5599	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
5600	// specified in this version. This enum is a placeholder for default
5601	// value and does not represent a real device type option.
5602	//   "DEVICE_TYPE_COMPUTER" - The device type is computer.
5603	//   "DEVICE_TYPE_CONNECTED_TV" - The device type is connected TV.
5604	//   "DEVICE_TYPE_SMART_PHONE" - The device type is smart phone..
5605	//   "DEVICE_TYPE_TABLET" - The device type is tablet.
5606	DeviceType string `json:"deviceType,omitempty"`
5607
5608	// TargetingOptionId: Required. ID of the device type.
5609	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5610
5611	// ForceSendFields is a list of field names (e.g. "DeviceType") to
5612	// unconditionally include in API requests. By default, fields with
5613	// empty values are omitted from API requests. However, any non-pointer,
5614	// non-interface field appearing in ForceSendFields will be sent to the
5615	// server regardless of whether the field is empty or not. This may be
5616	// used to include empty fields in Patch requests.
5617	ForceSendFields []string `json:"-"`
5618
5619	// NullFields is a list of field names (e.g. "DeviceType") to include in
5620	// API requests with the JSON null value. By default, fields with empty
5621	// values are omitted from API requests. However, any field with an
5622	// empty value appearing in NullFields will be sent to the server as
5623	// null. It is an error if a field in this list has a non-empty value.
5624	// This may be used to include null fields in Patch requests.
5625	NullFields []string `json:"-"`
5626}
5627
5628func (s *DeviceTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5629	type NoMethod DeviceTypeAssignedTargetingOptionDetails
5630	raw := NoMethod(*s)
5631	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5632}
5633
5634// DeviceTypeTargetingOptionDetails: Represents a targetable device
5635// type. This will be populated in the device_type_details field of a
5636// TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
5637type DeviceTypeTargetingOptionDetails struct {
5638	// DeviceType: Output only. The device type that is used to be targeted.
5639	//
5640	// Possible values:
5641	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
5642	// specified in this version. This enum is a placeholder for default
5643	// value and does not represent a real device type option.
5644	//   "DEVICE_TYPE_COMPUTER" - The device type is computer.
5645	//   "DEVICE_TYPE_CONNECTED_TV" - The device type is connected TV.
5646	//   "DEVICE_TYPE_SMART_PHONE" - The device type is smart phone..
5647	//   "DEVICE_TYPE_TABLET" - The device type is tablet.
5648	DeviceType string `json:"deviceType,omitempty"`
5649
5650	// ForceSendFields is a list of field names (e.g. "DeviceType") to
5651	// unconditionally include in API requests. By default, fields with
5652	// empty values are omitted from API requests. However, any non-pointer,
5653	// non-interface field appearing in ForceSendFields will be sent to the
5654	// server regardless of whether the field is empty or not. This may be
5655	// used to include empty fields in Patch requests.
5656	ForceSendFields []string `json:"-"`
5657
5658	// NullFields is a list of field names (e.g. "DeviceType") to include in
5659	// API requests with the JSON null value. By default, fields with empty
5660	// values are omitted from API requests. However, any field with an
5661	// empty value appearing in NullFields will be sent to the server as
5662	// null. It is an error if a field in this list has a non-empty value.
5663	// This may be used to include null fields in Patch requests.
5664	NullFields []string `json:"-"`
5665}
5666
5667func (s *DeviceTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5668	type NoMethod DeviceTypeTargetingOptionDetails
5669	raw := NoMethod(*s)
5670	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5671}
5672
5673// DigitalContentLabelAssignedTargetingOptionDetails: Targeting details
5674// for digital content label. This will be populated in the details
5675// field of an AssignedTargetingOption when targeting_type is
5676// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
5677type DigitalContentLabelAssignedTargetingOptionDetails struct {
5678	// ContentRatingTier: Output only. The display name of the digital
5679	// content label rating tier.
5680	//
5681	// Possible values:
5682	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified
5683	// in this version. This enum is a place holder for a default value and
5684	// does not represent a real content rating.
5685	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
5686	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general
5687	// audiences.
5688	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
5689	// audiences with parental guidance.
5690	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
5691	// audiences.
5692	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature
5693	// audiences.
5694	ContentRatingTier string `json:"contentRatingTier,omitempty"`
5695
5696	// ExcludedTargetingOptionId: Required. ID of the digital content label
5697	// to be EXCLUDED.
5698	ExcludedTargetingOptionId string `json:"excludedTargetingOptionId,omitempty"`
5699
5700	// ForceSendFields is a list of field names (e.g. "ContentRatingTier")
5701	// to unconditionally include in API requests. By default, fields with
5702	// empty values are omitted from API requests. However, any non-pointer,
5703	// non-interface field appearing in ForceSendFields will be sent to the
5704	// server regardless of whether the field is empty or not. This may be
5705	// used to include empty fields in Patch requests.
5706	ForceSendFields []string `json:"-"`
5707
5708	// NullFields is a list of field names (e.g. "ContentRatingTier") to
5709	// include in API requests with the JSON null value. By default, fields
5710	// with empty values are omitted from API requests. However, any field
5711	// with an empty value appearing in NullFields will be sent to the
5712	// server as null. It is an error if a field in this list has a
5713	// non-empty value. This may be used to include null fields in Patch
5714	// requests.
5715	NullFields []string `json:"-"`
5716}
5717
5718func (s *DigitalContentLabelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5719	type NoMethod DigitalContentLabelAssignedTargetingOptionDetails
5720	raw := NoMethod(*s)
5721	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5722}
5723
5724// DigitalContentLabelTargetingOptionDetails: Represents a targetable
5725// digital content label rating tier. This will be populated in the
5726// digital_content_label_details field of the TargetingOption when
5727// targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
5728type DigitalContentLabelTargetingOptionDetails struct {
5729	// ContentRatingTier: Output only. An enum for the content label brand
5730	// safety tiers.
5731	//
5732	// Possible values:
5733	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified
5734	// in this version. This enum is a place holder for a default value and
5735	// does not represent a real content rating.
5736	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
5737	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general
5738	// audiences.
5739	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
5740	// audiences with parental guidance.
5741	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
5742	// audiences.
5743	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature
5744	// audiences.
5745	ContentRatingTier string `json:"contentRatingTier,omitempty"`
5746
5747	// ForceSendFields is a list of field names (e.g. "ContentRatingTier")
5748	// to unconditionally include in API requests. By default, fields with
5749	// empty values are omitted from API requests. However, any non-pointer,
5750	// non-interface field appearing in ForceSendFields will be sent to the
5751	// server regardless of whether the field is empty or not. This may be
5752	// used to include empty fields in Patch requests.
5753	ForceSendFields []string `json:"-"`
5754
5755	// NullFields is a list of field names (e.g. "ContentRatingTier") to
5756	// include in API requests with the JSON null value. By default, fields
5757	// with empty values are omitted from API requests. However, any field
5758	// with an empty value appearing in NullFields will be sent to the
5759	// server as null. It is an error if a field in this list has a
5760	// non-empty value. This may be used to include null fields in Patch
5761	// requests.
5762	NullFields []string `json:"-"`
5763}
5764
5765func (s *DigitalContentLabelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5766	type NoMethod DigitalContentLabelTargetingOptionDetails
5767	raw := NoMethod(*s)
5768	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5769}
5770
5771// Dimensions: Dimensions.
5772type Dimensions struct {
5773	// HeightPixels: The height in pixels.
5774	HeightPixels int64 `json:"heightPixels,omitempty"`
5775
5776	// WidthPixels: The width in pixels.
5777	WidthPixels int64 `json:"widthPixels,omitempty"`
5778
5779	// ForceSendFields is a list of field names (e.g. "HeightPixels") to
5780	// unconditionally include in API requests. By default, fields with
5781	// empty values are omitted from API requests. However, any non-pointer,
5782	// non-interface field appearing in ForceSendFields will be sent to the
5783	// server regardless of whether the field is empty or not. This may be
5784	// used to include empty fields in Patch requests.
5785	ForceSendFields []string `json:"-"`
5786
5787	// NullFields is a list of field names (e.g. "HeightPixels") to include
5788	// in API requests with the JSON null value. By default, fields with
5789	// empty values are omitted from API requests. However, any field with
5790	// an empty value appearing in NullFields will be sent to the server as
5791	// null. It is an error if a field in this list has a non-empty value.
5792	// This may be used to include null fields in Patch requests.
5793	NullFields []string `json:"-"`
5794}
5795
5796func (s *Dimensions) MarshalJSON() ([]byte, error) {
5797	type NoMethod Dimensions
5798	raw := NoMethod(*s)
5799	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5800}
5801
5802// DoubleVerify: Details of DoubleVerify settings.
5803type DoubleVerify struct {
5804	// AppStarRating: Avoid bidding on apps with the star ratings.
5805	AppStarRating *DoubleVerifyAppStarRating `json:"appStarRating,omitempty"`
5806
5807	// AvoidedAgeRatings: Avoid bidding on apps with the age rating.
5808	//
5809	// Possible values:
5810	//   "AGE_RATING_UNSPECIFIED" - This enum is only a placeholder and it
5811	// doesn't specify any age rating options.
5812	//   "APP_AGE_RATE_UNKNOWN" - Apps with unknown age rating.
5813	//   "APP_AGE_RATE_4_PLUS" - Apps rated for Everyone (4+).
5814	//   "APP_AGE_RATE_9_PLUS" - Apps rated for Everyone (9+).
5815	//   "APP_AGE_RATE_12_PLUS" - Apps rated for Teens (12+).
5816	//   "APP_AGE_RATE_17_PLUS" - Apps rated for Mature (17+).
5817	//   "APP_AGE_RATE_18_PLUS" - Apps rated for Adults Only (18+).
5818	AvoidedAgeRatings []string `json:"avoidedAgeRatings,omitempty"`
5819
5820	// BrandSafetyCategories: DV Brand Safety Controls.
5821	BrandSafetyCategories *DoubleVerifyBrandSafetyCategories `json:"brandSafetyCategories,omitempty"`
5822
5823	// CustomSegmentId: The custom segment ID provided by DoubleVerify. The
5824	// ID must start with "51" and consist of eight digits. Custom segment
5825	// ID cannot be specified along with any of the following fields: *
5826	// brand_safety_categories * avoided_age_ratings * app_star_rating *
5827	// fraud_invalid_traffic
5828	CustomSegmentId int64 `json:"customSegmentId,omitempty,string"`
5829
5830	// DisplayViewability: Display viewability settings (applicable to
5831	// display line items only).
5832	DisplayViewability *DoubleVerifyDisplayViewability `json:"displayViewability,omitempty"`
5833
5834	// FraudInvalidTraffic: Avoid Sites and Apps with historical Fraud & IVT
5835	// Rates.
5836	FraudInvalidTraffic *DoubleVerifyFraudInvalidTraffic `json:"fraudInvalidTraffic,omitempty"`
5837
5838	// VideoViewability: Video viewability settings (applicable to video
5839	// line items only).
5840	VideoViewability *DoubleVerifyVideoViewability `json:"videoViewability,omitempty"`
5841
5842	// ForceSendFields is a list of field names (e.g. "AppStarRating") to
5843	// unconditionally include in API requests. By default, fields with
5844	// empty values are omitted from API requests. However, any non-pointer,
5845	// non-interface field appearing in ForceSendFields will be sent to the
5846	// server regardless of whether the field is empty or not. This may be
5847	// used to include empty fields in Patch requests.
5848	ForceSendFields []string `json:"-"`
5849
5850	// NullFields is a list of field names (e.g. "AppStarRating") to include
5851	// in API requests with the JSON null value. By default, fields with
5852	// empty values are omitted from API requests. However, any field with
5853	// an empty value appearing in NullFields will be sent to the server as
5854	// null. It is an error if a field in this list has a non-empty value.
5855	// This may be used to include null fields in Patch requests.
5856	NullFields []string `json:"-"`
5857}
5858
5859func (s *DoubleVerify) MarshalJSON() ([]byte, error) {
5860	type NoMethod DoubleVerify
5861	raw := NoMethod(*s)
5862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5863}
5864
5865// DoubleVerifyAppStarRating: Details of DoubleVerify star ratings
5866// settings.
5867type DoubleVerifyAppStarRating struct {
5868	// AvoidInsufficientStarRating: Avoid bidding on apps with insufficient
5869	// star ratings.
5870	AvoidInsufficientStarRating bool `json:"avoidInsufficientStarRating,omitempty"`
5871
5872	// AvoidedStarRating: Avoid bidding on apps with the star ratings.
5873	//
5874	// Possible values:
5875	//   "APP_STAR_RATE_UNSPECIFIED" - This enum is only a placeholder and
5876	// it doesn't specify any app star rating options.
5877	//   "APP_STAR_RATE_1_POINT_5_LESS" - Official Apps with rating < 1.5
5878	// Stars.
5879	//   "APP_STAR_RATE_2_LESS" - Official Apps with rating < 2 Stars.
5880	//   "APP_STAR_RATE_2_POINT_5_LESS" - Official Apps with rating < 2.5
5881	// Stars.
5882	//   "APP_STAR_RATE_3_LESS" - Official Apps with rating < 3 Stars.
5883	//   "APP_STAR_RATE_3_POINT_5_LESS" - Official Apps with rating < 3.5
5884	// Stars.
5885	//   "APP_STAR_RATE_4_LESS" - Official Apps with rating < 4 Stars.
5886	//   "APP_STAR_RATE_4_POINT_5_LESS" - Official Apps with rating < 4.5
5887	// Stars.
5888	AvoidedStarRating string `json:"avoidedStarRating,omitempty"`
5889
5890	// ForceSendFields is a list of field names (e.g.
5891	// "AvoidInsufficientStarRating") to unconditionally include in API
5892	// requests. By default, fields with empty values are omitted from API
5893	// requests. However, any non-pointer, non-interface field appearing in
5894	// ForceSendFields will be sent to the server regardless of whether the
5895	// field is empty or not. This may be used to include empty fields in
5896	// Patch requests.
5897	ForceSendFields []string `json:"-"`
5898
5899	// NullFields is a list of field names (e.g.
5900	// "AvoidInsufficientStarRating") to include in API requests with the
5901	// JSON null value. By default, fields with empty values are omitted
5902	// from API requests. However, any field with an empty value appearing
5903	// in NullFields will be sent to the server as null. It is an error if a
5904	// field in this list has a non-empty value. This may be used to include
5905	// null fields in Patch requests.
5906	NullFields []string `json:"-"`
5907}
5908
5909func (s *DoubleVerifyAppStarRating) MarshalJSON() ([]byte, error) {
5910	type NoMethod DoubleVerifyAppStarRating
5911	raw := NoMethod(*s)
5912	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5913}
5914
5915// DoubleVerifyBrandSafetyCategories: Settings for brand safety
5916// controls.
5917type DoubleVerifyBrandSafetyCategories struct {
5918	// AvoidUnknownBrandSafetyCategory: Unknown or unrateable.
5919	AvoidUnknownBrandSafetyCategory bool `json:"avoidUnknownBrandSafetyCategory,omitempty"`
5920
5921	// AvoidedHighSeverityCategories: Brand safety high severity avoidance
5922	// categories.
5923	//
5924	// Possible values:
5925	//   "HIGHER_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and
5926	// it doesn't specify any high severity categories.
5927	//   "ADULT_CONTENT_PORNOGRAPHY" - Adult Content: Pornography, Mature
5928	// Topics & Nudity.
5929	//   "COPYRIGHT_INFRINGEMENT" - Copyright Infringement.
5930	//   "SUBSTANCE_ABUSE" - Drugs/Alcohol/Controlled Substances: Substance
5931	// Abuse.
5932	//   "GRAPHIC_VIOLENCE_WEAPONS" - Extreme Graphic/Explicit
5933	// Violence/Weapons.
5934	//   "HATE_PROFANITY" - Hate/Profanity.
5935	//   "CRIMINAL_SKILLS" - Illegal Activities: Criminal Skills.
5936	//   "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" -
5937	// Incentivized/Malware/Clutter.
5938	AvoidedHighSeverityCategories []string `json:"avoidedHighSeverityCategories,omitempty"`
5939
5940	// AvoidedMediumSeverityCategories: Brand safety medium severity
5941	// avoidance categories.
5942	//
5943	// Possible values:
5944	//   "MEDIUM_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and
5945	// it doesn't specify any medium severity categories.
5946	//   "AD_SERVERS" - Ad Servers.
5947	//   "ADULT_CONTENT_SWIMSUIT" - Adult Content: Swimsuit.
5948	//   "ALTERNATIVE_LIFESTYLES" - Controversial Subjects: Alternative
5949	// Lifestyles.
5950	//   "CELEBRITY_GOSSIP" - Controversial Subjects: Celebrity Gossip.
5951	//   "GAMBLING" - Controversial Subjects: Gambling.
5952	//   "OCCULT" - Controversial Subjects: Occult.
5953	//   "SEX_EDUCATION" - Controversial Subjects: Sex Education.
5954	//   "DISASTER_AVIATION" - Disaster: Aviation.
5955	//   "DISASTER_MAN_MADE" - Disaster: Man-made.
5956	//   "DISASTER_NATURAL" - Disaster: Natural.
5957	//   "DISASTER_TERRORIST_EVENTS" - Disaster: Terrorist Events.
5958	//   "DISASTER_VEHICLE" - Disaster: Vehicle.
5959	//   "ALCOHOL" - Drugs/Alcohol/Controlled Substances: Alcohol.
5960	//   "SMOKING" - Drugs/Alcohol/Controlled Substances: Smoking.
5961	//   "NEGATIVE_NEWS_FINANCIAL" - Negative News: Financial.
5962	//   "NON_ENGLISH" - Non-Std Content: Non-English.
5963	//   "PARKING_PAGE" - Non-Std Content: Parking Page.
5964	//   "UNMODERATED_UGC" - Unmoderated UGC: Forums, Images & Video.
5965	//   "INFLAMMATORY_POLITICS_AND_NEWS" - Controversial Subjects:
5966	// Inflammatory Politics and News.
5967	//   "NEGATIVE_NEWS_PHARMACEUTICAL" - Negative News: Pharmaceutical.
5968	AvoidedMediumSeverityCategories []string `json:"avoidedMediumSeverityCategories,omitempty"`
5969
5970	// ForceSendFields is a list of field names (e.g.
5971	// "AvoidUnknownBrandSafetyCategory") to unconditionally include in API
5972	// requests. By default, fields with empty values are omitted from API
5973	// requests. However, any non-pointer, non-interface field appearing in
5974	// ForceSendFields will be sent to the server regardless of whether the
5975	// field is empty or not. This may be used to include empty fields in
5976	// Patch requests.
5977	ForceSendFields []string `json:"-"`
5978
5979	// NullFields is a list of field names (e.g.
5980	// "AvoidUnknownBrandSafetyCategory") to include in API requests with
5981	// the JSON null value. By default, fields with empty values are omitted
5982	// from API requests. However, any field with an empty value appearing
5983	// in NullFields will be sent to the server as null. It is an error if a
5984	// field in this list has a non-empty value. This may be used to include
5985	// null fields in Patch requests.
5986	NullFields []string `json:"-"`
5987}
5988
5989func (s *DoubleVerifyBrandSafetyCategories) MarshalJSON() ([]byte, error) {
5990	type NoMethod DoubleVerifyBrandSafetyCategories
5991	raw := NoMethod(*s)
5992	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5993}
5994
5995// DoubleVerifyDisplayViewability: Details of DoubleVerify display
5996// viewability settings.
5997type DoubleVerifyDisplayViewability struct {
5998	// Iab: Target web and app inventory to maximize IAB viewable rate.
5999	//
6000	// Possible values:
6001	//   "IAB_VIEWED_RATE_UNSPECIFIED" - This enum is only a placeholder and
6002	// it doesn't specify any IAB viewed rate options.
6003	//   "IAB_VIEWED_RATE_80_PERCENT_HIGHER" - Target web and app inventory
6004	// to maximize IAB viewable rate 80% or higher.
6005	//   "IAB_VIEWED_RATE_75_PERCENT_HIGHER" - Target web and app inventory
6006	// to maximize IAB viewable rate 75% or higher.
6007	//   "IAB_VIEWED_RATE_70_PERCENT_HIGHER" - Target web and app inventory
6008	// to maximize IAB viewable rate 70% or higher.
6009	//   "IAB_VIEWED_RATE_65_PERCENT_HIGHER" - Target web and app inventory
6010	// to maximize IAB viewable rate 65% or higher.
6011	//   "IAB_VIEWED_RATE_60_PERCENT_HIGHER" - Target web and app inventory
6012	// to maximize IAB viewable rate 60% or higher.
6013	//   "IAB_VIEWED_RATE_55_PERCENT_HIGHER" - Target web and app inventory
6014	// to maximize IAB viewable rate 55% or higher.
6015	//   "IAB_VIEWED_RATE_50_PERCENT_HIGHER" - Target web and app inventory
6016	// to maximize IAB viewable rate 50% or higher.
6017	//   "IAB_VIEWED_RATE_40_PERCENT_HIGHER" - Target web and app inventory
6018	// to maximize IAB viewable rate 40% or higher.
6019	//   "IAB_VIEWED_RATE_30_PERCENT_HIGHER" - Target web and app inventory
6020	// to maximize IAB viewable rate 30% or higher.
6021	Iab string `json:"iab,omitempty"`
6022
6023	// ViewableDuring: Target web and app inventory to maximize 100%
6024	// viewable duration.
6025	//
6026	// Possible values:
6027	//   "AVERAGE_VIEW_DURATION_UNSPECIFIED" - This enum is only a
6028	// placeholder and it doesn't specify any average view duration options.
6029	//   "AVERAGE_VIEW_DURATION_5_SEC" - Target web and app inventory to
6030	// maximize 100% viewable duration 5 seconds or more.
6031	//   "AVERAGE_VIEW_DURATION_10_SEC" - Target web and app inventory to
6032	// maximize 100% viewable duration 10 seconds or more.
6033	//   "AVERAGE_VIEW_DURATION_15_SEC" - Target web and app inventory to
6034	// maximize 100% viewable duration 15 seconds or more.
6035	ViewableDuring string `json:"viewableDuring,omitempty"`
6036
6037	// ForceSendFields is a list of field names (e.g. "Iab") to
6038	// unconditionally include in API requests. By default, fields with
6039	// empty values are omitted from API requests. However, any non-pointer,
6040	// non-interface field appearing in ForceSendFields will be sent to the
6041	// server regardless of whether the field is empty or not. This may be
6042	// used to include empty fields in Patch requests.
6043	ForceSendFields []string `json:"-"`
6044
6045	// NullFields is a list of field names (e.g. "Iab") to include in API
6046	// requests with the JSON null value. By default, fields with empty
6047	// values are omitted from API requests. However, any field with an
6048	// empty value appearing in NullFields will be sent to the server as
6049	// null. It is an error if a field in this list has a non-empty value.
6050	// This may be used to include null fields in Patch requests.
6051	NullFields []string `json:"-"`
6052}
6053
6054func (s *DoubleVerifyDisplayViewability) MarshalJSON() ([]byte, error) {
6055	type NoMethod DoubleVerifyDisplayViewability
6056	raw := NoMethod(*s)
6057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6058}
6059
6060// DoubleVerifyFraudInvalidTraffic: DoubleVerify Fraud & Invalid Traffic
6061// settings.
6062type DoubleVerifyFraudInvalidTraffic struct {
6063	// AvoidInsufficientOption: Insufficient Historical Fraud & IVT Stats.
6064	AvoidInsufficientOption bool `json:"avoidInsufficientOption,omitempty"`
6065
6066	// AvoidedFraudOption: Avoid Sites and Apps with historical Fraud & IVT.
6067	//
6068	// Possible values:
6069	//   "FRAUD_UNSPECIFIED" - This enum is only a placeholder and it
6070	// doesn't specify any fraud and invalid traffic options.
6071	//   "AD_IMPRESSION_FRAUD_100" - 100% Fraud & IVT.
6072	//   "AD_IMPRESSION_FRAUD_50" - 50% or Higher Fraud & IVT.
6073	//   "AD_IMPRESSION_FRAUD_25" - 25% or Higher Fraud & IVT.
6074	//   "AD_IMPRESSION_FRAUD_10" - 10% or Higher Fraud & IVT.
6075	//   "AD_IMPRESSION_FRAUD_8" - 8% or Higher Fraud & IVT.
6076	//   "AD_IMPRESSION_FRAUD_6" - 6% or Higher Fraud & IVT.
6077	//   "AD_IMPRESSION_FRAUD_4" - 4% or Higher Fraud & IVT.
6078	//   "AD_IMPRESSION_FRAUD_2" - 2% or Higher Fraud & IVT.
6079	AvoidedFraudOption string `json:"avoidedFraudOption,omitempty"`
6080
6081	// ForceSendFields is a list of field names (e.g.
6082	// "AvoidInsufficientOption") to unconditionally include in API
6083	// requests. By default, fields with empty values are omitted from API
6084	// requests. However, any non-pointer, non-interface field appearing in
6085	// ForceSendFields will be sent to the server regardless of whether the
6086	// field is empty or not. This may be used to include empty fields in
6087	// Patch requests.
6088	ForceSendFields []string `json:"-"`
6089
6090	// NullFields is a list of field names (e.g. "AvoidInsufficientOption")
6091	// to include in API requests with the JSON null value. By default,
6092	// fields with empty values are omitted from API requests. However, any
6093	// field with an empty value appearing in NullFields will be sent to the
6094	// server as null. It is an error if a field in this list has a
6095	// non-empty value. This may be used to include null fields in Patch
6096	// requests.
6097	NullFields []string `json:"-"`
6098}
6099
6100func (s *DoubleVerifyFraudInvalidTraffic) MarshalJSON() ([]byte, error) {
6101	type NoMethod DoubleVerifyFraudInvalidTraffic
6102	raw := NoMethod(*s)
6103	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6104}
6105
6106// DoubleVerifyVideoViewability: Details of DoubleVerify video
6107// viewability settings.
6108type DoubleVerifyVideoViewability struct {
6109	// PlayerImpressionRate: Target inventory to maximize impressions with
6110	// 400x300 or greater player size.
6111	//
6112	// Possible values:
6113	//   "PLAYER_SIZE_400X300_UNSPECIFIED" - This enum is only a placeholder
6114	// and it doesn't specify any impressions options.
6115	//   "PLAYER_SIZE_400X300_95" - Sites with 95%+ of impressions.
6116	//   "PLAYER_SIZE_400X300_70" - Sites with 70%+ of impressions.
6117	//   "PLAYER_SIZE_400X300_25" - Sites with 25%+ of impressions.
6118	//   "PLAYER_SIZE_400X300_5" - Sites with 5%+ of impressions.
6119	PlayerImpressionRate string `json:"playerImpressionRate,omitempty"`
6120
6121	// VideoIab: Target web inventory to maximize IAB viewable rate.
6122	//
6123	// Possible values:
6124	//   "VIDEO_IAB_UNSPECIFIED" - This enum is only a placeholder and it
6125	// doesn't specify any video IAB viewable rate options.
6126	//   "IAB_VIEWABILITY_80_PERCENT_HIGHER" - Target web and app inventory
6127	// to maximize IAB viewable rate 80% or higher.
6128	//   "IAB_VIEWABILITY_75_PERCENT_HIGHER" - Target web and app inventory
6129	// to maximize IAB viewable rate 75% or higher.
6130	//   "IAB_VIEWABILITY_70_PERCENT_HIGHER" - Target web and app inventory
6131	// to maximize IAB viewable rate 70% or higher.
6132	//   "IAB_VIEWABILITY_65_PERCENT_HIHGER" - Target web and app inventory
6133	// to maximize IAB viewable rate 65% or higher.
6134	//   "IAB_VIEWABILITY_60_PERCENT_HIGHER" - Target web and app inventory
6135	// to maximize IAB viewable rate 60% or higher.
6136	//   "IAB_VIEWABILITY_55_PERCENT_HIHGER" - Target web and app inventory
6137	// to maximize IAB viewable rate 55% or higher.
6138	//   "IAB_VIEWABILITY_50_PERCENT_HIGHER" - Target web and app inventory
6139	// to maximize IAB viewable rate 50% or higher.
6140	//   "IAB_VIEWABILITY_40_PERCENT_HIHGER" - Target web and app inventory
6141	// to maximize IAB viewable rate 40% or higher.
6142	//   "IAB_VIEWABILITY_30_PERCENT_HIHGER" - Target web and app inventory
6143	// to maximize IAB viewable rate 30% or higher.
6144	VideoIab string `json:"videoIab,omitempty"`
6145
6146	// VideoViewableRate: Target web inventory to maximize fully viewable
6147	// rate.
6148	//
6149	// Possible values:
6150	//   "VIDEO_VIEWABLE_RATE_UNSPECIFIED" - This enum is only a placeholder
6151	// and it doesn't specify any video viewable rate options.
6152	//   "VIEWED_PERFORMANCE_40_PERCENT_HIGHER" - Target web inventory to
6153	// maximize fully viewable rate 40% or higher.
6154	//   "VIEWED_PERFORMANCE_35_PERCENT_HIGHER" - Target web inventory to
6155	// maximize fully viewable rate 35% or higher.
6156	//   "VIEWED_PERFORMANCE_30_PERCENT_HIGHER" - Target web inventory to
6157	// maximize fully viewable rate 30% or higher.
6158	//   "VIEWED_PERFORMANCE_25_PERCENT_HIGHER" - Target web inventory to
6159	// maximize fully viewable rate 25% or higher.
6160	//   "VIEWED_PERFORMANCE_20_PERCENT_HIGHER" - Target web inventory to
6161	// maximize fully viewable rate 20% or higher.
6162	//   "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" - Target web inventory to
6163	// maximize fully viewable rate 10% or higher.
6164	VideoViewableRate string `json:"videoViewableRate,omitempty"`
6165
6166	// ForceSendFields is a list of field names (e.g.
6167	// "PlayerImpressionRate") to unconditionally include in API requests.
6168	// By default, fields with empty values are omitted from API requests.
6169	// However, any non-pointer, non-interface field appearing in
6170	// ForceSendFields will be sent to the server regardless of whether the
6171	// field is empty or not. This may be used to include empty fields in
6172	// Patch requests.
6173	ForceSendFields []string `json:"-"`
6174
6175	// NullFields is a list of field names (e.g. "PlayerImpressionRate") to
6176	// include in API requests with the JSON null value. By default, fields
6177	// with empty values are omitted from API requests. However, any field
6178	// with an empty value appearing in NullFields will be sent to the
6179	// server as null. It is an error if a field in this list has a
6180	// non-empty value. This may be used to include null fields in Patch
6181	// requests.
6182	NullFields []string `json:"-"`
6183}
6184
6185func (s *DoubleVerifyVideoViewability) MarshalJSON() ([]byte, error) {
6186	type NoMethod DoubleVerifyVideoViewability
6187	raw := NoMethod(*s)
6188	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6189}
6190
6191// Empty: A generic empty message that you can re-use to avoid defining
6192// duplicated empty messages in your APIs. A typical example is to use
6193// it as the request or the response type of an API method. For
6194// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
6195// (google.protobuf.Empty); } The JSON representation for `Empty` is
6196// empty JSON object `{}`.
6197type Empty struct {
6198	// ServerResponse contains the HTTP response code and headers from the
6199	// server.
6200	googleapi.ServerResponse `json:"-"`
6201}
6202
6203// EnvironmentAssignedTargetingOptionDetails: Assigned environment
6204// targeting option details. This will be populated in the details field
6205// of an AssignedTargetingOption when targeting_type is
6206// `TARGETING_TYPE_ENVIRONMENT`.
6207type EnvironmentAssignedTargetingOptionDetails struct {
6208	// Environment: Output only. The serving environment.
6209	//
6210	// Possible values:
6211	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
6212	// specified in this version. This enum is a placeholder for default
6213	// value and does not represent a real environment option.
6214	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in
6215	// browsers. This includes inventory that was designed for the device it
6216	// was viewed on, such as mobile websites viewed on a mobile device.
6217	// ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior
6218	// to the deletion of this targeting option.
6219	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in
6220	// browsers. This includes inventory that was not designed for the
6221	// device but viewed on it, such as websites optimized for desktop but
6222	// viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be
6223	// targeted prior to the addition of this targeting option.
6224	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
6225	Environment string `json:"environment,omitempty"`
6226
6227	// TargetingOptionId: Required. The targeting_option_id of a
6228	// TargetingOption of type `TARGETING_TYPE_ENVIRONMENT` (e.g., "508010"
6229	// for targeting the `ENVIRONMENT_WEB_OPTIMIZED` option).
6230	TargetingOptionId string `json:"targetingOptionId,omitempty"`
6231
6232	// ForceSendFields is a list of field names (e.g. "Environment") to
6233	// unconditionally include in API requests. By default, fields with
6234	// empty values are omitted from API requests. However, any non-pointer,
6235	// non-interface field appearing in ForceSendFields will be sent to the
6236	// server regardless of whether the field is empty or not. This may be
6237	// used to include empty fields in Patch requests.
6238	ForceSendFields []string `json:"-"`
6239
6240	// NullFields is a list of field names (e.g. "Environment") to include
6241	// in API requests with the JSON null value. By default, fields with
6242	// empty values are omitted from API requests. However, any field with
6243	// an empty value appearing in NullFields will be sent to the server as
6244	// null. It is an error if a field in this list has a non-empty value.
6245	// This may be used to include null fields in Patch requests.
6246	NullFields []string `json:"-"`
6247}
6248
6249func (s *EnvironmentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6250	type NoMethod EnvironmentAssignedTargetingOptionDetails
6251	raw := NoMethod(*s)
6252	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6253}
6254
6255// EnvironmentTargetingOptionDetails: Represents a targetable
6256// environment. This will be populated in the environment_details field
6257// of a TargetingOption when targeting_type is
6258// `TARGETING_TYPE_ENVIRONMENT`.
6259type EnvironmentTargetingOptionDetails struct {
6260	// Environment: Output only. The serving environment.
6261	//
6262	// Possible values:
6263	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
6264	// specified in this version. This enum is a placeholder for default
6265	// value and does not represent a real environment option.
6266	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in
6267	// browsers. This includes inventory that was designed for the device it
6268	// was viewed on, such as mobile websites viewed on a mobile device.
6269	// ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior
6270	// to the deletion of this targeting option.
6271	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in
6272	// browsers. This includes inventory that was not designed for the
6273	// device but viewed on it, such as websites optimized for desktop but
6274	// viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be
6275	// targeted prior to the addition of this targeting option.
6276	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
6277	Environment string `json:"environment,omitempty"`
6278
6279	// ForceSendFields is a list of field names (e.g. "Environment") to
6280	// unconditionally include in API requests. By default, fields with
6281	// empty values are omitted from API requests. However, any non-pointer,
6282	// non-interface field appearing in ForceSendFields will be sent to the
6283	// server regardless of whether the field is empty or not. This may be
6284	// used to include empty fields in Patch requests.
6285	ForceSendFields []string `json:"-"`
6286
6287	// NullFields is a list of field names (e.g. "Environment") to include
6288	// in API requests with the JSON null value. By default, fields with
6289	// empty values are omitted from API requests. However, any field with
6290	// an empty value appearing in NullFields will be sent to the server as
6291	// null. It is an error if a field in this list has a non-empty value.
6292	// This may be used to include null fields in Patch requests.
6293	NullFields []string `json:"-"`
6294}
6295
6296func (s *EnvironmentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6297	type NoMethod EnvironmentTargetingOptionDetails
6298	raw := NoMethod(*s)
6299	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6300}
6301
6302// ExchangeAssignedTargetingOptionDetails: Details for assigned exchange
6303// targeting option. This will be populated in the details field of an
6304// AssignedTargetingOption when targeting_type is
6305// `TARGETING_TYPE_EXCHANGE`.
6306type ExchangeAssignedTargetingOptionDetails struct {
6307	// TargetingOptionId: Required. The targeting_option_id of a
6308	// TargetingOption of type `TARGETING_TYPE_EXCHANGE`.
6309	TargetingOptionId string `json:"targetingOptionId,omitempty"`
6310
6311	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
6312	// to unconditionally include in API requests. By default, fields with
6313	// empty values are omitted from API requests. However, any non-pointer,
6314	// non-interface field appearing in ForceSendFields will be sent to the
6315	// server regardless of whether the field is empty or not. This may be
6316	// used to include empty fields in Patch requests.
6317	ForceSendFields []string `json:"-"`
6318
6319	// NullFields is a list of field names (e.g. "TargetingOptionId") to
6320	// include in API requests with the JSON null value. By default, fields
6321	// with empty values are omitted from API requests. However, any field
6322	// with an empty value appearing in NullFields will be sent to the
6323	// server as null. It is an error if a field in this list has a
6324	// non-empty value. This may be used to include null fields in Patch
6325	// requests.
6326	NullFields []string `json:"-"`
6327}
6328
6329func (s *ExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6330	type NoMethod ExchangeAssignedTargetingOptionDetails
6331	raw := NoMethod(*s)
6332	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6333}
6334
6335// ExchangeConfig: Settings that control which exchanges are enabled for
6336// a partner.
6337type ExchangeConfig struct {
6338	// EnabledExchanges: All enabled exchanges in the partner. Duplicate
6339	// enabled exchanges will be ignored.
6340	EnabledExchanges []*ExchangeConfigEnabledExchange `json:"enabledExchanges,omitempty"`
6341
6342	// ForceSendFields is a list of field names (e.g. "EnabledExchanges") to
6343	// unconditionally include in API requests. By default, fields with
6344	// empty values are omitted from API requests. However, any non-pointer,
6345	// non-interface field appearing in ForceSendFields will be sent to the
6346	// server regardless of whether the field is empty or not. This may be
6347	// used to include empty fields in Patch requests.
6348	ForceSendFields []string `json:"-"`
6349
6350	// NullFields is a list of field names (e.g. "EnabledExchanges") to
6351	// include in API requests with the JSON null value. By default, fields
6352	// with empty values are omitted from API requests. However, any field
6353	// with an empty value appearing in NullFields will be sent to the
6354	// server as null. It is an error if a field in this list has a
6355	// non-empty value. This may be used to include null fields in Patch
6356	// requests.
6357	NullFields []string `json:"-"`
6358}
6359
6360func (s *ExchangeConfig) MarshalJSON() ([]byte, error) {
6361	type NoMethod ExchangeConfig
6362	raw := NoMethod(*s)
6363	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6364}
6365
6366// ExchangeConfigEnabledExchange: An enabled exchange in the partner.
6367type ExchangeConfigEnabledExchange struct {
6368	// Exchange: The enabled exchange.
6369	//
6370	// Possible values:
6371	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6372	// this version.
6373	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6374	//   "EXCHANGE_APPNEXUS" - AppNexus.
6375	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6376	//   "EXCHANGE_ADFORM" - Adform.
6377	//   "EXCHANGE_ADMETA" - Admeta.
6378	//   "EXCHANGE_ADMIXER" - Admixer.
6379	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6380	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6381	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6382	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6383	// from Yahoo!.
6384	//   "EXCHANGE_CADREON" - Cadreon.
6385	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6386	//   "EXCHANGE_FIVE" - Five.
6387	//   "EXCHANGE_FLUCT" - Fluct.
6388	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6389	//   "EXCHANGE_GENIEE" - Geniee.
6390	//   "EXCHANGE_GUMGUM" - GumGum.
6391	//   "EXCHANGE_IMOBILE" - i-mobile.
6392	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6393	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6394	//   "EXCHANGE_INDEX" - Index Exchange.
6395	//   "EXCHANGE_KARGO" - Kargo.
6396	//   "EXCHANGE_MICROAD" - MicroAd.
6397	//   "EXCHANGE_MOPUB" - MoPub.
6398	//   "EXCHANGE_NEND" - Nend.
6399	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6400	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6401	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6402	//   "EXCHANGE_OOYALA" - Ooyala.
6403	//   "EXCHANGE_OPENX" - OpenX.
6404	//   "EXCHANGE_PERMODO" - Permodo.
6405	//   "EXCHANGE_PLATFORMONE" - Platform One.
6406	//   "EXCHANGE_PLATFORMID" - PlatformId.
6407	//   "EXCHANGE_PUBMATIC" - PubMatic.
6408	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6409	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6410	//   "EXCHANGE_RUBICON" - Rubicon.
6411	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6412	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6413	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6414	//   "EXCHANGE_SOVRN" - Sovrn.
6415	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6416	//   "EXCHANGE_STROER" - Ströer SSP.
6417	//   "EXCHANGE_TEADSTV" - TeadsTv.
6418	//   "EXCHANGE_TELARIA" - Telaria.
6419	//   "EXCHANGE_TVN" - TVN.
6420	//   "EXCHANGE_UNITED" - United.
6421	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6422	//   "EXCHANGE_YIELDMO" - Yieldmo.
6423	//   "EXCHANGE_UNRULYX" - UnrulyX.
6424	//   "EXCHANGE_OPEN8" - Open8.
6425	//   "EXCHANGE_TRITON" - Triton.
6426	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
6427	//   "EXCHANGE_TABOOLA" - Taboola.
6428	//   "EXCHANGE_INMOBI" - InMobi.
6429	//   "EXCHANGE_SMAATO" - Smaato.
6430	//   "EXCHANGE_AJA" - Aja.
6431	//   "EXCHANGE_SUPERSHIP" - Supership.
6432	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6433	//   "EXCHANGE_WAZE" - Waze.
6434	//   "EXCHANGE_SOUNDCAST" - SoundCast.
6435	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
6436	//   "EXCHANGE_MEDIANET" - Media.net.
6437	Exchange string `json:"exchange,omitempty"`
6438
6439	// GoogleAdManagerAgencyId: Output only. Agency ID of Google Ad Manager.
6440	// The field is only relevant when Google Ad Manager is the enabled
6441	// exchange.
6442	GoogleAdManagerAgencyId string `json:"googleAdManagerAgencyId,omitempty"`
6443
6444	// GoogleAdManagerBuyerNetworkId: Output only. Network ID of Google Ad
6445	// Manager. The field is only relevant when Google Ad Manager is the
6446	// enabled exchange.
6447	GoogleAdManagerBuyerNetworkId string `json:"googleAdManagerBuyerNetworkId,omitempty"`
6448
6449	// SeatId: Output only. Seat ID of the enabled exchange.
6450	SeatId string `json:"seatId,omitempty"`
6451
6452	// ForceSendFields is a list of field names (e.g. "Exchange") to
6453	// unconditionally include in API requests. By default, fields with
6454	// empty values are omitted from API requests. However, any non-pointer,
6455	// non-interface field appearing in ForceSendFields will be sent to the
6456	// server regardless of whether the field is empty or not. This may be
6457	// used to include empty fields in Patch requests.
6458	ForceSendFields []string `json:"-"`
6459
6460	// NullFields is a list of field names (e.g. "Exchange") to include in
6461	// API requests with the JSON null value. By default, fields with empty
6462	// values are omitted from API requests. However, any field with an
6463	// empty value appearing in NullFields will be sent to the server as
6464	// null. It is an error if a field in this list has a non-empty value.
6465	// This may be used to include null fields in Patch requests.
6466	NullFields []string `json:"-"`
6467}
6468
6469func (s *ExchangeConfigEnabledExchange) MarshalJSON() ([]byte, error) {
6470	type NoMethod ExchangeConfigEnabledExchange
6471	raw := NoMethod(*s)
6472	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6473}
6474
6475// ExchangeReviewStatus: Exchange review status for the creative.
6476type ExchangeReviewStatus struct {
6477	// Exchange: The exchange reviewing the creative.
6478	//
6479	// Possible values:
6480	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6481	// this version.
6482	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6483	//   "EXCHANGE_APPNEXUS" - AppNexus.
6484	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6485	//   "EXCHANGE_ADFORM" - Adform.
6486	//   "EXCHANGE_ADMETA" - Admeta.
6487	//   "EXCHANGE_ADMIXER" - Admixer.
6488	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6489	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6490	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6491	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6492	// from Yahoo!.
6493	//   "EXCHANGE_CADREON" - Cadreon.
6494	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6495	//   "EXCHANGE_FIVE" - Five.
6496	//   "EXCHANGE_FLUCT" - Fluct.
6497	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6498	//   "EXCHANGE_GENIEE" - Geniee.
6499	//   "EXCHANGE_GUMGUM" - GumGum.
6500	//   "EXCHANGE_IMOBILE" - i-mobile.
6501	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6502	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6503	//   "EXCHANGE_INDEX" - Index Exchange.
6504	//   "EXCHANGE_KARGO" - Kargo.
6505	//   "EXCHANGE_MICROAD" - MicroAd.
6506	//   "EXCHANGE_MOPUB" - MoPub.
6507	//   "EXCHANGE_NEND" - Nend.
6508	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6509	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6510	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6511	//   "EXCHANGE_OOYALA" - Ooyala.
6512	//   "EXCHANGE_OPENX" - OpenX.
6513	//   "EXCHANGE_PERMODO" - Permodo.
6514	//   "EXCHANGE_PLATFORMONE" - Platform One.
6515	//   "EXCHANGE_PLATFORMID" - PlatformId.
6516	//   "EXCHANGE_PUBMATIC" - PubMatic.
6517	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6518	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6519	//   "EXCHANGE_RUBICON" - Rubicon.
6520	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6521	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6522	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6523	//   "EXCHANGE_SOVRN" - Sovrn.
6524	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6525	//   "EXCHANGE_STROER" - Ströer SSP.
6526	//   "EXCHANGE_TEADSTV" - TeadsTv.
6527	//   "EXCHANGE_TELARIA" - Telaria.
6528	//   "EXCHANGE_TVN" - TVN.
6529	//   "EXCHANGE_UNITED" - United.
6530	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6531	//   "EXCHANGE_YIELDMO" - Yieldmo.
6532	//   "EXCHANGE_UNRULYX" - UnrulyX.
6533	//   "EXCHANGE_OPEN8" - Open8.
6534	//   "EXCHANGE_TRITON" - Triton.
6535	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
6536	//   "EXCHANGE_TABOOLA" - Taboola.
6537	//   "EXCHANGE_INMOBI" - InMobi.
6538	//   "EXCHANGE_SMAATO" - Smaato.
6539	//   "EXCHANGE_AJA" - Aja.
6540	//   "EXCHANGE_SUPERSHIP" - Supership.
6541	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6542	//   "EXCHANGE_WAZE" - Waze.
6543	//   "EXCHANGE_SOUNDCAST" - SoundCast.
6544	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
6545	//   "EXCHANGE_MEDIANET" - Media.net.
6546	Exchange string `json:"exchange,omitempty"`
6547
6548	// Status: Status of the exchange review.
6549	//
6550	// Possible values:
6551	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
6552	// unknown in this version.
6553	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
6554	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
6555	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
6556	Status string `json:"status,omitempty"`
6557
6558	// ForceSendFields is a list of field names (e.g. "Exchange") to
6559	// unconditionally include in API requests. By default, fields with
6560	// empty values are omitted from API requests. However, any non-pointer,
6561	// non-interface field appearing in ForceSendFields will be sent to the
6562	// server regardless of whether the field is empty or not. This may be
6563	// used to include empty fields in Patch requests.
6564	ForceSendFields []string `json:"-"`
6565
6566	// NullFields is a list of field names (e.g. "Exchange") to include in
6567	// API requests with the JSON null value. By default, fields with empty
6568	// values are omitted from API requests. However, any field with an
6569	// empty value appearing in NullFields will be sent to the server as
6570	// null. It is an error if a field in this list has a non-empty value.
6571	// This may be used to include null fields in Patch requests.
6572	NullFields []string `json:"-"`
6573}
6574
6575func (s *ExchangeReviewStatus) MarshalJSON() ([]byte, error) {
6576	type NoMethod ExchangeReviewStatus
6577	raw := NoMethod(*s)
6578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6579}
6580
6581// ExchangeTargetingOptionDetails: Represents a targetable exchange.
6582// This will be populated in the exchange_details field of a
6583// TargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.
6584type ExchangeTargetingOptionDetails struct {
6585	// Exchange: Output only. The type of exchange.
6586	//
6587	// Possible values:
6588	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6589	// this version.
6590	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6591	//   "EXCHANGE_APPNEXUS" - AppNexus.
6592	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6593	//   "EXCHANGE_ADFORM" - Adform.
6594	//   "EXCHANGE_ADMETA" - Admeta.
6595	//   "EXCHANGE_ADMIXER" - Admixer.
6596	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6597	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6598	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6599	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6600	// from Yahoo!.
6601	//   "EXCHANGE_CADREON" - Cadreon.
6602	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6603	//   "EXCHANGE_FIVE" - Five.
6604	//   "EXCHANGE_FLUCT" - Fluct.
6605	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6606	//   "EXCHANGE_GENIEE" - Geniee.
6607	//   "EXCHANGE_GUMGUM" - GumGum.
6608	//   "EXCHANGE_IMOBILE" - i-mobile.
6609	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6610	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6611	//   "EXCHANGE_INDEX" - Index Exchange.
6612	//   "EXCHANGE_KARGO" - Kargo.
6613	//   "EXCHANGE_MICROAD" - MicroAd.
6614	//   "EXCHANGE_MOPUB" - MoPub.
6615	//   "EXCHANGE_NEND" - Nend.
6616	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6617	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6618	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6619	//   "EXCHANGE_OOYALA" - Ooyala.
6620	//   "EXCHANGE_OPENX" - OpenX.
6621	//   "EXCHANGE_PERMODO" - Permodo.
6622	//   "EXCHANGE_PLATFORMONE" - Platform One.
6623	//   "EXCHANGE_PLATFORMID" - PlatformId.
6624	//   "EXCHANGE_PUBMATIC" - PubMatic.
6625	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6626	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6627	//   "EXCHANGE_RUBICON" - Rubicon.
6628	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6629	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6630	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6631	//   "EXCHANGE_SOVRN" - Sovrn.
6632	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6633	//   "EXCHANGE_STROER" - Ströer SSP.
6634	//   "EXCHANGE_TEADSTV" - TeadsTv.
6635	//   "EXCHANGE_TELARIA" - Telaria.
6636	//   "EXCHANGE_TVN" - TVN.
6637	//   "EXCHANGE_UNITED" - United.
6638	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6639	//   "EXCHANGE_YIELDMO" - Yieldmo.
6640	//   "EXCHANGE_UNRULYX" - UnrulyX.
6641	//   "EXCHANGE_OPEN8" - Open8.
6642	//   "EXCHANGE_TRITON" - Triton.
6643	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
6644	//   "EXCHANGE_TABOOLA" - Taboola.
6645	//   "EXCHANGE_INMOBI" - InMobi.
6646	//   "EXCHANGE_SMAATO" - Smaato.
6647	//   "EXCHANGE_AJA" - Aja.
6648	//   "EXCHANGE_SUPERSHIP" - Supership.
6649	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6650	//   "EXCHANGE_WAZE" - Waze.
6651	//   "EXCHANGE_SOUNDCAST" - SoundCast.
6652	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
6653	//   "EXCHANGE_MEDIANET" - Media.net.
6654	Exchange string `json:"exchange,omitempty"`
6655
6656	// ForceSendFields is a list of field names (e.g. "Exchange") to
6657	// unconditionally include in API requests. By default, fields with
6658	// empty values are omitted from API requests. However, any non-pointer,
6659	// non-interface field appearing in ForceSendFields will be sent to the
6660	// server regardless of whether the field is empty or not. This may be
6661	// used to include empty fields in Patch requests.
6662	ForceSendFields []string `json:"-"`
6663
6664	// NullFields is a list of field names (e.g. "Exchange") to include in
6665	// API requests with the JSON null value. By default, fields with empty
6666	// values are omitted from API requests. However, any field with an
6667	// empty value appearing in NullFields will be sent to the server as
6668	// null. It is an error if a field in this list has a non-empty value.
6669	// This may be used to include null fields in Patch requests.
6670	NullFields []string `json:"-"`
6671}
6672
6673func (s *ExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6674	type NoMethod ExchangeTargetingOptionDetails
6675	raw := NoMethod(*s)
6676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6677}
6678
6679// ExitEvent: Exit event of the creative.
6680type ExitEvent struct {
6681	// Name: The name of the click tag of the exit event. The name must be
6682	// unique within one creative. Leave it empty or unset for creatives
6683	// containing image assets only.
6684	Name string `json:"name,omitempty"`
6685
6686	// ReportingName: The name used to identify this event in reports. Leave
6687	// it empty or unset for creatives containing image assets only.
6688	ReportingName string `json:"reportingName,omitempty"`
6689
6690	// Type: Required. The type of the exit event.
6691	//
6692	// Possible values:
6693	//   "EXIT_EVENT_TYPE_UNSPECIFIED" - Exit event type is not specified or
6694	// is unknown in this version.
6695	//   "EXIT_EVENT_TYPE_DEFAULT" - The exit event is the default one.
6696	//   "EXIT_EVENT_TYPE_BACKUP" - The exit event is a backup exit event.
6697	// There could be multiple backup exit events in a creative.
6698	Type string `json:"type,omitempty"`
6699
6700	// Url: Required. The click through URL of the exit event. This is
6701	// required when type is: * `EXIT_EVENT_TYPE_DEFAULT` *
6702	// `EXIT_EVENT_TYPE_BACKUP`
6703	Url string `json:"url,omitempty"`
6704
6705	// ForceSendFields is a list of field names (e.g. "Name") to
6706	// unconditionally include in API requests. By default, fields with
6707	// empty values are omitted from API requests. However, any non-pointer,
6708	// non-interface field appearing in ForceSendFields will be sent to the
6709	// server regardless of whether the field is empty or not. This may be
6710	// used to include empty fields in Patch requests.
6711	ForceSendFields []string `json:"-"`
6712
6713	// NullFields is a list of field names (e.g. "Name") to include in API
6714	// requests with the JSON null value. By default, fields with empty
6715	// values are omitted from API requests. However, any field with an
6716	// empty value appearing in NullFields will be sent to the server as
6717	// null. It is an error if a field in this list has a non-empty value.
6718	// This may be used to include null fields in Patch requests.
6719	NullFields []string `json:"-"`
6720}
6721
6722func (s *ExitEvent) MarshalJSON() ([]byte, error) {
6723	type NoMethod ExitEvent
6724	raw := NoMethod(*s)
6725	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6726}
6727
6728// FirstAndThirdPartyAudience: Describes a first or third party audience
6729// list used for targeting. First party audiences are created via usage
6730// of client data. Third party audiences are provided by Third Party
6731// data providers and can only be licensed to customers.
6732type FirstAndThirdPartyAudience struct {
6733	// ActiveDisplayAudienceSize: Output only. The estimated audience size
6734	// for the Display network in the past month. If the size is less than
6735	// 1000, the number will be hidden and 0 will be returned due to privacy
6736	// reasons. Otherwise, the number will be rounded off to two significant
6737	// digits. Only returned in GET request.
6738	ActiveDisplayAudienceSize int64 `json:"activeDisplayAudienceSize,omitempty,string"`
6739
6740	// AudienceSource: Output only. The source of the audience.
6741	//
6742	// Possible values:
6743	//   "AUDIENCE_SOURCE_UNSPECIFIED" - Default value when audience source
6744	// is not specified or is unknown.
6745	//   "DISPLAY_VIDEO_360" - Originated from Display & Video 360.
6746	//   "CAMPAIGN_MANAGER" - Originated from Campaign Manager 360.
6747	//   "AD_MANAGER" - Originated from Google Ad Manager.
6748	//   "SEARCH_ADS_360" - Originated from Search Ads 360.
6749	//   "YOUTUBE" - Originated from Youtube.
6750	//   "ADS_DATA_HUB" - Originated from Ads Data Hub.
6751	AudienceSource string `json:"audienceSource,omitempty"`
6752
6753	// AudienceType: Output only. The type of the audience.
6754	//
6755	// Possible values:
6756	//   "AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
6757	// specified or is unknown.
6758	//   "CUSTOMER_MATCH_CONTACT_INFO" - Audience was generated through
6759	// matching customers to known contact information.
6760	//   "CUSTOMER_MATCH_DEVICE_ID" - Audience was generated through
6761	// matching customers to known Mobile device IDs.
6762	//   "CUSTOMER_MATCH_USER_ID" - Audience was generated through matching
6763	// customers to known User IDs.
6764	//   "ACTIVITY_BASED" - Audience was created based on campaign activity.
6765	//   "FREQUENCY_CAP" - Audience was created based on excluding the
6766	// number of impressions they were served.
6767	//   "TAG_BASED" - Audience was created based on custom variables
6768	// attached to pixel.
6769	//   "YOUTUBE_USERS" - Audience was created based on past interactions
6770	// with videos, YouTube ads, or YouTube channel.
6771	//   "LICENSED" - Subtype of third party audience type.
6772	AudienceType string `json:"audienceType,omitempty"`
6773
6774	// Description: The user-provided description of the audience. Only
6775	// applicable to first party audiences.
6776	Description string `json:"description,omitempty"`
6777
6778	// DisplayAudienceSize: Output only. The estimated audience size for the
6779	// Display network. If the size is less than 1000, the number will be
6780	// hidden and 0 will be returned due to privacy reasons. Otherwise, the
6781	// number will be rounded off to two significant digits. Only returned
6782	// in GET request.
6783	DisplayAudienceSize int64 `json:"displayAudienceSize,omitempty,string"`
6784
6785	// DisplayDesktopAudienceSize: Output only. The estimated desktop
6786	// audience size in Display network. If the size is less than 1000, the
6787	// number will be hidden and 0 will be returned due to privacy reasons.
6788	// Otherwise, the number will be rounded off to two significant digits.
6789	// Only applicable to first party audiences. Only returned in GET
6790	// request.
6791	DisplayDesktopAudienceSize int64 `json:"displayDesktopAudienceSize,omitempty,string"`
6792
6793	// DisplayMobileAppAudienceSize: Output only. The estimated mobile app
6794	// audience size in Display network. If the size is less than 1000, the
6795	// number will be hidden and 0 will be returned due to privacy reasons.
6796	// Otherwise, the number will be rounded off to two significant digits.
6797	// Only applicable to first party audiences. Only returned in GET
6798	// request.
6799	DisplayMobileAppAudienceSize int64 `json:"displayMobileAppAudienceSize,omitempty,string"`
6800
6801	// DisplayMobileWebAudienceSize: Output only. The estimated mobile web
6802	// audience size in Display network. If the size is less than 1000, the
6803	// number will be hidden and 0 will be returned due to privacy reasons.
6804	// Otherwise, the number will be rounded off to two significant digits.
6805	// Only applicable to first party audiences. Only returned in GET
6806	// request.
6807	DisplayMobileWebAudienceSize int64 `json:"displayMobileWebAudienceSize,omitempty,string"`
6808
6809	// DisplayName: The display name of the first and third party audience.
6810	DisplayName string `json:"displayName,omitempty"`
6811
6812	// FirstAndThirdPartyAudienceId: Output only. The unique ID of the first
6813	// and third party audience. Assigned by the system.
6814	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
6815
6816	// FirstAndThirdPartyAudienceType: Output only. Whether the audience is
6817	// a first or third party audience.
6818	//
6819	// Possible values:
6820	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED" - Default value
6821	// when type is not specified or is unknown.
6822	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" - Audience that
6823	// is created via usage of client data.
6824	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" - Audience that
6825	// is provided by Third Party data providers.
6826	FirstAndThirdPartyAudienceType string `json:"firstAndThirdPartyAudienceType,omitempty"`
6827
6828	// GmailAudienceSize: Output only. The estimated audience size for Gmail
6829	// network. If the size is less than 1000, the number will be hidden and
6830	// 0 will be returned due to privacy reasons. Otherwise, the number will
6831	// be rounded off to two significant digits. Only applicable to first
6832	// party audiences. Only returned in GET request.
6833	GmailAudienceSize int64 `json:"gmailAudienceSize,omitempty,string"`
6834
6835	// MembershipDurationDays: The duration in days that an entry remains in
6836	// the audience after the qualifying event. Only applicable to first
6837	// party audiences.
6838	MembershipDurationDays int64 `json:"membershipDurationDays,omitempty,string"`
6839
6840	// Name: Output only. The resource name of the first and third party
6841	// audience.
6842	Name string `json:"name,omitempty"`
6843
6844	// YoutubeAudienceSize: Output only. The estimated audience size for
6845	// YouTube network. If the size is less than 1000, the number will be
6846	// hidden and 0 will be returned due to privacy reasons. Otherwise, the
6847	// number will be rounded off to two significant digits. Only applicable
6848	// to first party audiences. Only returned in GET request.
6849	YoutubeAudienceSize int64 `json:"youtubeAudienceSize,omitempty,string"`
6850
6851	// ServerResponse contains the HTTP response code and headers from the
6852	// server.
6853	googleapi.ServerResponse `json:"-"`
6854
6855	// ForceSendFields is a list of field names (e.g.
6856	// "ActiveDisplayAudienceSize") to unconditionally include in API
6857	// requests. By default, fields with empty values are omitted from API
6858	// requests. However, any non-pointer, non-interface field appearing in
6859	// ForceSendFields will be sent to the server regardless of whether the
6860	// field is empty or not. This may be used to include empty fields in
6861	// Patch requests.
6862	ForceSendFields []string `json:"-"`
6863
6864	// NullFields is a list of field names (e.g.
6865	// "ActiveDisplayAudienceSize") to include in API requests with the JSON
6866	// null value. By default, fields with empty values are omitted from API
6867	// requests. However, any field with an empty value appearing in
6868	// NullFields will be sent to the server as null. It is an error if a
6869	// field in this list has a non-empty value. This may be used to include
6870	// null fields in Patch requests.
6871	NullFields []string `json:"-"`
6872}
6873
6874func (s *FirstAndThirdPartyAudience) MarshalJSON() ([]byte, error) {
6875	type NoMethod FirstAndThirdPartyAudience
6876	raw := NoMethod(*s)
6877	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6878}
6879
6880// FirstAndThirdPartyAudienceGroup: Details of first and third party
6881// audience group. All first and third party audience targeting settings
6882// are logically ‘OR’ of each other.
6883type FirstAndThirdPartyAudienceGroup struct {
6884	// Settings: Required. All first and third party audience targeting
6885	// settings in first and third party audience group. Repeated settings
6886	// with same id are not allowed.
6887	Settings []*FirstAndThirdPartyAudienceTargetingSetting `json:"settings,omitempty"`
6888
6889	// ForceSendFields is a list of field names (e.g. "Settings") to
6890	// unconditionally include in API requests. By default, fields with
6891	// empty values are omitted from API requests. However, any non-pointer,
6892	// non-interface field appearing in ForceSendFields will be sent to the
6893	// server regardless of whether the field is empty or not. This may be
6894	// used to include empty fields in Patch requests.
6895	ForceSendFields []string `json:"-"`
6896
6897	// NullFields is a list of field names (e.g. "Settings") to include in
6898	// API requests with the JSON null value. By default, fields with empty
6899	// values are omitted from API requests. However, any field with an
6900	// empty value appearing in NullFields will be sent to the server as
6901	// null. It is an error if a field in this list has a non-empty value.
6902	// This may be used to include null fields in Patch requests.
6903	NullFields []string `json:"-"`
6904}
6905
6906func (s *FirstAndThirdPartyAudienceGroup) MarshalJSON() ([]byte, error) {
6907	type NoMethod FirstAndThirdPartyAudienceGroup
6908	raw := NoMethod(*s)
6909	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6910}
6911
6912// FirstAndThirdPartyAudienceTargetingSetting: Details of first and
6913// third party audience targeting setting.
6914type FirstAndThirdPartyAudienceTargetingSetting struct {
6915	// FirstAndThirdPartyAudienceId: Required. First and third party
6916	// audience id of the first and third party audience targeting setting.
6917	// This id is first_and_third_party_audience_id.
6918	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
6919
6920	// Recency: The recency of the first and third party audience targeting
6921	// setting. Only applicable to first party audiences, otherwise will be
6922	// ignored. For more info, refer to
6923	// https://support.google.com/displayvideo/answer/2949947#recency When
6924	// unspecified, no recency limit will be used.
6925	//
6926	// Possible values:
6927	//   "RECENCY_NO_LIMIT" - No limit of recency.
6928	//   "RECENCY_1_MINUTE" - Recency is 1 minute.
6929	//   "RECENCY_5_MINUTES" - Recency is 5 minutes.
6930	//   "RECENCY_10_MINUTES" - Recency is 10 minutes.
6931	//   "RECENCY_15_MINUTES" - Recency is 15 minutes.
6932	//   "RECENCY_30_MINUTES" - Recency is 30 minutes.
6933	//   "RECENCY_1_HOUR" - Recency is 1 hour.
6934	//   "RECENCY_2_HOURS" - Recency is 2 hours.
6935	//   "RECENCY_3_HOURS" - Recency is 3 hours.
6936	//   "RECENCY_6_HOURS" - Recency is 6 hours.
6937	//   "RECENCY_12_HOURS" - Recency is 12 hours.
6938	//   "RECENCY_1_DAY" - Recency is 1 day.
6939	//   "RECENCY_2_DAYS" - Recency is 2 days.
6940	//   "RECENCY_3_DAYS" - Recency is 3 days.
6941	//   "RECENCY_5_DAYS" - Recency is 5 days.
6942	//   "RECENCY_7_DAYS" - Recency is 7 days.
6943	//   "RECENCY_10_DAYS" - Recency is 10 days.
6944	//   "RECENCY_14_DAYS" - Recency is 14 days.
6945	//   "RECENCY_15_DAYS" - Recency is 15 days.
6946	//   "RECENCY_21_DAYS" - Recency is 21 days.
6947	//   "RECENCY_28_DAYS" - Recency is 28 days.
6948	//   "RECENCY_30_DAYS" - Recency is 30 days.
6949	//   "RECENCY_40_DAYS" - Recency is 40 days.
6950	//   "RECENCY_45_DAYS" - Recency is 45 days.
6951	//   "RECENCY_60_DAYS" - Recency is 60 days.
6952	//   "RECENCY_90_DAYS" - Recency is 90 days.
6953	//   "RECENCY_120_DAYS" - Recency is 120 days.
6954	//   "RECENCY_180_DAYS" - Recency is 180 days.
6955	//   "RECENCY_270_DAYS" - Recency is 270 days.
6956	//   "RECENCY_365_DAYS" - Recency is 365 days.
6957	Recency string `json:"recency,omitempty"`
6958
6959	// ForceSendFields is a list of field names (e.g.
6960	// "FirstAndThirdPartyAudienceId") to unconditionally include in API
6961	// requests. By default, fields with empty values are omitted from API
6962	// requests. However, any non-pointer, non-interface field appearing in
6963	// ForceSendFields will be sent to the server regardless of whether the
6964	// field is empty or not. This may be used to include empty fields in
6965	// Patch requests.
6966	ForceSendFields []string `json:"-"`
6967
6968	// NullFields is a list of field names (e.g.
6969	// "FirstAndThirdPartyAudienceId") to include in API requests with the
6970	// JSON null value. By default, fields with empty values are omitted
6971	// from API requests. However, any field with an empty value appearing
6972	// in NullFields will be sent to the server as null. It is an error if a
6973	// field in this list has a non-empty value. This may be used to include
6974	// null fields in Patch requests.
6975	NullFields []string `json:"-"`
6976}
6977
6978func (s *FirstAndThirdPartyAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
6979	type NoMethod FirstAndThirdPartyAudienceTargetingSetting
6980	raw := NoMethod(*s)
6981	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6982}
6983
6984// FixedBidStrategy: A strategy that uses a fixed bidding price.
6985type FixedBidStrategy struct {
6986	// BidAmountMicros: The fixed bid amount, in micros of the advertiser's
6987	// currency. For insertion order entity, bid_amount_micros should be set
6988	// as 0. For line item entity, bid_amount_micros must be greater than or
6989	// equal to billable unit of the given currency and smaller than or
6990	// equal to the upper limit 1000000000. For example, 1500000 represents
6991	// 1.5 standard units of the currency.
6992	BidAmountMicros int64 `json:"bidAmountMicros,omitempty,string"`
6993
6994	// ForceSendFields is a list of field names (e.g. "BidAmountMicros") to
6995	// unconditionally include in API requests. By default, fields with
6996	// empty values are omitted from API requests. However, any non-pointer,
6997	// non-interface field appearing in ForceSendFields will be sent to the
6998	// server regardless of whether the field is empty or not. This may be
6999	// used to include empty fields in Patch requests.
7000	ForceSendFields []string `json:"-"`
7001
7002	// NullFields is a list of field names (e.g. "BidAmountMicros") to
7003	// include in API requests with the JSON null value. By default, fields
7004	// with empty values are omitted from API requests. However, any field
7005	// with an empty value appearing in NullFields will be sent to the
7006	// server as null. It is an error if a field in this list has a
7007	// non-empty value. This may be used to include null fields in Patch
7008	// requests.
7009	NullFields []string `json:"-"`
7010}
7011
7012func (s *FixedBidStrategy) MarshalJSON() ([]byte, error) {
7013	type NoMethod FixedBidStrategy
7014	raw := NoMethod(*s)
7015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7016}
7017
7018// FloodlightGroup: A single Floodlight group.
7019type FloodlightGroup struct {
7020	// ActiveViewConfig: The Active View video viewability metric
7021	// configuration for the Floodlight group.
7022	ActiveViewConfig *ActiveViewVideoViewabilityMetricConfig `json:"activeViewConfig,omitempty"`
7023
7024	// CustomVariables: User-defined custom variables owned by the
7025	// Floodlight group. Use custom Floodlight variables to create reporting
7026	// data that is tailored to your unique business needs. Custom
7027	// Floodlight variables use the keys `U1=`, `U2=`, and so on, and can
7028	// take any values that you choose to pass to them. You can use them to
7029	// track virtually any type of data that you collect about your
7030	// customers, such as the genre of movie that a customer purchases, the
7031	// country to which the item is shipped, and so on. Custom Floodlight
7032	// variables may not be used to pass any data that could be used or
7033	// recognized as personally identifiable information (PII). Example:
7034	// `custom_variables { fields { "U1": value { number_value: 123.4 },
7035	// "U2": value { string_value: "MyVariable2" }, "U3": value {
7036	// string_value: "MyVariable3" } } }` Acceptable values for keys are
7037	// "U1" through "U100", inclusive. String values must be less than 64
7038	// characters long, and cannot contain the following characters: "<>`.
7039	CustomVariables googleapi.RawMessage `json:"customVariables,omitempty"`
7040
7041	// DisplayName: Required. The display name of the Floodlight group.
7042	DisplayName string `json:"displayName,omitempty"`
7043
7044	// FloodlightGroupId: Output only. The unique ID of the Floodlight
7045	// group. Assigned by the system.
7046	FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"`
7047
7048	// LookbackWindow: Required. The lookback window for the Floodlight
7049	// group. Both click_days and impression_days are required. Acceptable
7050	// values for both are `0` to `90`, inclusive.
7051	LookbackWindow *LookbackWindow `json:"lookbackWindow,omitempty"`
7052
7053	// Name: Output only. The resource name of the Floodlight group.
7054	Name string `json:"name,omitempty"`
7055
7056	// WebTagType: Required. The web tag type enabled for the Floodlight
7057	// group.
7058	//
7059	// Possible values:
7060	//   "WEB_TAG_TYPE_UNSPECIFIED" - Type value is not specified or is
7061	// unknown in this version.
7062	//   "WEB_TAG_TYPE_NONE" - No tag type.
7063	//   "WEB_TAG_TYPE_IMAGE" - Image tag.
7064	//   "WEB_TAG_TYPE_DYNAMIC" - Dynamic tag.
7065	WebTagType string `json:"webTagType,omitempty"`
7066
7067	// ServerResponse contains the HTTP response code and headers from the
7068	// server.
7069	googleapi.ServerResponse `json:"-"`
7070
7071	// ForceSendFields is a list of field names (e.g. "ActiveViewConfig") to
7072	// unconditionally include in API requests. By default, fields with
7073	// empty values are omitted from API requests. However, any non-pointer,
7074	// non-interface field appearing in ForceSendFields will be sent to the
7075	// server regardless of whether the field is empty or not. This may be
7076	// used to include empty fields in Patch requests.
7077	ForceSendFields []string `json:"-"`
7078
7079	// NullFields is a list of field names (e.g. "ActiveViewConfig") to
7080	// include in API requests with the JSON null value. By default, fields
7081	// with empty values are omitted from API requests. However, any field
7082	// with an empty value appearing in NullFields will be sent to the
7083	// server as null. It is an error if a field in this list has a
7084	// non-empty value. This may be used to include null fields in Patch
7085	// requests.
7086	NullFields []string `json:"-"`
7087}
7088
7089func (s *FloodlightGroup) MarshalJSON() ([]byte, error) {
7090	type NoMethod FloodlightGroup
7091	raw := NoMethod(*s)
7092	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7093}
7094
7095// FrequencyCap: Settings that control the number of times a user may be
7096// shown with the same ad during a given time period.
7097type FrequencyCap struct {
7098	// MaxImpressions: The maximum number of times a user may be shown with
7099	// the same ad during this period. Must be greater than 0. Required when
7100	// unlimited is `false`.
7101	MaxImpressions int64 `json:"maxImpressions,omitempty"`
7102
7103	// TimeUnit: The time unit in which the frequency cap will be applied.
7104	// Required when unlimited is `false`.
7105	//
7106	// Possible values:
7107	//   "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is
7108	// unknown in this version.
7109	//   "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the
7110	// whole life time of the line item.
7111	//   "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number
7112	// of months.
7113	//   "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number
7114	// of weeks.
7115	//   "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of
7116	// days.
7117	//   "TIME_UNIT_HOURS" - The frequency cap will be applied to a number
7118	// of hours.
7119	//   "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number
7120	// of minutes.
7121	TimeUnit string `json:"timeUnit,omitempty"`
7122
7123	// TimeUnitCount: The number of time_unit the frequency cap will last.
7124	// Required when unlimited is `false`. The following restrictions apply
7125	// based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field
7126	// is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be
7127	// between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 *
7128	// `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must
7129	// be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
7130	TimeUnitCount int64 `json:"timeUnitCount,omitempty"`
7131
7132	// Unlimited: Whether unlimited frequency capping is applied. When this
7133	// field is set to `true`, the remaining frequency cap fields are not
7134	// applicable.
7135	Unlimited bool `json:"unlimited,omitempty"`
7136
7137	// ForceSendFields is a list of field names (e.g. "MaxImpressions") to
7138	// unconditionally include in API requests. By default, fields with
7139	// empty values are omitted from API requests. However, any non-pointer,
7140	// non-interface field appearing in ForceSendFields will be sent to the
7141	// server regardless of whether the field is empty or not. This may be
7142	// used to include empty fields in Patch requests.
7143	ForceSendFields []string `json:"-"`
7144
7145	// NullFields is a list of field names (e.g. "MaxImpressions") to
7146	// include in API requests with the JSON null value. By default, fields
7147	// with empty values are omitted from API requests. However, any field
7148	// with an empty value appearing in NullFields will be sent to the
7149	// server as null. It is an error if a field in this list has a
7150	// non-empty value. This may be used to include null fields in Patch
7151	// requests.
7152	NullFields []string `json:"-"`
7153}
7154
7155func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
7156	type NoMethod FrequencyCap
7157	raw := NoMethod(*s)
7158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7159}
7160
7161// GenderAssignedTargetingOptionDetails: Details for assigned gender
7162// targeting option. This will be populated in the details field of an
7163// AssignedTargetingOption when targeting_type is
7164// `TARTGETING_TYPE_GENDER`.
7165type GenderAssignedTargetingOptionDetails struct {
7166	// Gender: Output only. The gender of the audience.
7167	//
7168	// Possible values:
7169	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified
7170	// in this version. This enum is a place holder for default value and
7171	// does not represent a real gender option.
7172	//   "GENDER_MALE" - The audience gender is male.
7173	//   "GENDER_FEMALE" - The audience gender is female.
7174	//   "GENDER_UNKNOWN" - The audience gender is unknown.
7175	Gender string `json:"gender,omitempty"`
7176
7177	// TargetingOptionId: Required. The targeting_option_id of a
7178	// TargetingOption of type `TARGETING_TYPE_GENDER`.
7179	TargetingOptionId string `json:"targetingOptionId,omitempty"`
7180
7181	// ForceSendFields is a list of field names (e.g. "Gender") to
7182	// unconditionally include in API requests. By default, fields with
7183	// empty values are omitted from API requests. However, any non-pointer,
7184	// non-interface field appearing in ForceSendFields will be sent to the
7185	// server regardless of whether the field is empty or not. This may be
7186	// used to include empty fields in Patch requests.
7187	ForceSendFields []string `json:"-"`
7188
7189	// NullFields is a list of field names (e.g. "Gender") to include in API
7190	// requests with the JSON null value. By default, fields with empty
7191	// values are omitted from API requests. However, any field with an
7192	// empty value appearing in NullFields will be sent to the server as
7193	// null. It is an error if a field in this list has a non-empty value.
7194	// This may be used to include null fields in Patch requests.
7195	NullFields []string `json:"-"`
7196}
7197
7198func (s *GenderAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7199	type NoMethod GenderAssignedTargetingOptionDetails
7200	raw := NoMethod(*s)
7201	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7202}
7203
7204// GenderTargetingOptionDetails: Represents a targetable gender. This
7205// will be populated in the gender_details field of a TargetingOption
7206// when targeting_type is `TARGETING_TYPE_GENDER`.
7207type GenderTargetingOptionDetails struct {
7208	// Gender: Output only. The gender of an audience.
7209	//
7210	// Possible values:
7211	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified
7212	// in this version. This enum is a place holder for default value and
7213	// does not represent a real gender option.
7214	//   "GENDER_MALE" - The audience gender is male.
7215	//   "GENDER_FEMALE" - The audience gender is female.
7216	//   "GENDER_UNKNOWN" - The audience gender is unknown.
7217	Gender string `json:"gender,omitempty"`
7218
7219	// ForceSendFields is a list of field names (e.g. "Gender") to
7220	// unconditionally include in API requests. By default, fields with
7221	// empty values are omitted from API requests. However, any non-pointer,
7222	// non-interface field appearing in ForceSendFields will be sent to the
7223	// server regardless of whether the field is empty or not. This may be
7224	// used to include empty fields in Patch requests.
7225	ForceSendFields []string `json:"-"`
7226
7227	// NullFields is a list of field names (e.g. "Gender") to include in API
7228	// requests with the JSON null value. By default, fields with empty
7229	// values are omitted from API requests. However, any field with an
7230	// empty value appearing in NullFields will be sent to the server as
7231	// null. It is an error if a field in this list has a non-empty value.
7232	// This may be used to include null fields in Patch requests.
7233	NullFields []string `json:"-"`
7234}
7235
7236func (s *GenderTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7237	type NoMethod GenderTargetingOptionDetails
7238	raw := NoMethod(*s)
7239	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7240}
7241
7242// GenerateDefaultLineItemRequest: Request message for
7243// LineItemService.GenerateDefaultLineItem.
7244type GenerateDefaultLineItemRequest struct {
7245	// DisplayName: Required. The display name of the line item. Must be
7246	// UTF-8 encoded with a maximum size of 240 bytes.
7247	DisplayName string `json:"displayName,omitempty"`
7248
7249	// InsertionOrderId: Required. The unique ID of the insertion order that
7250	// the line item belongs to.
7251	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
7252
7253	// LineItemType: Required. The type of the line item.
7254	//
7255	// Possible values:
7256	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is
7257	// unknown in this version.
7258	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich
7259	// media ads.
7260	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that
7261	// drive installs of an app.
7262	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for
7263	// a variety of environments.
7264	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive
7265	// installs of an app.
7266	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served
7267	// on mobile app inventory.
7268	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on
7269	// mobile app inventory.
7270	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety
7271	// of environments.
7272	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in
7273	// OTT insertion orders. This type is only applicable to line items with
7274	// an insertion order of insertion_order_type `OVER_THE_TOP`.
7275	LineItemType string `json:"lineItemType,omitempty"`
7276
7277	// MobileApp: The mobile app promoted by the line item. This is
7278	// applicable only when line_item_type is either
7279	// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
7280	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
7281	MobileApp *MobileApp `json:"mobileApp,omitempty"`
7282
7283	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7284	// unconditionally include in API requests. By default, fields with
7285	// empty values are omitted from API requests. However, any non-pointer,
7286	// non-interface field appearing in ForceSendFields will be sent to the
7287	// server regardless of whether the field is empty or not. This may be
7288	// used to include empty fields in Patch requests.
7289	ForceSendFields []string `json:"-"`
7290
7291	// NullFields is a list of field names (e.g. "DisplayName") to include
7292	// in API requests with the JSON null value. By default, fields with
7293	// empty values are omitted from API requests. However, any field with
7294	// an empty value appearing in NullFields will be sent to the server as
7295	// null. It is an error if a field in this list has a non-empty value.
7296	// This may be used to include null fields in Patch requests.
7297	NullFields []string `json:"-"`
7298}
7299
7300func (s *GenerateDefaultLineItemRequest) MarshalJSON() ([]byte, error) {
7301	type NoMethod GenerateDefaultLineItemRequest
7302	raw := NoMethod(*s)
7303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7304}
7305
7306// GeoRegionAssignedTargetingOptionDetails: Details for assigned
7307// geographic region targeting option. This will be populated in the
7308// details field of an AssignedTargetingOption when targeting_type is
7309// `TARGETING_TYPE_GEO_REGION`.
7310type GeoRegionAssignedTargetingOptionDetails struct {
7311	// DisplayName: Output only. The display name of the geographic region
7312	// (e.g., "Ontario, Canada").
7313	DisplayName string `json:"displayName,omitempty"`
7314
7315	// GeoRegionType: Output only. The type of geographic region targeting.
7316	//
7317	// Possible values:
7318	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
7319	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
7320	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
7321	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
7322	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
7323	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
7324	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
7325	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a
7326	// prefecture.
7327	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a
7328	// governorate.
7329	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
7330	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a
7331	// union territory.
7332	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is
7333	// an autonomous community.
7334	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a
7335	// designated market area (DMA) region.
7336	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
7337	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is
7338	// a congressional district.
7339	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
7340	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a
7341	// municipality.
7342	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
7343	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting
7344	// type is postal code.
7345	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type
7346	// is department.
7347	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
7348	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
7349	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
7350	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
7351	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city
7352	// region.
7353	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
7354	// arrondissement.
7355	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a
7356	// neighborhood.
7357	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a
7358	// university.
7359	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
7360	GeoRegionType string `json:"geoRegionType,omitempty"`
7361
7362	// Negative: Indicates if this option is being negatively targeted.
7363	Negative bool `json:"negative,omitempty"`
7364
7365	// TargetingOptionId: Required. The targeting_option_id of a
7366	// TargetingOption of type `TARGETING_TYPE_GEO_REGION`.
7367	TargetingOptionId string `json:"targetingOptionId,omitempty"`
7368
7369	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7370	// unconditionally include in API requests. By default, fields with
7371	// empty values are omitted from API requests. However, any non-pointer,
7372	// non-interface field appearing in ForceSendFields will be sent to the
7373	// server regardless of whether the field is empty or not. This may be
7374	// used to include empty fields in Patch requests.
7375	ForceSendFields []string `json:"-"`
7376
7377	// NullFields is a list of field names (e.g. "DisplayName") to include
7378	// in API requests with the JSON null value. By default, fields with
7379	// empty values are omitted from API requests. However, any field with
7380	// an empty value appearing in NullFields will be sent to the server as
7381	// null. It is an error if a field in this list has a non-empty value.
7382	// This may be used to include null fields in Patch requests.
7383	NullFields []string `json:"-"`
7384}
7385
7386func (s *GeoRegionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7387	type NoMethod GeoRegionAssignedTargetingOptionDetails
7388	raw := NoMethod(*s)
7389	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7390}
7391
7392// GeoRegionSearchTerms: Search terms for geo region targeting options.
7393type GeoRegionSearchTerms struct {
7394	// GeoRegionQuery: The search query for the desired geo region. The
7395	// query can be a prefix, e.g. "New Yor", "Seattle", "USA", etc.
7396	GeoRegionQuery string `json:"geoRegionQuery,omitempty"`
7397
7398	// ForceSendFields is a list of field names (e.g. "GeoRegionQuery") to
7399	// unconditionally include in API requests. By default, fields with
7400	// empty values are omitted from API requests. However, any non-pointer,
7401	// non-interface field appearing in ForceSendFields will be sent to the
7402	// server regardless of whether the field is empty or not. This may be
7403	// used to include empty fields in Patch requests.
7404	ForceSendFields []string `json:"-"`
7405
7406	// NullFields is a list of field names (e.g. "GeoRegionQuery") to
7407	// include in API requests with the JSON null value. By default, fields
7408	// with empty values are omitted from API requests. However, any field
7409	// with an empty value appearing in NullFields will be sent to the
7410	// server as null. It is an error if a field in this list has a
7411	// non-empty value. This may be used to include null fields in Patch
7412	// requests.
7413	NullFields []string `json:"-"`
7414}
7415
7416func (s *GeoRegionSearchTerms) MarshalJSON() ([]byte, error) {
7417	type NoMethod GeoRegionSearchTerms
7418	raw := NoMethod(*s)
7419	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7420}
7421
7422// GeoRegionTargetingOptionDetails: Represents a targetable geographic
7423// region. This will be populated in the geo_region_details field when
7424// targeting_type is `TARGETING_TYPE_GEO_REGION`.
7425type GeoRegionTargetingOptionDetails struct {
7426	// DisplayName: Output only. The display name of the geographic region
7427	// (e.g., "Ontario, Canada").
7428	DisplayName string `json:"displayName,omitempty"`
7429
7430	// GeoRegionType: Output only. The type of geographic region targeting.
7431	//
7432	// Possible values:
7433	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
7434	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
7435	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
7436	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
7437	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
7438	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
7439	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
7440	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a
7441	// prefecture.
7442	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a
7443	// governorate.
7444	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
7445	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a
7446	// union territory.
7447	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is
7448	// an autonomous community.
7449	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a
7450	// designated market area (DMA) region.
7451	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
7452	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is
7453	// a congressional district.
7454	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
7455	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a
7456	// municipality.
7457	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
7458	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting
7459	// type is postal code.
7460	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type
7461	// is department.
7462	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
7463	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
7464	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
7465	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
7466	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city
7467	// region.
7468	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
7469	// arrondissement.
7470	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a
7471	// neighborhood.
7472	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a
7473	// university.
7474	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
7475	GeoRegionType string `json:"geoRegionType,omitempty"`
7476
7477	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7478	// unconditionally include in API requests. By default, fields with
7479	// empty values are omitted from API requests. However, any non-pointer,
7480	// non-interface field appearing in ForceSendFields will be sent to the
7481	// server regardless of whether the field is empty or not. This may be
7482	// used to include empty fields in Patch requests.
7483	ForceSendFields []string `json:"-"`
7484
7485	// NullFields is a list of field names (e.g. "DisplayName") to include
7486	// in API requests with the JSON null value. By default, fields with
7487	// empty values are omitted from API requests. However, any field with
7488	// an empty value appearing in NullFields will be sent to the server as
7489	// null. It is an error if a field in this list has a non-empty value.
7490	// This may be used to include null fields in Patch requests.
7491	NullFields []string `json:"-"`
7492}
7493
7494func (s *GeoRegionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7495	type NoMethod GeoRegionTargetingOptionDetails
7496	raw := NoMethod(*s)
7497	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7498}
7499
7500// GoogleAudience: Describes a Google audience resource. Includes Google
7501// audience lists.
7502type GoogleAudience struct {
7503	// DisplayName: Output only. The display name of the Google audience. .
7504	DisplayName string `json:"displayName,omitempty"`
7505
7506	// GoogleAudienceId: Output only. The unique ID of the Google audience.
7507	// Assigned by the system.
7508	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
7509
7510	// GoogleAudienceType: Output only. The type of Google audience. .
7511	//
7512	// Possible values:
7513	//   "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
7514	// specified or is unknown.
7515	//   "GOOGLE_AUDIENCE_TYPE_AFFINITY" - Affinity type Google audience.
7516	//   "GOOGLE_AUDIENCE_TYPE_IN_MARKET" - In-Market type Google audience.
7517	//   "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS" - Installed-Apps type Google
7518	// audience.
7519	//   "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES" - New-Mobile-Devices type
7520	// Google audience.
7521	//   "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT" - Life-Event type Google
7522	// audience.
7523	//   "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC" - Extended-Demographic
7524	// type Google audience.
7525	GoogleAudienceType string `json:"googleAudienceType,omitempty"`
7526
7527	// Name: Output only. The resource name of the google audience.
7528	Name string `json:"name,omitempty"`
7529
7530	// ServerResponse contains the HTTP response code and headers from the
7531	// server.
7532	googleapi.ServerResponse `json:"-"`
7533
7534	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7535	// unconditionally include in API requests. By default, fields with
7536	// empty values are omitted from API requests. However, any non-pointer,
7537	// non-interface field appearing in ForceSendFields will be sent to the
7538	// server regardless of whether the field is empty or not. This may be
7539	// used to include empty fields in Patch requests.
7540	ForceSendFields []string `json:"-"`
7541
7542	// NullFields is a list of field names (e.g. "DisplayName") to include
7543	// in API requests with the JSON null value. By default, fields with
7544	// empty values are omitted from API requests. However, any field with
7545	// an empty value appearing in NullFields will be sent to the server as
7546	// null. It is an error if a field in this list has a non-empty value.
7547	// This may be used to include null fields in Patch requests.
7548	NullFields []string `json:"-"`
7549}
7550
7551func (s *GoogleAudience) MarshalJSON() ([]byte, error) {
7552	type NoMethod GoogleAudience
7553	raw := NoMethod(*s)
7554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7555}
7556
7557// GoogleAudienceGroup: Details of Google audience group. All Google
7558// audience targeting settings are logically ‘OR’ of each other.
7559type GoogleAudienceGroup struct {
7560	// Settings: Required. All Google audience targeting settings in Google
7561	// audience group. Repeated settings with same id will be ignored.
7562	Settings []*GoogleAudienceTargetingSetting `json:"settings,omitempty"`
7563
7564	// ForceSendFields is a list of field names (e.g. "Settings") to
7565	// unconditionally include in API requests. By default, fields with
7566	// empty values are omitted from API requests. However, any non-pointer,
7567	// non-interface field appearing in ForceSendFields will be sent to the
7568	// server regardless of whether the field is empty or not. This may be
7569	// used to include empty fields in Patch requests.
7570	ForceSendFields []string `json:"-"`
7571
7572	// NullFields is a list of field names (e.g. "Settings") to include in
7573	// API requests with the JSON null value. By default, fields with empty
7574	// values are omitted from API requests. However, any field with an
7575	// empty value appearing in NullFields will be sent to the server as
7576	// null. It is an error if a field in this list has a non-empty value.
7577	// This may be used to include null fields in Patch requests.
7578	NullFields []string `json:"-"`
7579}
7580
7581func (s *GoogleAudienceGroup) MarshalJSON() ([]byte, error) {
7582	type NoMethod GoogleAudienceGroup
7583	raw := NoMethod(*s)
7584	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7585}
7586
7587// GoogleAudienceTargetingSetting: Details of Google audience targeting
7588// setting.
7589type GoogleAudienceTargetingSetting struct {
7590	// GoogleAudienceId: Required. Google audience id of the Google audience
7591	// targeting setting. This id is google_audience_id.
7592	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
7593
7594	// ForceSendFields is a list of field names (e.g. "GoogleAudienceId") to
7595	// unconditionally include in API requests. By default, fields with
7596	// empty values are omitted from API requests. However, any non-pointer,
7597	// non-interface field appearing in ForceSendFields will be sent to the
7598	// server regardless of whether the field is empty or not. This may be
7599	// used to include empty fields in Patch requests.
7600	ForceSendFields []string `json:"-"`
7601
7602	// NullFields is a list of field names (e.g. "GoogleAudienceId") to
7603	// include in API requests with the JSON null value. By default, fields
7604	// with empty values are omitted from API requests. However, any field
7605	// with an empty value appearing in NullFields will be sent to the
7606	// server as null. It is an error if a field in this list has a
7607	// non-empty value. This may be used to include null fields in Patch
7608	// requests.
7609	NullFields []string `json:"-"`
7610}
7611
7612func (s *GoogleAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
7613	type NoMethod GoogleAudienceTargetingSetting
7614	raw := NoMethod(*s)
7615	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7616}
7617
7618// GoogleBytestreamMedia: Media resource.
7619type GoogleBytestreamMedia struct {
7620	// ResourceName: Name of the media resource.
7621	ResourceName string `json:"resourceName,omitempty"`
7622
7623	// ServerResponse contains the HTTP response code and headers from the
7624	// server.
7625	googleapi.ServerResponse `json:"-"`
7626
7627	// ForceSendFields is a list of field names (e.g. "ResourceName") to
7628	// unconditionally include in API requests. By default, fields with
7629	// empty values are omitted from API requests. However, any non-pointer,
7630	// non-interface field appearing in ForceSendFields will be sent to the
7631	// server regardless of whether the field is empty or not. This may be
7632	// used to include empty fields in Patch requests.
7633	ForceSendFields []string `json:"-"`
7634
7635	// NullFields is a list of field names (e.g. "ResourceName") to include
7636	// in API requests with the JSON null value. By default, fields with
7637	// empty values are omitted from API requests. However, any field with
7638	// an empty value appearing in NullFields will be sent to the server as
7639	// null. It is an error if a field in this list has a non-empty value.
7640	// This may be used to include null fields in Patch requests.
7641	NullFields []string `json:"-"`
7642}
7643
7644func (s *GoogleBytestreamMedia) MarshalJSON() ([]byte, error) {
7645	type NoMethod GoogleBytestreamMedia
7646	raw := NoMethod(*s)
7647	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7648}
7649
7650// HouseholdIncomeAssignedTargetingOptionDetails: Details for assigned
7651// household income targeting option. This will be populated in the
7652// details field of an AssignedTargetingOption when targeting_type is
7653// `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7654type HouseholdIncomeAssignedTargetingOptionDetails struct {
7655	// HouseholdIncome: Output only. The household income of the audience.
7656	//
7657	// Possible values:
7658	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household
7659	// income is not specified in this version. This enum is a placeholder
7660	// for default value and does not represent a real household income
7661	// option.
7662	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience
7663	// is unknown.
7664	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower
7665	// 50% of U.S. household incomes.
7666	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the
7667	// top 41-50% of U.S. household incomes.
7668	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the
7669	// top 31-40% of U.S. household incomes.
7670	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the
7671	// top 21-30% of U.S. household incomes.
7672	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the
7673	// top 11-20% of U.S. household incomes.
7674	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10%
7675	// of U.S. household incomes.
7676	HouseholdIncome string `json:"householdIncome,omitempty"`
7677
7678	// TargetingOptionId: Required. The targeting_option_id of a
7679	// TargetingOption of type `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7680	TargetingOptionId string `json:"targetingOptionId,omitempty"`
7681
7682	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
7683	// unconditionally include in API requests. By default, fields with
7684	// empty values are omitted from API requests. However, any non-pointer,
7685	// non-interface field appearing in ForceSendFields will be sent to the
7686	// server regardless of whether the field is empty or not. This may be
7687	// used to include empty fields in Patch requests.
7688	ForceSendFields []string `json:"-"`
7689
7690	// NullFields is a list of field names (e.g. "HouseholdIncome") to
7691	// include in API requests with the JSON null value. By default, fields
7692	// with empty values are omitted from API requests. However, any field
7693	// with an empty value appearing in NullFields will be sent to the
7694	// server as null. It is an error if a field in this list has a
7695	// non-empty value. This may be used to include null fields in Patch
7696	// requests.
7697	NullFields []string `json:"-"`
7698}
7699
7700func (s *HouseholdIncomeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7701	type NoMethod HouseholdIncomeAssignedTargetingOptionDetails
7702	raw := NoMethod(*s)
7703	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7704}
7705
7706// HouseholdIncomeTargetingOptionDetails: Represents a targetable
7707// household income. This will be populated in the
7708// household_income_details field of a TargetingOption when
7709// targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7710type HouseholdIncomeTargetingOptionDetails struct {
7711	// HouseholdIncome: Output only. The household income of an audience.
7712	//
7713	// Possible values:
7714	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household
7715	// income is not specified in this version. This enum is a placeholder
7716	// for default value and does not represent a real household income
7717	// option.
7718	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience
7719	// is unknown.
7720	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower
7721	// 50% of U.S. household incomes.
7722	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the
7723	// top 41-50% of U.S. household incomes.
7724	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the
7725	// top 31-40% of U.S. household incomes.
7726	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the
7727	// top 21-30% of U.S. household incomes.
7728	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the
7729	// top 11-20% of U.S. household incomes.
7730	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10%
7731	// of U.S. household incomes.
7732	HouseholdIncome string `json:"householdIncome,omitempty"`
7733
7734	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
7735	// unconditionally include in API requests. By default, fields with
7736	// empty values are omitted from API requests. However, any non-pointer,
7737	// non-interface field appearing in ForceSendFields will be sent to the
7738	// server regardless of whether the field is empty or not. This may be
7739	// used to include empty fields in Patch requests.
7740	ForceSendFields []string `json:"-"`
7741
7742	// NullFields is a list of field names (e.g. "HouseholdIncome") to
7743	// include in API requests with the JSON null value. By default, fields
7744	// with empty values are omitted from API requests. However, any field
7745	// with an empty value appearing in NullFields will be sent to the
7746	// server as null. It is an error if a field in this list has a
7747	// non-empty value. This may be used to include null fields in Patch
7748	// requests.
7749	NullFields []string `json:"-"`
7750}
7751
7752func (s *HouseholdIncomeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7753	type NoMethod HouseholdIncomeTargetingOptionDetails
7754	raw := NoMethod(*s)
7755	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7756}
7757
7758// IdFilter: A filtering option that filters entities by their entity
7759// IDs.
7760type IdFilter struct {
7761	// AdGroupAdIds: YouTube Ads to download by ID. All IDs must belong to
7762	// the same Advertiser or Partner specified in
7763	// CreateSdfDownloadTaskRequest.
7764	AdGroupAdIds googleapi.Int64s `json:"adGroupAdIds,omitempty"`
7765
7766	// AdGroupIds: YouTube Ad Groups to download by ID. All IDs must belong
7767	// to the same Advertiser or Partner specified in
7768	// CreateSdfDownloadTaskRequest.
7769	AdGroupIds googleapi.Int64s `json:"adGroupIds,omitempty"`
7770
7771	// CampaignIds: Campaigns to download by ID. All IDs must belong to the
7772	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
7773	CampaignIds googleapi.Int64s `json:"campaignIds,omitempty"`
7774
7775	// InsertionOrderIds: Insertion Orders to download by ID. All IDs must
7776	// belong to the same Advertiser or Partner specified in
7777	// CreateSdfDownloadTaskRequest.
7778	InsertionOrderIds googleapi.Int64s `json:"insertionOrderIds,omitempty"`
7779
7780	// LineItemIds: Line Items to download by ID. All IDs must belong to the
7781	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
7782	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
7783
7784	// MediaProductIds: Media Products to download by ID. All IDs must
7785	// belong to the same Advertiser or Partner specified in
7786	// CreateSdfDownloadTaskRequest.
7787	MediaProductIds googleapi.Int64s `json:"mediaProductIds,omitempty"`
7788
7789	// ForceSendFields is a list of field names (e.g. "AdGroupAdIds") to
7790	// unconditionally include in API requests. By default, fields with
7791	// empty values are omitted from API requests. However, any non-pointer,
7792	// non-interface field appearing in ForceSendFields will be sent to the
7793	// server regardless of whether the field is empty or not. This may be
7794	// used to include empty fields in Patch requests.
7795	ForceSendFields []string `json:"-"`
7796
7797	// NullFields is a list of field names (e.g. "AdGroupAdIds") to include
7798	// in API requests with the JSON null value. By default, fields with
7799	// empty values are omitted from API requests. However, any field with
7800	// an empty value appearing in NullFields will be sent to the server as
7801	// null. It is an error if a field in this list has a non-empty value.
7802	// This may be used to include null fields in Patch requests.
7803	NullFields []string `json:"-"`
7804}
7805
7806func (s *IdFilter) MarshalJSON() ([]byte, error) {
7807	type NoMethod IdFilter
7808	raw := NoMethod(*s)
7809	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7810}
7811
7812// InsertionOrder: A single insertion order.
7813type InsertionOrder struct {
7814	// AdvertiserId: Output only. The unique ID of the advertiser the
7815	// insertion order belongs to.
7816	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7817
7818	// BidStrategy: The bidding strategy of the insertion order. By default,
7819	// fixed_bid is set.
7820	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
7821
7822	// Budget: Required. The budget allocation settings of the insertion
7823	// order.
7824	Budget *InsertionOrderBudget `json:"budget,omitempty"`
7825
7826	// CampaignId: Required. Immutable. The unique ID of the campaign that
7827	// the insertion order belongs to.
7828	CampaignId int64 `json:"campaignId,omitempty,string"`
7829
7830	// DisplayName: Required. The display name of the insertion order. Must
7831	// be UTF-8 encoded with a maximum size of 240 bytes.
7832	DisplayName string `json:"displayName,omitempty"`
7833
7834	// EntityStatus: Required. Controls whether or not the insertion order
7835	// can spend its budget and bid on inventory. * For CreateInsertionOrder
7836	// method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an
7837	// insertion order, use UpdateInsertionOrder method and update the
7838	// status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion order
7839	// cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other
7840	// status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE`
7841	// if its parent campaign is not active.
7842	//
7843	// Possible values:
7844	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
7845	// specified or is unknown in this version.
7846	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
7847	// budget.
7848	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
7849	// budget spending are disabled. An entity can be deleted after
7850	// archived. Deleted entities cannot be retrieved.
7851	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
7852	// budget spending are disabled.
7853	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
7854	// the entity.
7855	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
7856	// for deletion.
7857	EntityStatus string `json:"entityStatus,omitempty"`
7858
7859	// FrequencyCap: Required. The frequency capping setting of the
7860	// insertion order.
7861	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
7862
7863	// InsertionOrderId: Output only. The unique ID of the insertion order.
7864	// Assigned by the system.
7865	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
7866
7867	// InsertionOrderType: The type of insertion order. If this field is
7868	// unspecified in creation, the value defaults to `RTB`.
7869	//
7870	// Possible values:
7871	//   "INSERTION_ORDER_TYPE_UNSPECIFIED" - Insertion order type is not
7872	// specified or is unknown.
7873	//   "RTB" - Real-time bidding.
7874	//   "OVER_THE_TOP" - Over-the-top.
7875	InsertionOrderType string `json:"insertionOrderType,omitempty"`
7876
7877	// IntegrationDetails: Additional integration details of the insertion
7878	// order.
7879	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
7880
7881	// Name: Output only. The resource name of the insertion order.
7882	Name string `json:"name,omitempty"`
7883
7884	// Pacing: Required. The budget spending speed setting of the insertion
7885	// order.
7886	Pacing *Pacing `json:"pacing,omitempty"`
7887
7888	// PartnerCosts: The partner costs associated with the insertion order.
7889	// If absent or empty in CreateInsertionOrder method, the newly created
7890	// insertion order will inherit partner costs from the partner settings.
7891	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
7892
7893	// PerformanceGoal: Required. Performance goal of the insertion order.
7894	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
7895
7896	// UpdateTime: Output only. The timestamp when the insertion order was
7897	// last updated. Assigned by the system.
7898	UpdateTime string `json:"updateTime,omitempty"`
7899
7900	// ServerResponse contains the HTTP response code and headers from the
7901	// server.
7902	googleapi.ServerResponse `json:"-"`
7903
7904	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
7905	// unconditionally include in API requests. By default, fields with
7906	// empty values are omitted from API requests. However, any non-pointer,
7907	// non-interface field appearing in ForceSendFields will be sent to the
7908	// server regardless of whether the field is empty or not. This may be
7909	// used to include empty fields in Patch requests.
7910	ForceSendFields []string `json:"-"`
7911
7912	// NullFields is a list of field names (e.g. "AdvertiserId") to include
7913	// in API requests with the JSON null value. By default, fields with
7914	// empty values are omitted from API requests. However, any field with
7915	// an empty value appearing in NullFields will be sent to the server as
7916	// null. It is an error if a field in this list has a non-empty value.
7917	// This may be used to include null fields in Patch requests.
7918	NullFields []string `json:"-"`
7919}
7920
7921func (s *InsertionOrder) MarshalJSON() ([]byte, error) {
7922	type NoMethod InsertionOrder
7923	raw := NoMethod(*s)
7924	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7925}
7926
7927// InsertionOrderBudget: Settings that control how insertion order
7928// budget is allocated.
7929type InsertionOrderBudget struct {
7930	// AutomationType: The type of automation used to manage bid and budget
7931	// for the insertion order. If this field is unspecified in creation,
7932	// the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.
7933	//
7934	// Possible values:
7935	//   "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" - Insertion order
7936	// automation option is not specified or is unknown in this version.
7937	//   "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET" - Automatic budget
7938	// allocation. Allow the system to automatically shift budget to owning
7939	// line items to optimize performance defined by performance_goal. No
7940	// automation on bid settings.
7941	//   "INSERTION_ORDER_AUTOMATION_TYPE_NONE" - No automation of bid or
7942	// budget on insertion order level. Bid and budget must be manually
7943	// configured at the line item level.
7944	//   "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" - Allow the system to
7945	// automatically adjust bids and shift budget to owning line items to
7946	// optimize performance defined by performance_goal.
7947	AutomationType string `json:"automationType,omitempty"`
7948
7949	// BudgetSegments: Required. The list of budget segments. Use a budget
7950	// segment to specify a specific budget for a given period of time an
7951	// insertion order is running.
7952	BudgetSegments []*InsertionOrderBudgetSegment `json:"budgetSegments,omitempty"`
7953
7954	// BudgetUnit: Required. Immutable. The budget unit specifies whether
7955	// the budget is currency based or impression based.
7956	//
7957	// Possible values:
7958	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
7959	// unknown in this version.
7960	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
7961	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
7962	BudgetUnit string `json:"budgetUnit,omitempty"`
7963
7964	// ForceSendFields is a list of field names (e.g. "AutomationType") to
7965	// unconditionally include in API requests. By default, fields with
7966	// empty values are omitted from API requests. However, any non-pointer,
7967	// non-interface field appearing in ForceSendFields will be sent to the
7968	// server regardless of whether the field is empty or not. This may be
7969	// used to include empty fields in Patch requests.
7970	ForceSendFields []string `json:"-"`
7971
7972	// NullFields is a list of field names (e.g. "AutomationType") to
7973	// include in API requests with the JSON null value. By default, fields
7974	// with empty values are omitted from API requests. However, any field
7975	// with an empty value appearing in NullFields will be sent to the
7976	// server as null. It is an error if a field in this list has a
7977	// non-empty value. This may be used to include null fields in Patch
7978	// requests.
7979	NullFields []string `json:"-"`
7980}
7981
7982func (s *InsertionOrderBudget) MarshalJSON() ([]byte, error) {
7983	type NoMethod InsertionOrderBudget
7984	raw := NoMethod(*s)
7985	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7986}
7987
7988// InsertionOrderBudgetSegment: Settings that control the budget of a
7989// single budget segment.
7990type InsertionOrderBudgetSegment struct {
7991	// BudgetAmountMicros: Required. The budget amount the insertion order
7992	// will spend for the given date_range. The amount is in micros. Must be
7993	// greater than 0. For example, 500000000 represents 500 standard units
7994	// of the currency.
7995	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
7996
7997	// CampaignBudgetId: The budget_id of the campaign budget that this
7998	// insertion order budget segment is a part of.
7999	CampaignBudgetId int64 `json:"campaignBudgetId,omitempty,string"`
8000
8001	// DateRange: Required. The start and end date settings of the budget
8002	// segment. They are resolved relative to the parent advertiser's time
8003	// zone. * When creating a new budget segment, both `start_date` and
8004	// `end_date` must be in the future. * An existing budget segment with a
8005	// `start_date` in the past has a mutable `end_date` but an immutable
8006	// `start_date`. * `end_date` must be the `start_date` or later, both
8007	// before the year 2037.
8008	DateRange *DateRange `json:"dateRange,omitempty"`
8009
8010	// Description: The budget segment description. It can be used to enter
8011	// Purchase Order information for each budget segment and have that
8012	// information printed on the invoices. Must be UTF-8 encoded with a
8013	// length of no more than 80 characters.
8014	Description string `json:"description,omitempty"`
8015
8016	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros")
8017	// to unconditionally include in API requests. By default, fields with
8018	// empty values are omitted from API requests. However, any non-pointer,
8019	// non-interface field appearing in ForceSendFields will be sent to the
8020	// server regardless of whether the field is empty or not. This may be
8021	// used to include empty fields in Patch requests.
8022	ForceSendFields []string `json:"-"`
8023
8024	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to
8025	// include in API requests with the JSON null value. By default, fields
8026	// with empty values are omitted from API requests. However, any field
8027	// with an empty value appearing in NullFields will be sent to the
8028	// server as null. It is an error if a field in this list has a
8029	// non-empty value. This may be used to include null fields in Patch
8030	// requests.
8031	NullFields []string `json:"-"`
8032}
8033
8034func (s *InsertionOrderBudgetSegment) MarshalJSON() ([]byte, error) {
8035	type NoMethod InsertionOrderBudgetSegment
8036	raw := NoMethod(*s)
8037	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8038}
8039
8040// IntegralAdScience: Details of Integral Ad Science settings.
8041type IntegralAdScience struct {
8042	// CustomSegmentId: The custom segment ID provided by Integral Ad
8043	// Science. The ID must be between `1000001` and `1999999`, inclusive.
8044	CustomSegmentId googleapi.Int64s `json:"customSegmentId,omitempty"`
8045
8046	// DisplayViewability: Display Viewability section (applicable to
8047	// display line items only).
8048	//
8049	// Possible values:
8050	//   "PERFORMANCE_VIEWABILITY_UNSPECIFIED" - This enum is only a
8051	// placeholder and it doesn't specify any display viewability options.
8052	//   "PERFORMANCE_VIEWABILITY_40" - Target 40% Viewability or Higher.
8053	//   "PERFORMANCE_VIEWABILITY_50" - Target 50% Viewability or Higher.
8054	//   "PERFORMANCE_VIEWABILITY_60" - Target 60% Viewability or Higher.
8055	//   "PERFORMANCE_VIEWABILITY_70" - Target 70% Viewability or Higher.
8056	DisplayViewability string `json:"displayViewability,omitempty"`
8057
8058	// ExcludeUnrateable: Brand Safety - **Unrateable**.
8059	ExcludeUnrateable bool `json:"excludeUnrateable,omitempty"`
8060
8061	// ExcludedAdFraudRisk: Ad Fraud settings.
8062	//
8063	// Possible values:
8064	//   "SUSPICIOUS_ACTIVITY_UNSPECIFIED" - This enum is only a placeholder
8065	// and it doesn't specify any ad fraud prevention options.
8066	//   "SUSPICIOUS_ACTIVITY_HR" - Ad Fraud - Exclude High Risk.
8067	//   "SUSPICIOUS_ACTIVITY_HMR" - Ad Fraud - Exclude High and Moderate
8068	// Risk.
8069	ExcludedAdFraudRisk string `json:"excludedAdFraudRisk,omitempty"`
8070
8071	// ExcludedAdultRisk: Brand Safety - **Adult content**.
8072	//
8073	// Possible values:
8074	//   "ADULT_UNSPECIFIED" - This enum is only a placeholder and it
8075	// doesn't specify any adult options.
8076	//   "ADULT_HR" - Adult - Exclude High Risk.
8077	//   "ADULT_HMR" - Adult - Exclude High and Moderate Risk.
8078	ExcludedAdultRisk string `json:"excludedAdultRisk,omitempty"`
8079
8080	// ExcludedAlcoholRisk: Brand Safety - **Alcohol**.
8081	//
8082	// Possible values:
8083	//   "ALCOHOL_UNSPECIFIED" - This enum is only a placeholder and it
8084	// doesn't specify any alcohol options.
8085	//   "ALCOHOL_HR" - Alcohol - Exclude High Risk.
8086	//   "ALCOHOL_HMR" - Alcohol - Exclude High and Moderate Risk.
8087	ExcludedAlcoholRisk string `json:"excludedAlcoholRisk,omitempty"`
8088
8089	// ExcludedDrugsRisk: Brand Safety - **Drugs**.
8090	//
8091	// Possible values:
8092	//   "DRUGS_UNSPECIFIED" - This enum is only a placeholder and it
8093	// doesn't specify any drugs options.
8094	//   "DRUGS_HR" - Drugs - Exclude High Risk.
8095	//   "DRUGS_HMR" - Drugs - Exclude High and Moderate Risk.
8096	ExcludedDrugsRisk string `json:"excludedDrugsRisk,omitempty"`
8097
8098	// ExcludedGamblingRisk: Brand Safety - **Gambling**.
8099	//
8100	// Possible values:
8101	//   "GAMBLING_UNSPECIFIED" - This enum is only a placeholder and it
8102	// doesn't specify any gambling options.
8103	//   "GAMBLING_HR" - Gambling - Exclude High Risk.
8104	//   "GAMBLING_HMR" - Gambling - Exclude High and Moderate Risk.
8105	ExcludedGamblingRisk string `json:"excludedGamblingRisk,omitempty"`
8106
8107	// ExcludedHateSpeechRisk: Brand Safety - **Hate speech**.
8108	//
8109	// Possible values:
8110	//   "HATE_SPEECH_UNSPECIFIED" - This enum is only a placeholder and it
8111	// doesn't specify any hate speech options.
8112	//   "HATE_SPEECH_HR" - Hate Speech - Exclude High Risk.
8113	//   "HATE_SPEECH_HMR" - Hate Speech - Exclude High and Moderate Risk.
8114	ExcludedHateSpeechRisk string `json:"excludedHateSpeechRisk,omitempty"`
8115
8116	// ExcludedIllegalDownloadsRisk: Brand Safety - **Illegal downloads**.
8117	//
8118	// Possible values:
8119	//   "ILLEGAL_DOWNLOADS_UNSPECIFIED" - This enum is only a placeholder
8120	// and it doesn't specify any illegal downloads options.
8121	//   "ILLEGAL_DOWNLOADS_HR" - Illegal Downloads - Exclude High Risk.
8122	//   "ILLEGAL_DOWNLOADS_HMR" - Illegal Downloads - Exclude High and
8123	// Moderate Risk.
8124	ExcludedIllegalDownloadsRisk string `json:"excludedIllegalDownloadsRisk,omitempty"`
8125
8126	// ExcludedOffensiveLanguageRisk: Brand Safety - **Offensive language**.
8127	//
8128	// Possible values:
8129	//   "OFFENSIVE_LANGUAGE_UNSPECIFIED" - This enum is only a placeholder
8130	// and it doesn't specify any language options.
8131	//   "OFFENSIVE_LANGUAGE_HR" - Offensive Language - Exclude High Risk.
8132	//   "OFFENSIVE_LANGUAGE_HMR" - Offensive Language - Exclude High and
8133	// Moderate Risk.
8134	ExcludedOffensiveLanguageRisk string `json:"excludedOffensiveLanguageRisk,omitempty"`
8135
8136	// ExcludedViolenceRisk: Brand Safety - **Violence**.
8137	//
8138	// Possible values:
8139	//   "VIOLENCE_UNSPECIFIED" - This enum is only a placeholder and it
8140	// doesn't specify any violence options.
8141	//   "VIOLENCE_HR" - Violence - Exclude High Risk.
8142	//   "VIOLENCE_HMR" - Violence - Exclude High and Moderate Risk.
8143	ExcludedViolenceRisk string `json:"excludedViolenceRisk,omitempty"`
8144
8145	// TraqScoreOption: True advertising quality (applicable to Display line
8146	// items only).
8147	//
8148	// Possible values:
8149	//   "TRAQ_UNSPECIFIED" - This enum is only a placeholder and it doesn't
8150	// specify any true advertising quality scores.
8151	//   "TRAQ_250" - TRAQ score 250-1000.
8152	//   "TRAQ_500" - TRAQ score 500-1000.
8153	//   "TRAQ_600" - TRAQ score 600-1000.
8154	//   "TRAQ_700" - TRAQ score 700-1000.
8155	//   "TRAQ_750" - TRAQ score 750-1000.
8156	//   "TRAQ_875" - TRAQ score 875-1000.
8157	//   "TRAQ_1000" - TRAQ score 1000.
8158	TraqScoreOption string `json:"traqScoreOption,omitempty"`
8159
8160	// VideoViewability: Video Viewability Section (applicable to video line
8161	// items only).
8162	//
8163	// Possible values:
8164	//   "VIDEO_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder
8165	// and it doesn't specify any video viewability options.
8166	//   "VIDEO_VIEWABILITY_40" - 40%+ in view (IAB video viewability
8167	// standard).
8168	//   "VIDEO_VIEWABILITY_50" - 50%+ in view (IAB video viewability
8169	// standard).
8170	//   "VIDEO_VIEWABILITY_60" - 60%+ in view (IAB video viewability
8171	// standard).
8172	//   "VIDEO_VIEWABILITY_70" - 70%+ in view (IAB video viewability
8173	// standard).
8174	VideoViewability string `json:"videoViewability,omitempty"`
8175
8176	// ForceSendFields is a list of field names (e.g. "CustomSegmentId") to
8177	// unconditionally include in API requests. By default, fields with
8178	// empty values are omitted from API requests. However, any non-pointer,
8179	// non-interface field appearing in ForceSendFields will be sent to the
8180	// server regardless of whether the field is empty or not. This may be
8181	// used to include empty fields in Patch requests.
8182	ForceSendFields []string `json:"-"`
8183
8184	// NullFields is a list of field names (e.g. "CustomSegmentId") to
8185	// include in API requests with the JSON null value. By default, fields
8186	// with empty values are omitted from API requests. However, any field
8187	// with an empty value appearing in NullFields will be sent to the
8188	// server as null. It is an error if a field in this list has a
8189	// non-empty value. This may be used to include null fields in Patch
8190	// requests.
8191	NullFields []string `json:"-"`
8192}
8193
8194func (s *IntegralAdScience) MarshalJSON() ([]byte, error) {
8195	type NoMethod IntegralAdScience
8196	raw := NoMethod(*s)
8197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8198}
8199
8200// IntegrationDetails: Integration details of an entry.
8201type IntegrationDetails struct {
8202	// Details: Additional details of the entry in string format. Must be
8203	// UTF-8 encoded with a length of no more than 1000 characters.
8204	Details string `json:"details,omitempty"`
8205
8206	// IntegrationCode: An external identifier to be associated with the
8207	// entry. The integration code will show up together with the entry in
8208	// many places in the system, for example, reporting. Must be UTF-8
8209	// encoded with a length of no more than 500 characters.
8210	IntegrationCode string `json:"integrationCode,omitempty"`
8211
8212	// ForceSendFields is a list of field names (e.g. "Details") to
8213	// unconditionally include in API requests. By default, fields with
8214	// empty values are omitted from API requests. However, any non-pointer,
8215	// non-interface field appearing in ForceSendFields will be sent to the
8216	// server regardless of whether the field is empty or not. This may be
8217	// used to include empty fields in Patch requests.
8218	ForceSendFields []string `json:"-"`
8219
8220	// NullFields is a list of field names (e.g. "Details") to include in
8221	// API requests with the JSON null value. By default, fields with empty
8222	// values are omitted from API requests. However, any field with an
8223	// empty value appearing in NullFields will be sent to the server as
8224	// null. It is an error if a field in this list has a non-empty value.
8225	// This may be used to include null fields in Patch requests.
8226	NullFields []string `json:"-"`
8227}
8228
8229func (s *IntegrationDetails) MarshalJSON() ([]byte, error) {
8230	type NoMethod IntegrationDetails
8231	raw := NoMethod(*s)
8232	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8233}
8234
8235// InventorySource: An inventory source.
8236type InventorySource struct {
8237	// Commitment: Whether the inventory source has a guaranteed or
8238	// non-guaranteed delivery.
8239	//
8240	// Possible values:
8241	//   "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED" - The commitment is not
8242	// specified or is unknown in this version.
8243	//   "INVENTORY_SOURCE_COMMITMENT_GUARANTEED" - The commitment is
8244	// guaranteed delivery.
8245	//   "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" - The commitment is
8246	// non-guaranteed delivery.
8247	Commitment string `json:"commitment,omitempty"`
8248
8249	// CreativeConfigs: The creative requirements of the inventory source.
8250	// Not applicable for auction packages.
8251	CreativeConfigs []*CreativeConfig `json:"creativeConfigs,omitempty"`
8252
8253	// DealId: The ID in the exchange space that uniquely identifies the
8254	// inventory source. Must be unique across buyers within each exchange
8255	// but not necessarily unique across exchanges.
8256	DealId string `json:"dealId,omitempty"`
8257
8258	// DeliveryMethod: The delivery method of the inventory source. * For
8259	// non-guaranteed inventory sources, the only acceptable value is
8260	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed
8261	// inventory sources, acceptable values are
8262	// `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and
8263	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.
8264	//
8265	// Possible values:
8266	//   "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED" - The delivery
8267	// method is not specified or is unknown in this version.
8268	//   "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC" - The delivery
8269	// method is programmatic.
8270	//   "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" - The delivery method is
8271	// tag.
8272	DeliveryMethod string `json:"deliveryMethod,omitempty"`
8273
8274	// DisplayName: The display name of the inventory source. Must be UTF-8
8275	// encoded with a maximum size of 240 bytes.
8276	DisplayName string `json:"displayName,omitempty"`
8277
8278	// Exchange: The exchange to which the inventory source belongs.
8279	//
8280	// Possible values:
8281	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
8282	// this version.
8283	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
8284	//   "EXCHANGE_APPNEXUS" - AppNexus.
8285	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
8286	//   "EXCHANGE_ADFORM" - Adform.
8287	//   "EXCHANGE_ADMETA" - Admeta.
8288	//   "EXCHANGE_ADMIXER" - Admixer.
8289	//   "EXCHANGE_ADSMOGO" - AdsMogo.
8290	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
8291	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
8292	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
8293	// from Yahoo!.
8294	//   "EXCHANGE_CADREON" - Cadreon.
8295	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
8296	//   "EXCHANGE_FIVE" - Five.
8297	//   "EXCHANGE_FLUCT" - Fluct.
8298	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
8299	//   "EXCHANGE_GENIEE" - Geniee.
8300	//   "EXCHANGE_GUMGUM" - GumGum.
8301	//   "EXCHANGE_IMOBILE" - i-mobile.
8302	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
8303	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
8304	//   "EXCHANGE_INDEX" - Index Exchange.
8305	//   "EXCHANGE_KARGO" - Kargo.
8306	//   "EXCHANGE_MICROAD" - MicroAd.
8307	//   "EXCHANGE_MOPUB" - MoPub.
8308	//   "EXCHANGE_NEND" - Nend.
8309	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
8310	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
8311	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
8312	//   "EXCHANGE_OOYALA" - Ooyala.
8313	//   "EXCHANGE_OPENX" - OpenX.
8314	//   "EXCHANGE_PERMODO" - Permodo.
8315	//   "EXCHANGE_PLATFORMONE" - Platform One.
8316	//   "EXCHANGE_PLATFORMID" - PlatformId.
8317	//   "EXCHANGE_PUBMATIC" - PubMatic.
8318	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
8319	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
8320	//   "EXCHANGE_RUBICON" - Rubicon.
8321	//   "EXCHANGE_SMARTCLIP" - SmartClip.
8322	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
8323	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
8324	//   "EXCHANGE_SOVRN" - Sovrn.
8325	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
8326	//   "EXCHANGE_STROER" - Ströer SSP.
8327	//   "EXCHANGE_TEADSTV" - TeadsTv.
8328	//   "EXCHANGE_TELARIA" - Telaria.
8329	//   "EXCHANGE_TVN" - TVN.
8330	//   "EXCHANGE_UNITED" - United.
8331	//   "EXCHANGE_YIELDLAB" - Yieldlab.
8332	//   "EXCHANGE_YIELDMO" - Yieldmo.
8333	//   "EXCHANGE_UNRULYX" - UnrulyX.
8334	//   "EXCHANGE_OPEN8" - Open8.
8335	//   "EXCHANGE_TRITON" - Triton.
8336	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
8337	//   "EXCHANGE_TABOOLA" - Taboola.
8338	//   "EXCHANGE_INMOBI" - InMobi.
8339	//   "EXCHANGE_SMAATO" - Smaato.
8340	//   "EXCHANGE_AJA" - Aja.
8341	//   "EXCHANGE_SUPERSHIP" - Supership.
8342	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
8343	//   "EXCHANGE_WAZE" - Waze.
8344	//   "EXCHANGE_SOUNDCAST" - SoundCast.
8345	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
8346	//   "EXCHANGE_MEDIANET" - Media.net.
8347	Exchange string `json:"exchange,omitempty"`
8348
8349	// InventorySourceId: Output only. The unique ID of the inventory
8350	// source. Assigned by the system.
8351	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
8352
8353	// InventorySourceType: Denotes the type of the inventory source.
8354	//
8355	// Possible values:
8356	//   "INVENTORY_SOURCE_TYPE_UNSPECIFIED" - The inventory source type is
8357	// not specified or is unknown in this version.
8358	//   "INVENTORY_SOURCE_TYPE_PRIVATE" - Private inventory source.
8359	//   "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" - Auction package.
8360	InventorySourceType string `json:"inventorySourceType,omitempty"`
8361
8362	// Name: Output only. The resource name of the inventory source.
8363	Name string `json:"name,omitempty"`
8364
8365	// PublisherName: The publisher/seller name of the inventory source.
8366	PublisherName string `json:"publisherName,omitempty"`
8367
8368	// RateDetails: Required. The rate details of the inventory source.
8369	RateDetails *RateDetails `json:"rateDetails,omitempty"`
8370
8371	// Status: The status settings of the inventory source.
8372	Status *InventorySourceStatus `json:"status,omitempty"`
8373
8374	// TimeRange: The time range when this inventory source starts and stops
8375	// serving.
8376	TimeRange *TimeRange `json:"timeRange,omitempty"`
8377
8378	// UpdateTime: Output only. The timestamp when the inventory source was
8379	// last updated. Assigned by the system.
8380	UpdateTime string `json:"updateTime,omitempty"`
8381
8382	// ServerResponse contains the HTTP response code and headers from the
8383	// server.
8384	googleapi.ServerResponse `json:"-"`
8385
8386	// ForceSendFields is a list of field names (e.g. "Commitment") to
8387	// unconditionally include in API requests. By default, fields with
8388	// empty values are omitted from API requests. However, any non-pointer,
8389	// non-interface field appearing in ForceSendFields will be sent to the
8390	// server regardless of whether the field is empty or not. This may be
8391	// used to include empty fields in Patch requests.
8392	ForceSendFields []string `json:"-"`
8393
8394	// NullFields is a list of field names (e.g. "Commitment") to include in
8395	// API requests with the JSON null value. By default, fields with empty
8396	// values are omitted from API requests. However, any field with an
8397	// empty value appearing in NullFields will be sent to the server as
8398	// null. It is an error if a field in this list has a non-empty value.
8399	// This may be used to include null fields in Patch requests.
8400	NullFields []string `json:"-"`
8401}
8402
8403func (s *InventorySource) MarshalJSON() ([]byte, error) {
8404	type NoMethod InventorySource
8405	raw := NoMethod(*s)
8406	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8407}
8408
8409// InventorySourceAssignedTargetingOptionDetails: Targeting details for
8410// inventory source. This will be populated in the details field of an
8411// AssignedTargetingOption when targeting_type is
8412// `TARGETING_TYPE_INVENTORY_SOURCE`.
8413type InventorySourceAssignedTargetingOptionDetails struct {
8414	// InventorySourceId: Required. ID of the inventory source. Should refer
8415	// to the inventory_source_id field of an InventorySource resource.
8416	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
8417
8418	// ForceSendFields is a list of field names (e.g. "InventorySourceId")
8419	// to unconditionally include in API requests. By default, fields with
8420	// empty values are omitted from API requests. However, any non-pointer,
8421	// non-interface field appearing in ForceSendFields will be sent to the
8422	// server regardless of whether the field is empty or not. This may be
8423	// used to include empty fields in Patch requests.
8424	ForceSendFields []string `json:"-"`
8425
8426	// NullFields is a list of field names (e.g. "InventorySourceId") to
8427	// include in API requests with the JSON null value. By default, fields
8428	// with empty values are omitted from API requests. However, any field
8429	// with an empty value appearing in NullFields will be sent to the
8430	// server as null. It is an error if a field in this list has a
8431	// non-empty value. This may be used to include null fields in Patch
8432	// requests.
8433	NullFields []string `json:"-"`
8434}
8435
8436func (s *InventorySourceAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8437	type NoMethod InventorySourceAssignedTargetingOptionDetails
8438	raw := NoMethod(*s)
8439	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8440}
8441
8442// InventorySourceDisplayCreativeConfig: The configuration for display
8443// creatives.
8444type InventorySourceDisplayCreativeConfig struct {
8445	// CreativeSize: The size requirements for display creatives that can be
8446	// assigned to the inventory source.
8447	CreativeSize *Dimensions `json:"creativeSize,omitempty"`
8448
8449	// ForceSendFields is a list of field names (e.g. "CreativeSize") to
8450	// unconditionally include in API requests. By default, fields with
8451	// empty values are omitted from API requests. However, any non-pointer,
8452	// non-interface field appearing in ForceSendFields will be sent to the
8453	// server regardless of whether the field is empty or not. This may be
8454	// used to include empty fields in Patch requests.
8455	ForceSendFields []string `json:"-"`
8456
8457	// NullFields is a list of field names (e.g. "CreativeSize") to include
8458	// in API requests with the JSON null value. By default, fields with
8459	// empty values are omitted from API requests. However, any field with
8460	// an empty value appearing in NullFields will be sent to the server as
8461	// null. It is an error if a field in this list has a non-empty value.
8462	// This may be used to include null fields in Patch requests.
8463	NullFields []string `json:"-"`
8464}
8465
8466func (s *InventorySourceDisplayCreativeConfig) MarshalJSON() ([]byte, error) {
8467	type NoMethod InventorySourceDisplayCreativeConfig
8468	raw := NoMethod(*s)
8469	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8470}
8471
8472// InventorySourceFilter: A filtering option for filtering on Inventory
8473// Source entities.
8474type InventorySourceFilter struct {
8475	// InventorySourceIds: Inventory Sources to download by ID. All IDs must
8476	// belong to the same Advertiser or Partner specified in
8477	// CreateSdfDownloadTaskRequest. Leave empty to download all Inventory
8478	// Sources for the selected Advertiser or Partner.
8479	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
8480
8481	// ForceSendFields is a list of field names (e.g. "InventorySourceIds")
8482	// to unconditionally include in API requests. By default, fields with
8483	// empty values are omitted from API requests. However, any non-pointer,
8484	// non-interface field appearing in ForceSendFields will be sent to the
8485	// server regardless of whether the field is empty or not. This may be
8486	// used to include empty fields in Patch requests.
8487	ForceSendFields []string `json:"-"`
8488
8489	// NullFields is a list of field names (e.g. "InventorySourceIds") to
8490	// include in API requests with the JSON null value. By default, fields
8491	// with empty values are omitted from API requests. However, any field
8492	// with an empty value appearing in NullFields will be sent to the
8493	// server as null. It is an error if a field in this list has a
8494	// non-empty value. This may be used to include null fields in Patch
8495	// requests.
8496	NullFields []string `json:"-"`
8497}
8498
8499func (s *InventorySourceFilter) MarshalJSON() ([]byte, error) {
8500	type NoMethod InventorySourceFilter
8501	raw := NoMethod(*s)
8502	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8503}
8504
8505// InventorySourceGroup: A collection of targetable inventory sources.
8506type InventorySourceGroup struct {
8507	// DisplayName: Required. The display name of the inventory source
8508	// group. Must be UTF-8 encoded with a maximum size of 240 bytes.
8509	DisplayName string `json:"displayName,omitempty"`
8510
8511	// InventorySourceGroupId: Output only. The unique ID of the inventory
8512	// source group. Assigned by the system.
8513	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
8514
8515	// Name: Output only. The resource name of the inventory source group.
8516	Name string `json:"name,omitempty"`
8517
8518	// ServerResponse contains the HTTP response code and headers from the
8519	// server.
8520	googleapi.ServerResponse `json:"-"`
8521
8522	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8523	// unconditionally include in API requests. By default, fields with
8524	// empty values are omitted from API requests. However, any non-pointer,
8525	// non-interface field appearing in ForceSendFields will be sent to the
8526	// server regardless of whether the field is empty or not. This may be
8527	// used to include empty fields in Patch requests.
8528	ForceSendFields []string `json:"-"`
8529
8530	// NullFields is a list of field names (e.g. "DisplayName") to include
8531	// in API requests with the JSON null value. By default, fields with
8532	// empty values are omitted from API requests. However, any field with
8533	// an empty value appearing in NullFields will be sent to the server as
8534	// null. It is an error if a field in this list has a non-empty value.
8535	// This may be used to include null fields in Patch requests.
8536	NullFields []string `json:"-"`
8537}
8538
8539func (s *InventorySourceGroup) MarshalJSON() ([]byte, error) {
8540	type NoMethod InventorySourceGroup
8541	raw := NoMethod(*s)
8542	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8543}
8544
8545// InventorySourceGroupAssignedTargetingOptionDetails: Targeting details
8546// for inventory source group. This will be populated in the details
8547// field of an AssignedTargetingOption when targeting_type is
8548// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
8549type InventorySourceGroupAssignedTargetingOptionDetails struct {
8550	// InventorySourceGroupId: Required. ID of the inventory source group.
8551	// Should refer to the inventory_source_group_id field of an
8552	// InventorySourceGroup resource.
8553	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
8554
8555	// ForceSendFields is a list of field names (e.g.
8556	// "InventorySourceGroupId") to unconditionally include in API requests.
8557	// By default, fields with empty values are omitted from API requests.
8558	// However, any non-pointer, non-interface field appearing in
8559	// ForceSendFields will be sent to the server regardless of whether the
8560	// field is empty or not. This may be used to include empty fields in
8561	// Patch requests.
8562	ForceSendFields []string `json:"-"`
8563
8564	// NullFields is a list of field names (e.g. "InventorySourceGroupId")
8565	// to include in API requests with the JSON null value. By default,
8566	// fields with empty values are omitted from API requests. However, any
8567	// field with an empty value appearing in NullFields will be sent to the
8568	// server as null. It is an error if a field in this list has a
8569	// non-empty value. This may be used to include null fields in Patch
8570	// requests.
8571	NullFields []string `json:"-"`
8572}
8573
8574func (s *InventorySourceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8575	type NoMethod InventorySourceGroupAssignedTargetingOptionDetails
8576	raw := NoMethod(*s)
8577	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8578}
8579
8580// InventorySourceStatus: The status related settings of the inventory
8581// source.
8582type InventorySourceStatus struct {
8583	// ConfigStatus: Output only. The configuration status of the inventory
8584	// source. Only applicable for guaranteed inventory sources. Acceptable
8585	// values are `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and
8586	// `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must
8587	// be configured (fill in the required fields, choose creatives, and
8588	// select a default campaign) before it can serve.
8589	//
8590	// Possible values:
8591	//   "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED" - The approval status
8592	// is not specified or is unknown in this version.
8593	//   "INVENTORY_SOURCE_CONFIG_STATUS_PENDING" - The beginning state of a
8594	// guaranteed inventory source. The inventory source in this state needs
8595	// to be configured.
8596	//   "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" - The state after the
8597	// buyer configures a guaranteed inventory source.
8598	ConfigStatus string `json:"configStatus,omitempty"`
8599
8600	// EntityPauseReason: The user-provided reason for pausing this
8601	// inventory source. Must not exceed 100 characters. Only applicable
8602	// when entity_status is set to `ENTITY_STATUS_PAUSED`.
8603	EntityPauseReason string `json:"entityPauseReason,omitempty"`
8604
8605	// EntityStatus: Whether or not the inventory source is servable.
8606	// Acceptable values are `ENTITY_STATUS_ACTIVE`,
8607	// `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value
8608	// is `ENTITY_STATUS_ACTIVE`.
8609	//
8610	// Possible values:
8611	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8612	// specified or is unknown in this version.
8613	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8614	// budget.
8615	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8616	// budget spending are disabled. An entity can be deleted after
8617	// archived. Deleted entities cannot be retrieved.
8618	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8619	// budget spending are disabled.
8620	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8621	// the entity.
8622	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8623	// for deletion.
8624	EntityStatus string `json:"entityStatus,omitempty"`
8625
8626	// SellerPauseReason: Output only. The seller-provided reason for
8627	// pausing this inventory source. Only applicable for inventory sources
8628	// synced directly from the publishers and when seller_status is set to
8629	// `ENTITY_STATUS_PAUSED`.
8630	SellerPauseReason string `json:"sellerPauseReason,omitempty"`
8631
8632	// SellerStatus: Output only. The status set by the seller for the
8633	// inventory source. Only applicable for inventory sources synced
8634	// directly from the publishers. Acceptable values are
8635	// `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_PAUSED`.
8636	//
8637	// Possible values:
8638	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8639	// specified or is unknown in this version.
8640	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8641	// budget.
8642	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8643	// budget spending are disabled. An entity can be deleted after
8644	// archived. Deleted entities cannot be retrieved.
8645	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8646	// budget spending are disabled.
8647	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8648	// the entity.
8649	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8650	// for deletion.
8651	SellerStatus string `json:"sellerStatus,omitempty"`
8652
8653	// ForceSendFields is a list of field names (e.g. "ConfigStatus") to
8654	// unconditionally include in API requests. By default, fields with
8655	// empty values are omitted from API requests. However, any non-pointer,
8656	// non-interface field appearing in ForceSendFields will be sent to the
8657	// server regardless of whether the field is empty or not. This may be
8658	// used to include empty fields in Patch requests.
8659	ForceSendFields []string `json:"-"`
8660
8661	// NullFields is a list of field names (e.g. "ConfigStatus") to include
8662	// in API requests with the JSON null value. By default, fields with
8663	// empty values are omitted from API requests. However, any field with
8664	// an empty value appearing in NullFields will be sent to the server as
8665	// null. It is an error if a field in this list has a non-empty value.
8666	// This may be used to include null fields in Patch requests.
8667	NullFields []string `json:"-"`
8668}
8669
8670func (s *InventorySourceStatus) MarshalJSON() ([]byte, error) {
8671	type NoMethod InventorySourceStatus
8672	raw := NoMethod(*s)
8673	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8674}
8675
8676// InventorySourceVideoCreativeConfig: The configuration for video
8677// creatives.
8678type InventorySourceVideoCreativeConfig struct {
8679	// Duration: The duration requirements for the video creatives that can
8680	// be assigned to the inventory source.
8681	Duration string `json:"duration,omitempty"`
8682
8683	// ForceSendFields is a list of field names (e.g. "Duration") to
8684	// unconditionally include in API requests. By default, fields with
8685	// empty values are omitted from API requests. However, any non-pointer,
8686	// non-interface field appearing in ForceSendFields will be sent to the
8687	// server regardless of whether the field is empty or not. This may be
8688	// used to include empty fields in Patch requests.
8689	ForceSendFields []string `json:"-"`
8690
8691	// NullFields is a list of field names (e.g. "Duration") to include in
8692	// API requests with the JSON null value. By default, fields with empty
8693	// values are omitted from API requests. However, any field with an
8694	// empty value appearing in NullFields will be sent to the server as
8695	// null. It is an error if a field in this list has a non-empty value.
8696	// This may be used to include null fields in Patch requests.
8697	NullFields []string `json:"-"`
8698}
8699
8700func (s *InventorySourceVideoCreativeConfig) MarshalJSON() ([]byte, error) {
8701	type NoMethod InventorySourceVideoCreativeConfig
8702	raw := NoMethod(*s)
8703	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8704}
8705
8706// Invoice: A single invoice.
8707type Invoice struct {
8708	// BudgetInvoiceGroupingId: The budget grouping ID for this invoice.
8709	// This field will only be set if the invoice level of the corresponding
8710	// billing profile was set to "Budget invoice grouping ID".
8711	BudgetInvoiceGroupingId string `json:"budgetInvoiceGroupingId,omitempty"`
8712
8713	// BudgetSummaries: The list of summarized information for each budget
8714	// associated with this invoice. This field will only be set if the
8715	// invoice detail level of the corresponding billing profile was set to
8716	// "Budget level PO".
8717	BudgetSummaries []*BudgetSummary `json:"budgetSummaries,omitempty"`
8718
8719	// CorrectedInvoiceId: The ID of the original invoice being adjusted by
8720	// this invoice, if applicable. May appear on the invoice PDF as
8721	// `Reference invoice number`. If replaced_invoice_ids is set, this
8722	// field will be empty.
8723	CorrectedInvoiceId string `json:"correctedInvoiceId,omitempty"`
8724
8725	// CurrencyCode: The currency used in the invoice in ISO 4217 format.
8726	CurrencyCode string `json:"currencyCode,omitempty"`
8727
8728	// DisplayName: The display name of the invoice.
8729	DisplayName string `json:"displayName,omitempty"`
8730
8731	// DueDate: The date when the invoice is due.
8732	DueDate *Date `json:"dueDate,omitempty"`
8733
8734	// InvoiceId: The unique ID of the invoice.
8735	InvoiceId string `json:"invoiceId,omitempty"`
8736
8737	// InvoiceType: The type of invoice document.
8738	//
8739	// Possible values:
8740	//   "INVOICE_TYPE_UNSPECIFIED" - Not specified or is unknown in this
8741	// version.
8742	//   "INVOICE_TYPE_CREDIT" - The invoice has a negative amount.
8743	//   "INVOICE_TYPE_INVOICE" - The invoice has a positive amount.
8744	InvoiceType string `json:"invoiceType,omitempty"`
8745
8746	// IssueDate: The date when the invoice was issued.
8747	IssueDate *Date `json:"issueDate,omitempty"`
8748
8749	// Name: The resource name of the invoice.
8750	Name string `json:"name,omitempty"`
8751
8752	// NonBudgetMicros: The total amount of costs or adjustments not tied to
8753	// a particular budget, in micros of the invoice's currency. For
8754	// example, if currency_code is `USD`, then 1000000 represents one US
8755	// dollar.
8756	NonBudgetMicros int64 `json:"nonBudgetMicros,omitempty,string"`
8757
8758	// PaymentsAccountId: The ID of the payments account the invoice belongs
8759	// to. Appears on the invoice PDF as `Billing Account Number`.
8760	PaymentsAccountId string `json:"paymentsAccountId,omitempty"`
8761
8762	// PaymentsProfileId: The ID of the payments profile the invoice belongs
8763	// to. Appears on the invoice PDF as `Billing ID`.
8764	PaymentsProfileId string `json:"paymentsProfileId,omitempty"`
8765
8766	// PdfUrl: The URL to download a PDF copy of the invoice. This URL is
8767	// user specific and requires a valid OAuth 2.0 access token to access.
8768	// The access token must be provided in an `Authorization: Bearer` HTTP
8769	// header and be authorized for one of the following scopes: *
8770	// `https://www.googleapis.com/auth/display-video-mediaplanning` *
8771	// `https://www.googleapis.com/auth/display-video` The URL will be valid
8772	// for 7 days after retrieval of this invoice object or until this
8773	// invoice is retrieved again.
8774	PdfUrl string `json:"pdfUrl,omitempty"`
8775
8776	// PurchaseOrderNumber: Purchase order number associated with the
8777	// invoice.
8778	PurchaseOrderNumber string `json:"purchaseOrderNumber,omitempty"`
8779
8780	// ReplacedInvoiceIds: The ID(s) of any originally issued invoice that
8781	// is being cancelled by this invoice, if applicable. Multiple invoices
8782	// may be listed if those invoices are being consolidated into a single
8783	// invoice. May appear on invoice PDF as `Replaced invoice numbers`. If
8784	// corrected_invoice_id is set, this field will be empty.
8785	ReplacedInvoiceIds []string `json:"replacedInvoiceIds,omitempty"`
8786
8787	// ServiceDateRange: The service start and end dates which are covered
8788	// by this invoice.
8789	ServiceDateRange *DateRange `json:"serviceDateRange,omitempty"`
8790
8791	// SubtotalAmountMicros: The pre-tax subtotal amount, in micros of the
8792	// invoice's currency. For example, if currency_code is `USD`, then
8793	// 1000000 represents one US dollar.
8794	SubtotalAmountMicros int64 `json:"subtotalAmountMicros,omitempty,string"`
8795
8796	// TotalAmountMicros: The invoice total amount, in micros of the
8797	// invoice's currency. For example, if currency_code is `USD`, then
8798	// 1000000 represents one US dollar.
8799	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
8800
8801	// TotalTaxAmountMicros: The sum of all taxes in invoice, in micros of
8802	// the invoice's currency. For example, if currency_code is `USD`, then
8803	// 1000000 represents one US dollar.
8804	TotalTaxAmountMicros int64 `json:"totalTaxAmountMicros,omitempty,string"`
8805
8806	// ForceSendFields is a list of field names (e.g.
8807	// "BudgetInvoiceGroupingId") to unconditionally include in API
8808	// requests. By default, fields with empty values are omitted from API
8809	// requests. However, any non-pointer, non-interface field appearing in
8810	// ForceSendFields will be sent to the server regardless of whether the
8811	// field is empty or not. This may be used to include empty fields in
8812	// Patch requests.
8813	ForceSendFields []string `json:"-"`
8814
8815	// NullFields is a list of field names (e.g. "BudgetInvoiceGroupingId")
8816	// to include in API requests with the JSON null value. By default,
8817	// fields with empty values are omitted from API requests. However, any
8818	// field with an empty value appearing in NullFields will be sent to the
8819	// server as null. It is an error if a field in this list has a
8820	// non-empty value. This may be used to include null fields in Patch
8821	// requests.
8822	NullFields []string `json:"-"`
8823}
8824
8825func (s *Invoice) MarshalJSON() ([]byte, error) {
8826	type NoMethod Invoice
8827	raw := NoMethod(*s)
8828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8829}
8830
8831// KeywordAssignedTargetingOptionDetails: Details for assigned keyword
8832// targeting option. This will be populated in the details field of an
8833// AssignedTargetingOption when targeting_type is
8834// `TARGETING_TYPE_KEYWORD`.
8835type KeywordAssignedTargetingOptionDetails struct {
8836	// Keyword: Required. The keyword, for example `car insurance`. Positive
8837	// keyword cannot be offensive word. Must be UTF-8 encoded with a
8838	// maximum size of 255 bytes. Maximum number of characters is 80.
8839	// Maximum number of words is 10.
8840	Keyword string `json:"keyword,omitempty"`
8841
8842	// Negative: Indicates if this option is being negatively targeted.
8843	Negative bool `json:"negative,omitempty"`
8844
8845	// ForceSendFields is a list of field names (e.g. "Keyword") to
8846	// unconditionally include in API requests. By default, fields with
8847	// empty values are omitted from API requests. However, any non-pointer,
8848	// non-interface field appearing in ForceSendFields will be sent to the
8849	// server regardless of whether the field is empty or not. This may be
8850	// used to include empty fields in Patch requests.
8851	ForceSendFields []string `json:"-"`
8852
8853	// NullFields is a list of field names (e.g. "Keyword") to include in
8854	// API requests with the JSON null value. By default, fields with empty
8855	// values are omitted from API requests. However, any field with an
8856	// empty value appearing in NullFields will be sent to the server as
8857	// null. It is an error if a field in this list has a non-empty value.
8858	// This may be used to include null fields in Patch requests.
8859	NullFields []string `json:"-"`
8860}
8861
8862func (s *KeywordAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8863	type NoMethod KeywordAssignedTargetingOptionDetails
8864	raw := NoMethod(*s)
8865	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8866}
8867
8868// LanguageAssignedTargetingOptionDetails: Details for assigned language
8869// targeting option. This will be populated in the details field of an
8870// AssignedTargetingOption when targeting_type is
8871// `TARGETING_TYPE_LANGUAGE`.
8872type LanguageAssignedTargetingOptionDetails struct {
8873	// DisplayName: Output only. The display name of the language (e.g.,
8874	// "French").
8875	DisplayName string `json:"displayName,omitempty"`
8876
8877	// Negative: Indicates if this option is being negatively targeted. All
8878	// assigned language targeting options on the same resource must have
8879	// the same value for this field.
8880	Negative bool `json:"negative,omitempty"`
8881
8882	// TargetingOptionId: Required. The targeting_option_id of a
8883	// TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
8884	TargetingOptionId string `json:"targetingOptionId,omitempty"`
8885
8886	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8887	// unconditionally include in API requests. By default, fields with
8888	// empty values are omitted from API requests. However, any non-pointer,
8889	// non-interface field appearing in ForceSendFields will be sent to the
8890	// server regardless of whether the field is empty or not. This may be
8891	// used to include empty fields in Patch requests.
8892	ForceSendFields []string `json:"-"`
8893
8894	// NullFields is a list of field names (e.g. "DisplayName") to include
8895	// in API requests with the JSON null value. By default, fields with
8896	// empty values are omitted from API requests. However, any field with
8897	// an empty value appearing in NullFields will be sent to the server as
8898	// null. It is an error if a field in this list has a non-empty value.
8899	// This may be used to include null fields in Patch requests.
8900	NullFields []string `json:"-"`
8901}
8902
8903func (s *LanguageAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8904	type NoMethod LanguageAssignedTargetingOptionDetails
8905	raw := NoMethod(*s)
8906	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8907}
8908
8909// LanguageTargetingOptionDetails: Represents a targetable language.
8910// This will be populated in the language_details field when
8911// targeting_type is `TARGETING_TYPE_LANGUAGE`.
8912type LanguageTargetingOptionDetails struct {
8913	// DisplayName: Output only. The display name of the language (e.g.,
8914	// "French").
8915	DisplayName string `json:"displayName,omitempty"`
8916
8917	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8918	// unconditionally include in API requests. By default, fields with
8919	// empty values are omitted from API requests. However, any non-pointer,
8920	// non-interface field appearing in ForceSendFields will be sent to the
8921	// server regardless of whether the field is empty or not. This may be
8922	// used to include empty fields in Patch requests.
8923	ForceSendFields []string `json:"-"`
8924
8925	// NullFields is a list of field names (e.g. "DisplayName") to include
8926	// in API requests with the JSON null value. By default, fields with
8927	// empty values are omitted from API requests. However, any field with
8928	// an empty value appearing in NullFields will be sent to the server as
8929	// null. It is an error if a field in this list has a non-empty value.
8930	// This may be used to include null fields in Patch requests.
8931	NullFields []string `json:"-"`
8932}
8933
8934func (s *LanguageTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8935	type NoMethod LanguageTargetingOptionDetails
8936	raw := NoMethod(*s)
8937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8938}
8939
8940// LineItem: A single line item.
8941type LineItem struct {
8942	// AdvertiserId: Output only. The unique ID of the advertiser the line
8943	// item belongs to.
8944	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8945
8946	// BidStrategy: Required. The bidding strategy of the line item.
8947	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
8948
8949	// Budget: Required. The budget allocation setting of the line item.
8950	Budget *LineItemBudget `json:"budget,omitempty"`
8951
8952	// CampaignId: Output only. The unique ID of the campaign that the line
8953	// item belongs to.
8954	CampaignId int64 `json:"campaignId,omitempty,string"`
8955
8956	// ConversionCounting: The conversion tracking setting of the line item.
8957	ConversionCounting *ConversionCountingConfig `json:"conversionCounting,omitempty"`
8958
8959	// CreativeIds: The IDs of the creatives associated with the line item.
8960	CreativeIds googleapi.Int64s `json:"creativeIds,omitempty"`
8961
8962	// DisplayName: Required. The display name of the line item. Must be
8963	// UTF-8 encoded with a maximum size of 240 bytes.
8964	DisplayName string `json:"displayName,omitempty"`
8965
8966	// EntityStatus: Required. Controls whether or not the line item can
8967	// spend its budget and bid on inventory. * For CreateLineItem method,
8968	// only `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use
8969	// UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE`
8970	// after creation. * A line item cannot be changed back to
8971	// `ENTITY_STATUS_DRAFT` status from any other status. * If the line
8972	// item's parent insertion order is not active, the line item can't
8973	// spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.
8974	//
8975	// Possible values:
8976	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8977	// specified or is unknown in this version.
8978	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8979	// budget.
8980	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8981	// budget spending are disabled. An entity can be deleted after
8982	// archived. Deleted entities cannot be retrieved.
8983	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8984	// budget spending are disabled.
8985	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8986	// the entity.
8987	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8988	// for deletion.
8989	EntityStatus string `json:"entityStatus,omitempty"`
8990
8991	// Flight: Required. The start and end time of the line item's flight.
8992	Flight *LineItemFlight `json:"flight,omitempty"`
8993
8994	// FrequencyCap: Required. The frequency capping setting of the line
8995	// item.
8996	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
8997
8998	// InsertionOrderId: Required. Immutable. The unique ID of the insertion
8999	// order that the line item belongs to.
9000	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
9001
9002	// IntegrationDetails: Integration details of the line item.
9003	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
9004
9005	// InventorySourceIds: The IDs of the private inventory sources assigned
9006	// to the line item.
9007	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
9008
9009	// LineItemId: Output only. The unique ID of the line item. Assigned by
9010	// the system.
9011	LineItemId int64 `json:"lineItemId,omitempty,string"`
9012
9013	// LineItemType: Required. Immutable. The type of the line item.
9014	//
9015	// Possible values:
9016	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is
9017	// unknown in this version.
9018	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich
9019	// media ads.
9020	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that
9021	// drive installs of an app.
9022	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for
9023	// a variety of environments.
9024	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive
9025	// installs of an app.
9026	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served
9027	// on mobile app inventory.
9028	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on
9029	// mobile app inventory.
9030	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety
9031	// of environments.
9032	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in
9033	// OTT insertion orders. This type is only applicable to line items with
9034	// an insertion order of insertion_order_type `OVER_THE_TOP`.
9035	LineItemType string `json:"lineItemType,omitempty"`
9036
9037	// MobileApp: The mobile app promoted by the line item. This is
9038	// applicable only when line_item_type is either
9039	// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
9040	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
9041	MobileApp *MobileApp `json:"mobileApp,omitempty"`
9042
9043	// Name: Output only. The resource name of the line item.
9044	Name string `json:"name,omitempty"`
9045
9046	// Pacing: Required. The budget spending speed setting of the line item.
9047	Pacing *Pacing `json:"pacing,omitempty"`
9048
9049	// PartnerCosts: The partner costs associated with the line item. If
9050	// absent or empty in CreateLineItem method, the newly created line item
9051	// will inherit partner costs from its parent insertion order.
9052	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
9053
9054	// PartnerRevenueModel: Required. The partner revenue model setting of
9055	// the line item.
9056	PartnerRevenueModel *PartnerRevenueModel `json:"partnerRevenueModel,omitempty"`
9057
9058	// TargetingExpansion: The targeting expansion
9059	// (https://support.google.com/displayvideo/answer/10191558) settings of
9060	// the line item. This config is only applicable when eligible audience
9061	// list targeting is assigned to the line item.
9062	TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"`
9063
9064	// UpdateTime: Output only. The timestamp when the line item was last
9065	// updated. Assigned by the system.
9066	UpdateTime string `json:"updateTime,omitempty"`
9067
9068	// WarningMessages: Output only. The warning messages generated by the
9069	// line item. These warnings do not block saving the line item, but some
9070	// may block the line item from running.
9071	//
9072	// Possible values:
9073	//   "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED" - Not specified or is
9074	// unknown.
9075	//   "INVALID_FLIGHT_DATES" - This line item has invalid flight dates.
9076	// The line item will not run.
9077	//   "EXPIRED" - This line item's end date is in the past.
9078	//   "PENDING_FLIGHT" - This line item will begin running in the future.
9079	//   "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED" - All partner
9080	// enabled exchanges are negatively targeted. The line item will not
9081	// run.
9082	//   "INVALID_INVENTORY_SOURCE" - No active inventory sources are being
9083	// targeted. The line item will not run.
9084	//   "APP_INVENTORY_INVALID_SITE_TARGETING" - This line item's Apps &
9085	// URLs targeting doesn't include any mobile apps. This line item's type
9086	// requires you to include mobile apps in your channel, sitelist, or
9087	// apps targeting. The line item will not run.
9088	//   "APP_INVENTORY_INVALID_AUDIENCE_LISTS" - This line item isn't
9089	// targeting any mobile users. This line item's type requires you to
9090	// target a user list with mobile users. The line item will not run.
9091	//   "NO_VALID_CREATIVE" - This line item does not contain any valid
9092	// creative. The line item will not run.
9093	//   "PARENT_INSERTION_ORDER_PAUSED" - The insertion order of this line
9094	// item is paused. The line item will not run.
9095	//   "PARENT_INSERTION_ORDER_EXPIRED" - The insertion order of this line
9096	// item has its end date set in the past. The line item will not run.
9097	//   "NO_POSITIVE_AUDIENCE_LIST_TARGETED" - This line item does not
9098	// target any audience lists, which may result in spending your budget
9099	// too quickly.
9100	//   "APP_INSTALL_NO_CONVERSION_PIXEL" - This app install line item does
9101	// not have any conversion pixel set up.
9102	//   "TARGETING_REVOKED_OR_CLOSED_USER_LIST" - This line item targets
9103	// one or more user lists that are no longer available. In the future,
9104	// this will prevent the line item from serving, so consider removing
9105	// these lists from your targeting.
9106	//   "APP_INSTALL_NO_OPTIMAL_BIDDING_STRATEGY" - This app install line
9107	// item does not have an optimal bidding strategy.
9108	//   "CREATIVE_SIZE_NOT_IN_USE_FOR_TARGETED_DEALS" - Deals targeted by
9109	// this line item accept creative sizes which are not in use. This may
9110	// limit the line item's delivery or performance.
9111	//   "NO_CREATIVE_FOR_TARGETED_DEALS" - This line item does not contain
9112	// any creative for the targeted deals.
9113	//   "TARGETING_DEPRECATED_GEO_TARGET" - This line item targets a geo
9114	// target that is deprecated.
9115	WarningMessages []string `json:"warningMessages,omitempty"`
9116
9117	// ServerResponse contains the HTTP response code and headers from the
9118	// server.
9119	googleapi.ServerResponse `json:"-"`
9120
9121	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
9122	// unconditionally include in API requests. By default, fields with
9123	// empty values are omitted from API requests. However, any non-pointer,
9124	// non-interface field appearing in ForceSendFields will be sent to the
9125	// server regardless of whether the field is empty or not. This may be
9126	// used to include empty fields in Patch requests.
9127	ForceSendFields []string `json:"-"`
9128
9129	// NullFields is a list of field names (e.g. "AdvertiserId") to include
9130	// in API requests with the JSON null value. By default, fields with
9131	// empty values are omitted from API requests. However, any field with
9132	// an empty value appearing in NullFields will be sent to the server as
9133	// null. It is an error if a field in this list has a non-empty value.
9134	// This may be used to include null fields in Patch requests.
9135	NullFields []string `json:"-"`
9136}
9137
9138func (s *LineItem) MarshalJSON() ([]byte, error) {
9139	type NoMethod LineItem
9140	raw := NoMethod(*s)
9141	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9142}
9143
9144// LineItemBudget: Settings that control how budget is allocated.
9145type LineItemBudget struct {
9146	// BudgetAllocationType: Required. The type of the budget allocation.
9147	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when
9148	// automatic budget allocation is enabled for the parent insertion
9149	// order.
9150	//
9151	// Possible values:
9152	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED" - Type value is not
9153	// specified or is unknown in this version.
9154	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC" - Automatic budget
9155	// allocation is enabled for the line item.
9156	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED" - A fixed max budget
9157	// amount is allocated for the line item.
9158	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" - No budget limit is
9159	// applied to the line item.
9160	BudgetAllocationType string `json:"budgetAllocationType,omitempty"`
9161
9162	// BudgetUnit: Output only. The budget unit specifies whether the budget
9163	// is currency based or impression based. This value is inherited from
9164	// the parent insertion order.
9165	//
9166	// Possible values:
9167	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
9168	// unknown in this version.
9169	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
9170	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
9171	BudgetUnit string `json:"budgetUnit,omitempty"`
9172
9173	// MaxAmount: The maximum budget amount the line item will spend. Must
9174	// be greater than 0. When budget_allocation_type is: *
9175	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable
9176	// and is set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`,
9177	// if budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents
9178	// maximum budget amount to spend, in micros of the advertiser's
9179	// currency. For example, 1500000 represents 1.5 standard units of the
9180	// currency. - `BUDGET_UNIT_IMPRESSIONS`, this field represents the
9181	// maximum number of impressions to serve. *
9182	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not
9183	// applicable and will be ignored by the system.
9184	MaxAmount int64 `json:"maxAmount,omitempty,string"`
9185
9186	// ForceSendFields is a list of field names (e.g.
9187	// "BudgetAllocationType") to unconditionally include in API requests.
9188	// By default, fields with empty values are omitted from API requests.
9189	// However, any non-pointer, non-interface field appearing in
9190	// ForceSendFields will be sent to the server regardless of whether the
9191	// field is empty or not. This may be used to include empty fields in
9192	// Patch requests.
9193	ForceSendFields []string `json:"-"`
9194
9195	// NullFields is a list of field names (e.g. "BudgetAllocationType") to
9196	// include in API requests with the JSON null value. By default, fields
9197	// with empty values are omitted from API requests. However, any field
9198	// with an empty value appearing in NullFields will be sent to the
9199	// server as null. It is an error if a field in this list has a
9200	// non-empty value. This may be used to include null fields in Patch
9201	// requests.
9202	NullFields []string `json:"-"`
9203}
9204
9205func (s *LineItemBudget) MarshalJSON() ([]byte, error) {
9206	type NoMethod LineItemBudget
9207	raw := NoMethod(*s)
9208	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9209}
9210
9211// LineItemFlight: Settings that control the active duration of a line
9212// item.
9213type LineItemFlight struct {
9214	// DateRange: The flight start and end dates of the line item. They are
9215	// resolved relative to the parent advertiser's time zone. * Required
9216	// when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output
9217	// only otherwise. * When creating a new flight, both `start_date` and
9218	// `end_date` must be in the future. * An existing flight with a
9219	// `start_date` in the past has a mutable `end_date` but an immutable
9220	// `start_date`. * `end_date` must be the `start_date` or later, both
9221	// before the year 2037.
9222	DateRange *DateRange `json:"dateRange,omitempty"`
9223
9224	// FlightDateType: Required. The type of the line item's flight dates.
9225	//
9226	// Possible values:
9227	//   "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED" - Type value is not
9228	// specified or is unknown in this version.
9229	//   "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED" - The line item's flight
9230	// dates are inherited from its parent insertion order.
9231	//   "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" - The line item uses its own
9232	// custom flight dates.
9233	//   "LINE_ITEM_FLIGHT_DATE_TYPE_TRIGGER" - The line item uses a
9234	// trigger.
9235	FlightDateType string `json:"flightDateType,omitempty"`
9236
9237	// TriggerId: The ID of the manual trigger associated with the line
9238	// item. * Required when flight_date_type is
9239	// `LINE_ITEM_FLIGHT_DATE_TYPE_TRIGGER`. Must not be set otherwise. *
9240	// When set, the line item's flight dates are inherited from its parent
9241	// insertion order. * Active line items will spend when the selected
9242	// trigger is activated within the parent insertion order's flight
9243	// dates.
9244	TriggerId int64 `json:"triggerId,omitempty,string"`
9245
9246	// ForceSendFields is a list of field names (e.g. "DateRange") to
9247	// unconditionally include in API requests. By default, fields with
9248	// empty values are omitted from API requests. However, any non-pointer,
9249	// non-interface field appearing in ForceSendFields will be sent to the
9250	// server regardless of whether the field is empty or not. This may be
9251	// used to include empty fields in Patch requests.
9252	ForceSendFields []string `json:"-"`
9253
9254	// NullFields is a list of field names (e.g. "DateRange") to include in
9255	// API requests with the JSON null value. By default, fields with empty
9256	// values are omitted from API requests. However, any field with an
9257	// empty value appearing in NullFields will be sent to the server as
9258	// null. It is an error if a field in this list has a non-empty value.
9259	// This may be used to include null fields in Patch requests.
9260	NullFields []string `json:"-"`
9261}
9262
9263func (s *LineItemFlight) MarshalJSON() ([]byte, error) {
9264	type NoMethod LineItemFlight
9265	raw := NoMethod(*s)
9266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9267}
9268
9269// ListAdvertiserAssignedTargetingOptionsResponse: Response message for
9270// ListAdvertiserAssignedTargetingOptions.
9271type ListAdvertiserAssignedTargetingOptionsResponse struct {
9272	// AssignedTargetingOptions: The list of assigned targeting options.
9273	// This list will be absent if empty.
9274	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9275
9276	// NextPageToken: A token identifying the next page of results. This
9277	// value should be specified as the pageToken in a subsequent
9278	// ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page
9279	// of results. This token will be absent if there are no more
9280	// assigned_targeting_options to return.
9281	NextPageToken string `json:"nextPageToken,omitempty"`
9282
9283	// ServerResponse contains the HTTP response code and headers from the
9284	// server.
9285	googleapi.ServerResponse `json:"-"`
9286
9287	// ForceSendFields is a list of field names (e.g.
9288	// "AssignedTargetingOptions") to unconditionally include in API
9289	// requests. By default, fields with empty values are omitted from API
9290	// requests. However, any non-pointer, non-interface field appearing in
9291	// ForceSendFields will be sent to the server regardless of whether the
9292	// field is empty or not. This may be used to include empty fields in
9293	// Patch requests.
9294	ForceSendFields []string `json:"-"`
9295
9296	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
9297	// to include in API requests with the JSON null value. By default,
9298	// fields with empty values are omitted from API requests. However, any
9299	// field with an empty value appearing in NullFields will be sent to the
9300	// server as null. It is an error if a field in this list has a
9301	// non-empty value. This may be used to include null fields in Patch
9302	// requests.
9303	NullFields []string `json:"-"`
9304}
9305
9306func (s *ListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9307	type NoMethod ListAdvertiserAssignedTargetingOptionsResponse
9308	raw := NoMethod(*s)
9309	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9310}
9311
9312type ListAdvertisersResponse struct {
9313	// Advertisers: The list of advertisers. This list will be absent if
9314	// empty.
9315	Advertisers []*Advertiser `json:"advertisers,omitempty"`
9316
9317	// NextPageToken: A token to retrieve the next page of results. Pass
9318	// this value in the page_token field in the subsequent call to
9319	// `ListAdvertisers` method to retrieve the next page of results.
9320	NextPageToken string `json:"nextPageToken,omitempty"`
9321
9322	// ServerResponse contains the HTTP response code and headers from the
9323	// server.
9324	googleapi.ServerResponse `json:"-"`
9325
9326	// ForceSendFields is a list of field names (e.g. "Advertisers") to
9327	// unconditionally include in API requests. By default, fields with
9328	// empty values are omitted from API requests. However, any non-pointer,
9329	// non-interface field appearing in ForceSendFields will be sent to the
9330	// server regardless of whether the field is empty or not. This may be
9331	// used to include empty fields in Patch requests.
9332	ForceSendFields []string `json:"-"`
9333
9334	// NullFields is a list of field names (e.g. "Advertisers") to include
9335	// in API requests with the JSON null value. By default, fields with
9336	// empty values are omitted from API requests. However, any field with
9337	// an empty value appearing in NullFields will be sent to the server as
9338	// null. It is an error if a field in this list has a non-empty value.
9339	// This may be used to include null fields in Patch requests.
9340	NullFields []string `json:"-"`
9341}
9342
9343func (s *ListAdvertisersResponse) MarshalJSON() ([]byte, error) {
9344	type NoMethod ListAdvertisersResponse
9345	raw := NoMethod(*s)
9346	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9347}
9348
9349// ListAssignedInventorySourcesResponse: Response message for
9350// AssignedInventorySourceService.ListAssignedInventorySources.
9351type ListAssignedInventorySourcesResponse struct {
9352	// AssignedInventorySources: The list of assigned inventory sources.
9353	// This list will be absent if empty.
9354	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
9355
9356	// NextPageToken: A token to retrieve the next page of results. Pass
9357	// this value in the page_token field in the subsequent call to
9358	// `ListAssignedInventorySources` method to retrieve the next page of
9359	// results.
9360	NextPageToken string `json:"nextPageToken,omitempty"`
9361
9362	// ServerResponse contains the HTTP response code and headers from the
9363	// server.
9364	googleapi.ServerResponse `json:"-"`
9365
9366	// ForceSendFields is a list of field names (e.g.
9367	// "AssignedInventorySources") to unconditionally include in API
9368	// requests. By default, fields with empty values are omitted from API
9369	// requests. However, any non-pointer, non-interface field appearing in
9370	// ForceSendFields will be sent to the server regardless of whether the
9371	// field is empty or not. This may be used to include empty fields in
9372	// Patch requests.
9373	ForceSendFields []string `json:"-"`
9374
9375	// NullFields is a list of field names (e.g. "AssignedInventorySources")
9376	// to include in API requests with the JSON null value. By default,
9377	// fields with empty values are omitted from API requests. However, any
9378	// field with an empty value appearing in NullFields will be sent to the
9379	// server as null. It is an error if a field in this list has a
9380	// non-empty value. This may be used to include null fields in Patch
9381	// requests.
9382	NullFields []string `json:"-"`
9383}
9384
9385func (s *ListAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
9386	type NoMethod ListAssignedInventorySourcesResponse
9387	raw := NoMethod(*s)
9388	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9389}
9390
9391// ListAssignedLocationsResponse: Response message for
9392// AssignedLocationService.ListAssignedLocations.
9393type ListAssignedLocationsResponse struct {
9394	// AssignedLocations: The list of assigned locations. This list will be
9395	// absent if empty.
9396	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
9397
9398	// NextPageToken: A token to retrieve the next page of results. Pass
9399	// this value in the page_token field in the subsequent call to
9400	// `ListAssignedLocations` method to retrieve the next page of results.
9401	NextPageToken string `json:"nextPageToken,omitempty"`
9402
9403	// ServerResponse contains the HTTP response code and headers from the
9404	// server.
9405	googleapi.ServerResponse `json:"-"`
9406
9407	// ForceSendFields is a list of field names (e.g. "AssignedLocations")
9408	// to unconditionally include in API requests. By default, fields with
9409	// empty values are omitted from API requests. However, any non-pointer,
9410	// non-interface field appearing in ForceSendFields will be sent to the
9411	// server regardless of whether the field is empty or not. This may be
9412	// used to include empty fields in Patch requests.
9413	ForceSendFields []string `json:"-"`
9414
9415	// NullFields is a list of field names (e.g. "AssignedLocations") to
9416	// include in API requests with the JSON null value. By default, fields
9417	// with empty values are omitted from API requests. However, any field
9418	// with an empty value appearing in NullFields will be sent to the
9419	// server as null. It is an error if a field in this list has a
9420	// non-empty value. This may be used to include null fields in Patch
9421	// requests.
9422	NullFields []string `json:"-"`
9423}
9424
9425func (s *ListAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
9426	type NoMethod ListAssignedLocationsResponse
9427	raw := NoMethod(*s)
9428	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9429}
9430
9431// ListCampaignAssignedTargetingOptionsResponse: Response message for
9432// ListCampaignAssignedTargetingOptions.
9433type ListCampaignAssignedTargetingOptionsResponse struct {
9434	// AssignedTargetingOptions: The list of assigned targeting options.
9435	// This list will be absent if empty.
9436	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9437
9438	// NextPageToken: A token identifying the next page of results. This
9439	// value should be specified as the pageToken in a subsequent
9440	// ListCampaignAssignedTargetingOptionsRequest to fetch the next page of
9441	// results. This token will be absent if there are no more
9442	// assigned_targeting_options to return.
9443	NextPageToken string `json:"nextPageToken,omitempty"`
9444
9445	// ServerResponse contains the HTTP response code and headers from the
9446	// server.
9447	googleapi.ServerResponse `json:"-"`
9448
9449	// ForceSendFields is a list of field names (e.g.
9450	// "AssignedTargetingOptions") to unconditionally include in API
9451	// requests. By default, fields with empty values are omitted from API
9452	// requests. However, any non-pointer, non-interface field appearing in
9453	// ForceSendFields will be sent to the server regardless of whether the
9454	// field is empty or not. This may be used to include empty fields in
9455	// Patch requests.
9456	ForceSendFields []string `json:"-"`
9457
9458	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
9459	// to include in API requests with the JSON null value. By default,
9460	// fields with empty values are omitted from API requests. However, any
9461	// field with an empty value appearing in NullFields will be sent to the
9462	// server as null. It is an error if a field in this list has a
9463	// non-empty value. This may be used to include null fields in Patch
9464	// requests.
9465	NullFields []string `json:"-"`
9466}
9467
9468func (s *ListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9469	type NoMethod ListCampaignAssignedTargetingOptionsResponse
9470	raw := NoMethod(*s)
9471	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9472}
9473
9474type ListCampaignsResponse struct {
9475	// Campaigns: The list of campaigns. This list will be absent if empty.
9476	Campaigns []*Campaign `json:"campaigns,omitempty"`
9477
9478	// NextPageToken: A token to retrieve the next page of results. Pass
9479	// this value in the page_token field in the subsequent call to
9480	// `ListCampaigns` method to retrieve the next page of results.
9481	NextPageToken string `json:"nextPageToken,omitempty"`
9482
9483	// ServerResponse contains the HTTP response code and headers from the
9484	// server.
9485	googleapi.ServerResponse `json:"-"`
9486
9487	// ForceSendFields is a list of field names (e.g. "Campaigns") to
9488	// unconditionally include in API requests. By default, fields with
9489	// empty values are omitted from API requests. However, any non-pointer,
9490	// non-interface field appearing in ForceSendFields will be sent to the
9491	// server regardless of whether the field is empty or not. This may be
9492	// used to include empty fields in Patch requests.
9493	ForceSendFields []string `json:"-"`
9494
9495	// NullFields is a list of field names (e.g. "Campaigns") to include in
9496	// API requests with the JSON null value. By default, fields with empty
9497	// values are omitted from API requests. However, any field with an
9498	// empty value appearing in NullFields will be sent to the server as
9499	// null. It is an error if a field in this list has a non-empty value.
9500	// This may be used to include null fields in Patch requests.
9501	NullFields []string `json:"-"`
9502}
9503
9504func (s *ListCampaignsResponse) MarshalJSON() ([]byte, error) {
9505	type NoMethod ListCampaignsResponse
9506	raw := NoMethod(*s)
9507	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9508}
9509
9510type ListChannelsResponse struct {
9511	// Channels: The list of channels. This list will be absent if empty.
9512	Channels []*Channel `json:"channels,omitempty"`
9513
9514	// NextPageToken: A token to retrieve the next page of results. Pass
9515	// this value in the page_token field in the subsequent call to
9516	// `ListChannels` method to retrieve the next page of results.
9517	NextPageToken string `json:"nextPageToken,omitempty"`
9518
9519	// ServerResponse contains the HTTP response code and headers from the
9520	// server.
9521	googleapi.ServerResponse `json:"-"`
9522
9523	// ForceSendFields is a list of field names (e.g. "Channels") to
9524	// unconditionally include in API requests. By default, fields with
9525	// empty values are omitted from API requests. However, any non-pointer,
9526	// non-interface field appearing in ForceSendFields will be sent to the
9527	// server regardless of whether the field is empty or not. This may be
9528	// used to include empty fields in Patch requests.
9529	ForceSendFields []string `json:"-"`
9530
9531	// NullFields is a list of field names (e.g. "Channels") to include in
9532	// API requests with the JSON null value. By default, fields with empty
9533	// values are omitted from API requests. However, any field with an
9534	// empty value appearing in NullFields will be sent to the server as
9535	// null. It is an error if a field in this list has a non-empty value.
9536	// This may be used to include null fields in Patch requests.
9537	NullFields []string `json:"-"`
9538}
9539
9540func (s *ListChannelsResponse) MarshalJSON() ([]byte, error) {
9541	type NoMethod ListChannelsResponse
9542	raw := NoMethod(*s)
9543	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9544}
9545
9546type ListCombinedAudiencesResponse struct {
9547	// CombinedAudiences: The list of combined audiences. This list will be
9548	// absent if empty.
9549	CombinedAudiences []*CombinedAudience `json:"combinedAudiences,omitempty"`
9550
9551	// NextPageToken: A token to retrieve the next page of results. Pass
9552	// this value in the page_token field in the subsequent call to
9553	// `ListCombinedAudiences` method to retrieve the next page of results.
9554	NextPageToken string `json:"nextPageToken,omitempty"`
9555
9556	// ServerResponse contains the HTTP response code and headers from the
9557	// server.
9558	googleapi.ServerResponse `json:"-"`
9559
9560	// ForceSendFields is a list of field names (e.g. "CombinedAudiences")
9561	// to unconditionally include in API requests. By default, fields with
9562	// empty values are omitted from API requests. However, any non-pointer,
9563	// non-interface field appearing in ForceSendFields will be sent to the
9564	// server regardless of whether the field is empty or not. This may be
9565	// used to include empty fields in Patch requests.
9566	ForceSendFields []string `json:"-"`
9567
9568	// NullFields is a list of field names (e.g. "CombinedAudiences") to
9569	// include in API requests with the JSON null value. By default, fields
9570	// with empty values are omitted from API requests. However, any field
9571	// with an empty value appearing in NullFields will be sent to the
9572	// server as null. It is an error if a field in this list has a
9573	// non-empty value. This may be used to include null fields in Patch
9574	// requests.
9575	NullFields []string `json:"-"`
9576}
9577
9578func (s *ListCombinedAudiencesResponse) MarshalJSON() ([]byte, error) {
9579	type NoMethod ListCombinedAudiencesResponse
9580	raw := NoMethod(*s)
9581	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9582}
9583
9584type ListCreativesResponse struct {
9585	// Creatives: The list of creatives. This list will be absent if empty.
9586	Creatives []*Creative `json:"creatives,omitempty"`
9587
9588	// NextPageToken: A token to retrieve the next page of results. Pass
9589	// this value in the page_token field in the subsequent call to
9590	// `ListCreativesRequest` method to retrieve the next page of results.
9591	// If this field is null, it means this is the last page.
9592	NextPageToken string `json:"nextPageToken,omitempty"`
9593
9594	// ServerResponse contains the HTTP response code and headers from the
9595	// server.
9596	googleapi.ServerResponse `json:"-"`
9597
9598	// ForceSendFields is a list of field names (e.g. "Creatives") to
9599	// unconditionally include in API requests. By default, fields with
9600	// empty values are omitted from API requests. However, any non-pointer,
9601	// non-interface field appearing in ForceSendFields will be sent to the
9602	// server regardless of whether the field is empty or not. This may be
9603	// used to include empty fields in Patch requests.
9604	ForceSendFields []string `json:"-"`
9605
9606	// NullFields is a list of field names (e.g. "Creatives") to include in
9607	// API requests with the JSON null value. By default, fields with empty
9608	// values are omitted from API requests. However, any field with an
9609	// empty value appearing in NullFields will be sent to the server as
9610	// null. It is an error if a field in this list has a non-empty value.
9611	// This may be used to include null fields in Patch requests.
9612	NullFields []string `json:"-"`
9613}
9614
9615func (s *ListCreativesResponse) MarshalJSON() ([]byte, error) {
9616	type NoMethod ListCreativesResponse
9617	raw := NoMethod(*s)
9618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9619}
9620
9621type ListCustomBiddingAlgorithmsResponse struct {
9622	// CustomBiddingAlgorithms: The list of custom bidding algorithms. This
9623	// list will be absent if empty.
9624	CustomBiddingAlgorithms []*CustomBiddingAlgorithm `json:"customBiddingAlgorithms,omitempty"`
9625
9626	// NextPageToken: A token to retrieve the next page of results. Pass
9627	// this value in the page_token field in the subsequent call to
9628	// `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page
9629	// of results. If this field is null, it means this is the last page.
9630	NextPageToken string `json:"nextPageToken,omitempty"`
9631
9632	// ServerResponse contains the HTTP response code and headers from the
9633	// server.
9634	googleapi.ServerResponse `json:"-"`
9635
9636	// ForceSendFields is a list of field names (e.g.
9637	// "CustomBiddingAlgorithms") to unconditionally include in API
9638	// requests. By default, fields with empty values are omitted from API
9639	// requests. However, any non-pointer, non-interface field appearing in
9640	// ForceSendFields will be sent to the server regardless of whether the
9641	// field is empty or not. This may be used to include empty fields in
9642	// Patch requests.
9643	ForceSendFields []string `json:"-"`
9644
9645	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithms")
9646	// to include in API requests with the JSON null value. By default,
9647	// fields with empty values are omitted from API requests. However, any
9648	// field with an empty value appearing in NullFields will be sent to the
9649	// server as null. It is an error if a field in this list has a
9650	// non-empty value. This may be used to include null fields in Patch
9651	// requests.
9652	NullFields []string `json:"-"`
9653}
9654
9655func (s *ListCustomBiddingAlgorithmsResponse) MarshalJSON() ([]byte, error) {
9656	type NoMethod ListCustomBiddingAlgorithmsResponse
9657	raw := NoMethod(*s)
9658	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9659}
9660
9661type ListCustomListsResponse struct {
9662	// CustomLists: The list of custom lists. This list will be absent if
9663	// empty.
9664	CustomLists []*CustomList `json:"customLists,omitempty"`
9665
9666	// NextPageToken: A token to retrieve the next page of results. Pass
9667	// this value in the page_token field in the subsequent call to
9668	// `ListCustomLists` method to retrieve the next page of results.
9669	NextPageToken string `json:"nextPageToken,omitempty"`
9670
9671	// ServerResponse contains the HTTP response code and headers from the
9672	// server.
9673	googleapi.ServerResponse `json:"-"`
9674
9675	// ForceSendFields is a list of field names (e.g. "CustomLists") to
9676	// unconditionally include in API requests. By default, fields with
9677	// empty values are omitted from API requests. However, any non-pointer,
9678	// non-interface field appearing in ForceSendFields will be sent to the
9679	// server regardless of whether the field is empty or not. This may be
9680	// used to include empty fields in Patch requests.
9681	ForceSendFields []string `json:"-"`
9682
9683	// NullFields is a list of field names (e.g. "CustomLists") to include
9684	// in API requests with the JSON null value. By default, fields with
9685	// empty values are omitted from API requests. However, any field with
9686	// an empty value appearing in NullFields will be sent to the server as
9687	// null. It is an error if a field in this list has a non-empty value.
9688	// This may be used to include null fields in Patch requests.
9689	NullFields []string `json:"-"`
9690}
9691
9692func (s *ListCustomListsResponse) MarshalJSON() ([]byte, error) {
9693	type NoMethod ListCustomListsResponse
9694	raw := NoMethod(*s)
9695	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9696}
9697
9698type ListFirstAndThirdPartyAudiencesResponse struct {
9699	// FirstAndThirdPartyAudiences: The list of first and third party
9700	// audiences. Audience size properties will not be included. This list
9701	// will be absent if empty.
9702	FirstAndThirdPartyAudiences []*FirstAndThirdPartyAudience `json:"firstAndThirdPartyAudiences,omitempty"`
9703
9704	// NextPageToken: A token to retrieve the next page of results. Pass
9705	// this value in the page_token field in the subsequent call to
9706	// `ListFirstAndThirdPartyAudiences` method to retrieve the next page of
9707	// results.
9708	NextPageToken string `json:"nextPageToken,omitempty"`
9709
9710	// ServerResponse contains the HTTP response code and headers from the
9711	// server.
9712	googleapi.ServerResponse `json:"-"`
9713
9714	// ForceSendFields is a list of field names (e.g.
9715	// "FirstAndThirdPartyAudiences") to unconditionally include in API
9716	// requests. By default, fields with empty values are omitted from API
9717	// requests. However, any non-pointer, non-interface field appearing in
9718	// ForceSendFields will be sent to the server regardless of whether the
9719	// field is empty or not. This may be used to include empty fields in
9720	// Patch requests.
9721	ForceSendFields []string `json:"-"`
9722
9723	// NullFields is a list of field names (e.g.
9724	// "FirstAndThirdPartyAudiences") to include in API requests with the
9725	// JSON null value. By default, fields with empty values are omitted
9726	// from API requests. However, any field with an empty value appearing
9727	// in NullFields will be sent to the server as null. It is an error if a
9728	// field in this list has a non-empty value. This may be used to include
9729	// null fields in Patch requests.
9730	NullFields []string `json:"-"`
9731}
9732
9733func (s *ListFirstAndThirdPartyAudiencesResponse) MarshalJSON() ([]byte, error) {
9734	type NoMethod ListFirstAndThirdPartyAudiencesResponse
9735	raw := NoMethod(*s)
9736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9737}
9738
9739type ListGoogleAudiencesResponse struct {
9740	// GoogleAudiences: The list of Google audiences. This list will be
9741	// absent if empty.
9742	GoogleAudiences []*GoogleAudience `json:"googleAudiences,omitempty"`
9743
9744	// NextPageToken: A token to retrieve the next page of results. Pass
9745	// this value in the page_token field in the subsequent call to
9746	// `ListGoogleAudiences` method to retrieve the next page of results.
9747	NextPageToken string `json:"nextPageToken,omitempty"`
9748
9749	// ServerResponse contains the HTTP response code and headers from the
9750	// server.
9751	googleapi.ServerResponse `json:"-"`
9752
9753	// ForceSendFields is a list of field names (e.g. "GoogleAudiences") to
9754	// unconditionally include in API requests. By default, fields with
9755	// empty values are omitted from API requests. However, any non-pointer,
9756	// non-interface field appearing in ForceSendFields will be sent to the
9757	// server regardless of whether the field is empty or not. This may be
9758	// used to include empty fields in Patch requests.
9759	ForceSendFields []string `json:"-"`
9760
9761	// NullFields is a list of field names (e.g. "GoogleAudiences") to
9762	// include in API requests with the JSON null value. By default, fields
9763	// with empty values are omitted from API requests. However, any field
9764	// with an empty value appearing in NullFields will be sent to the
9765	// server as null. It is an error if a field in this list has a
9766	// non-empty value. This may be used to include null fields in Patch
9767	// requests.
9768	NullFields []string `json:"-"`
9769}
9770
9771func (s *ListGoogleAudiencesResponse) MarshalJSON() ([]byte, error) {
9772	type NoMethod ListGoogleAudiencesResponse
9773	raw := NoMethod(*s)
9774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9775}
9776
9777// ListInsertionOrderAssignedTargetingOptionsResponse: Response message
9778// for ListInsertionOrderAssignedTargetingOptions.
9779type ListInsertionOrderAssignedTargetingOptionsResponse struct {
9780	// AssignedTargetingOptions: The list of assigned targeting options.
9781	// This list will be absent if empty.
9782	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9783
9784	// NextPageToken: A token identifying the next page of results. This
9785	// value should be specified as the pageToken in a subsequent
9786	// ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next
9787	// page of results. This token will be absent if there are no more
9788	// assigned_targeting_options to return.
9789	NextPageToken string `json:"nextPageToken,omitempty"`
9790
9791	// ServerResponse contains the HTTP response code and headers from the
9792	// server.
9793	googleapi.ServerResponse `json:"-"`
9794
9795	// ForceSendFields is a list of field names (e.g.
9796	// "AssignedTargetingOptions") to unconditionally include in API
9797	// requests. By default, fields with empty values are omitted from API
9798	// requests. However, any non-pointer, non-interface field appearing in
9799	// ForceSendFields will be sent to the server regardless of whether the
9800	// field is empty or not. This may be used to include empty fields in
9801	// Patch requests.
9802	ForceSendFields []string `json:"-"`
9803
9804	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
9805	// to include in API requests with the JSON null value. By default,
9806	// fields with empty values are omitted from API requests. However, any
9807	// field with an empty value appearing in NullFields will be sent to the
9808	// server as null. It is an error if a field in this list has a
9809	// non-empty value. This may be used to include null fields in Patch
9810	// requests.
9811	NullFields []string `json:"-"`
9812}
9813
9814func (s *ListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9815	type NoMethod ListInsertionOrderAssignedTargetingOptionsResponse
9816	raw := NoMethod(*s)
9817	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9818}
9819
9820type ListInsertionOrdersResponse struct {
9821	// InsertionOrders: The list of insertion orders. This list will be
9822	// absent if empty.
9823	InsertionOrders []*InsertionOrder `json:"insertionOrders,omitempty"`
9824
9825	// NextPageToken: A token to retrieve the next page of results. Pass
9826	// this value in the page_token field in the subsequent call to
9827	// `ListInsertionOrders` method to retrieve the next page of results.
9828	NextPageToken string `json:"nextPageToken,omitempty"`
9829
9830	// ServerResponse contains the HTTP response code and headers from the
9831	// server.
9832	googleapi.ServerResponse `json:"-"`
9833
9834	// ForceSendFields is a list of field names (e.g. "InsertionOrders") to
9835	// unconditionally include in API requests. By default, fields with
9836	// empty values are omitted from API requests. However, any non-pointer,
9837	// non-interface field appearing in ForceSendFields will be sent to the
9838	// server regardless of whether the field is empty or not. This may be
9839	// used to include empty fields in Patch requests.
9840	ForceSendFields []string `json:"-"`
9841
9842	// NullFields is a list of field names (e.g. "InsertionOrders") to
9843	// include in API requests with the JSON null value. By default, fields
9844	// with empty values are omitted from API requests. However, any field
9845	// with an empty value appearing in NullFields will be sent to the
9846	// server as null. It is an error if a field in this list has a
9847	// non-empty value. This may be used to include null fields in Patch
9848	// requests.
9849	NullFields []string `json:"-"`
9850}
9851
9852func (s *ListInsertionOrdersResponse) MarshalJSON() ([]byte, error) {
9853	type NoMethod ListInsertionOrdersResponse
9854	raw := NoMethod(*s)
9855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9856}
9857
9858// ListInventorySourceGroupsResponse: Response message for
9859// InventorySourceGroupService.ListInventorySourceGroups.
9860type ListInventorySourceGroupsResponse struct {
9861	// InventorySourceGroups: The list of inventory source groups. This list
9862	// will be absent if empty.
9863	InventorySourceGroups []*InventorySourceGroup `json:"inventorySourceGroups,omitempty"`
9864
9865	// NextPageToken: A token to retrieve the next page of results. Pass
9866	// this value in the page_token field in the subsequent call to
9867	// `ListInventorySourceGroups` method to retrieve the next page of
9868	// results.
9869	NextPageToken string `json:"nextPageToken,omitempty"`
9870
9871	// ServerResponse contains the HTTP response code and headers from the
9872	// server.
9873	googleapi.ServerResponse `json:"-"`
9874
9875	// ForceSendFields is a list of field names (e.g.
9876	// "InventorySourceGroups") to unconditionally include in API requests.
9877	// By default, fields with empty values are omitted from API requests.
9878	// However, any non-pointer, non-interface field appearing in
9879	// ForceSendFields will be sent to the server regardless of whether the
9880	// field is empty or not. This may be used to include empty fields in
9881	// Patch requests.
9882	ForceSendFields []string `json:"-"`
9883
9884	// NullFields is a list of field names (e.g. "InventorySourceGroups") to
9885	// include in API requests with the JSON null value. By default, fields
9886	// with empty values are omitted from API requests. However, any field
9887	// with an empty value appearing in NullFields will be sent to the
9888	// server as null. It is an error if a field in this list has a
9889	// non-empty value. This may be used to include null fields in Patch
9890	// requests.
9891	NullFields []string `json:"-"`
9892}
9893
9894func (s *ListInventorySourceGroupsResponse) MarshalJSON() ([]byte, error) {
9895	type NoMethod ListInventorySourceGroupsResponse
9896	raw := NoMethod(*s)
9897	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9898}
9899
9900type ListInventorySourcesResponse struct {
9901	// InventorySources: The list of inventory sources. This list will be
9902	// absent if empty.
9903	InventorySources []*InventorySource `json:"inventorySources,omitempty"`
9904
9905	// NextPageToken: A token to retrieve the next page of results. Pass
9906	// this value in the page_token field in the subsequent call to
9907	// `ListInventorySources` method to retrieve the next page of results.
9908	NextPageToken string `json:"nextPageToken,omitempty"`
9909
9910	// ServerResponse contains the HTTP response code and headers from the
9911	// server.
9912	googleapi.ServerResponse `json:"-"`
9913
9914	// ForceSendFields is a list of field names (e.g. "InventorySources") to
9915	// unconditionally include in API requests. By default, fields with
9916	// empty values are omitted from API requests. However, any non-pointer,
9917	// non-interface field appearing in ForceSendFields will be sent to the
9918	// server regardless of whether the field is empty or not. This may be
9919	// used to include empty fields in Patch requests.
9920	ForceSendFields []string `json:"-"`
9921
9922	// NullFields is a list of field names (e.g. "InventorySources") to
9923	// include in API requests with the JSON null value. By default, fields
9924	// with empty values are omitted from API requests. However, any field
9925	// with an empty value appearing in NullFields will be sent to the
9926	// server as null. It is an error if a field in this list has a
9927	// non-empty value. This may be used to include null fields in Patch
9928	// requests.
9929	NullFields []string `json:"-"`
9930}
9931
9932func (s *ListInventorySourcesResponse) MarshalJSON() ([]byte, error) {
9933	type NoMethod ListInventorySourcesResponse
9934	raw := NoMethod(*s)
9935	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9936}
9937
9938type ListInvoicesResponse struct {
9939	// Invoices: The list of invoices. This list will be absent if empty.
9940	Invoices []*Invoice `json:"invoices,omitempty"`
9941
9942	// NextPageToken: A token to retrieve the next page of results. Pass
9943	// this value in the page_token field in the subsequent call to
9944	// `ListInvoices` method to retrieve the next page of results. This
9945	// token will be absent if there are no more invoices to return.
9946	NextPageToken string `json:"nextPageToken,omitempty"`
9947
9948	// ServerResponse contains the HTTP response code and headers from the
9949	// server.
9950	googleapi.ServerResponse `json:"-"`
9951
9952	// ForceSendFields is a list of field names (e.g. "Invoices") to
9953	// unconditionally include in API requests. By default, fields with
9954	// empty values are omitted from API requests. However, any non-pointer,
9955	// non-interface field appearing in ForceSendFields will be sent to the
9956	// server regardless of whether the field is empty or not. This may be
9957	// used to include empty fields in Patch requests.
9958	ForceSendFields []string `json:"-"`
9959
9960	// NullFields is a list of field names (e.g. "Invoices") to include in
9961	// API requests with the JSON null value. By default, fields with empty
9962	// values are omitted from API requests. However, any field with an
9963	// empty value appearing in NullFields will be sent to the server as
9964	// null. It is an error if a field in this list has a non-empty value.
9965	// This may be used to include null fields in Patch requests.
9966	NullFields []string `json:"-"`
9967}
9968
9969func (s *ListInvoicesResponse) MarshalJSON() ([]byte, error) {
9970	type NoMethod ListInvoicesResponse
9971	raw := NoMethod(*s)
9972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9973}
9974
9975// ListLineItemAssignedTargetingOptionsResponse: Response message for
9976// ListLineItemAssignedTargetingOptions.
9977type ListLineItemAssignedTargetingOptionsResponse struct {
9978	// AssignedTargetingOptions: The list of assigned targeting options.
9979	// This list will be absent if empty.
9980	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9981
9982	// NextPageToken: A token identifying the next page of results. This
9983	// value should be specified as the pageToken in a subsequent
9984	// ListLineItemAssignedTargetingOptionsRequest to fetch the next page of
9985	// results. This token will be absent if there are no more
9986	// assigned_targeting_options to return.
9987	NextPageToken string `json:"nextPageToken,omitempty"`
9988
9989	// ServerResponse contains the HTTP response code and headers from the
9990	// server.
9991	googleapi.ServerResponse `json:"-"`
9992
9993	// ForceSendFields is a list of field names (e.g.
9994	// "AssignedTargetingOptions") to unconditionally include in API
9995	// requests. By default, fields with empty values are omitted from API
9996	// requests. However, any non-pointer, non-interface field appearing in
9997	// ForceSendFields will be sent to the server regardless of whether the
9998	// field is empty or not. This may be used to include empty fields in
9999	// Patch requests.
10000	ForceSendFields []string `json:"-"`
10001
10002	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
10003	// to include in API requests with the JSON null value. By default,
10004	// fields with empty values are omitted from API requests. However, any
10005	// field with an empty value appearing in NullFields will be sent to the
10006	// server as null. It is an error if a field in this list has a
10007	// non-empty value. This may be used to include null fields in Patch
10008	// requests.
10009	NullFields []string `json:"-"`
10010}
10011
10012func (s *ListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
10013	type NoMethod ListLineItemAssignedTargetingOptionsResponse
10014	raw := NoMethod(*s)
10015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10016}
10017
10018type ListLineItemsResponse struct {
10019	// LineItems: The list of line items. This list will be absent if empty.
10020	LineItems []*LineItem `json:"lineItems,omitempty"`
10021
10022	// NextPageToken: A token to retrieve the next page of results. Pass
10023	// this value in the page_token field in the subsequent call to
10024	// `ListLineItems` method to retrieve the next page of results.
10025	NextPageToken string `json:"nextPageToken,omitempty"`
10026
10027	// ServerResponse contains the HTTP response code and headers from the
10028	// server.
10029	googleapi.ServerResponse `json:"-"`
10030
10031	// ForceSendFields is a list of field names (e.g. "LineItems") to
10032	// unconditionally include in API requests. By default, fields with
10033	// empty values are omitted from API requests. However, any non-pointer,
10034	// non-interface field appearing in ForceSendFields will be sent to the
10035	// server regardless of whether the field is empty or not. This may be
10036	// used to include empty fields in Patch requests.
10037	ForceSendFields []string `json:"-"`
10038
10039	// NullFields is a list of field names (e.g. "LineItems") to include in
10040	// API requests with the JSON null value. By default, fields with empty
10041	// values are omitted from API requests. However, any field with an
10042	// empty value appearing in NullFields will be sent to the server as
10043	// null. It is an error if a field in this list has a non-empty value.
10044	// This may be used to include null fields in Patch requests.
10045	NullFields []string `json:"-"`
10046}
10047
10048func (s *ListLineItemsResponse) MarshalJSON() ([]byte, error) {
10049	type NoMethod ListLineItemsResponse
10050	raw := NoMethod(*s)
10051	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10052}
10053
10054type ListLocationListsResponse struct {
10055	// LocationLists: The list of location lists. This list will be absent
10056	// if empty.
10057	LocationLists []*LocationList `json:"locationLists,omitempty"`
10058
10059	// NextPageToken: A token to retrieve the next page of results. Pass
10060	// this value in the page_token field in the subsequent call to
10061	// `ListLocationLists` method to retrieve the next page of results.
10062	NextPageToken string `json:"nextPageToken,omitempty"`
10063
10064	// ServerResponse contains the HTTP response code and headers from the
10065	// server.
10066	googleapi.ServerResponse `json:"-"`
10067
10068	// ForceSendFields is a list of field names (e.g. "LocationLists") to
10069	// unconditionally include in API requests. By default, fields with
10070	// empty values are omitted from API requests. However, any non-pointer,
10071	// non-interface field appearing in ForceSendFields will be sent to the
10072	// server regardless of whether the field is empty or not. This may be
10073	// used to include empty fields in Patch requests.
10074	ForceSendFields []string `json:"-"`
10075
10076	// NullFields is a list of field names (e.g. "LocationLists") to include
10077	// in API requests with the JSON null value. By default, fields with
10078	// empty values are omitted from API requests. However, any field with
10079	// an empty value appearing in NullFields will be sent to the server as
10080	// null. It is an error if a field in this list has a non-empty value.
10081	// This may be used to include null fields in Patch requests.
10082	NullFields []string `json:"-"`
10083}
10084
10085func (s *ListLocationListsResponse) MarshalJSON() ([]byte, error) {
10086	type NoMethod ListLocationListsResponse
10087	raw := NoMethod(*s)
10088	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10089}
10090
10091type ListManualTriggersResponse struct {
10092	// ManualTriggers: The list of manual triggers. This list will be absent
10093	// if empty.
10094	ManualTriggers []*ManualTrigger `json:"manualTriggers,omitempty"`
10095
10096	// NextPageToken: A token to retrieve the next page of results. Pass
10097	// this value in the page_token field in the subsequent call to
10098	// `ListManualTriggers` method to retrieve the next page of results.
10099	NextPageToken string `json:"nextPageToken,omitempty"`
10100
10101	// ServerResponse contains the HTTP response code and headers from the
10102	// server.
10103	googleapi.ServerResponse `json:"-"`
10104
10105	// ForceSendFields is a list of field names (e.g. "ManualTriggers") to
10106	// unconditionally include in API requests. By default, fields with
10107	// empty values are omitted from API requests. However, any non-pointer,
10108	// non-interface field appearing in ForceSendFields will be sent to the
10109	// server regardless of whether the field is empty or not. This may be
10110	// used to include empty fields in Patch requests.
10111	ForceSendFields []string `json:"-"`
10112
10113	// NullFields is a list of field names (e.g. "ManualTriggers") to
10114	// include in API requests with the JSON null value. By default, fields
10115	// with empty values are omitted from API requests. However, any field
10116	// with an empty value appearing in NullFields will be sent to the
10117	// server as null. It is an error if a field in this list has a
10118	// non-empty value. This may be used to include null fields in Patch
10119	// requests.
10120	NullFields []string `json:"-"`
10121}
10122
10123func (s *ListManualTriggersResponse) MarshalJSON() ([]byte, error) {
10124	type NoMethod ListManualTriggersResponse
10125	raw := NoMethod(*s)
10126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10127}
10128
10129// ListNegativeKeywordListsResponse: Response message for
10130// NegativeKeywordListService.ListNegativeKeywordLists.
10131type ListNegativeKeywordListsResponse struct {
10132	// NegativeKeywordLists: The list of negative keyword lists. This list
10133	// will be absent if empty.
10134	NegativeKeywordLists []*NegativeKeywordList `json:"negativeKeywordLists,omitempty"`
10135
10136	// NextPageToken: A token to retrieve the next page of results. Pass
10137	// this value in the page_token field in the subsequent call to
10138	// `ListNegativeKeywordLists` method to retrieve the next page of
10139	// results.
10140	NextPageToken string `json:"nextPageToken,omitempty"`
10141
10142	// ServerResponse contains the HTTP response code and headers from the
10143	// server.
10144	googleapi.ServerResponse `json:"-"`
10145
10146	// ForceSendFields is a list of field names (e.g.
10147	// "NegativeKeywordLists") to unconditionally include in API requests.
10148	// By default, fields with empty values are omitted from API requests.
10149	// However, any non-pointer, non-interface field appearing in
10150	// ForceSendFields will be sent to the server regardless of whether the
10151	// field is empty or not. This may be used to include empty fields in
10152	// Patch requests.
10153	ForceSendFields []string `json:"-"`
10154
10155	// NullFields is a list of field names (e.g. "NegativeKeywordLists") to
10156	// include in API requests with the JSON null value. By default, fields
10157	// with empty values are omitted from API requests. However, any field
10158	// with an empty value appearing in NullFields will be sent to the
10159	// server as null. It is an error if a field in this list has a
10160	// non-empty value. This may be used to include null fields in Patch
10161	// requests.
10162	NullFields []string `json:"-"`
10163}
10164
10165func (s *ListNegativeKeywordListsResponse) MarshalJSON() ([]byte, error) {
10166	type NoMethod ListNegativeKeywordListsResponse
10167	raw := NoMethod(*s)
10168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10169}
10170
10171// ListNegativeKeywordsResponse: Response message for
10172// NegativeKeywordService.ListNegativeKeywords.
10173type ListNegativeKeywordsResponse struct {
10174	// NegativeKeywords: The list of negative keywords. This list will be
10175	// absent if empty.
10176	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
10177
10178	// NextPageToken: A token to retrieve the next page of results. Pass
10179	// this value in the page_token field in the subsequent call to
10180	// `ListNegativeKeywords` method to retrieve the next page of results.
10181	NextPageToken string `json:"nextPageToken,omitempty"`
10182
10183	// ServerResponse contains the HTTP response code and headers from the
10184	// server.
10185	googleapi.ServerResponse `json:"-"`
10186
10187	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
10188	// unconditionally include in API requests. By default, fields with
10189	// empty values are omitted from API requests. However, any non-pointer,
10190	// non-interface field appearing in ForceSendFields will be sent to the
10191	// server regardless of whether the field is empty or not. This may be
10192	// used to include empty fields in Patch requests.
10193	ForceSendFields []string `json:"-"`
10194
10195	// NullFields is a list of field names (e.g. "NegativeKeywords") to
10196	// include in API requests with the JSON null value. By default, fields
10197	// with empty values are omitted from API requests. However, any field
10198	// with an empty value appearing in NullFields will be sent to the
10199	// server as null. It is an error if a field in this list has a
10200	// non-empty value. This may be used to include null fields in Patch
10201	// requests.
10202	NullFields []string `json:"-"`
10203}
10204
10205func (s *ListNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
10206	type NoMethod ListNegativeKeywordsResponse
10207	raw := NoMethod(*s)
10208	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10209}
10210
10211type ListPartnerAssignedTargetingOptionsResponse struct {
10212	// AssignedTargetingOptions: The list of assigned targeting options.
10213	// This list will be absent if empty.
10214	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
10215
10216	// NextPageToken: A token identifying the next page of results. This
10217	// value should be specified as the pageToken in a subsequent
10218	// ListPartnerAssignedTargetingOptionsRequest to fetch the next page of
10219	// results. This token will be absent if there are no more
10220	// assigned_targeting_options to return.
10221	NextPageToken string `json:"nextPageToken,omitempty"`
10222
10223	// ServerResponse contains the HTTP response code and headers from the
10224	// server.
10225	googleapi.ServerResponse `json:"-"`
10226
10227	// ForceSendFields is a list of field names (e.g.
10228	// "AssignedTargetingOptions") to unconditionally include in API
10229	// requests. By default, fields with empty values are omitted from API
10230	// requests. However, any non-pointer, non-interface field appearing in
10231	// ForceSendFields will be sent to the server regardless of whether the
10232	// field is empty or not. This may be used to include empty fields in
10233	// Patch requests.
10234	ForceSendFields []string `json:"-"`
10235
10236	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
10237	// to include in API requests with the JSON null value. By default,
10238	// fields with empty values are omitted from API requests. However, any
10239	// field with an empty value appearing in NullFields will be sent to the
10240	// server as null. It is an error if a field in this list has a
10241	// non-empty value. This may be used to include null fields in Patch
10242	// requests.
10243	NullFields []string `json:"-"`
10244}
10245
10246func (s *ListPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
10247	type NoMethod ListPartnerAssignedTargetingOptionsResponse
10248	raw := NoMethod(*s)
10249	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10250}
10251
10252type ListPartnersResponse struct {
10253	// NextPageToken: A token to retrieve the next page of results. Pass
10254	// this value in the page_token field in the subsequent call to
10255	// `ListPartners` method to retrieve the next page of results.
10256	NextPageToken string `json:"nextPageToken,omitempty"`
10257
10258	// Partners: The list of partners. This list will be absent if empty.
10259	Partners []*Partner `json:"partners,omitempty"`
10260
10261	// ServerResponse contains the HTTP response code and headers from the
10262	// server.
10263	googleapi.ServerResponse `json:"-"`
10264
10265	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10266	// unconditionally include in API requests. By default, fields with
10267	// empty values are omitted from API requests. However, any non-pointer,
10268	// non-interface field appearing in ForceSendFields will be sent to the
10269	// server regardless of whether the field is empty or not. This may be
10270	// used to include empty fields in Patch requests.
10271	ForceSendFields []string `json:"-"`
10272
10273	// NullFields is a list of field names (e.g. "NextPageToken") to include
10274	// in API requests with the JSON null value. By default, fields with
10275	// empty values are omitted from API requests. However, any field with
10276	// an empty value appearing in NullFields will be sent to the server as
10277	// null. It is an error if a field in this list has a non-empty value.
10278	// This may be used to include null fields in Patch requests.
10279	NullFields []string `json:"-"`
10280}
10281
10282func (s *ListPartnersResponse) MarshalJSON() ([]byte, error) {
10283	type NoMethod ListPartnersResponse
10284	raw := NoMethod(*s)
10285	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10286}
10287
10288// ListSitesResponse: Response message for SiteService.ListSites.
10289type ListSitesResponse struct {
10290	// NextPageToken: A token to retrieve the next page of results. Pass
10291	// this value in the page_token field in the subsequent call to
10292	// `ListSites` method to retrieve the next page of results.
10293	NextPageToken string `json:"nextPageToken,omitempty"`
10294
10295	// Sites: The list of sites. This list will be absent if empty.
10296	Sites []*Site `json:"sites,omitempty"`
10297
10298	// ServerResponse contains the HTTP response code and headers from the
10299	// server.
10300	googleapi.ServerResponse `json:"-"`
10301
10302	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10303	// unconditionally include in API requests. By default, fields with
10304	// empty values are omitted from API requests. However, any non-pointer,
10305	// non-interface field appearing in ForceSendFields will be sent to the
10306	// server regardless of whether the field is empty or not. This may be
10307	// used to include empty fields in Patch requests.
10308	ForceSendFields []string `json:"-"`
10309
10310	// NullFields is a list of field names (e.g. "NextPageToken") to include
10311	// in API requests with the JSON null value. By default, fields with
10312	// empty values are omitted from API requests. However, any field with
10313	// an empty value appearing in NullFields will be sent to the server as
10314	// null. It is an error if a field in this list has a non-empty value.
10315	// This may be used to include null fields in Patch requests.
10316	NullFields []string `json:"-"`
10317}
10318
10319func (s *ListSitesResponse) MarshalJSON() ([]byte, error) {
10320	type NoMethod ListSitesResponse
10321	raw := NoMethod(*s)
10322	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10323}
10324
10325// ListTargetingOptionsResponse: Response message for
10326// ListTargetingOptions.
10327type ListTargetingOptionsResponse struct {
10328	// NextPageToken: A token to retrieve the next page of results. Pass
10329	// this value in the page_token field in the subsequent call to
10330	// `ListTargetingOptions` method to retrieve the next page of results.
10331	NextPageToken string `json:"nextPageToken,omitempty"`
10332
10333	// TargetingOptions: The list of targeting options. This list will be
10334	// absent if empty.
10335	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
10336
10337	// ServerResponse contains the HTTP response code and headers from the
10338	// server.
10339	googleapi.ServerResponse `json:"-"`
10340
10341	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10342	// unconditionally include in API requests. By default, fields with
10343	// empty values are omitted from API requests. However, any non-pointer,
10344	// non-interface field appearing in ForceSendFields will be sent to the
10345	// server regardless of whether the field is empty or not. This may be
10346	// used to include empty fields in Patch requests.
10347	ForceSendFields []string `json:"-"`
10348
10349	// NullFields is a list of field names (e.g. "NextPageToken") to include
10350	// in API requests with the JSON null value. By default, fields with
10351	// empty values are omitted from API requests. However, any field with
10352	// an empty value appearing in NullFields will be sent to the server as
10353	// null. It is an error if a field in this list has a non-empty value.
10354	// This may be used to include null fields in Patch requests.
10355	NullFields []string `json:"-"`
10356}
10357
10358func (s *ListTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
10359	type NoMethod ListTargetingOptionsResponse
10360	raw := NoMethod(*s)
10361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10362}
10363
10364type ListUsersResponse struct {
10365	// NextPageToken: A token to retrieve the next page of results. Pass
10366	// this value in the page_token field in the subsequent call to
10367	// `ListUsers` method to retrieve the next page of results. This token
10368	// will be absent if there are no more results to return.
10369	NextPageToken string `json:"nextPageToken,omitempty"`
10370
10371	// Users: The list of users. This list will be absent if empty.
10372	Users []*User `json:"users,omitempty"`
10373
10374	// ServerResponse contains the HTTP response code and headers from the
10375	// server.
10376	googleapi.ServerResponse `json:"-"`
10377
10378	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10379	// unconditionally include in API requests. By default, fields with
10380	// empty values are omitted from API requests. However, any non-pointer,
10381	// non-interface field appearing in ForceSendFields will be sent to the
10382	// server regardless of whether the field is empty or not. This may be
10383	// used to include empty fields in Patch requests.
10384	ForceSendFields []string `json:"-"`
10385
10386	// NullFields is a list of field names (e.g. "NextPageToken") to include
10387	// in API requests with the JSON null value. By default, fields with
10388	// empty values are omitted from API requests. However, any field with
10389	// an empty value appearing in NullFields will be sent to the server as
10390	// null. It is an error if a field in this list has a non-empty value.
10391	// This may be used to include null fields in Patch requests.
10392	NullFields []string `json:"-"`
10393}
10394
10395func (s *ListUsersResponse) MarshalJSON() ([]byte, error) {
10396	type NoMethod ListUsersResponse
10397	raw := NoMethod(*s)
10398	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10399}
10400
10401// LocationList: A list of locations used for targeting.
10402type LocationList struct {
10403	// AdvertiserId: Required. Immutable. The unique ID of the advertiser
10404	// the location list belongs to.
10405	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10406
10407	// DisplayName: Required. The display name of the location list. Must be
10408	// UTF-8 encoded with a maximum size of 240 bytes.
10409	DisplayName string `json:"displayName,omitempty"`
10410
10411	// LocationListId: Output only. The unique ID of the location list.
10412	// Assigned by the system.
10413	LocationListId int64 `json:"locationListId,omitempty,string"`
10414
10415	// LocationType: Required. Immutable. The type of location. All
10416	// locations in the list will share this type.
10417	//
10418	// Possible values:
10419	//   "TARGETING_LOCATION_TYPE_UNSPECIFIED" - Default value when type is
10420	// not specified or is unknown.
10421	//   "TARGETING_LOCATION_TYPE_PROXIMITY" - The type for proximity geo
10422	// location.
10423	//   "TARGETING_LOCATION_TYPE_REGIONAL" - The type for regional geo
10424	// location.
10425	LocationType string `json:"locationType,omitempty"`
10426
10427	// Name: Output only. The resource name of the location list.
10428	Name string `json:"name,omitempty"`
10429
10430	// ServerResponse contains the HTTP response code and headers from the
10431	// server.
10432	googleapi.ServerResponse `json:"-"`
10433
10434	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
10435	// unconditionally include in API requests. By default, fields with
10436	// empty values are omitted from API requests. However, any non-pointer,
10437	// non-interface field appearing in ForceSendFields will be sent to the
10438	// server regardless of whether the field is empty or not. This may be
10439	// used to include empty fields in Patch requests.
10440	ForceSendFields []string `json:"-"`
10441
10442	// NullFields is a list of field names (e.g. "AdvertiserId") to include
10443	// in API requests with the JSON null value. By default, fields with
10444	// empty values are omitted from API requests. However, any field with
10445	// an empty value appearing in NullFields will be sent to the server as
10446	// null. It is an error if a field in this list has a non-empty value.
10447	// This may be used to include null fields in Patch requests.
10448	NullFields []string `json:"-"`
10449}
10450
10451func (s *LocationList) MarshalJSON() ([]byte, error) {
10452	type NoMethod LocationList
10453	raw := NoMethod(*s)
10454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10455}
10456
10457// LookbackWindow: Specifies how many days into the past to look when
10458// determining whether to record a conversion.
10459type LookbackWindow struct {
10460	// ClickDays: Lookback window, in days, from the last time a given user
10461	// clicked on one of your ads.
10462	ClickDays int64 `json:"clickDays,omitempty"`
10463
10464	// ImpressionDays: Lookback window, in days, from the last time a given
10465	// user viewed one of your ads.
10466	ImpressionDays int64 `json:"impressionDays,omitempty"`
10467
10468	// ForceSendFields is a list of field names (e.g. "ClickDays") to
10469	// unconditionally include in API requests. By default, fields with
10470	// empty values are omitted from API requests. However, any non-pointer,
10471	// non-interface field appearing in ForceSendFields will be sent to the
10472	// server regardless of whether the field is empty or not. This may be
10473	// used to include empty fields in Patch requests.
10474	ForceSendFields []string `json:"-"`
10475
10476	// NullFields is a list of field names (e.g. "ClickDays") to include in
10477	// API requests with the JSON null value. By default, fields with empty
10478	// values are omitted from API requests. However, any field with an
10479	// empty value appearing in NullFields will be sent to the server as
10480	// null. It is an error if a field in this list has a non-empty value.
10481	// This may be used to include null fields in Patch requests.
10482	NullFields []string `json:"-"`
10483}
10484
10485func (s *LookbackWindow) MarshalJSON() ([]byte, error) {
10486	type NoMethod LookbackWindow
10487	raw := NoMethod(*s)
10488	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10489}
10490
10491type LookupInvoiceCurrencyResponse struct {
10492	// CurrencyCode: Currency used by the advertiser in ISO 4217 format.
10493	CurrencyCode string `json:"currencyCode,omitempty"`
10494
10495	// ServerResponse contains the HTTP response code and headers from the
10496	// server.
10497	googleapi.ServerResponse `json:"-"`
10498
10499	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
10500	// unconditionally include in API requests. By default, fields with
10501	// empty values are omitted from API requests. However, any non-pointer,
10502	// non-interface field appearing in ForceSendFields will be sent to the
10503	// server regardless of whether the field is empty or not. This may be
10504	// used to include empty fields in Patch requests.
10505	ForceSendFields []string `json:"-"`
10506
10507	// NullFields is a list of field names (e.g. "CurrencyCode") to include
10508	// in API requests with the JSON null value. By default, fields with
10509	// empty values are omitted from API requests. However, any field with
10510	// an empty value appearing in NullFields will be sent to the server as
10511	// null. It is an error if a field in this list has a non-empty value.
10512	// This may be used to include null fields in Patch requests.
10513	NullFields []string `json:"-"`
10514}
10515
10516func (s *LookupInvoiceCurrencyResponse) MarshalJSON() ([]byte, error) {
10517	type NoMethod LookupInvoiceCurrencyResponse
10518	raw := NoMethod(*s)
10519	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10520}
10521
10522// ManualTrigger: A single manual trigger in Display & Video 360.
10523type ManualTrigger struct {
10524	// ActivationDurationMinutes: Required. The maximum duration of each
10525	// activation in minutes. Must be between 1 and 360 inclusive. After
10526	// this duration, the trigger will be automatically deactivated.
10527	ActivationDurationMinutes int64 `json:"activationDurationMinutes,omitempty,string"`
10528
10529	// AdvertiserId: Required. Immutable. The unique ID of the advertiser
10530	// that the manual trigger belongs to.
10531	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10532
10533	// DisplayName: Required. The display name of the manual trigger. Must
10534	// be UTF-8 encoded with a maximum size of 240 bytes.
10535	DisplayName string `json:"displayName,omitempty"`
10536
10537	// LatestActivationTime: Output only. The timestamp of the trigger's
10538	// latest activation.
10539	LatestActivationTime string `json:"latestActivationTime,omitempty"`
10540
10541	// Name: Output only. The resource name of the manual trigger.
10542	Name string `json:"name,omitempty"`
10543
10544	// State: Output only. The state of the manual trigger. Will be set to
10545	// the `INACTIVE` state upon creation.
10546	//
10547	// Possible values:
10548	//   "STATE_UNSPECIFIED" - Default value when state is not specified or
10549	// is unknown in this version.
10550	//   "INACTIVE" - The trigger is currently inactive and ready to be
10551	// activated.
10552	//   "ACTIVE" - The trigger is currently active (activated).
10553	State string `json:"state,omitempty"`
10554
10555	// TriggerId: Output only. The unique ID of the manual trigger.
10556	TriggerId int64 `json:"triggerId,omitempty,string"`
10557
10558	// ServerResponse contains the HTTP response code and headers from the
10559	// server.
10560	googleapi.ServerResponse `json:"-"`
10561
10562	// ForceSendFields is a list of field names (e.g.
10563	// "ActivationDurationMinutes") to unconditionally include in API
10564	// requests. By default, fields with empty values are omitted from API
10565	// requests. However, any non-pointer, non-interface field appearing in
10566	// ForceSendFields will be sent to the server regardless of whether the
10567	// field is empty or not. This may be used to include empty fields in
10568	// Patch requests.
10569	ForceSendFields []string `json:"-"`
10570
10571	// NullFields is a list of field names (e.g.
10572	// "ActivationDurationMinutes") to include in API requests with the JSON
10573	// null value. By default, fields with empty values are omitted from API
10574	// requests. However, any field with an empty value appearing in
10575	// NullFields will be sent to the server as null. It is an error if a
10576	// field in this list has a non-empty value. This may be used to include
10577	// null fields in Patch requests.
10578	NullFields []string `json:"-"`
10579}
10580
10581func (s *ManualTrigger) MarshalJSON() ([]byte, error) {
10582	type NoMethod ManualTrigger
10583	raw := NoMethod(*s)
10584	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10585}
10586
10587// MaximizeSpendBidStrategy: A strategy that automatically adjusts the
10588// bid to optimize a specified performance goal while spending the full
10589// budget.
10590type MaximizeSpendBidStrategy struct {
10591	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used
10592	// by this strategy. Only applicable when performance_goal_type is set
10593	// to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
10594	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
10595
10596	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be
10597	// bid, in micros of the advertiser's currency. Must be greater than or
10598	// equal to a billable unit of the given currency. For example, 1500000
10599	// represents 1.5 standard units of the currency.
10600	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
10601
10602	// PerformanceGoalType: Required. The type of the performance goal that
10603	// the bidding strategy tries to minimize while spending the full
10604	// budget. `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not
10605	// supported for this strategy.
10606	//
10607	// Possible values:
10608	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value
10609	// is not specified or is unknown in this version.
10610	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
10611	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
10612	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable
10613	// CPM.
10614	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom
10615	// bidding algorithm.
10616	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview
10617	// and audible views.
10618	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over
10619	// 10 secs views.
10620	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable
10621	// impressions.
10622	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
10623
10624	// ForceSendFields is a list of field names (e.g.
10625	// "CustomBiddingAlgorithmId") to unconditionally include in API
10626	// requests. By default, fields with empty values are omitted from API
10627	// requests. However, any non-pointer, non-interface field appearing in
10628	// ForceSendFields will be sent to the server regardless of whether the
10629	// field is empty or not. This may be used to include empty fields in
10630	// Patch requests.
10631	ForceSendFields []string `json:"-"`
10632
10633	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
10634	// to include in API requests with the JSON null value. By default,
10635	// fields with empty values are omitted from API requests. However, any
10636	// field with an empty value appearing in NullFields will be sent to the
10637	// server as null. It is an error if a field in this list has a
10638	// non-empty value. This may be used to include null fields in Patch
10639	// requests.
10640	NullFields []string `json:"-"`
10641}
10642
10643func (s *MaximizeSpendBidStrategy) MarshalJSON() ([]byte, error) {
10644	type NoMethod MaximizeSpendBidStrategy
10645	raw := NoMethod(*s)
10646	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10647}
10648
10649// MeasurementConfig: Measurement settings of a partner.
10650type MeasurementConfig struct {
10651	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to
10652	// CM360.
10653	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
10654
10655	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in
10656	// CM360 data transfer reports.
10657	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
10658
10659	// ForceSendFields is a list of field names (e.g.
10660	// "Dv360ToCmCostReportingEnabled") to unconditionally include in API
10661	// requests. By default, fields with empty values are omitted from API
10662	// requests. However, any non-pointer, non-interface field appearing in
10663	// ForceSendFields will be sent to the server regardless of whether the
10664	// field is empty or not. This may be used to include empty fields in
10665	// Patch requests.
10666	ForceSendFields []string `json:"-"`
10667
10668	// NullFields is a list of field names (e.g.
10669	// "Dv360ToCmCostReportingEnabled") to include in API requests with the
10670	// JSON null value. By default, fields with empty values are omitted
10671	// from API requests. However, any field with an empty value appearing
10672	// in NullFields will be sent to the server as null. It is an error if a
10673	// field in this list has a non-empty value. This may be used to include
10674	// null fields in Patch requests.
10675	NullFields []string `json:"-"`
10676}
10677
10678func (s *MeasurementConfig) MarshalJSON() ([]byte, error) {
10679	type NoMethod MeasurementConfig
10680	raw := NoMethod(*s)
10681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10682}
10683
10684// MobileApp: A mobile app promoted by a mobile app install line item.
10685type MobileApp struct {
10686	// AppId: Required. The ID of the app provided by the platform store.
10687	// Android apps are identified by the bundle ID used by Android's Play
10688	// store, such as `com.google.android.gm`. iOS apps are identified by a
10689	// nine-digit app ID used by Apple's App store, such as `422689480`.
10690	AppId string `json:"appId,omitempty"`
10691
10692	// DisplayName: Output only. The app name.
10693	DisplayName string `json:"displayName,omitempty"`
10694
10695	// Platform: Output only. The app platform.
10696	//
10697	// Possible values:
10698	//   "PLATFORM_UNSPECIFIED" - Platform is not specified.
10699	//   "IOS" - iOS platform.
10700	//   "ANDROID" - Android platform.
10701	Platform string `json:"platform,omitempty"`
10702
10703	// Publisher: Output only. The app publisher.
10704	Publisher string `json:"publisher,omitempty"`
10705
10706	// ForceSendFields is a list of field names (e.g. "AppId") to
10707	// unconditionally include in API requests. By default, fields with
10708	// empty values are omitted from API requests. However, any non-pointer,
10709	// non-interface field appearing in ForceSendFields will be sent to the
10710	// server regardless of whether the field is empty or not. This may be
10711	// used to include empty fields in Patch requests.
10712	ForceSendFields []string `json:"-"`
10713
10714	// NullFields is a list of field names (e.g. "AppId") to include in API
10715	// requests with the JSON null value. By default, fields with empty
10716	// values are omitted from API requests. However, any field with an
10717	// empty value appearing in NullFields will be sent to the server as
10718	// null. It is an error if a field in this list has a non-empty value.
10719	// This may be used to include null fields in Patch requests.
10720	NullFields []string `json:"-"`
10721}
10722
10723func (s *MobileApp) MarshalJSON() ([]byte, error) {
10724	type NoMethod MobileApp
10725	raw := NoMethod(*s)
10726	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10727}
10728
10729// Money: Represents an amount of money with its currency type.
10730type Money struct {
10731	// CurrencyCode: The three-letter currency code defined in ISO 4217.
10732	CurrencyCode string `json:"currencyCode,omitempty"`
10733
10734	// Nanos: Number of nano (10^-9) units of the amount. The value must be
10735	// between -999,999,999 and +999,999,999 inclusive. If `units` is
10736	// positive, `nanos` must be positive or zero. If `units` is zero,
10737	// `nanos` can be positive, zero, or negative. If `units` is negative,
10738	// `nanos` must be negative or zero. For example $-1.75 is represented
10739	// as `units`=-1 and `nanos`=-750,000,000.
10740	Nanos int64 `json:"nanos,omitempty"`
10741
10742	// Units: The whole units of the amount. For example if `currencyCode`
10743	// is "USD", then 1 unit is one US dollar.
10744	Units int64 `json:"units,omitempty,string"`
10745
10746	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
10747	// unconditionally include in API requests. By default, fields with
10748	// empty values are omitted from API requests. However, any non-pointer,
10749	// non-interface field appearing in ForceSendFields will be sent to the
10750	// server regardless of whether the field is empty or not. This may be
10751	// used to include empty fields in Patch requests.
10752	ForceSendFields []string `json:"-"`
10753
10754	// NullFields is a list of field names (e.g. "CurrencyCode") to include
10755	// in API requests with the JSON null value. By default, fields with
10756	// empty values are omitted from API requests. However, any field with
10757	// an empty value appearing in NullFields will be sent to the server as
10758	// null. It is an error if a field in this list has a non-empty value.
10759	// This may be used to include null fields in Patch requests.
10760	NullFields []string `json:"-"`
10761}
10762
10763func (s *Money) MarshalJSON() ([]byte, error) {
10764	type NoMethod Money
10765	raw := NoMethod(*s)
10766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10767}
10768
10769// NativeContentPositionAssignedTargetingOptionDetails: Details for
10770// native content position assigned targeting option. This will be
10771// populated in the native_content_position_details field when
10772// targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
10773// Explicitly targeting all options is not supported. Remove all native
10774// content position targeting options to achieve this effect.
10775type NativeContentPositionAssignedTargetingOptionDetails struct {
10776	// ContentPosition: Output only. The content position.
10777	//
10778	// Possible values:
10779	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is
10780	// not specified in this version. This enum is a place holder for a
10781	// default value and does not represent a real native content position.
10782	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
10783	// unknown.
10784	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
10785	// in-article, i.e., ads appear between the paragraphs of pages.
10786	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is
10787	// in-feed, i.e., ads appear in a scrollable stream of content. A feed
10788	// is typically editorial (e.g. a list of articles or news) or listings
10789	// (e.g. a list of products or services).
10790	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
10791	// peripheral, i.e., ads appear outside of core content on pages, such
10792	// as the right- or left-hand side of the page.
10793	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position
10794	// is recommendation, i.e., ads appear in sections for recommended
10795	// content.
10796	ContentPosition string `json:"contentPosition,omitempty"`
10797
10798	// TargetingOptionId: Required. The targeting_option_id field when
10799	// targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
10800	TargetingOptionId string `json:"targetingOptionId,omitempty"`
10801
10802	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
10803	// unconditionally include in API requests. By default, fields with
10804	// empty values are omitted from API requests. However, any non-pointer,
10805	// non-interface field appearing in ForceSendFields will be sent to the
10806	// server regardless of whether the field is empty or not. This may be
10807	// used to include empty fields in Patch requests.
10808	ForceSendFields []string `json:"-"`
10809
10810	// NullFields is a list of field names (e.g. "ContentPosition") to
10811	// include in API requests with the JSON null value. By default, fields
10812	// with empty values are omitted from API requests. However, any field
10813	// with an empty value appearing in NullFields will be sent to the
10814	// server as null. It is an error if a field in this list has a
10815	// non-empty value. This may be used to include null fields in Patch
10816	// requests.
10817	NullFields []string `json:"-"`
10818}
10819
10820func (s *NativeContentPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10821	type NoMethod NativeContentPositionAssignedTargetingOptionDetails
10822	raw := NoMethod(*s)
10823	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10824}
10825
10826// NativeContentPositionTargetingOptionDetails: Represents a targetable
10827// native content position. This will be populated in the
10828// native_content_position_details field when targeting_type is
10829// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
10830type NativeContentPositionTargetingOptionDetails struct {
10831	// ContentPosition: Output only. The content position.
10832	//
10833	// Possible values:
10834	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is
10835	// not specified in this version. This enum is a place holder for a
10836	// default value and does not represent a real native content position.
10837	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
10838	// unknown.
10839	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
10840	// in-article, i.e., ads appear between the paragraphs of pages.
10841	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is
10842	// in-feed, i.e., ads appear in a scrollable stream of content. A feed
10843	// is typically editorial (e.g. a list of articles or news) or listings
10844	// (e.g. a list of products or services).
10845	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
10846	// peripheral, i.e., ads appear outside of core content on pages, such
10847	// as the right- or left-hand side of the page.
10848	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position
10849	// is recommendation, i.e., ads appear in sections for recommended
10850	// content.
10851	ContentPosition string `json:"contentPosition,omitempty"`
10852
10853	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
10854	// unconditionally include in API requests. By default, fields with
10855	// empty values are omitted from API requests. However, any non-pointer,
10856	// non-interface field appearing in ForceSendFields will be sent to the
10857	// server regardless of whether the field is empty or not. This may be
10858	// used to include empty fields in Patch requests.
10859	ForceSendFields []string `json:"-"`
10860
10861	// NullFields is a list of field names (e.g. "ContentPosition") to
10862	// include in API requests with the JSON null value. By default, fields
10863	// with empty values are omitted from API requests. However, any field
10864	// with an empty value appearing in NullFields will be sent to the
10865	// server as null. It is an error if a field in this list has a
10866	// non-empty value. This may be used to include null fields in Patch
10867	// requests.
10868	NullFields []string `json:"-"`
10869}
10870
10871func (s *NativeContentPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10872	type NoMethod NativeContentPositionTargetingOptionDetails
10873	raw := NoMethod(*s)
10874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10875}
10876
10877// NegativeKeyword: A negatively targeted keyword that belongs to a
10878// negative keyword list.
10879type NegativeKeyword struct {
10880	// KeywordValue: Required. Immutable. The negatively targeted keyword,
10881	// for example `car insurance`. Must be UTF-8 encoded with a maximum
10882	// size of 255 bytes. Maximum number of characters is 80. Maximum number
10883	// of words is 10. Valid characters are restricted to ASCII characters
10884	// only. The only URL-escaping permitted is for representing whitespace
10885	// between words. Leading or trailing whitespace is ignored.
10886	KeywordValue string `json:"keywordValue,omitempty"`
10887
10888	// Name: Output only. The resource name of the negative keyword.
10889	Name string `json:"name,omitempty"`
10890
10891	// ServerResponse contains the HTTP response code and headers from the
10892	// server.
10893	googleapi.ServerResponse `json:"-"`
10894
10895	// ForceSendFields is a list of field names (e.g. "KeywordValue") to
10896	// unconditionally include in API requests. By default, fields with
10897	// empty values are omitted from API requests. However, any non-pointer,
10898	// non-interface field appearing in ForceSendFields will be sent to the
10899	// server regardless of whether the field is empty or not. This may be
10900	// used to include empty fields in Patch requests.
10901	ForceSendFields []string `json:"-"`
10902
10903	// NullFields is a list of field names (e.g. "KeywordValue") to include
10904	// in API requests with the JSON null value. By default, fields with
10905	// empty values are omitted from API requests. However, any field with
10906	// an empty value appearing in NullFields will be sent to the server as
10907	// null. It is an error if a field in this list has a non-empty value.
10908	// This may be used to include null fields in Patch requests.
10909	NullFields []string `json:"-"`
10910}
10911
10912func (s *NegativeKeyword) MarshalJSON() ([]byte, error) {
10913	type NoMethod NegativeKeyword
10914	raw := NoMethod(*s)
10915	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10916}
10917
10918// NegativeKeywordList: A list of negative keywords used for targeting.
10919type NegativeKeywordList struct {
10920	// AdvertiserId: Output only. The unique ID of the advertiser the
10921	// negative keyword list belongs to.
10922	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10923
10924	// DisplayName: Required. The display name of the negative keyword list.
10925	// Must be UTF-8 encoded with a maximum size of 255 bytes.
10926	DisplayName string `json:"displayName,omitempty"`
10927
10928	// Name: Output only. The resource name of the negative keyword list.
10929	Name string `json:"name,omitempty"`
10930
10931	// NegativeKeywordListId: Output only. The unique ID of the negative
10932	// keyword list. Assigned by the system.
10933	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
10934
10935	// TargetedLineItemCount: Output only. Number of line items that are
10936	// directly targeting this negative keyword list.
10937	TargetedLineItemCount int64 `json:"targetedLineItemCount,omitempty,string"`
10938
10939	// ServerResponse contains the HTTP response code and headers from the
10940	// server.
10941	googleapi.ServerResponse `json:"-"`
10942
10943	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
10944	// unconditionally include in API requests. By default, fields with
10945	// empty values are omitted from API requests. However, any non-pointer,
10946	// non-interface field appearing in ForceSendFields will be sent to the
10947	// server regardless of whether the field is empty or not. This may be
10948	// used to include empty fields in Patch requests.
10949	ForceSendFields []string `json:"-"`
10950
10951	// NullFields is a list of field names (e.g. "AdvertiserId") to include
10952	// in API requests with the JSON null value. By default, fields with
10953	// empty values are omitted from API requests. However, any field with
10954	// an empty value appearing in NullFields will be sent to the server as
10955	// null. It is an error if a field in this list has a non-empty value.
10956	// This may be used to include null fields in Patch requests.
10957	NullFields []string `json:"-"`
10958}
10959
10960func (s *NegativeKeywordList) MarshalJSON() ([]byte, error) {
10961	type NoMethod NegativeKeywordList
10962	raw := NoMethod(*s)
10963	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10964}
10965
10966// NegativeKeywordListAssignedTargetingOptionDetails: Targeting details
10967// for negative keyword list. This will be populated in the details
10968// field of an AssignedTargetingOption when targeting_type is
10969// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
10970type NegativeKeywordListAssignedTargetingOptionDetails struct {
10971	// NegativeKeywordListId: Required. ID of the negative keyword list.
10972	// Should refer to the negative_keyword_list_id field of a
10973	// NegativeKeywordList resource.
10974	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
10975
10976	// ForceSendFields is a list of field names (e.g.
10977	// "NegativeKeywordListId") to unconditionally include in API requests.
10978	// By default, fields with empty values are omitted from API requests.
10979	// However, any non-pointer, non-interface field appearing in
10980	// ForceSendFields will be sent to the server regardless of whether the
10981	// field is empty or not. This may be used to include empty fields in
10982	// Patch requests.
10983	ForceSendFields []string `json:"-"`
10984
10985	// NullFields is a list of field names (e.g. "NegativeKeywordListId") to
10986	// include in API requests with the JSON null value. By default, fields
10987	// with empty values are omitted from API requests. However, any field
10988	// with an empty value appearing in NullFields will be sent to the
10989	// server as null. It is an error if a field in this list has a
10990	// non-empty value. This may be used to include null fields in Patch
10991	// requests.
10992	NullFields []string `json:"-"`
10993}
10994
10995func (s *NegativeKeywordListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10996	type NoMethod NegativeKeywordListAssignedTargetingOptionDetails
10997	raw := NoMethod(*s)
10998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10999}
11000
11001// ObaIcon: OBA Icon for a Creative
11002type ObaIcon struct {
11003	// ClickTrackingUrl: Required. The click tracking URL of the OBA icon.
11004	// Only URLs of the following domains are allowed: *
11005	// https://info.evidon.com * https://l.betrad.com
11006	ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"`
11007
11008	// Dimensions: The dimensions of the OBA icon.
11009	Dimensions *Dimensions `json:"dimensions,omitempty"`
11010
11011	// LandingPageUrl: Required. The landing page URL of the OBA icon. Only
11012	// URLs of the following domains are allowed: * https://info.evidon.com
11013	// * https://l.betrad.com
11014	LandingPageUrl string `json:"landingPageUrl,omitempty"`
11015
11016	// Position: The position of the OBA icon on the creative.
11017	//
11018	// Possible values:
11019	//   "OBA_ICON_POSITION_UNSPECIFIED" - The OBA icon position is not
11020	// specified.
11021	//   "OBA_ICON_POSITION_UPPER_RIGHT" - At the upper right side of the
11022	// creative.
11023	//   "OBA_ICON_POSITION_UPPER_LEFT" - At the upper left side of the
11024	// creative.
11025	//   "OBA_ICON_POSITION_LOWER_RIGHT" - At the lower right side of the
11026	// creative.
11027	//   "OBA_ICON_POSITION_LOWER_LEFT" - At the lower left side of the
11028	// creative.
11029	Position string `json:"position,omitempty"`
11030
11031	// Program: The program of the OBA icon. For example: “AdChoices”.
11032	Program string `json:"program,omitempty"`
11033
11034	// ResourceMimeType: The MIME type of the OBA icon resource.
11035	ResourceMimeType string `json:"resourceMimeType,omitempty"`
11036
11037	// ResourceUrl: The URL of the OBA icon resource.
11038	ResourceUrl string `json:"resourceUrl,omitempty"`
11039
11040	// ViewTrackingUrl: Required. The view tracking URL of the OBA icon.
11041	// Only URLs of the following domains are allowed: *
11042	// https://info.evidon.com * https://l.betrad.com
11043	ViewTrackingUrl string `json:"viewTrackingUrl,omitempty"`
11044
11045	// ForceSendFields is a list of field names (e.g. "ClickTrackingUrl") to
11046	// unconditionally include in API requests. By default, fields with
11047	// empty values are omitted from API requests. However, any non-pointer,
11048	// non-interface field appearing in ForceSendFields will be sent to the
11049	// server regardless of whether the field is empty or not. This may be
11050	// used to include empty fields in Patch requests.
11051	ForceSendFields []string `json:"-"`
11052
11053	// NullFields is a list of field names (e.g. "ClickTrackingUrl") to
11054	// include in API requests with the JSON null value. By default, fields
11055	// with empty values are omitted from API requests. However, any field
11056	// with an empty value appearing in NullFields will be sent to the
11057	// server as null. It is an error if a field in this list has a
11058	// non-empty value. This may be used to include null fields in Patch
11059	// requests.
11060	NullFields []string `json:"-"`
11061}
11062
11063func (s *ObaIcon) MarshalJSON() ([]byte, error) {
11064	type NoMethod ObaIcon
11065	raw := NoMethod(*s)
11066	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11067}
11068
11069// OnScreenPositionAssignedTargetingOptionDetails: On screen position
11070// targeting option details. This will be populated in the
11071// on_screen_position_details field when targeting_type is
11072// `TARGETING_TYPE_ON_SCREEN_POSITION`.
11073type OnScreenPositionAssignedTargetingOptionDetails struct {
11074	// AdType: Output only. The ad type to target. Only applicable to
11075	// insertion order targeting and new line items supporting the specified
11076	// ad type will inherit this targeting option by default. Possible
11077	// values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new
11078	// line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. *
11079	// `AD_TYPE_VIDEO`, the setting will be inherited by new line item when
11080	// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
11081	//
11082	// Possible values:
11083	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in
11084	// this version.
11085	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
11086	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
11087	// streaming content in video players.
11088	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during
11089	// audio content.
11090	AdType string `json:"adType,omitempty"`
11091
11092	// OnScreenPosition: Output only. The on screen position.
11093	//
11094	// Possible values:
11095	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not
11096	// specified in this version. This enum is a place holder for a default
11097	// value and does not represent a real on screen position.
11098	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the
11099	// screen.
11100	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the
11101	// fold.
11102	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the
11103	// fold.
11104	OnScreenPosition string `json:"onScreenPosition,omitempty"`
11105
11106	// TargetingOptionId: Required. The targeting_option_id field when
11107	// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
11108	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11109
11110	// ForceSendFields is a list of field names (e.g. "AdType") to
11111	// unconditionally include in API requests. By default, fields with
11112	// empty values are omitted from API requests. However, any non-pointer,
11113	// non-interface field appearing in ForceSendFields will be sent to the
11114	// server regardless of whether the field is empty or not. This may be
11115	// used to include empty fields in Patch requests.
11116	ForceSendFields []string `json:"-"`
11117
11118	// NullFields is a list of field names (e.g. "AdType") to include in API
11119	// requests with the JSON null value. By default, fields with empty
11120	// values are omitted from API requests. However, any field with an
11121	// empty value appearing in NullFields will be sent to the server as
11122	// null. It is an error if a field in this list has a non-empty value.
11123	// This may be used to include null fields in Patch requests.
11124	NullFields []string `json:"-"`
11125}
11126
11127func (s *OnScreenPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11128	type NoMethod OnScreenPositionAssignedTargetingOptionDetails
11129	raw := NoMethod(*s)
11130	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11131}
11132
11133// OnScreenPositionTargetingOptionDetails: Represents a targetable on
11134// screen position, which could be used by display and video ads. This
11135// will be populated in the on_screen_position_details field when
11136// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
11137type OnScreenPositionTargetingOptionDetails struct {
11138	// OnScreenPosition: Output only. The on screen position.
11139	//
11140	// Possible values:
11141	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not
11142	// specified in this version. This enum is a place holder for a default
11143	// value and does not represent a real on screen position.
11144	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the
11145	// screen.
11146	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the
11147	// fold.
11148	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the
11149	// fold.
11150	OnScreenPosition string `json:"onScreenPosition,omitempty"`
11151
11152	// ForceSendFields is a list of field names (e.g. "OnScreenPosition") to
11153	// unconditionally include in API requests. By default, fields with
11154	// empty values are omitted from API requests. However, any non-pointer,
11155	// non-interface field appearing in ForceSendFields will be sent to the
11156	// server regardless of whether the field is empty or not. This may be
11157	// used to include empty fields in Patch requests.
11158	ForceSendFields []string `json:"-"`
11159
11160	// NullFields is a list of field names (e.g. "OnScreenPosition") to
11161	// include in API requests with the JSON null value. By default, fields
11162	// with empty values are omitted from API requests. However, any field
11163	// with an empty value appearing in NullFields will be sent to the
11164	// server as null. It is an error if a field in this list has a
11165	// non-empty value. This may be used to include null fields in Patch
11166	// requests.
11167	NullFields []string `json:"-"`
11168}
11169
11170func (s *OnScreenPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11171	type NoMethod OnScreenPositionTargetingOptionDetails
11172	raw := NoMethod(*s)
11173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11174}
11175
11176// OperatingSystemAssignedTargetingOptionDetails: Assigned operating
11177// system targeting option details. This will be populated in the
11178// operating_system_details field when targeting_type is
11179// `TARGETING_TYPE_OPERATING_SYSTEM`.
11180type OperatingSystemAssignedTargetingOptionDetails struct {
11181	// DisplayName: Output only. The display name of the operating system.
11182	DisplayName string `json:"displayName,omitempty"`
11183
11184	// Negative: Indicates if this option is being negatively targeted.
11185	Negative bool `json:"negative,omitempty"`
11186
11187	// TargetingOptionId: Required. The targeting option ID populated in
11188	// targeting_option_id field when targeting_type is
11189	// `TARGETING_TYPE_OPERATING_SYSTEM`.
11190	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11191
11192	// ForceSendFields is a list of field names (e.g. "DisplayName") to
11193	// unconditionally include in API requests. By default, fields with
11194	// empty values are omitted from API requests. However, any non-pointer,
11195	// non-interface field appearing in ForceSendFields will be sent to the
11196	// server regardless of whether the field is empty or not. This may be
11197	// used to include empty fields in Patch requests.
11198	ForceSendFields []string `json:"-"`
11199
11200	// NullFields is a list of field names (e.g. "DisplayName") to include
11201	// in API requests with the JSON null value. By default, fields with
11202	// empty values are omitted from API requests. However, any field with
11203	// an empty value appearing in NullFields will be sent to the server as
11204	// null. It is an error if a field in this list has a non-empty value.
11205	// This may be used to include null fields in Patch requests.
11206	NullFields []string `json:"-"`
11207}
11208
11209func (s *OperatingSystemAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11210	type NoMethod OperatingSystemAssignedTargetingOptionDetails
11211	raw := NoMethod(*s)
11212	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11213}
11214
11215// OperatingSystemTargetingOptionDetails: Represents a targetable
11216// operating system. This will be populated in the
11217// operating_system_details field of a TargetingOption when
11218// targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
11219type OperatingSystemTargetingOptionDetails struct {
11220	// DisplayName: Output only. The display name of the operating system.
11221	DisplayName string `json:"displayName,omitempty"`
11222
11223	// ForceSendFields is a list of field names (e.g. "DisplayName") to
11224	// unconditionally include in API requests. By default, fields with
11225	// empty values are omitted from API requests. However, any non-pointer,
11226	// non-interface field appearing in ForceSendFields will be sent to the
11227	// server regardless of whether the field is empty or not. This may be
11228	// used to include empty fields in Patch requests.
11229	ForceSendFields []string `json:"-"`
11230
11231	// NullFields is a list of field names (e.g. "DisplayName") to include
11232	// in API requests with the JSON null value. By default, fields with
11233	// empty values are omitted from API requests. However, any field with
11234	// an empty value appearing in NullFields will be sent to the server as
11235	// null. It is an error if a field in this list has a non-empty value.
11236	// This may be used to include null fields in Patch requests.
11237	NullFields []string `json:"-"`
11238}
11239
11240func (s *OperatingSystemTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11241	type NoMethod OperatingSystemTargetingOptionDetails
11242	raw := NoMethod(*s)
11243	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11244}
11245
11246// Operation: This resource represents a long-running operation that is
11247// the result of a network API call.
11248type Operation struct {
11249	// Done: If the value is `false`, it means the operation is still in
11250	// progress. If `true`, the operation is completed, and either `error`
11251	// or `response` is available.
11252	Done bool `json:"done,omitempty"`
11253
11254	// Error: The error result of the operation in case of failure or
11255	// cancellation.
11256	Error *Status `json:"error,omitempty"`
11257
11258	// Metadata: Service-specific metadata associated with the operation. It
11259	// typically contains progress information and common metadata such as
11260	// create time. Some services might not provide such metadata. Any
11261	// method that returns a long-running operation should document the
11262	// metadata type, if any.
11263	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
11264
11265	// Name: The server-assigned name, which is only unique within the same
11266	// service that originally returns it. If you use the default HTTP
11267	// mapping, the `name` should be a resource name ending with
11268	// `operations/{unique_id}`.
11269	Name string `json:"name,omitempty"`
11270
11271	// Response: The normal response of the operation in case of success. If
11272	// the original method returns no data on success, such as `Delete`, the
11273	// response is `google.protobuf.Empty`. If the original method is
11274	// standard `Get`/`Create`/`Update`, the response should be the
11275	// resource. For other methods, the response should have the type
11276	// `XxxResponse`, where `Xxx` is the original method name. For example,
11277	// if the original method name is `TakeSnapshot()`, the inferred
11278	// response type is `TakeSnapshotResponse`.
11279	Response googleapi.RawMessage `json:"response,omitempty"`
11280
11281	// ServerResponse contains the HTTP response code and headers from the
11282	// server.
11283	googleapi.ServerResponse `json:"-"`
11284
11285	// ForceSendFields is a list of field names (e.g. "Done") to
11286	// unconditionally include in API requests. By default, fields with
11287	// empty values are omitted from API requests. However, any non-pointer,
11288	// non-interface field appearing in ForceSendFields will be sent to the
11289	// server regardless of whether the field is empty or not. This may be
11290	// used to include empty fields in Patch requests.
11291	ForceSendFields []string `json:"-"`
11292
11293	// NullFields is a list of field names (e.g. "Done") to include in API
11294	// requests with the JSON null value. By default, fields with empty
11295	// values are omitted from API requests. However, any field with an
11296	// empty value appearing in NullFields will be sent to the server as
11297	// null. It is an error if a field in this list has a non-empty value.
11298	// This may be used to include null fields in Patch requests.
11299	NullFields []string `json:"-"`
11300}
11301
11302func (s *Operation) MarshalJSON() ([]byte, error) {
11303	type NoMethod Operation
11304	raw := NoMethod(*s)
11305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11306}
11307
11308// Pacing: Settings that control the rate at which a budget is spent.
11309type Pacing struct {
11310	// DailyMaxImpressions: Maximum number of impressions to serve every
11311	// day. Applicable when the budget is impression based. Must be greater
11312	// than 0.
11313	DailyMaxImpressions int64 `json:"dailyMaxImpressions,omitempty,string"`
11314
11315	// DailyMaxMicros: Maximum currency amount to spend every day in micros
11316	// of advertiser's currency. Applicable when the budget is currency
11317	// based. Must be greater than 0. For example, for 1.5 standard unit of
11318	// the currency, set this field to 1500000. The value assigned will be
11319	// rounded to whole billable units for the relevant currency by the
11320	// following rules: any positive value less than a single billable unit
11321	// will be rounded up to one billable unit and any value larger than a
11322	// single billable unit will be rounded down to the nearest billable
11323	// value. For example, if the currency's billable unit is 0.01, and this
11324	// field is set to 10257770, it will round down to 10250000, a value of
11325	// 10.25. If set to 505, it will round up to 10000, a value of 0.01.
11326	DailyMaxMicros int64 `json:"dailyMaxMicros,omitempty,string"`
11327
11328	// PacingPeriod: Required. The time period in which the pacing budget
11329	// will be spent. When automatic budget allocation is enabled at the
11330	// insertion order via auto_budget_allocation, this field is output only
11331	// and defaults to `PACING_PERIOD_FLIGHT`.
11332	//
11333	// Possible values:
11334	//   "PACING_PERIOD_UNSPECIFIED" - Period value is not specified or is
11335	// unknown in this version.
11336	//   "PACING_PERIOD_DAILY" - The pacing setting will be applied on daily
11337	// basis.
11338	//   "PACING_PERIOD_FLIGHT" - The pacing setting will be applied to the
11339	// whole flight duration.
11340	PacingPeriod string `json:"pacingPeriod,omitempty"`
11341
11342	// PacingType: Required. The type of pacing that defines how the budget
11343	// amount will be spent across the pacing_period.
11344	//
11345	// Possible values:
11346	//   "PACING_TYPE_UNSPECIFIED" - Pacing mode value is not specified or
11347	// is unknown in this version.
11348	//   "PACING_TYPE_AHEAD" - Only applicable to `PACING_PERIOD_FLIGHT`
11349	// pacing period. Ahead pacing attempts to spend faster than evenly, to
11350	// make sure the entire budget is spent by the end of the flight.
11351	//   "PACING_TYPE_ASAP" - Spend all of pacing budget amount as quick as
11352	// possible.
11353	//   "PACING_TYPE_EVEN" - Spend a consistent budget amount every period
11354	// of time.
11355	PacingType string `json:"pacingType,omitempty"`
11356
11357	// ForceSendFields is a list of field names (e.g. "DailyMaxImpressions")
11358	// to unconditionally include in API requests. By default, fields with
11359	// empty values are omitted from API requests. However, any non-pointer,
11360	// non-interface field appearing in ForceSendFields will be sent to the
11361	// server regardless of whether the field is empty or not. This may be
11362	// used to include empty fields in Patch requests.
11363	ForceSendFields []string `json:"-"`
11364
11365	// NullFields is a list of field names (e.g. "DailyMaxImpressions") to
11366	// include in API requests with the JSON null value. By default, fields
11367	// with empty values are omitted from API requests. However, any field
11368	// with an empty value appearing in NullFields will be sent to the
11369	// server as null. It is an error if a field in this list has a
11370	// non-empty value. This may be used to include null fields in Patch
11371	// requests.
11372	NullFields []string `json:"-"`
11373}
11374
11375func (s *Pacing) MarshalJSON() ([]byte, error) {
11376	type NoMethod Pacing
11377	raw := NoMethod(*s)
11378	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11379}
11380
11381// ParentEntityFilter: A filtering option that filters on selected file
11382// types belonging to a chosen set of filter entities.
11383type ParentEntityFilter struct {
11384	// FileType: Required. File types that will be returned.
11385	//
11386	// Possible values:
11387	//   "FILE_TYPE_UNSPECIFIED" - Default value when type is unspecified or
11388	// is unknown in this version.
11389	//   "FILE_TYPE_CAMPAIGN" - Campaign.
11390	//   "FILE_TYPE_MEDIA_PRODUCT" - Media Product.
11391	//   "FILE_TYPE_INSERTION_ORDER" - Insertion Order.
11392	//   "FILE_TYPE_LINE_ITEM" - Line Item.
11393	//   "FILE_TYPE_AD_GROUP" - YouTube Ad Group.
11394	//   "FILE_TYPE_AD" - YouTube Ad.
11395	FileType []string `json:"fileType,omitempty"`
11396
11397	// FilterIds: The IDs of the specified filter type. This is used to
11398	// filter entities to fetch. If filter type is not `FILTER_TYPE_NONE`,
11399	// at least one ID must be specified.
11400	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
11401
11402	// FilterType: Required. Filter type used to filter fetched entities.
11403	//
11404	// Possible values:
11405	//   "FILTER_TYPE_UNSPECIFIED" - Default value when type is unspecified
11406	// or is unknown in this version.
11407	//   "FILTER_TYPE_NONE" - If selected, no filter will be applied to the
11408	// download. Can only be used if an Advertiser is specified in
11409	// CreateSdfDownloadTaskRequest.
11410	//   "FILTER_TYPE_ADVERTISER_ID" - Advertiser ID. If selected, all
11411	// filter IDs must be Advertiser IDs that belong to the Partner
11412	// specified in CreateSdfDownloadTaskRequest.
11413	//   "FILTER_TYPE_CAMPAIGN_ID" - Campaign ID. If selected, all filter
11414	// IDs must be Campaign IDs that belong to the Advertiser or Partner
11415	// specified in CreateSdfDownloadTaskRequest.
11416	//   "FILTER_TYPE_MEDIA_PRODUCT_ID" - Media Product ID. If selected, all
11417	// filter IDs must be Media Product IDs that belong to the Advertiser or
11418	// Partner specified in CreateSdfDownloadTaskRequest. Can only be used
11419	// for downloading `FILE_TYPE_MEDIA_PRODUCT`.
11420	//   "FILTER_TYPE_INSERTION_ORDER_ID" - Insertion Order ID. If selected,
11421	// all filter IDs must be Insertion Order IDs that belong to the
11422	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can
11423	// only be used for downloading `FILE_TYPE_INSERTION_ORDER`,
11424	// `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.
11425	//   "FILTER_TYPE_LINE_ITEM_ID" - Line Item ID. If selected, all filter
11426	// IDs must be Line Item IDs that belong to the Advertiser or Partner
11427	// specified in CreateSdfDownloadTaskRequest. Can only be used for
11428	// downloading `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and
11429	// `FILE_TYPE_AD`.
11430	FilterType string `json:"filterType,omitempty"`
11431
11432	// ForceSendFields is a list of field names (e.g. "FileType") to
11433	// unconditionally include in API requests. By default, fields with
11434	// empty values are omitted from API requests. However, any non-pointer,
11435	// non-interface field appearing in ForceSendFields will be sent to the
11436	// server regardless of whether the field is empty or not. This may be
11437	// used to include empty fields in Patch requests.
11438	ForceSendFields []string `json:"-"`
11439
11440	// NullFields is a list of field names (e.g. "FileType") to include in
11441	// API requests with the JSON null value. By default, fields with empty
11442	// values are omitted from API requests. However, any field with an
11443	// empty value appearing in NullFields will be sent to the server as
11444	// null. It is an error if a field in this list has a non-empty value.
11445	// This may be used to include null fields in Patch requests.
11446	NullFields []string `json:"-"`
11447}
11448
11449func (s *ParentEntityFilter) MarshalJSON() ([]byte, error) {
11450	type NoMethod ParentEntityFilter
11451	raw := NoMethod(*s)
11452	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11453}
11454
11455// ParentalStatusAssignedTargetingOptionDetails: Details for assigned
11456// parental status targeting option. This will be populated in the
11457// details field of an AssignedTargetingOption when targeting_type is
11458// `TARTGETING_TYPE_PARENTAL_STATUS`.
11459type ParentalStatusAssignedTargetingOptionDetails struct {
11460	// ParentalStatus: Output only. The parental status of the audience.
11461	//
11462	// Possible values:
11463	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status
11464	// is not specified in this version. This enum is a place holder for
11465	// default value and does not represent a real parental status option.
11466	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
11467	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
11468	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
11469	// unknown.
11470	ParentalStatus string `json:"parentalStatus,omitempty"`
11471
11472	// TargetingOptionId: Required. The targeting_option_id of a
11473	// TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
11474	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11475
11476	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
11477	// unconditionally include in API requests. By default, fields with
11478	// empty values are omitted from API requests. However, any non-pointer,
11479	// non-interface field appearing in ForceSendFields will be sent to the
11480	// server regardless of whether the field is empty or not. This may be
11481	// used to include empty fields in Patch requests.
11482	ForceSendFields []string `json:"-"`
11483
11484	// NullFields is a list of field names (e.g. "ParentalStatus") to
11485	// include in API requests with the JSON null value. By default, fields
11486	// with empty values are omitted from API requests. However, any field
11487	// with an empty value appearing in NullFields will be sent to the
11488	// server as null. It is an error if a field in this list has a
11489	// non-empty value. This may be used to include null fields in Patch
11490	// requests.
11491	NullFields []string `json:"-"`
11492}
11493
11494func (s *ParentalStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11495	type NoMethod ParentalStatusAssignedTargetingOptionDetails
11496	raw := NoMethod(*s)
11497	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11498}
11499
11500// ParentalStatusTargetingOptionDetails: Represents a targetable
11501// parental status. This will be populated in the
11502// parental_status_details field of a TargetingOption when
11503// targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
11504type ParentalStatusTargetingOptionDetails struct {
11505	// ParentalStatus: Output only. The parental status of an audience.
11506	//
11507	// Possible values:
11508	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status
11509	// is not specified in this version. This enum is a place holder for
11510	// default value and does not represent a real parental status option.
11511	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
11512	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
11513	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
11514	// unknown.
11515	ParentalStatus string `json:"parentalStatus,omitempty"`
11516
11517	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
11518	// unconditionally include in API requests. By default, fields with
11519	// empty values are omitted from API requests. However, any non-pointer,
11520	// non-interface field appearing in ForceSendFields will be sent to the
11521	// server regardless of whether the field is empty or not. This may be
11522	// used to include empty fields in Patch requests.
11523	ForceSendFields []string `json:"-"`
11524
11525	// NullFields is a list of field names (e.g. "ParentalStatus") to
11526	// include in API requests with the JSON null value. By default, fields
11527	// with empty values are omitted from API requests. However, any field
11528	// with an empty value appearing in NullFields will be sent to the
11529	// server as null. It is an error if a field in this list has a
11530	// non-empty value. This may be used to include null fields in Patch
11531	// requests.
11532	NullFields []string `json:"-"`
11533}
11534
11535func (s *ParentalStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11536	type NoMethod ParentalStatusTargetingOptionDetails
11537	raw := NoMethod(*s)
11538	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11539}
11540
11541// Partner: A single partner in Display & Video 360 (DV360).
11542type Partner struct {
11543	// AdServerConfig: Ad server related settings of the partner.
11544	AdServerConfig *PartnerAdServerConfig `json:"adServerConfig,omitempty"`
11545
11546	// DataAccessConfig: Settings that control how partner data may be
11547	// accessed.
11548	DataAccessConfig *PartnerDataAccessConfig `json:"dataAccessConfig,omitempty"`
11549
11550	// DisplayName: The display name of the partner. Must be UTF-8 encoded
11551	// with a maximum size of 240 bytes.
11552	DisplayName string `json:"displayName,omitempty"`
11553
11554	// EntityStatus: Output only. The status of the partner.
11555	//
11556	// Possible values:
11557	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
11558	// specified or is unknown in this version.
11559	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
11560	// budget.
11561	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
11562	// budget spending are disabled. An entity can be deleted after
11563	// archived. Deleted entities cannot be retrieved.
11564	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
11565	// budget spending are disabled.
11566	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
11567	// the entity.
11568	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
11569	// for deletion.
11570	EntityStatus string `json:"entityStatus,omitempty"`
11571
11572	// ExchangeConfig: Settings that control which exchanges are enabled for
11573	// the partner.
11574	ExchangeConfig *ExchangeConfig `json:"exchangeConfig,omitempty"`
11575
11576	// GeneralConfig: General settings of the partner.
11577	GeneralConfig *PartnerGeneralConfig `json:"generalConfig,omitempty"`
11578
11579	// Name: Output only. The resource name of the partner.
11580	Name string `json:"name,omitempty"`
11581
11582	// PartnerId: Output only. The unique ID of the partner. Assigned by the
11583	// system.
11584	PartnerId int64 `json:"partnerId,omitempty,string"`
11585
11586	// UpdateTime: Output only. The timestamp when the partner was last
11587	// updated. Assigned by the system.
11588	UpdateTime string `json:"updateTime,omitempty"`
11589
11590	// ServerResponse contains the HTTP response code and headers from the
11591	// server.
11592	googleapi.ServerResponse `json:"-"`
11593
11594	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
11595	// unconditionally include in API requests. By default, fields with
11596	// empty values are omitted from API requests. However, any non-pointer,
11597	// non-interface field appearing in ForceSendFields will be sent to the
11598	// server regardless of whether the field is empty or not. This may be
11599	// used to include empty fields in Patch requests.
11600	ForceSendFields []string `json:"-"`
11601
11602	// NullFields is a list of field names (e.g. "AdServerConfig") to
11603	// include in API requests with the JSON null value. By default, fields
11604	// with empty values are omitted from API requests. However, any field
11605	// with an empty value appearing in NullFields will be sent to the
11606	// server as null. It is an error if a field in this list has a
11607	// non-empty value. This may be used to include null fields in Patch
11608	// requests.
11609	NullFields []string `json:"-"`
11610}
11611
11612func (s *Partner) MarshalJSON() ([]byte, error) {
11613	type NoMethod Partner
11614	raw := NoMethod(*s)
11615	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11616}
11617
11618// PartnerAdServerConfig: Ad server related settings of a partner.
11619type PartnerAdServerConfig struct {
11620	// MeasurementConfig: Measurement settings of a partner.
11621	MeasurementConfig *MeasurementConfig `json:"measurementConfig,omitempty"`
11622
11623	// ForceSendFields is a list of field names (e.g. "MeasurementConfig")
11624	// to unconditionally include in API requests. By default, fields with
11625	// empty values are omitted from API requests. However, any non-pointer,
11626	// non-interface field appearing in ForceSendFields will be sent to the
11627	// server regardless of whether the field is empty or not. This may be
11628	// used to include empty fields in Patch requests.
11629	ForceSendFields []string `json:"-"`
11630
11631	// NullFields is a list of field names (e.g. "MeasurementConfig") to
11632	// include in API requests with the JSON null value. By default, fields
11633	// with empty values are omitted from API requests. However, any field
11634	// with an empty value appearing in NullFields will be sent to the
11635	// server as null. It is an error if a field in this list has a
11636	// non-empty value. This may be used to include null fields in Patch
11637	// requests.
11638	NullFields []string `json:"-"`
11639}
11640
11641func (s *PartnerAdServerConfig) MarshalJSON() ([]byte, error) {
11642	type NoMethod PartnerAdServerConfig
11643	raw := NoMethod(*s)
11644	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11645}
11646
11647// PartnerCost: Settings that control a partner cost. A partner cost is
11648// any type of expense involved in running a campaign, other than the
11649// costs of purchasing impressions (which is called the media cost) and
11650// using third-party audience segment data (data fee). Some examples of
11651// partner costs include the fees for using DV360, a third-party ad
11652// server, or a third-party ad serving verification service.
11653type PartnerCost struct {
11654	// CostType: Required. The type of the partner cost.
11655	//
11656	// Possible values:
11657	//   "PARTNER_COST_TYPE_UNSPECIFIED" - Type value is not specified or is
11658	// unknown in this version.
11659	//   "PARTNER_COST_TYPE_ADLOOX" - The cost is charged for using Adloox.
11660	//   "PARTNER_COST_TYPE_ADLOOX_PREBID" - The cost is charged for using
11661	// Adloox Pre-Bid.
11662	//   "PARTNER_COST_TYPE_ADSAFE" - The cost is charged for using AdSafe.
11663	//   "PARTNER_COST_TYPE_ADXPOSE" - The cost is charged for using
11664	// AdExpose.
11665	//   "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE" - The cost is charged for
11666	// using Aggregate Knowledge.
11667	//   "PARTNER_COST_TYPE_AGENCY_TRADING_DESK" - The cost is charged for
11668	// using an Agency Trading Desk.
11669	//   "PARTNER_COST_TYPE_DV360_FEE" - The cost is charged for using
11670	// DV360.
11671	//   "PARTNER_COST_TYPE_COMSCORE_VCE" - The cost is charged for using
11672	// comScore vCE.
11673	//   "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM" - The cost is charged
11674	// for using a Data Management Platform.
11675	//   "PARTNER_COST_TYPE_DEFAULT" - The default cost type.
11676	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY" - The cost is charged for using
11677	// DoubleVerify.
11678	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID" - The cost is charged for
11679	// using DoubleVerify Pre-Bid.
11680	//   "PARTNER_COST_TYPE_EVIDON" - The cost is charged for using Evidon.
11681	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO" - The cost is charged
11682	// for using Integral Ad Science Video.
11683	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID" - The cost is
11684	// charged for using Integral Ad Science Pre-Bid.
11685	//   "PARTNER_COST_TYPE_MEDIA_COST_DATA" - The cost is charged for using
11686	// media cost data.
11687	//   "PARTNER_COST_TYPE_MOAT_VIDEO" - The cost is charged for using MOAT
11688	// Video.
11689	//   "PARTNER_COST_TYPE_NIELSEN_DAR" - The cost is charged for using
11690	// Nielsen Digital Ad Ratings.
11691	//   "PARTNER_COST_TYPE_SHOP_LOCAL" - The cost is charged for using
11692	// ShopLocal.
11693	//   "PARTNER_COST_TYPE_TERACENT" - The cost is charged for using
11694	// Teracent.
11695	//   "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER" - The cost is charged for
11696	// using a third-party ad server.
11697	//   "PARTNER_COST_TYPE_TRUST_METRICS" - The cost is charged for using
11698	// TrustMetrics.
11699	//   "PARTNER_COST_TYPE_VIZU" - The cost is charged for using Vizu.
11700	//   "PARTNER_COST_TYPE_ADLINGO_FEE" - The cost is charged for using
11701	// AdLingo.
11702	//   "PARTNER_COST_TYPE_CUSTOM_FEE_1" - The cost is charged as custom
11703	// fee 1.
11704	//   "PARTNER_COST_TYPE_CUSTOM_FEE_2" - The cost is charged as custom
11705	// fee 2.
11706	//   "PARTNER_COST_TYPE_CUSTOM_FEE_3" - The cost is charged as custom
11707	// fee 3.
11708	//   "PARTNER_COST_TYPE_CUSTOM_FEE_4" - The cost is charged as custom
11709	// fee 4.
11710	//   "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom
11711	// fee 5.
11712	CostType string `json:"costType,omitempty"`
11713
11714	// FeeAmount: The CPM fee amount in micros of advertiser's currency.
11715	// Applicable when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be
11716	// greater than or equal to 0. For example, for 1.5 standard unit of the
11717	// advertiser's currency, set this field to 1500000.
11718	FeeAmount int64 `json:"feeAmount,omitempty,string"`
11719
11720	// FeePercentageMillis: The media fee percentage in millis (1/1000 of a
11721	// percent). Applicable when the fee_type is
11722	// `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0. For
11723	// example: 100 represents 0.1%.
11724	FeePercentageMillis int64 `json:"feePercentageMillis,omitempty,string"`
11725
11726	// FeeType: Required. The fee type for this partner cost.
11727	//
11728	// Possible values:
11729	//   "PARTNER_COST_FEE_TYPE_UNSPECIFIED" - Value is not specified or is
11730	// unknown in this version.
11731	//   "PARTNER_COST_FEE_TYPE_CPM_FEE" - The partner cost is a fixed CPM
11732	// fee. Not applicable when the partner cost cost_type is one of: *
11733	// `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.
11734	//   "PARTNER_COST_FEE_TYPE_MEDIA_FEE" - The partner cost is a
11735	// percentage surcharge based on the media cost. Not applicable when the
11736	// partner cost_type is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` *
11737	// `PARTNER_COST_TYPE_TRUST_METRICS` *
11738	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` *
11739	// `PARTNER_COST_TYPE_MOAT_VIDEO`.
11740	FeeType string `json:"feeType,omitempty"`
11741
11742	// InvoiceType: The invoice type for this partner cost. * Required when
11743	// cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` -
11744	// `PARTNER_COST_TYPE_DOUBLE_VERIFY` -
11745	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other
11746	// types.
11747	//
11748	// Possible values:
11749	//   "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED" - Type value is not
11750	// specified or is unknown in this version.
11751	//   "PARTNER_COST_INVOICE_TYPE_DV360" - Partner cost is billed through
11752	// DV360.
11753	//   "PARTNER_COST_INVOICE_TYPE_PARTNER" - Partner cost is billed by the
11754	// partner.
11755	InvoiceType string `json:"invoiceType,omitempty"`
11756
11757	// ForceSendFields is a list of field names (e.g. "CostType") to
11758	// unconditionally include in API requests. By default, fields with
11759	// empty values are omitted from API requests. However, any non-pointer,
11760	// non-interface field appearing in ForceSendFields will be sent to the
11761	// server regardless of whether the field is empty or not. This may be
11762	// used to include empty fields in Patch requests.
11763	ForceSendFields []string `json:"-"`
11764
11765	// NullFields is a list of field names (e.g. "CostType") to include in
11766	// API requests with the JSON null value. By default, fields with empty
11767	// values are omitted from API requests. However, any field with an
11768	// empty value appearing in NullFields will be sent to the server as
11769	// null. It is an error if a field in this list has a non-empty value.
11770	// This may be used to include null fields in Patch requests.
11771	NullFields []string `json:"-"`
11772}
11773
11774func (s *PartnerCost) MarshalJSON() ([]byte, error) {
11775	type NoMethod PartnerCost
11776	raw := NoMethod(*s)
11777	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11778}
11779
11780// PartnerDataAccessConfig: Settings that control how partner related
11781// data may be accessed.
11782type PartnerDataAccessConfig struct {
11783	// SdfConfig: Structured Data Files (SDF) settings for the partner. The
11784	// SDF configuration for the partner.
11785	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
11786
11787	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
11788	// unconditionally include in API requests. By default, fields with
11789	// empty values are omitted from API requests. However, any non-pointer,
11790	// non-interface field appearing in ForceSendFields will be sent to the
11791	// server regardless of whether the field is empty or not. This may be
11792	// used to include empty fields in Patch requests.
11793	ForceSendFields []string `json:"-"`
11794
11795	// NullFields is a list of field names (e.g. "SdfConfig") to include in
11796	// API requests with the JSON null value. By default, fields with empty
11797	// values are omitted from API requests. However, any field with an
11798	// empty value appearing in NullFields will be sent to the server as
11799	// null. It is an error if a field in this list has a non-empty value.
11800	// This may be used to include null fields in Patch requests.
11801	NullFields []string `json:"-"`
11802}
11803
11804func (s *PartnerDataAccessConfig) MarshalJSON() ([]byte, error) {
11805	type NoMethod PartnerDataAccessConfig
11806	raw := NoMethod(*s)
11807	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11808}
11809
11810// PartnerGeneralConfig: General settings of a partner.
11811type PartnerGeneralConfig struct {
11812	// CurrencyCode: Immutable. Partner's currency in ISO 4217 format.
11813	CurrencyCode string `json:"currencyCode,omitempty"`
11814
11815	// TimeZone: Immutable. The standard TZ database name of the partner's
11816	// time zone. For example, `America/New_York`. See more at:
11817	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
11818	TimeZone string `json:"timeZone,omitempty"`
11819
11820	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
11821	// unconditionally include in API requests. By default, fields with
11822	// empty values are omitted from API requests. However, any non-pointer,
11823	// non-interface field appearing in ForceSendFields will be sent to the
11824	// server regardless of whether the field is empty or not. This may be
11825	// used to include empty fields in Patch requests.
11826	ForceSendFields []string `json:"-"`
11827
11828	// NullFields is a list of field names (e.g. "CurrencyCode") to include
11829	// in API requests with the JSON null value. By default, fields with
11830	// empty values are omitted from API requests. However, any field with
11831	// an empty value appearing in NullFields will be sent to the server as
11832	// null. It is an error if a field in this list has a non-empty value.
11833	// This may be used to include null fields in Patch requests.
11834	NullFields []string `json:"-"`
11835}
11836
11837func (s *PartnerGeneralConfig) MarshalJSON() ([]byte, error) {
11838	type NoMethod PartnerGeneralConfig
11839	raw := NoMethod(*s)
11840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11841}
11842
11843// PartnerRevenueModel: Settings that control how partner revenue is
11844// calculated.
11845type PartnerRevenueModel struct {
11846	// MarkupAmount: Required. The markup amount of the partner revenue
11847	// model. Must be greater than or equal to 0. * When the markup_type is
11848	// set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field
11849	// represents the CPM markup in micros of advertiser's currency. For
11850	// example, 1500000 represents 1.5 standard units of the currency. *
11851	// When the markup_type is set to be
11852	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field
11853	// represents the media cost percent markup in millis. For example, 100
11854	// represents 0.1% (decimal 0.001). * When the markup_type is set to be
11855	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this
11856	// field represents the total media cost percent markup in millis. For
11857	// example, 100 represents 0.1% (decimal 0.001).
11858	MarkupAmount int64 `json:"markupAmount,omitempty,string"`
11859
11860	// MarkupType: Required. The markup type of the partner revenue model.
11861	//
11862	// Possible values:
11863	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED" - Type value is not
11864	// specified or is unknown in this version.
11865	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM" - Calculate the partner
11866	// revenue based on a fixed CPM.
11867	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP" - Calculate
11868	// the partner revenue based on a percentage surcharge of its media
11869	// cost.
11870	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" -
11871	// Calculate the partner revenue based on a percentage surcharge of its
11872	// total media cost, which includes all partner costs and data costs.
11873	MarkupType string `json:"markupType,omitempty"`
11874
11875	// ForceSendFields is a list of field names (e.g. "MarkupAmount") to
11876	// unconditionally include in API requests. By default, fields with
11877	// empty values are omitted from API requests. However, any non-pointer,
11878	// non-interface field appearing in ForceSendFields will be sent to the
11879	// server regardless of whether the field is empty or not. This may be
11880	// used to include empty fields in Patch requests.
11881	ForceSendFields []string `json:"-"`
11882
11883	// NullFields is a list of field names (e.g. "MarkupAmount") to include
11884	// in API requests with the JSON null value. By default, fields with
11885	// empty values are omitted from API requests. However, any field with
11886	// an empty value appearing in NullFields will be sent to the server as
11887	// null. It is an error if a field in this list has a non-empty value.
11888	// This may be used to include null fields in Patch requests.
11889	NullFields []string `json:"-"`
11890}
11891
11892func (s *PartnerRevenueModel) MarshalJSON() ([]byte, error) {
11893	type NoMethod PartnerRevenueModel
11894	raw := NoMethod(*s)
11895	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11896}
11897
11898// PerformanceGoal: Settings that control the performance goal of a
11899// campaign or insertion order.
11900type PerformanceGoal struct {
11901	// PerformanceGoalAmountMicros: The goal amount, in micros of the
11902	// advertiser's currency. Applicable when performance_goal_type is one
11903	// of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
11904	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` *
11905	// `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5
11906	// standard units of the currency.
11907	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
11908
11909	// PerformanceGoalPercentageMicros: The decimal representation of the
11910	// goal percentage in micros. Applicable when performance_goal_type is
11911	// one of: * `PERFORMANCE_GOAL_TYPE_CTR` *
11912	// `PERFORMANCE_GOAL_TYPE_VIEWABILITY` *
11913	// `PERFORMANCE_GOAL_TYPE_CLICK_CVR` *
11914	// `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR`
11915	// * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` *
11916	// `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000
11917	// represents 7% (decimal 0.07).
11918	PerformanceGoalPercentageMicros int64 `json:"performanceGoalPercentageMicros,omitempty,string"`
11919
11920	// PerformanceGoalString: A key performance indicator (KPI) string,
11921	// which can be empty. Must be UTF-8 encoded with a length of no more
11922	// than 100 characters. Applicable when performance_goal_type is set to
11923	// `PERFORMANCE_GOAL_TYPE_OTHER`.
11924	PerformanceGoalString string `json:"performanceGoalString,omitempty"`
11925
11926	// PerformanceGoalType: Required. The type of the performance goal.
11927	//
11928	// Possible values:
11929	//   "PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Performance goal type is not
11930	// specified or is unknown in this version.
11931	//   "PERFORMANCE_GOAL_TYPE_CPM" - The performance goal is set in CPM
11932	// (cost per mille).
11933	//   "PERFORMANCE_GOAL_TYPE_CPC" - The performance goal is set in CPC
11934	// (cost per click).
11935	//   "PERFORMANCE_GOAL_TYPE_CPA" - The performance goal is set in CPA
11936	// (cost per action).
11937	//   "PERFORMANCE_GOAL_TYPE_CTR" - The performance goal is set in CTR
11938	// (click-through rate) percentage.
11939	//   "PERFORMANCE_GOAL_TYPE_VIEWABILITY" - The performance goal is set
11940	// in Viewability percentage.
11941	//   "PERFORMANCE_GOAL_TYPE_CPIAVC" - The performance goal is set as
11942	// CPIAVC (cost per impression audible and visible at completion).
11943	//   "PERFORMANCE_GOAL_TYPE_CPE" - The performance goal is set in CPE
11944	// (cost per engagement).
11945	//   "PERFORMANCE_GOAL_TYPE_CLICK_CVR" - The performance goal is set in
11946	// click conversion rate (conversions per click) percentage.
11947	//   "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR" - The performance goal is
11948	// set in impression conversion rate (conversions per impression)
11949	// percentage.
11950	//   "PERFORMANCE_GOAL_TYPE_VCPM" - The performance goal is set in VCPM
11951	// (cost per thousand viewable impressions).
11952	//   "PERFORMANCE_GOAL_TYPE_VTR" - The performance goal is set in
11953	// YouTube view rate (YouTube views per impression) percentage.
11954	//   "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE" - The performance
11955	// goal is set in audio completion rate (complete audio listens per
11956	// impression) percentage.
11957	//   "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE" - The performance
11958	// goal is set in video completion rate (complete video views per
11959	// impression) percentage.
11960	//   "PERFORMANCE_GOAL_TYPE_OTHER" - The performance goal is set to
11961	// Other.
11962	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
11963
11964	// ForceSendFields is a list of field names (e.g.
11965	// "PerformanceGoalAmountMicros") to unconditionally include in API
11966	// requests. By default, fields with empty values are omitted from API
11967	// requests. However, any non-pointer, non-interface field appearing in
11968	// ForceSendFields will be sent to the server regardless of whether the
11969	// field is empty or not. This may be used to include empty fields in
11970	// Patch requests.
11971	ForceSendFields []string `json:"-"`
11972
11973	// NullFields is a list of field names (e.g.
11974	// "PerformanceGoalAmountMicros") to include in API requests with the
11975	// JSON null value. By default, fields with empty values are omitted
11976	// from API requests. However, any field with an empty value appearing
11977	// in NullFields will be sent to the server as null. It is an error if a
11978	// field in this list has a non-empty value. This may be used to include
11979	// null fields in Patch requests.
11980	NullFields []string `json:"-"`
11981}
11982
11983func (s *PerformanceGoal) MarshalJSON() ([]byte, error) {
11984	type NoMethod PerformanceGoal
11985	raw := NoMethod(*s)
11986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11987}
11988
11989// PerformanceGoalBidStrategy: A strategy that automatically adjusts the
11990// bid to meet or beat a specified performance goal.
11991type PerformanceGoalBidStrategy struct {
11992	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used
11993	// by this strategy. Only applicable when performance_goal_type is set
11994	// to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
11995	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
11996
11997	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be
11998	// bid, in micros of the advertiser's currency. Must be greater than or
11999	// equal to a billable unit of the given currency. Not applicable when
12000	// performance_goal_type is set to
12001	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example,
12002	// 1500000 represents 1.5 standard units of the currency.
12003	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
12004
12005	// PerformanceGoalAmountMicros: Required. The performance goal the
12006	// bidding strategy will attempt to meet or beat, in micros of the
12007	// advertiser's currency or in micro of the ROAS (Return On Advertising
12008	// Spend) value which is also based on advertiser's currency. Must be
12009	// greater than or equal to a billable unit of the given currency and
12010	// smaller or equal to upper bounds. Each performance_goal_type has its
12011	// upper bound: * when performance_goal_type is
12012	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00
12013	// USD. * when performance_goal_type is
12014	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00
12015	// USD. * when performance_goal_type is
12016	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is
12017	// 1000.00 USD. * when performance_goal_type is
12018	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is
12019	// 1000.00 and lower bound is 0.01. Example: If set to
12020	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price
12021	// will be based on the probability that each available impression will
12022	// be viewable. For example, if viewable CPM target is $2 and an
12023	// impression is 40% likely to be viewable, the bid price will be $0.80
12024	// CPM (40% of $2). For example, 1500000 represents 1.5 standard units
12025	// of the currency or ROAS value.
12026	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
12027
12028	// PerformanceGoalType: Required. The type of the performance goal that
12029	// the bidding strategy will try to meet or beat. For line item level
12030	// usage, the value must be one of: *
12031	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
12032	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
12033	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *
12034	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
12035	//
12036	// Possible values:
12037	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value
12038	// is not specified or is unknown in this version.
12039	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
12040	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
12041	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable
12042	// CPM.
12043	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom
12044	// bidding algorithm.
12045	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview
12046	// and audible views.
12047	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over
12048	// 10 secs views.
12049	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable
12050	// impressions.
12051	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
12052
12053	// ForceSendFields is a list of field names (e.g.
12054	// "CustomBiddingAlgorithmId") to unconditionally include in API
12055	// requests. By default, fields with empty values are omitted from API
12056	// requests. However, any non-pointer, non-interface field appearing in
12057	// ForceSendFields will be sent to the server regardless of whether the
12058	// field is empty or not. This may be used to include empty fields in
12059	// Patch requests.
12060	ForceSendFields []string `json:"-"`
12061
12062	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
12063	// to include in API requests with the JSON null value. By default,
12064	// fields with empty values are omitted from API requests. However, any
12065	// field with an empty value appearing in NullFields will be sent to the
12066	// server as null. It is an error if a field in this list has a
12067	// non-empty value. This may be used to include null fields in Patch
12068	// requests.
12069	NullFields []string `json:"-"`
12070}
12071
12072func (s *PerformanceGoalBidStrategy) MarshalJSON() ([]byte, error) {
12073	type NoMethod PerformanceGoalBidStrategy
12074	raw := NoMethod(*s)
12075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12076}
12077
12078// PrismaConfig: Settings specific to the Mediaocean Prisma tool.
12079type PrismaConfig struct {
12080	// PrismaCpeCode: Required. Relevant client, product, and estimate codes
12081	// from the Mediaocean Prisma tool.
12082	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
12083
12084	// PrismaType: Required. The Prisma type.
12085	//
12086	// Possible values:
12087	//   "PRISMA_TYPE_UNSPECIFIED" - Type is not specified or unknown in
12088	// this version.
12089	//   "PRISMA_TYPE_DISPLAY" - Display type.
12090	//   "PRISMA_TYPE_SEARCH" - Search type.
12091	//   "PRISMA_TYPE_VIDEO" - Video type.
12092	//   "PRISMA_TYPE_AUDIO" - Audio type.
12093	//   "PRISMA_TYPE_SOCIAL" - Social type.
12094	//   "PRISMA_TYPE_FEE" - Fee type.
12095	PrismaType string `json:"prismaType,omitempty"`
12096
12097	// Supplier: Required. The entity allocated this budget (DSP, site,
12098	// etc.).
12099	Supplier string `json:"supplier,omitempty"`
12100
12101	// ForceSendFields is a list of field names (e.g. "PrismaCpeCode") to
12102	// unconditionally include in API requests. By default, fields with
12103	// empty values are omitted from API requests. However, any non-pointer,
12104	// non-interface field appearing in ForceSendFields will be sent to the
12105	// server regardless of whether the field is empty or not. This may be
12106	// used to include empty fields in Patch requests.
12107	ForceSendFields []string `json:"-"`
12108
12109	// NullFields is a list of field names (e.g. "PrismaCpeCode") to include
12110	// in API requests with the JSON null value. By default, fields with
12111	// empty values are omitted from API requests. However, any field with
12112	// an empty value appearing in NullFields will be sent to the server as
12113	// null. It is an error if a field in this list has a non-empty value.
12114	// This may be used to include null fields in Patch requests.
12115	NullFields []string `json:"-"`
12116}
12117
12118func (s *PrismaConfig) MarshalJSON() ([]byte, error) {
12119	type NoMethod PrismaConfig
12120	raw := NoMethod(*s)
12121	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12122}
12123
12124// PrismaCpeCode: Google Payments Center supports searching and
12125// filtering on the component fields of this code.
12126type PrismaCpeCode struct {
12127	// PrismaClientCode: The Prisma client code.
12128	PrismaClientCode string `json:"prismaClientCode,omitempty"`
12129
12130	// PrismaEstimateCode: The Prisma estimate code.
12131	PrismaEstimateCode string `json:"prismaEstimateCode,omitempty"`
12132
12133	// PrismaProductCode: The Prisma product code.
12134	PrismaProductCode string `json:"prismaProductCode,omitempty"`
12135
12136	// ForceSendFields is a list of field names (e.g. "PrismaClientCode") to
12137	// unconditionally include in API requests. By default, fields with
12138	// empty values are omitted from API requests. However, any non-pointer,
12139	// non-interface field appearing in ForceSendFields will be sent to the
12140	// server regardless of whether the field is empty or not. This may be
12141	// used to include empty fields in Patch requests.
12142	ForceSendFields []string `json:"-"`
12143
12144	// NullFields is a list of field names (e.g. "PrismaClientCode") to
12145	// include in API requests with the JSON null value. By default, fields
12146	// with empty values are omitted from API requests. However, any field
12147	// with an empty value appearing in NullFields will be sent to the
12148	// server as null. It is an error if a field in this list has a
12149	// non-empty value. This may be used to include null fields in Patch
12150	// requests.
12151	NullFields []string `json:"-"`
12152}
12153
12154func (s *PrismaCpeCode) MarshalJSON() ([]byte, error) {
12155	type NoMethod PrismaCpeCode
12156	raw := NoMethod(*s)
12157	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12158}
12159
12160// ProximityLocationListAssignedTargetingOptionDetails: Targeting
12161// details for proximity location list. This will be populated in the
12162// details field of an AssignedTargetingOption when targeting_type is
12163// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
12164type ProximityLocationListAssignedTargetingOptionDetails struct {
12165	// ProximityLocationListId: Required. ID of the proximity location list.
12166	// Should refer to the location_list_id field of a LocationList resource
12167	// whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
12168	ProximityLocationListId int64 `json:"proximityLocationListId,omitempty,string"`
12169
12170	// ProximityRadiusRange: Required. Radius range for proximity location
12171	// list. This represents the size of the area around a chosen location
12172	// that will be targeted. `All` proximity location targeting under a
12173	// single resource must have the same radius range value. Set this value
12174	// to match any existing targeting. If updated, this field will change
12175	// the radius range for all proximity targeting under the resource.
12176	//
12177	// Possible values:
12178	//   "PROXIMITY_RADIUS_RANGE_UNSPECIFIED" - The targeted radius range is
12179	// not specified or is unknown. Default value when radius range is not
12180	// specified in this version. This enum is a placeholder for default
12181	// value and does not represent a real radius range option.
12182	//   "PROXIMITY_RADIUS_RANGE_SMALL" - The targeted radius range is
12183	// small.
12184	//   "PROXIMITY_RADIUS_RANGE_MEDIUM" - The targeted radius range is
12185	// medium.
12186	//   "PROXIMITY_RADIUS_RANGE_LARGE" - The targeted radius range is
12187	// large.
12188	ProximityRadiusRange string `json:"proximityRadiusRange,omitempty"`
12189
12190	// ForceSendFields is a list of field names (e.g.
12191	// "ProximityLocationListId") to unconditionally include in API
12192	// requests. By default, fields with empty values are omitted from API
12193	// requests. However, any non-pointer, non-interface field appearing in
12194	// ForceSendFields will be sent to the server regardless of whether the
12195	// field is empty or not. This may be used to include empty fields in
12196	// Patch requests.
12197	ForceSendFields []string `json:"-"`
12198
12199	// NullFields is a list of field names (e.g. "ProximityLocationListId")
12200	// to include in API requests with the JSON null value. By default,
12201	// fields with empty values are omitted from API requests. However, any
12202	// field with an empty value appearing in NullFields will be sent to the
12203	// server as null. It is an error if a field in this list has a
12204	// non-empty value. This may be used to include null fields in Patch
12205	// requests.
12206	NullFields []string `json:"-"`
12207}
12208
12209func (s *ProximityLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12210	type NoMethod ProximityLocationListAssignedTargetingOptionDetails
12211	raw := NoMethod(*s)
12212	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12213}
12214
12215// PublisherReviewStatus: Publisher review status for the creative.
12216type PublisherReviewStatus struct {
12217	// PublisherName: The publisher reviewing the creative.
12218	PublisherName string `json:"publisherName,omitempty"`
12219
12220	// Status: Status of the publisher review.
12221	//
12222	// Possible values:
12223	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
12224	// unknown in this version.
12225	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
12226	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
12227	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
12228	Status string `json:"status,omitempty"`
12229
12230	// ForceSendFields is a list of field names (e.g. "PublisherName") to
12231	// unconditionally include in API requests. By default, fields with
12232	// empty values are omitted from API requests. However, any non-pointer,
12233	// non-interface field appearing in ForceSendFields will be sent to the
12234	// server regardless of whether the field is empty or not. This may be
12235	// used to include empty fields in Patch requests.
12236	ForceSendFields []string `json:"-"`
12237
12238	// NullFields is a list of field names (e.g. "PublisherName") to include
12239	// in API requests with the JSON null value. By default, fields with
12240	// empty values are omitted from API requests. However, any field with
12241	// an empty value appearing in NullFields will be sent to the server as
12242	// null. It is an error if a field in this list has a non-empty value.
12243	// This may be used to include null fields in Patch requests.
12244	NullFields []string `json:"-"`
12245}
12246
12247func (s *PublisherReviewStatus) MarshalJSON() ([]byte, error) {
12248	type NoMethod PublisherReviewStatus
12249	raw := NoMethod(*s)
12250	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12251}
12252
12253// RateDetails: The rate related settings of the inventory source.
12254type RateDetails struct {
12255	// InventorySourceRateType: The rate type. Acceptable values are
12256	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`,
12257	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and
12258	// `INVENTORY_SOURCE_RATE_TYPE_CPD`.
12259	//
12260	// Possible values:
12261	//   "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED" - The rate type is not
12262	// specified or is unknown in this version.
12263	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED" - The rate type is CPM
12264	// (Fixed).
12265	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR" - The rate type is CPM
12266	// (Floor).
12267	//   "INVENTORY_SOURCE_RATE_TYPE_CPD" - The rate type is Cost per Day.
12268	//   "INVENTORY_SOURCE_RATE_TYPE_FLAT" - The rate type is Flat.
12269	InventorySourceRateType string `json:"inventorySourceRateType,omitempty"`
12270
12271	// MinimumSpend: Output only. The amount that the buyer has committed to
12272	// spending on the inventory source up front. Only applicable for
12273	// guaranteed inventory sources.
12274	MinimumSpend *Money `json:"minimumSpend,omitempty"`
12275
12276	// Rate: The rate for the inventory source.
12277	Rate *Money `json:"rate,omitempty"`
12278
12279	// UnitsPurchased: Required for guaranteed inventory sources. The number
12280	// of impressions guaranteed by the seller.
12281	UnitsPurchased int64 `json:"unitsPurchased,omitempty,string"`
12282
12283	// ForceSendFields is a list of field names (e.g.
12284	// "InventorySourceRateType") to unconditionally include in API
12285	// requests. By default, fields with empty values are omitted from API
12286	// requests. However, any non-pointer, non-interface field appearing in
12287	// ForceSendFields will be sent to the server regardless of whether the
12288	// field is empty or not. This may be used to include empty fields in
12289	// Patch requests.
12290	ForceSendFields []string `json:"-"`
12291
12292	// NullFields is a list of field names (e.g. "InventorySourceRateType")
12293	// to include in API requests with the JSON null value. By default,
12294	// fields with empty values are omitted from API requests. However, any
12295	// field with an empty value appearing in NullFields will be sent to the
12296	// server as null. It is an error if a field in this list has a
12297	// non-empty value. This may be used to include null fields in Patch
12298	// requests.
12299	NullFields []string `json:"-"`
12300}
12301
12302func (s *RateDetails) MarshalJSON() ([]byte, error) {
12303	type NoMethod RateDetails
12304	raw := NoMethod(*s)
12305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12306}
12307
12308// RegionalLocationListAssignedTargetingOptionDetails: Targeting details
12309// for regional location list. This will be populated in the details
12310// field of an AssignedTargetingOption when targeting_type is
12311// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
12312type RegionalLocationListAssignedTargetingOptionDetails struct {
12313	// Negative: Indicates if this option is being negatively targeted.
12314	Negative bool `json:"negative,omitempty"`
12315
12316	// RegionalLocationListId: Required. ID of the regional location list.
12317	// Should refer to the location_list_id field of a LocationList resource
12318	// whose type is `TARGETING_LOCATION_TYPE_REGIONAL`.
12319	RegionalLocationListId int64 `json:"regionalLocationListId,omitempty,string"`
12320
12321	// ForceSendFields is a list of field names (e.g. "Negative") to
12322	// unconditionally include in API requests. By default, fields with
12323	// empty values are omitted from API requests. However, any non-pointer,
12324	// non-interface field appearing in ForceSendFields will be sent to the
12325	// server regardless of whether the field is empty or not. This may be
12326	// used to include empty fields in Patch requests.
12327	ForceSendFields []string `json:"-"`
12328
12329	// NullFields is a list of field names (e.g. "Negative") to include in
12330	// API requests with the JSON null value. By default, fields with empty
12331	// values are omitted from API requests. However, any field with an
12332	// empty value appearing in NullFields will be sent to the server as
12333	// null. It is an error if a field in this list has a non-empty value.
12334	// This may be used to include null fields in Patch requests.
12335	NullFields []string `json:"-"`
12336}
12337
12338func (s *RegionalLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12339	type NoMethod RegionalLocationListAssignedTargetingOptionDetails
12340	raw := NoMethod(*s)
12341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12342}
12343
12344// ReplaceNegativeKeywordsRequest: Request message for
12345// NegativeKeywordService.ReplaceNegativeKeywords.
12346type ReplaceNegativeKeywordsRequest struct {
12347	// NewNegativeKeywords: The negative keywords that will replace the
12348	// existing keywords in the negative keyword list, specified as a list
12349	// of NegativeKeywords.
12350	NewNegativeKeywords []*NegativeKeyword `json:"newNegativeKeywords,omitempty"`
12351
12352	// ForceSendFields is a list of field names (e.g. "NewNegativeKeywords")
12353	// to unconditionally include in API requests. By default, fields with
12354	// empty values are omitted from API requests. However, any non-pointer,
12355	// non-interface field appearing in ForceSendFields will be sent to the
12356	// server regardless of whether the field is empty or not. This may be
12357	// used to include empty fields in Patch requests.
12358	ForceSendFields []string `json:"-"`
12359
12360	// NullFields is a list of field names (e.g. "NewNegativeKeywords") to
12361	// include in API requests with the JSON null value. By default, fields
12362	// with empty values are omitted from API requests. However, any field
12363	// with an empty value appearing in NullFields will be sent to the
12364	// server as null. It is an error if a field in this list has a
12365	// non-empty value. This may be used to include null fields in Patch
12366	// requests.
12367	NullFields []string `json:"-"`
12368}
12369
12370func (s *ReplaceNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
12371	type NoMethod ReplaceNegativeKeywordsRequest
12372	raw := NoMethod(*s)
12373	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12374}
12375
12376// ReplaceNegativeKeywordsResponse: Response message for
12377// NegativeKeywordService.ReplaceNegativeKeywords.
12378type ReplaceNegativeKeywordsResponse struct {
12379	// NegativeKeywords: The full list of negative keywords now present in
12380	// the negative keyword list.
12381	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
12382
12383	// ServerResponse contains the HTTP response code and headers from the
12384	// server.
12385	googleapi.ServerResponse `json:"-"`
12386
12387	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
12388	// unconditionally include in API requests. By default, fields with
12389	// empty values are omitted from API requests. However, any non-pointer,
12390	// non-interface field appearing in ForceSendFields will be sent to the
12391	// server regardless of whether the field is empty or not. This may be
12392	// used to include empty fields in Patch requests.
12393	ForceSendFields []string `json:"-"`
12394
12395	// NullFields is a list of field names (e.g. "NegativeKeywords") to
12396	// include in API requests with the JSON null value. By default, fields
12397	// with empty values are omitted from API requests. However, any field
12398	// with an empty value appearing in NullFields will be sent to the
12399	// server as null. It is an error if a field in this list has a
12400	// non-empty value. This may be used to include null fields in Patch
12401	// requests.
12402	NullFields []string `json:"-"`
12403}
12404
12405func (s *ReplaceNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
12406	type NoMethod ReplaceNegativeKeywordsResponse
12407	raw := NoMethod(*s)
12408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12409}
12410
12411// ReplaceSitesRequest: Request message for SiteService.ReplaceSites.
12412type ReplaceSitesRequest struct {
12413	// AdvertiserId: The ID of the advertiser that owns the parent channel.
12414	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12415
12416	// NewSites: The sites that will replace the existing sites assigned to
12417	// the channel, specified as a list of Sites.
12418	NewSites []*Site `json:"newSites,omitempty"`
12419
12420	// PartnerId: The ID of the partner that owns the parent channel.
12421	PartnerId int64 `json:"partnerId,omitempty,string"`
12422
12423	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
12424	// unconditionally include in API requests. By default, fields with
12425	// empty values are omitted from API requests. However, any non-pointer,
12426	// non-interface field appearing in ForceSendFields will be sent to the
12427	// server regardless of whether the field is empty or not. This may be
12428	// used to include empty fields in Patch requests.
12429	ForceSendFields []string `json:"-"`
12430
12431	// NullFields is a list of field names (e.g. "AdvertiserId") to include
12432	// in API requests with the JSON null value. By default, fields with
12433	// empty values are omitted from API requests. However, any field with
12434	// an empty value appearing in NullFields will be sent to the server as
12435	// null. It is an error if a field in this list has a non-empty value.
12436	// This may be used to include null fields in Patch requests.
12437	NullFields []string `json:"-"`
12438}
12439
12440func (s *ReplaceSitesRequest) MarshalJSON() ([]byte, error) {
12441	type NoMethod ReplaceSitesRequest
12442	raw := NoMethod(*s)
12443	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12444}
12445
12446// ReplaceSitesResponse: Response message for SiteService.ReplaceSites.
12447type ReplaceSitesResponse struct {
12448	// Sites: The list of sites in the channel after replacing.
12449	Sites []*Site `json:"sites,omitempty"`
12450
12451	// ServerResponse contains the HTTP response code and headers from the
12452	// server.
12453	googleapi.ServerResponse `json:"-"`
12454
12455	// ForceSendFields is a list of field names (e.g. "Sites") to
12456	// unconditionally include in API requests. By default, fields with
12457	// empty values are omitted from API requests. However, any non-pointer,
12458	// non-interface field appearing in ForceSendFields will be sent to the
12459	// server regardless of whether the field is empty or not. This may be
12460	// used to include empty fields in Patch requests.
12461	ForceSendFields []string `json:"-"`
12462
12463	// NullFields is a list of field names (e.g. "Sites") to include in API
12464	// requests with the JSON null value. By default, fields with empty
12465	// values are omitted from API requests. However, any field with an
12466	// empty value appearing in NullFields will be sent to the server as
12467	// null. It is an error if a field in this list has a non-empty value.
12468	// This may be used to include null fields in Patch requests.
12469	NullFields []string `json:"-"`
12470}
12471
12472func (s *ReplaceSitesResponse) MarshalJSON() ([]byte, error) {
12473	type NoMethod ReplaceSitesResponse
12474	raw := NoMethod(*s)
12475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12476}
12477
12478// ReviewStatusInfo: Review statuses for the creative.
12479type ReviewStatusInfo struct {
12480	// ApprovalStatus: Represents the basic approval needed for a creative
12481	// to begin serving. Summary of creative_and_landing_page_review_status
12482	// and content_and_policy_review_status.
12483	//
12484	// Possible values:
12485	//   "APPROVAL_STATUS_UNSPECIFIED" - Type value is not specified or is
12486	// unknown in this version.
12487	//   "APPROVAL_STATUS_PENDING_NOT_SERVABLE" - The creative is still
12488	// under review and not servable.
12489	//   "APPROVAL_STATUS_PENDING_SERVABLE" - The creative has passed
12490	// creative & landing page review and is servable, but is awaiting
12491	// additional content & policy review.
12492	//   "APPROVAL_STATUS_APPROVED_SERVABLE" - Both creative & landing page
12493	// review and content & policy review are approved. The creative is
12494	// servable.
12495	//   "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" - There is an issue with
12496	// the creative that must be fixed before it can serve.
12497	ApprovalStatus string `json:"approvalStatus,omitempty"`
12498
12499	// ContentAndPolicyReviewStatus: Content and policy review status for
12500	// the creative.
12501	//
12502	// Possible values:
12503	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
12504	// unknown in this version.
12505	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
12506	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
12507	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
12508	ContentAndPolicyReviewStatus string `json:"contentAndPolicyReviewStatus,omitempty"`
12509
12510	// CreativeAndLandingPageReviewStatus: Creative and landing page review
12511	// status for the creative.
12512	//
12513	// Possible values:
12514	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
12515	// unknown in this version.
12516	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
12517	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
12518	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
12519	CreativeAndLandingPageReviewStatus string `json:"creativeAndLandingPageReviewStatus,omitempty"`
12520
12521	// ExchangeReviewStatuses: Exchange review statuses for the creative.
12522	ExchangeReviewStatuses []*ExchangeReviewStatus `json:"exchangeReviewStatuses,omitempty"`
12523
12524	// PublisherReviewStatuses: Publisher review statuses for the creative.
12525	PublisherReviewStatuses []*PublisherReviewStatus `json:"publisherReviewStatuses,omitempty"`
12526
12527	// ForceSendFields is a list of field names (e.g. "ApprovalStatus") to
12528	// unconditionally include in API requests. By default, fields with
12529	// empty values are omitted from API requests. However, any non-pointer,
12530	// non-interface field appearing in ForceSendFields will be sent to the
12531	// server regardless of whether the field is empty or not. This may be
12532	// used to include empty fields in Patch requests.
12533	ForceSendFields []string `json:"-"`
12534
12535	// NullFields is a list of field names (e.g. "ApprovalStatus") to
12536	// include in API requests with the JSON null value. By default, fields
12537	// with empty values are omitted from API requests. However, any field
12538	// with an empty value appearing in NullFields will be sent to the
12539	// server as null. It is an error if a field in this list has a
12540	// non-empty value. This may be used to include null fields in Patch
12541	// requests.
12542	NullFields []string `json:"-"`
12543}
12544
12545func (s *ReviewStatusInfo) MarshalJSON() ([]byte, error) {
12546	type NoMethod ReviewStatusInfo
12547	raw := NoMethod(*s)
12548	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12549}
12550
12551// SdfConfig: Structured Data File (SDF) related settings.
12552type SdfConfig struct {
12553	// AdminEmail: An administrator email address to which the SDF
12554	// processing status reports will be sent.
12555	AdminEmail string `json:"adminEmail,omitempty"`
12556
12557	// Version: Required. The version of SDF being used.
12558	//
12559	// Possible values:
12560	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
12561	// is unknown in this version.
12562	//   "SDF_VERSION_3_1" - SDF version 3.1
12563	//   "SDF_VERSION_4" - SDF version 4
12564	//   "SDF_VERSION_4_1" - SDF version 4.1
12565	//   "SDF_VERSION_4_2" - SDF version 4.2
12566	//   "SDF_VERSION_5" - SDF version 5.
12567	//   "SDF_VERSION_5_1" - SDF version 5.1
12568	//   "SDF_VERSION_5_2" - SDF version 5.2
12569	//   "SDF_VERSION_5_3" - SDF version 5.3
12570	Version string `json:"version,omitempty"`
12571
12572	// ForceSendFields is a list of field names (e.g. "AdminEmail") to
12573	// unconditionally include in API requests. By default, fields with
12574	// empty values are omitted from API requests. However, any non-pointer,
12575	// non-interface field appearing in ForceSendFields will be sent to the
12576	// server regardless of whether the field is empty or not. This may be
12577	// used to include empty fields in Patch requests.
12578	ForceSendFields []string `json:"-"`
12579
12580	// NullFields is a list of field names (e.g. "AdminEmail") to include in
12581	// API requests with the JSON null value. By default, fields with empty
12582	// values are omitted from API requests. However, any field with an
12583	// empty value appearing in NullFields will be sent to the server as
12584	// null. It is an error if a field in this list has a non-empty value.
12585	// This may be used to include null fields in Patch requests.
12586	NullFields []string `json:"-"`
12587}
12588
12589func (s *SdfConfig) MarshalJSON() ([]byte, error) {
12590	type NoMethod SdfConfig
12591	raw := NoMethod(*s)
12592	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12593}
12594
12595// SdfDownloadTask: Type for the response returned by
12596// [SdfDownloadTaskService.CreateSdfDownloadTask].
12597type SdfDownloadTask struct {
12598	// ResourceName: A resource name to be used in media.download to
12599	// Download the prepared files. Resource names have the format
12600	// `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made
12601	// available by the long running operation service once the task status
12602	// is done.
12603	ResourceName string `json:"resourceName,omitempty"`
12604
12605	// ForceSendFields is a list of field names (e.g. "ResourceName") to
12606	// unconditionally include in API requests. By default, fields with
12607	// empty values are omitted from API requests. However, any non-pointer,
12608	// non-interface field appearing in ForceSendFields will be sent to the
12609	// server regardless of whether the field is empty or not. This may be
12610	// used to include empty fields in Patch requests.
12611	ForceSendFields []string `json:"-"`
12612
12613	// NullFields is a list of field names (e.g. "ResourceName") to include
12614	// in API requests with the JSON null value. By default, fields with
12615	// empty values are omitted from API requests. However, any field with
12616	// an empty value appearing in NullFields will be sent to the server as
12617	// null. It is an error if a field in this list has a non-empty value.
12618	// This may be used to include null fields in Patch requests.
12619	NullFields []string `json:"-"`
12620}
12621
12622func (s *SdfDownloadTask) MarshalJSON() ([]byte, error) {
12623	type NoMethod SdfDownloadTask
12624	raw := NoMethod(*s)
12625	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12626}
12627
12628// SdfDownloadTaskMetadata: Type for the metadata returned by
12629// [SdfDownloadTaskService.CreateSdfDownloadTask].
12630type SdfDownloadTaskMetadata struct {
12631	// CreateTime: The time when the operation was created.
12632	CreateTime string `json:"createTime,omitempty"`
12633
12634	// EndTime: The time when execution was completed.
12635	EndTime string `json:"endTime,omitempty"`
12636
12637	// Version: The SDF version used to execute this download task.
12638	//
12639	// Possible values:
12640	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
12641	// is unknown in this version.
12642	//   "SDF_VERSION_3_1" - SDF version 3.1
12643	//   "SDF_VERSION_4" - SDF version 4
12644	//   "SDF_VERSION_4_1" - SDF version 4.1
12645	//   "SDF_VERSION_4_2" - SDF version 4.2
12646	//   "SDF_VERSION_5" - SDF version 5.
12647	//   "SDF_VERSION_5_1" - SDF version 5.1
12648	//   "SDF_VERSION_5_2" - SDF version 5.2
12649	//   "SDF_VERSION_5_3" - SDF version 5.3
12650	Version string `json:"version,omitempty"`
12651
12652	// ForceSendFields is a list of field names (e.g. "CreateTime") to
12653	// unconditionally include in API requests. By default, fields with
12654	// empty values are omitted from API requests. However, any non-pointer,
12655	// non-interface field appearing in ForceSendFields will be sent to the
12656	// server regardless of whether the field is empty or not. This may be
12657	// used to include empty fields in Patch requests.
12658	ForceSendFields []string `json:"-"`
12659
12660	// NullFields is a list of field names (e.g. "CreateTime") to include in
12661	// API requests with the JSON null value. By default, fields with empty
12662	// values are omitted from API requests. However, any field with an
12663	// empty value appearing in NullFields will be sent to the server as
12664	// null. It is an error if a field in this list has a non-empty value.
12665	// This may be used to include null fields in Patch requests.
12666	NullFields []string `json:"-"`
12667}
12668
12669func (s *SdfDownloadTaskMetadata) MarshalJSON() ([]byte, error) {
12670	type NoMethod SdfDownloadTaskMetadata
12671	raw := NoMethod(*s)
12672	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12673}
12674
12675// SearchTargetingOptionsRequest: Request message for
12676// SearchTargetingOptions.
12677type SearchTargetingOptionsRequest struct {
12678	// AdvertiserId: Required. The Advertiser this request is being made in
12679	// the context of.
12680	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12681
12682	// GeoRegionSearchTerms: Search terms for geo region targeting options.
12683	// Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`.
12684	GeoRegionSearchTerms *GeoRegionSearchTerms `json:"geoRegionSearchTerms,omitempty"`
12685
12686	// PageSize: Requested page size. Must be between `1` and `100`. If
12687	// unspecified will default to `100`. Returns error code
12688	// `INVALID_ARGUMENT` if an invalid value is specified.
12689	PageSize int64 `json:"pageSize,omitempty"`
12690
12691	// PageToken: A token identifying a page of results the server should
12692	// return. Typically, this is the value of next_page_token returned from
12693	// the previous call to `SearchTargetingOptions` method. If not
12694	// specified, the first page of results will be returned.
12695	PageToken string `json:"pageToken,omitempty"`
12696
12697	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
12698	// unconditionally include in API requests. By default, fields with
12699	// empty values are omitted from API requests. However, any non-pointer,
12700	// non-interface field appearing in ForceSendFields will be sent to the
12701	// server regardless of whether the field is empty or not. This may be
12702	// used to include empty fields in Patch requests.
12703	ForceSendFields []string `json:"-"`
12704
12705	// NullFields is a list of field names (e.g. "AdvertiserId") to include
12706	// in API requests with the JSON null value. By default, fields with
12707	// empty values are omitted from API requests. However, any field with
12708	// an empty value appearing in NullFields will be sent to the server as
12709	// null. It is an error if a field in this list has a non-empty value.
12710	// This may be used to include null fields in Patch requests.
12711	NullFields []string `json:"-"`
12712}
12713
12714func (s *SearchTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
12715	type NoMethod SearchTargetingOptionsRequest
12716	raw := NoMethod(*s)
12717	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12718}
12719
12720// SearchTargetingOptionsResponse: Response message for
12721// SearchTargetingOptionsResponse.
12722type SearchTargetingOptionsResponse struct {
12723	// NextPageToken: A token to retrieve the next page of results. Pass
12724	// this value in the page_token field in the subsequent call to
12725	// `SearchTargetingOptions` method to retrieve the next page of results.
12726	NextPageToken string `json:"nextPageToken,omitempty"`
12727
12728	// TargetingOptions: The list of targeting options that match the search
12729	// criteria. This list will be absent if empty.
12730	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
12731
12732	// ServerResponse contains the HTTP response code and headers from the
12733	// server.
12734	googleapi.ServerResponse `json:"-"`
12735
12736	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
12737	// unconditionally include in API requests. By default, fields with
12738	// empty values are omitted from API requests. However, any non-pointer,
12739	// non-interface field appearing in ForceSendFields will be sent to the
12740	// server regardless of whether the field is empty or not. This may be
12741	// used to include empty fields in Patch requests.
12742	ForceSendFields []string `json:"-"`
12743
12744	// NullFields is a list of field names (e.g. "NextPageToken") to include
12745	// in API requests with the JSON null value. By default, fields with
12746	// empty values are omitted from API requests. However, any field with
12747	// an empty value appearing in NullFields will be sent to the server as
12748	// null. It is an error if a field in this list has a non-empty value.
12749	// This may be used to include null fields in Patch requests.
12750	NullFields []string `json:"-"`
12751}
12752
12753func (s *SearchTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
12754	type NoMethod SearchTargetingOptionsResponse
12755	raw := NoMethod(*s)
12756	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12757}
12758
12759// SensitiveCategoryAssignedTargetingOptionDetails: Targeting details
12760// for sensitive category. This will be populated in the details field
12761// of an AssignedTargetingOption when targeting_type is
12762// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
12763type SensitiveCategoryAssignedTargetingOptionDetails struct {
12764	// ExcludedTargetingOptionId: Required. ID of the sensitive category to
12765	// be EXCLUDED.
12766	ExcludedTargetingOptionId string `json:"excludedTargetingOptionId,omitempty"`
12767
12768	// SensitiveCategory: Output only. An enum for the DV360 Sensitive
12769	// category content classifier.
12770	//
12771	// Possible values:
12772	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder
12773	// and doesn't specify a DV360 sensitive category.
12774	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or
12775	// video content.
12776	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as
12777	// biased against individuals, groups, or organizations based on
12778	// criteria such as race, religion, disability, sex, age, veteran
12779	// status, sexual orientation, gender identity, or political
12780	// affiliation. May also indicate discussion of such content, for
12781	// instance, in an academic or journalistic context.
12782	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio,
12783	// video, or software downloads.
12784	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
12785	// weapons, including knives, guns, small firearms, and ammunition.
12786	// Selecting either "weapons" or "sensitive social issues" will result
12787	// in selecting both.
12788	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting
12789	// or wagering in a real-world or online setting.
12790	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
12791	// graphically violent, gory, gruesome, or shocking, such as street
12792	// fighting videos, accident photos, descriptions of torture, etc.
12793	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as
12794	// suggestive content that's not explicitly pornographic. This category
12795	// includes all pages categorized as adult.
12796	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
12797	// indecent, such as curse words and sexual slang. Pages with only very
12798	// occasional usage, such as news sites that might include such words in
12799	// a quotation, are not included.
12800	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to
12801	// alcoholic beverages, alcohol brands, recipes, etc.
12802	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the
12803	// recreational use of legal or illegal drugs, as well as to drug
12804	// paraphernalia or cultivation.
12805	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco
12806	// and tobacco accessories, including lighters, humidors, ashtrays, etc.
12807	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
12808	// discussions of social, governmental, and public policy.
12809	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious
12810	// thought or beliefs.
12811	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
12812	// accidents, war, etc.
12813	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to
12814	// motor vehicle, aviation or other transportation accidents.
12815	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke
12816	// strong, opposing views and spark debate. These include issues that
12817	// are controversial in most countries and markets (such as abortion),
12818	// as well as those that are controversial in specific countries and
12819	// markets (such as immigration reform in the United States).
12820	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered
12821	// shocking or disturbing, such as violent news stories, stunts, or
12822	// toilet humor.
12823	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
12824
12825	// ForceSendFields is a list of field names (e.g.
12826	// "ExcludedTargetingOptionId") to unconditionally include in API
12827	// requests. By default, fields with empty values are omitted from API
12828	// requests. However, any non-pointer, non-interface field appearing in
12829	// ForceSendFields will be sent to the server regardless of whether the
12830	// field is empty or not. This may be used to include empty fields in
12831	// Patch requests.
12832	ForceSendFields []string `json:"-"`
12833
12834	// NullFields is a list of field names (e.g.
12835	// "ExcludedTargetingOptionId") to include in API requests with the JSON
12836	// null value. By default, fields with empty values are omitted from API
12837	// requests. However, any field with an empty value appearing in
12838	// NullFields will be sent to the server as null. It is an error if a
12839	// field in this list has a non-empty value. This may be used to include
12840	// null fields in Patch requests.
12841	NullFields []string `json:"-"`
12842}
12843
12844func (s *SensitiveCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12845	type NoMethod SensitiveCategoryAssignedTargetingOptionDetails
12846	raw := NoMethod(*s)
12847	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12848}
12849
12850// SensitiveCategoryTargetingOptionDetails: Represents a targetable
12851// sensitive category. This will be populated in the
12852// sensitive_category_details field of the TargetingOption when
12853// targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
12854type SensitiveCategoryTargetingOptionDetails struct {
12855	// SensitiveCategory: Output only. An enum for the DV360 Sensitive
12856	// category content classifier.
12857	//
12858	// Possible values:
12859	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder
12860	// and doesn't specify a DV360 sensitive category.
12861	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or
12862	// video content.
12863	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as
12864	// biased against individuals, groups, or organizations based on
12865	// criteria such as race, religion, disability, sex, age, veteran
12866	// status, sexual orientation, gender identity, or political
12867	// affiliation. May also indicate discussion of such content, for
12868	// instance, in an academic or journalistic context.
12869	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio,
12870	// video, or software downloads.
12871	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
12872	// weapons, including knives, guns, small firearms, and ammunition.
12873	// Selecting either "weapons" or "sensitive social issues" will result
12874	// in selecting both.
12875	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting
12876	// or wagering in a real-world or online setting.
12877	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
12878	// graphically violent, gory, gruesome, or shocking, such as street
12879	// fighting videos, accident photos, descriptions of torture, etc.
12880	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as
12881	// suggestive content that's not explicitly pornographic. This category
12882	// includes all pages categorized as adult.
12883	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
12884	// indecent, such as curse words and sexual slang. Pages with only very
12885	// occasional usage, such as news sites that might include such words in
12886	// a quotation, are not included.
12887	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to
12888	// alcoholic beverages, alcohol brands, recipes, etc.
12889	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the
12890	// recreational use of legal or illegal drugs, as well as to drug
12891	// paraphernalia or cultivation.
12892	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco
12893	// and tobacco accessories, including lighters, humidors, ashtrays, etc.
12894	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
12895	// discussions of social, governmental, and public policy.
12896	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious
12897	// thought or beliefs.
12898	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
12899	// accidents, war, etc.
12900	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to
12901	// motor vehicle, aviation or other transportation accidents.
12902	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke
12903	// strong, opposing views and spark debate. These include issues that
12904	// are controversial in most countries and markets (such as abortion),
12905	// as well as those that are controversial in specific countries and
12906	// markets (such as immigration reform in the United States).
12907	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered
12908	// shocking or disturbing, such as violent news stories, stunts, or
12909	// toilet humor.
12910	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
12911
12912	// ForceSendFields is a list of field names (e.g. "SensitiveCategory")
12913	// to unconditionally include in API requests. By default, fields with
12914	// empty values are omitted from API requests. However, any non-pointer,
12915	// non-interface field appearing in ForceSendFields will be sent to the
12916	// server regardless of whether the field is empty or not. This may be
12917	// used to include empty fields in Patch requests.
12918	ForceSendFields []string `json:"-"`
12919
12920	// NullFields is a list of field names (e.g. "SensitiveCategory") to
12921	// include in API requests with the JSON null value. By default, fields
12922	// with empty values are omitted from API requests. However, any field
12923	// with an empty value appearing in NullFields will be sent to the
12924	// server as null. It is an error if a field in this list has a
12925	// non-empty value. This may be used to include null fields in Patch
12926	// requests.
12927	NullFields []string `json:"-"`
12928}
12929
12930func (s *SensitiveCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12931	type NoMethod SensitiveCategoryTargetingOptionDetails
12932	raw := NoMethod(*s)
12933	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12934}
12935
12936// Site: A single site. Sites are apps or websites belonging to a
12937// channel.
12938type Site struct {
12939	// Name: Output only. The resource name of the site.
12940	Name string `json:"name,omitempty"`
12941
12942	// UrlOrAppId: Required. The app ID or URL of the site. Must be UTF-8
12943	// encoded with a maximum length of 240 bytes.
12944	UrlOrAppId string `json:"urlOrAppId,omitempty"`
12945
12946	// ServerResponse contains the HTTP response code and headers from the
12947	// server.
12948	googleapi.ServerResponse `json:"-"`
12949
12950	// ForceSendFields is a list of field names (e.g. "Name") to
12951	// unconditionally include in API requests. By default, fields with
12952	// empty values are omitted from API requests. However, any non-pointer,
12953	// non-interface field appearing in ForceSendFields will be sent to the
12954	// server regardless of whether the field is empty or not. This may be
12955	// used to include empty fields in Patch requests.
12956	ForceSendFields []string `json:"-"`
12957
12958	// NullFields is a list of field names (e.g. "Name") to include in API
12959	// requests with the JSON null value. By default, fields with empty
12960	// values are omitted from API requests. However, any field with an
12961	// empty value appearing in NullFields will be sent to the server as
12962	// null. It is an error if a field in this list has a non-empty value.
12963	// This may be used to include null fields in Patch requests.
12964	NullFields []string `json:"-"`
12965}
12966
12967func (s *Site) MarshalJSON() ([]byte, error) {
12968	type NoMethod Site
12969	raw := NoMethod(*s)
12970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12971}
12972
12973// Status: The `Status` type defines a logical error model that is
12974// suitable for different programming environments, including REST APIs
12975// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
12976// `Status` message contains three pieces of data: error code, error
12977// message, and error details. You can find out more about this error
12978// model and how to work with it in the API Design Guide
12979// (https://cloud.google.com/apis/design/errors).
12980type Status struct {
12981	// Code: The status code, which should be an enum value of
12982	// google.rpc.Code.
12983	Code int64 `json:"code,omitempty"`
12984
12985	// Details: A list of messages that carry the error details. There is a
12986	// common set of message types for APIs to use.
12987	Details []googleapi.RawMessage `json:"details,omitempty"`
12988
12989	// Message: A developer-facing error message, which should be in
12990	// English. Any user-facing error message should be localized and sent
12991	// in the google.rpc.Status.details field, or localized by the client.
12992	Message string `json:"message,omitempty"`
12993
12994	// ForceSendFields is a list of field names (e.g. "Code") to
12995	// unconditionally include in API requests. By default, fields with
12996	// empty values are omitted from API requests. However, any non-pointer,
12997	// non-interface field appearing in ForceSendFields will be sent to the
12998	// server regardless of whether the field is empty or not. This may be
12999	// used to include empty fields in Patch requests.
13000	ForceSendFields []string `json:"-"`
13001
13002	// NullFields is a list of field names (e.g. "Code") to include in API
13003	// requests with the JSON null value. By default, fields with empty
13004	// values are omitted from API requests. However, any field with an
13005	// empty value appearing in NullFields will be sent to the server as
13006	// null. It is an error if a field in this list has a non-empty value.
13007	// This may be used to include null fields in Patch requests.
13008	NullFields []string `json:"-"`
13009}
13010
13011func (s *Status) MarshalJSON() ([]byte, error) {
13012	type NoMethod Status
13013	raw := NoMethod(*s)
13014	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13015}
13016
13017// SubExchangeAssignedTargetingOptionDetails: Details for assigned
13018// sub-exchange targeting option. This will be populated in the details
13019// field of an AssignedTargetingOption when targeting_type is
13020// `TARGETING_TYPE_SUB_EXCHANGE`.
13021type SubExchangeAssignedTargetingOptionDetails struct {
13022	// TargetingOptionId: Required. The targeting_option_id of a
13023	// TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.
13024	TargetingOptionId string `json:"targetingOptionId,omitempty"`
13025
13026	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
13027	// to unconditionally include in API requests. By default, fields with
13028	// empty values are omitted from API requests. However, any non-pointer,
13029	// non-interface field appearing in ForceSendFields will be sent to the
13030	// server regardless of whether the field is empty or not. This may be
13031	// used to include empty fields in Patch requests.
13032	ForceSendFields []string `json:"-"`
13033
13034	// NullFields is a list of field names (e.g. "TargetingOptionId") to
13035	// include in API requests with the JSON null value. By default, fields
13036	// with empty values are omitted from API requests. However, any field
13037	// with an empty value appearing in NullFields will be sent to the
13038	// server as null. It is an error if a field in this list has a
13039	// non-empty value. This may be used to include null fields in Patch
13040	// requests.
13041	NullFields []string `json:"-"`
13042}
13043
13044func (s *SubExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13045	type NoMethod SubExchangeAssignedTargetingOptionDetails
13046	raw := NoMethod(*s)
13047	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13048}
13049
13050// SubExchangeTargetingOptionDetails: Represents a targetable
13051// sub-exchange. This will be populated in the sub_exchange_details
13052// field of a TargetingOption when targeting_type is
13053// `TARGETING_TYPE_SUB_EXCHANGE`.
13054type SubExchangeTargetingOptionDetails struct {
13055	// DisplayName: Output only. The display name of the sub-exchange.
13056	DisplayName string `json:"displayName,omitempty"`
13057
13058	// ForceSendFields is a list of field names (e.g. "DisplayName") to
13059	// unconditionally include in API requests. By default, fields with
13060	// empty values are omitted from API requests. However, any non-pointer,
13061	// non-interface field appearing in ForceSendFields will be sent to the
13062	// server regardless of whether the field is empty or not. This may be
13063	// used to include empty fields in Patch requests.
13064	ForceSendFields []string `json:"-"`
13065
13066	// NullFields is a list of field names (e.g. "DisplayName") to include
13067	// in API requests with the JSON null value. By default, fields with
13068	// empty values are omitted from API requests. However, any field with
13069	// an empty value appearing in NullFields will be sent to the server as
13070	// null. It is an error if a field in this list has a non-empty value.
13071	// This may be used to include null fields in Patch requests.
13072	NullFields []string `json:"-"`
13073}
13074
13075func (s *SubExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13076	type NoMethod SubExchangeTargetingOptionDetails
13077	raw := NoMethod(*s)
13078	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13079}
13080
13081// TargetingExpansionConfig: Settings that control the targeting
13082// expansion of the line item. Targeting expansion allows the line item
13083// to reach a larger audience based on the original audience list and
13084// the targeting expansion level.
13085type TargetingExpansionConfig struct {
13086	// ExcludeFirstPartyAudience: Required. Whether to exclude first party
13087	// audiences from targeting. Similar audiences of the excluded first
13088	// party lists will not be excluded. Only applicable when a first-party
13089	// audience is positively targeted (directly or included in a combined
13090	// audience), otherwise this selection will be ignored.
13091	ExcludeFirstPartyAudience bool `json:"excludeFirstPartyAudience,omitempty"`
13092
13093	// TargetingExpansionLevel: Required. Magnitude of expansion for
13094	// applicable targeting under this line item.
13095	//
13096	// Possible values:
13097	//   "TARGETING_EXPANSION_LEVEL_UNSPECIFIED" - Targeting expansion level
13098	// is not specified or is unknown in this version.
13099	//   "NO_EXPANSION" - Targeting expansion off.
13100	//   "LEAST_EXPANSION" - Conservative targeting expansion, lowest reach.
13101	//   "SOME_EXPANSION" - Moderately conservative targeting expansion,
13102	// lower reach.
13103	//   "BALANCED_EXPANSION" - Moderate targeting expansion, medium reach.
13104	//   "MORE_EXPANSION" - Moderately aggressive targeting expansion,
13105	// higher reach.
13106	//   "MOST_EXPANSION" - Aggressive targeting expansion, highest reach.
13107	TargetingExpansionLevel string `json:"targetingExpansionLevel,omitempty"`
13108
13109	// ForceSendFields is a list of field names (e.g.
13110	// "ExcludeFirstPartyAudience") to unconditionally include in API
13111	// requests. By default, fields with empty values are omitted from API
13112	// requests. However, any non-pointer, non-interface field appearing in
13113	// ForceSendFields will be sent to the server regardless of whether the
13114	// field is empty or not. This may be used to include empty fields in
13115	// Patch requests.
13116	ForceSendFields []string `json:"-"`
13117
13118	// NullFields is a list of field names (e.g.
13119	// "ExcludeFirstPartyAudience") to include in API requests with the JSON
13120	// null value. By default, fields with empty values are omitted from API
13121	// requests. However, any field with an empty value appearing in
13122	// NullFields will be sent to the server as null. It is an error if a
13123	// field in this list has a non-empty value. This may be used to include
13124	// null fields in Patch requests.
13125	NullFields []string `json:"-"`
13126}
13127
13128func (s *TargetingExpansionConfig) MarshalJSON() ([]byte, error) {
13129	type NoMethod TargetingExpansionConfig
13130	raw := NoMethod(*s)
13131	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13132}
13133
13134// TargetingOption: Represents a single targeting option, which is a
13135// targetable concept in DV360.
13136type TargetingOption struct {
13137	// AgeRangeDetails: Age range details.
13138	AgeRangeDetails *AgeRangeTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
13139
13140	// AppCategoryDetails: App category details.
13141	AppCategoryDetails *AppCategoryTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
13142
13143	// AuthorizedSellerStatusDetails: Authorized seller status resource
13144	// details.
13145	AuthorizedSellerStatusDetails *AuthorizedSellerStatusTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
13146
13147	// BrowserDetails: Browser details.
13148	BrowserDetails *BrowserTargetingOptionDetails `json:"browserDetails,omitempty"`
13149
13150	// CarrierAndIspDetails: Carrier and ISP details.
13151	CarrierAndIspDetails *CarrierAndIspTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
13152
13153	// CategoryDetails: Category resource details.
13154	CategoryDetails *CategoryTargetingOptionDetails `json:"categoryDetails,omitempty"`
13155
13156	// ContentInstreamPositionDetails: Content instream position details.
13157	ContentInstreamPositionDetails *ContentInstreamPositionTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
13158
13159	// ContentOutstreamPositionDetails: Content outstream position details.
13160	ContentOutstreamPositionDetails *ContentOutstreamPositionTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
13161
13162	// DeviceMakeModelDetails: Device make and model resource details.
13163	DeviceMakeModelDetails *DeviceMakeModelTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
13164
13165	// DeviceTypeDetails: Device type details.
13166	DeviceTypeDetails *DeviceTypeTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
13167
13168	// DigitalContentLabelDetails: Digital content label details.
13169	DigitalContentLabelDetails *DigitalContentLabelTargetingOptionDetails `json:"digitalContentLabelDetails,omitempty"`
13170
13171	// EnvironmentDetails: Environment details.
13172	EnvironmentDetails *EnvironmentTargetingOptionDetails `json:"environmentDetails,omitempty"`
13173
13174	// ExchangeDetails: Exchange details.
13175	ExchangeDetails *ExchangeTargetingOptionDetails `json:"exchangeDetails,omitempty"`
13176
13177	// GenderDetails: Gender details.
13178	GenderDetails *GenderTargetingOptionDetails `json:"genderDetails,omitempty"`
13179
13180	// GeoRegionDetails: Geographic region resource details.
13181	GeoRegionDetails *GeoRegionTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
13182
13183	// HouseholdIncomeDetails: Household income details.
13184	HouseholdIncomeDetails *HouseholdIncomeTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
13185
13186	// LanguageDetails: Language resource details.
13187	LanguageDetails *LanguageTargetingOptionDetails `json:"languageDetails,omitempty"`
13188
13189	// Name: Output only. The resource name for this targeting option.
13190	Name string `json:"name,omitempty"`
13191
13192	// NativeContentPositionDetails: Native content position details.
13193	NativeContentPositionDetails *NativeContentPositionTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
13194
13195	// OnScreenPositionDetails: On screen position details.
13196	OnScreenPositionDetails *OnScreenPositionTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
13197
13198	// OperatingSystemDetails: Operating system resources details.
13199	OperatingSystemDetails *OperatingSystemTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
13200
13201	// ParentalStatusDetails: Parental status details.
13202	ParentalStatusDetails *ParentalStatusTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
13203
13204	// SensitiveCategoryDetails: Sensitive Category details.
13205	SensitiveCategoryDetails *SensitiveCategoryTargetingOptionDetails `json:"sensitiveCategoryDetails,omitempty"`
13206
13207	// SubExchangeDetails: Sub-exchange details.
13208	SubExchangeDetails *SubExchangeTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
13209
13210	// TargetingOptionId: Output only. A unique identifier for this
13211	// targeting option. The tuple {`targeting_type`, `targeting_option_id`}
13212	// will be unique.
13213	TargetingOptionId string `json:"targetingOptionId,omitempty"`
13214
13215	// TargetingType: Output only. The type of this targeting option.
13216	//
13217	// Possible values:
13218	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
13219	// specified or is unknown in this version.
13220	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
13221	// related websites or apps).
13222	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
13223	// example, education or puzzle games).
13224	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
13225	// Birds).
13226	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
13227	// quora.com).
13228	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
13229	// period on a specific day.
13230	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
13231	// (for example, 18-24).
13232	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
13233	// specified regions on a regional location list.
13234	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
13235	// specified points of interest on a proximity location list.
13236	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
13237	// example, female or male).
13238	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
13239	// size for video ads.
13240	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
13241	// content for video ads.
13242	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
13243	// parental status (for example, parent or not a parent).
13244	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
13245	// ads in a specific content instream position (for example, pre-roll,
13246	// mid-roll, or post-roll).
13247	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
13248	// specific content outstream position.
13249	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
13250	// (for example, tablet or connected TV).
13251	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
13252	// groups of audiences. Singleton field, at most one can exist on a
13253	// single Lineitem at a time.
13254	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
13255	// example, Chrome).
13256	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
13257	// household income range (for example, top 10%).
13258	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
13259	// screen position.
13260	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
13261	// third party verification (for example, IAS or DoubleVerify).
13262	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
13263	// by specific digital content label ratings (for example, DL-MA:
13264	// suitable only for mature audiences).
13265	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
13266	// content by sensitive categories (for example, adult).
13267	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
13268	// (for example, web or app).
13269	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
13270	// carrier or internet service provider (ISP) (for example, Comcast or
13271	// Orange).
13272	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
13273	// operating system (for example, macOS).
13274	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
13275	// device make or model (for example, Roku or Samsung).
13276	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
13277	// example, dog or retriever).
13278	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
13279	// negative keyword list.
13280	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
13281	// (for example, 80% viewable).
13282	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
13283	// category (for example, arts & entertainment).
13284	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
13285	// specific deals and auction packages.
13286	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
13287	// example, English or Japanese).
13288	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
13289	// authorized sellers.
13290	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
13291	// location (for example, a city or state).
13292	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
13293	// a group of deals and auction packages.
13294	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
13295	// exchanges.
13296	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
13297	// sub-exchanges.
13298	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
13299	// native content position.
13300	TargetingType string `json:"targetingType,omitempty"`
13301
13302	// UserRewardedContentDetails: User rewarded content details.
13303	UserRewardedContentDetails *UserRewardedContentTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
13304
13305	// VideoPlayerSizeDetails: Video player size details.
13306	VideoPlayerSizeDetails *VideoPlayerSizeTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
13307
13308	// ViewabilityDetails: Viewability resource details.
13309	ViewabilityDetails *ViewabilityTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
13310
13311	// ServerResponse contains the HTTP response code and headers from the
13312	// server.
13313	googleapi.ServerResponse `json:"-"`
13314
13315	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
13316	// unconditionally include in API requests. By default, fields with
13317	// empty values are omitted from API requests. However, any non-pointer,
13318	// non-interface field appearing in ForceSendFields will be sent to the
13319	// server regardless of whether the field is empty or not. This may be
13320	// used to include empty fields in Patch requests.
13321	ForceSendFields []string `json:"-"`
13322
13323	// NullFields is a list of field names (e.g. "AgeRangeDetails") to
13324	// include in API requests with the JSON null value. By default, fields
13325	// with empty values are omitted from API requests. However, any field
13326	// with an empty value appearing in NullFields will be sent to the
13327	// server as null. It is an error if a field in this list has a
13328	// non-empty value. This may be used to include null fields in Patch
13329	// requests.
13330	NullFields []string `json:"-"`
13331}
13332
13333func (s *TargetingOption) MarshalJSON() ([]byte, error) {
13334	type NoMethod TargetingOption
13335	raw := NoMethod(*s)
13336	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13337}
13338
13339// ThirdPartyOnlyConfig: Settings for advertisers that use third-party
13340// ad servers only.
13341type ThirdPartyOnlyConfig struct {
13342	// PixelOrderIdReportingEnabled: Whether or not order ID reporting for
13343	// pixels is enabled. This value cannot be changed once set to `true`.
13344	PixelOrderIdReportingEnabled bool `json:"pixelOrderIdReportingEnabled,omitempty"`
13345
13346	// ForceSendFields is a list of field names (e.g.
13347	// "PixelOrderIdReportingEnabled") to unconditionally include in API
13348	// requests. By default, fields with empty values are omitted from API
13349	// requests. However, any non-pointer, non-interface field appearing in
13350	// ForceSendFields will be sent to the server regardless of whether the
13351	// field is empty or not. This may be used to include empty fields in
13352	// Patch requests.
13353	ForceSendFields []string `json:"-"`
13354
13355	// NullFields is a list of field names (e.g.
13356	// "PixelOrderIdReportingEnabled") to include in API requests with the
13357	// JSON null value. By default, fields with empty values are omitted
13358	// from API requests. However, any field with an empty value appearing
13359	// in NullFields will be sent to the server as null. It is an error if a
13360	// field in this list has a non-empty value. This may be used to include
13361	// null fields in Patch requests.
13362	NullFields []string `json:"-"`
13363}
13364
13365func (s *ThirdPartyOnlyConfig) MarshalJSON() ([]byte, error) {
13366	type NoMethod ThirdPartyOnlyConfig
13367	raw := NoMethod(*s)
13368	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13369}
13370
13371// ThirdPartyUrl: Tracking URLs from third parties to track interactions
13372// with an audio or a video creative.
13373type ThirdPartyUrl struct {
13374	// Type: The type of interaction needs to be tracked by the tracking URL
13375	//
13376	// Possible values:
13377	//   "THIRD_PARTY_URL_TYPE_UNSPECIFIED" - The type of third-party URL is
13378	// unspecified or is unknown in this version.
13379	//   "THIRD_PARTY_URL_TYPE_IMPRESSION" - Used to count impressions of
13380	// the creative after the audio or video buffering is complete.
13381	//   "THIRD_PARTY_URL_TYPE_CLICK_TRACKING" - Used to track user clicks
13382	// on the audio or video.
13383	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START" - Used to track the number
13384	// of times a user starts the audio or video.
13385	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE" - Used to track
13386	// the number of times the audio or video plays to 25% of its length.
13387	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT" - Used to track the
13388	// number of times the audio or video plays to 50% of its length.
13389	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE" - Used to track
13390	// the number of times the audio or video plays to 75% of its length.
13391	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE" - Used to track the
13392	// number of times the audio or video plays to the end.
13393	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE" - Used to track the number
13394	// of times a user mutes the audio or video.
13395	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE" - Used to track the number
13396	// of times a user pauses the audio or video.
13397	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND" - Used to track the
13398	// number of times a user replays the audio or video.
13399	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN" - Used to track the
13400	// number of times a user expands the player to full-screen size.
13401	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP" - Used to track the number
13402	// of times a user stops the audio or video.
13403	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM" - Used to track the
13404	// number of times a user performs a custom click, such as clicking on a
13405	// video hot spot.
13406	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP" - Used to track the number
13407	// of times the audio or video was skipped.
13408	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" - Used to track the
13409	// number of times the audio or video plays to an offset determined by
13410	// the progress_offset.
13411	Type string `json:"type,omitempty"`
13412
13413	// Url: Tracking URL used to track the interaction. Provide a URL with
13414	// optional path or query string, beginning with `https:`. For example,
13415	// https://www.example.com/path
13416	Url string `json:"url,omitempty"`
13417
13418	// ForceSendFields is a list of field names (e.g. "Type") to
13419	// unconditionally include in API requests. By default, fields with
13420	// empty values are omitted from API requests. However, any non-pointer,
13421	// non-interface field appearing in ForceSendFields will be sent to the
13422	// server regardless of whether the field is empty or not. This may be
13423	// used to include empty fields in Patch requests.
13424	ForceSendFields []string `json:"-"`
13425
13426	// NullFields is a list of field names (e.g. "Type") to include in API
13427	// requests with the JSON null value. By default, fields with empty
13428	// values are omitted from API requests. However, any field with an
13429	// empty value appearing in NullFields will be sent to the server as
13430	// null. It is an error if a field in this list has a non-empty value.
13431	// This may be used to include null fields in Patch requests.
13432	NullFields []string `json:"-"`
13433}
13434
13435func (s *ThirdPartyUrl) MarshalJSON() ([]byte, error) {
13436	type NoMethod ThirdPartyUrl
13437	raw := NoMethod(*s)
13438	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13439}
13440
13441// ThirdPartyVerifierAssignedTargetingOptionDetails: Assigned third
13442// party verifier targeting option details. This will be populated in
13443// the details field of an AssignedTargetingOption when targeting_type
13444// is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
13445type ThirdPartyVerifierAssignedTargetingOptionDetails struct {
13446	// Adloox: Third party brand verifier -- Adloox.
13447	Adloox *Adloox `json:"adloox,omitempty"`
13448
13449	// DoubleVerify: Third party brand verifier -- DoubleVerify.
13450	DoubleVerify *DoubleVerify `json:"doubleVerify,omitempty"`
13451
13452	// IntegralAdScience: Third party brand verifier -- Integral Ad Science.
13453	IntegralAdScience *IntegralAdScience `json:"integralAdScience,omitempty"`
13454
13455	// ForceSendFields is a list of field names (e.g. "Adloox") to
13456	// unconditionally include in API requests. By default, fields with
13457	// empty values are omitted from API requests. However, any non-pointer,
13458	// non-interface field appearing in ForceSendFields will be sent to the
13459	// server regardless of whether the field is empty or not. This may be
13460	// used to include empty fields in Patch requests.
13461	ForceSendFields []string `json:"-"`
13462
13463	// NullFields is a list of field names (e.g. "Adloox") to include in API
13464	// requests with the JSON null value. By default, fields with empty
13465	// values are omitted from API requests. However, any field with an
13466	// empty value appearing in NullFields will be sent to the server as
13467	// null. It is an error if a field in this list has a non-empty value.
13468	// This may be used to include null fields in Patch requests.
13469	NullFields []string `json:"-"`
13470}
13471
13472func (s *ThirdPartyVerifierAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13473	type NoMethod ThirdPartyVerifierAssignedTargetingOptionDetails
13474	raw := NoMethod(*s)
13475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13476}
13477
13478// TimeRange: A time range.
13479type TimeRange struct {
13480	// EndTime: Required. The upper bound of a time range, inclusive.
13481	EndTime string `json:"endTime,omitempty"`
13482
13483	// StartTime: Required. The lower bound of a time range, inclusive.
13484	StartTime string `json:"startTime,omitempty"`
13485
13486	// ForceSendFields is a list of field names (e.g. "EndTime") to
13487	// unconditionally include in API requests. By default, fields with
13488	// empty values are omitted from API requests. However, any non-pointer,
13489	// non-interface field appearing in ForceSendFields will be sent to the
13490	// server regardless of whether the field is empty or not. This may be
13491	// used to include empty fields in Patch requests.
13492	ForceSendFields []string `json:"-"`
13493
13494	// NullFields is a list of field names (e.g. "EndTime") to include in
13495	// API requests with the JSON null value. By default, fields with empty
13496	// values are omitted from API requests. However, any field with an
13497	// empty value appearing in NullFields will be sent to the server as
13498	// null. It is an error if a field in this list has a non-empty value.
13499	// This may be used to include null fields in Patch requests.
13500	NullFields []string `json:"-"`
13501}
13502
13503func (s *TimeRange) MarshalJSON() ([]byte, error) {
13504	type NoMethod TimeRange
13505	raw := NoMethod(*s)
13506	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13507}
13508
13509// TimerEvent: Timer event of the creative.
13510type TimerEvent struct {
13511	// Name: Required. The name of the timer event.
13512	Name string `json:"name,omitempty"`
13513
13514	// ReportingName: Required. The name used to identify this timer event
13515	// in reports.
13516	ReportingName string `json:"reportingName,omitempty"`
13517
13518	// ForceSendFields is a list of field names (e.g. "Name") to
13519	// unconditionally include in API requests. By default, fields with
13520	// empty values are omitted from API requests. However, any non-pointer,
13521	// non-interface field appearing in ForceSendFields will be sent to the
13522	// server regardless of whether the field is empty or not. This may be
13523	// used to include empty fields in Patch requests.
13524	ForceSendFields []string `json:"-"`
13525
13526	// NullFields is a list of field names (e.g. "Name") to include in API
13527	// requests with the JSON null value. By default, fields with empty
13528	// values are omitted from API requests. However, any field with an
13529	// empty value appearing in NullFields will be sent to the server as
13530	// null. It is an error if a field in this list has a non-empty value.
13531	// This may be used to include null fields in Patch requests.
13532	NullFields []string `json:"-"`
13533}
13534
13535func (s *TimerEvent) MarshalJSON() ([]byte, error) {
13536	type NoMethod TimerEvent
13537	raw := NoMethod(*s)
13538	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13539}
13540
13541// TrackingFloodlightActivityConfig: Settings that control the behavior
13542// of a single Floodlight activity config.
13543type TrackingFloodlightActivityConfig struct {
13544	// FloodlightActivityId: Required. The ID of the Floodlight activity.
13545	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
13546
13547	// PostClickLookbackWindowDays: Required. The number of days after an ad
13548	// has been clicked in which a conversion may be counted. Must be
13549	// between 0 and 90 inclusive.
13550	PostClickLookbackWindowDays int64 `json:"postClickLookbackWindowDays,omitempty"`
13551
13552	// PostViewLookbackWindowDays: Required. The number of days after an ad
13553	// has been viewed in which a conversion may be counted. Must be between
13554	// 0 and 90 inclusive.
13555	PostViewLookbackWindowDays int64 `json:"postViewLookbackWindowDays,omitempty"`
13556
13557	// ForceSendFields is a list of field names (e.g.
13558	// "FloodlightActivityId") to unconditionally include in API requests.
13559	// By default, fields with empty values are omitted from API requests.
13560	// However, any non-pointer, non-interface field appearing in
13561	// ForceSendFields will be sent to the server regardless of whether the
13562	// field is empty or not. This may be used to include empty fields in
13563	// Patch requests.
13564	ForceSendFields []string `json:"-"`
13565
13566	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
13567	// include in API requests with the JSON null value. By default, fields
13568	// with empty values are omitted from API requests. However, any field
13569	// with an empty value appearing in NullFields will be sent to the
13570	// server as null. It is an error if a field in this list has a
13571	// non-empty value. This may be used to include null fields in Patch
13572	// requests.
13573	NullFields []string `json:"-"`
13574}
13575
13576func (s *TrackingFloodlightActivityConfig) MarshalJSON() ([]byte, error) {
13577	type NoMethod TrackingFloodlightActivityConfig
13578	raw := NoMethod(*s)
13579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13580}
13581
13582// Transcode: Represents information about the transcoded audio or video
13583// file.
13584type Transcode struct {
13585	// AudioBitRateKbps: The bit rate for the audio stream of the transcoded
13586	// video, or the bit rate for the transcoded audio, in kilobits per
13587	// second.
13588	AudioBitRateKbps int64 `json:"audioBitRateKbps,omitempty,string"`
13589
13590	// AudioSampleRateHz: The sample rate for the audio stream of the
13591	// transcoded video, or the sample rate for the transcoded audio, in
13592	// hertz.
13593	AudioSampleRateHz int64 `json:"audioSampleRateHz,omitempty,string"`
13594
13595	// BitRateKbps: The transcoding bit rate of the transcoded video, in
13596	// kilobits per second.
13597	BitRateKbps int64 `json:"bitRateKbps,omitempty,string"`
13598
13599	// Dimensions: The dimensions of the transcoded video.
13600	Dimensions *Dimensions `json:"dimensions,omitempty"`
13601
13602	// FileSizeBytes: The size of the transcoded file, in bytes.
13603	FileSizeBytes int64 `json:"fileSizeBytes,omitempty,string"`
13604
13605	// FrameRate: The frame rate of the transcoded video, in frames per
13606	// second.
13607	FrameRate float64 `json:"frameRate,omitempty"`
13608
13609	// MimeType: The MIME type of the transcoded file.
13610	MimeType string `json:"mimeType,omitempty"`
13611
13612	// Name: The name of the transcoded file.
13613	Name string `json:"name,omitempty"`
13614
13615	// Transcoded: Indicates if the transcoding was successful.
13616	Transcoded bool `json:"transcoded,omitempty"`
13617
13618	// ForceSendFields is a list of field names (e.g. "AudioBitRateKbps") to
13619	// unconditionally include in API requests. By default, fields with
13620	// empty values are omitted from API requests. However, any non-pointer,
13621	// non-interface field appearing in ForceSendFields will be sent to the
13622	// server regardless of whether the field is empty or not. This may be
13623	// used to include empty fields in Patch requests.
13624	ForceSendFields []string `json:"-"`
13625
13626	// NullFields is a list of field names (e.g. "AudioBitRateKbps") to
13627	// include in API requests with the JSON null value. By default, fields
13628	// with empty values are omitted from API requests. However, any field
13629	// with an empty value appearing in NullFields will be sent to the
13630	// server as null. It is an error if a field in this list has a
13631	// non-empty value. This may be used to include null fields in Patch
13632	// requests.
13633	NullFields []string `json:"-"`
13634}
13635
13636func (s *Transcode) MarshalJSON() ([]byte, error) {
13637	type NoMethod Transcode
13638	raw := NoMethod(*s)
13639	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13640}
13641
13642func (s *Transcode) UnmarshalJSON(data []byte) error {
13643	type NoMethod Transcode
13644	var s1 struct {
13645		FrameRate gensupport.JSONFloat64 `json:"frameRate"`
13646		*NoMethod
13647	}
13648	s1.NoMethod = (*NoMethod)(s)
13649	if err := json.Unmarshal(data, &s1); err != nil {
13650		return err
13651	}
13652	s.FrameRate = float64(s1.FrameRate)
13653	return nil
13654}
13655
13656// UniversalAdId: A creative identifier provided by a registry that is
13657// unique across all platforms. This is part of the VAST 4.0 standard.
13658type UniversalAdId struct {
13659	// Id: The unique creative identifier.
13660	Id string `json:"id,omitempty"`
13661
13662	// Registry: The registry provides unique creative identifiers.
13663	//
13664	// Possible values:
13665	//   "UNIVERSAL_AD_REGISTRY_UNSPECIFIED" - The Universal Ad registry is
13666	// unspecified or is unknown in this version.
13667	//   "UNIVERSAL_AD_REGISTRY_OTHER" - Use a custom provider to provide
13668	// the Universal Ad ID.
13669	//   "UNIVERSAL_AD_REGISTRY_AD_ID" - Use Ad-ID to provide the Universal
13670	// Ad ID.
13671	//   "UNIVERSAL_AD_REGISTRY_CLEARCAST" - Use clearcast.co.uk to provide
13672	// the Universal Ad ID.
13673	//   "UNIVERSAL_AD_REGISTRY_DV360" - Use Display & Video 360 to provide
13674	// the Universal Ad ID.
13675	//   "UNIVERSAL_AD_REGISTRY_CM" - Use Campaign Manager 360 to provide
13676	// the Universal Ad ID.
13677	Registry string `json:"registry,omitempty"`
13678
13679	// ForceSendFields is a list of field names (e.g. "Id") to
13680	// unconditionally include in API requests. By default, fields with
13681	// empty values are omitted from API requests. However, any non-pointer,
13682	// non-interface field appearing in ForceSendFields will be sent to the
13683	// server regardless of whether the field is empty or not. This may be
13684	// used to include empty fields in Patch requests.
13685	ForceSendFields []string `json:"-"`
13686
13687	// NullFields is a list of field names (e.g. "Id") to include in API
13688	// requests with the JSON null value. By default, fields with empty
13689	// values are omitted from API requests. However, any field with an
13690	// empty value appearing in NullFields will be sent to the server as
13691	// null. It is an error if a field in this list has a non-empty value.
13692	// This may be used to include null fields in Patch requests.
13693	NullFields []string `json:"-"`
13694}
13695
13696func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
13697	type NoMethod UniversalAdId
13698	raw := NoMethod(*s)
13699	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13700}
13701
13702// UrlAssignedTargetingOptionDetails: Details for assigned URL targeting
13703// option. This will be populated in the details field of an
13704// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`.
13705type UrlAssignedTargetingOptionDetails struct {
13706	// Negative: Indicates if this option is being negatively targeted.
13707	Negative bool `json:"negative,omitempty"`
13708
13709	// Url: Required. The URL, for example `example.com`. DV360 supports two
13710	// levels of subdirectory targeting, for example
13711	// `www.example.com/one-subdirectory-level/second-level`, and five
13712	// levels of subdomain targeting, for example
13713	// `five.four.three.two.one.example.com`.
13714	Url string `json:"url,omitempty"`
13715
13716	// ForceSendFields is a list of field names (e.g. "Negative") to
13717	// unconditionally include in API requests. By default, fields with
13718	// empty values are omitted from API requests. However, any non-pointer,
13719	// non-interface field appearing in ForceSendFields will be sent to the
13720	// server regardless of whether the field is empty or not. This may be
13721	// used to include empty fields in Patch requests.
13722	ForceSendFields []string `json:"-"`
13723
13724	// NullFields is a list of field names (e.g. "Negative") to include in
13725	// API requests with the JSON null value. By default, fields with empty
13726	// values are omitted from API requests. However, any field with an
13727	// empty value appearing in NullFields will be sent to the server as
13728	// null. It is an error if a field in this list has a non-empty value.
13729	// This may be used to include null fields in Patch requests.
13730	NullFields []string `json:"-"`
13731}
13732
13733func (s *UrlAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13734	type NoMethod UrlAssignedTargetingOptionDetails
13735	raw := NoMethod(*s)
13736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13737}
13738
13739// User: A single user in Display & Video 360.
13740type User struct {
13741	// AssignedUserRoles: The assigned user roles. Required in CreateUser.
13742	// Output only in UpdateUser. Can only be updated through
13743	// BulkEditAssignedUserRoles.
13744	AssignedUserRoles []*AssignedUserRole `json:"assignedUserRoles,omitempty"`
13745
13746	// DisplayName: Required. The display name of the user. Must be UTF-8
13747	// encoded with a maximum size of 240 bytes.
13748	DisplayName string `json:"displayName,omitempty"`
13749
13750	// Email: Required. Immutable. The email address used to identify the
13751	// user.
13752	Email string `json:"email,omitempty"`
13753
13754	// Name: Output only. The resource name of the user.
13755	Name string `json:"name,omitempty"`
13756
13757	// UserId: Output only. The unique ID of the user. Assigned by the
13758	// system.
13759	UserId int64 `json:"userId,omitempty,string"`
13760
13761	// ServerResponse contains the HTTP response code and headers from the
13762	// server.
13763	googleapi.ServerResponse `json:"-"`
13764
13765	// ForceSendFields is a list of field names (e.g. "AssignedUserRoles")
13766	// to unconditionally include in API requests. By default, fields with
13767	// empty values are omitted from API requests. However, any non-pointer,
13768	// non-interface field appearing in ForceSendFields will be sent to the
13769	// server regardless of whether the field is empty or not. This may be
13770	// used to include empty fields in Patch requests.
13771	ForceSendFields []string `json:"-"`
13772
13773	// NullFields is a list of field names (e.g. "AssignedUserRoles") to
13774	// include in API requests with the JSON null value. By default, fields
13775	// with empty values are omitted from API requests. However, any field
13776	// with an empty value appearing in NullFields will be sent to the
13777	// server as null. It is an error if a field in this list has a
13778	// non-empty value. This may be used to include null fields in Patch
13779	// requests.
13780	NullFields []string `json:"-"`
13781}
13782
13783func (s *User) MarshalJSON() ([]byte, error) {
13784	type NoMethod User
13785	raw := NoMethod(*s)
13786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13787}
13788
13789// UserRewardedContentAssignedTargetingOptionDetails: User rewarded
13790// content targeting option details. This will be populated in the
13791// user_rewarded_content_details field when targeting_type is
13792// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
13793type UserRewardedContentAssignedTargetingOptionDetails struct {
13794	// TargetingOptionId: Required. The targeting_option_id field when
13795	// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
13796	TargetingOptionId string `json:"targetingOptionId,omitempty"`
13797
13798	// UserRewardedContent: Output only. User rewarded content status for
13799	// video ads.
13800	//
13801	// Possible values:
13802	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
13803	// specified or is unknown in this version.
13804	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the
13805	// user will see a reward after viewing.
13806	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other
13807	// ads besides user-rewarded.
13808	UserRewardedContent string `json:"userRewardedContent,omitempty"`
13809
13810	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
13811	// to unconditionally include in API requests. By default, fields with
13812	// empty values are omitted from API requests. However, any non-pointer,
13813	// non-interface field appearing in ForceSendFields will be sent to the
13814	// server regardless of whether the field is empty or not. This may be
13815	// used to include empty fields in Patch requests.
13816	ForceSendFields []string `json:"-"`
13817
13818	// NullFields is a list of field names (e.g. "TargetingOptionId") to
13819	// include in API requests with the JSON null value. By default, fields
13820	// with empty values are omitted from API requests. However, any field
13821	// with an empty value appearing in NullFields will be sent to the
13822	// server as null. It is an error if a field in this list has a
13823	// non-empty value. This may be used to include null fields in Patch
13824	// requests.
13825	NullFields []string `json:"-"`
13826}
13827
13828func (s *UserRewardedContentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13829	type NoMethod UserRewardedContentAssignedTargetingOptionDetails
13830	raw := NoMethod(*s)
13831	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13832}
13833
13834// UserRewardedContentTargetingOptionDetails: Represents a targetable
13835// user rewarded content status for video ads only. This will be
13836// populated in the user_rewarded_content_details field when
13837// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
13838type UserRewardedContentTargetingOptionDetails struct {
13839	// UserRewardedContent: Output only. User rewarded content status for
13840	// video ads.
13841	//
13842	// Possible values:
13843	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
13844	// specified or is unknown in this version.
13845	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the
13846	// user will see a reward after viewing.
13847	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other
13848	// ads besides user-rewarded.
13849	UserRewardedContent string `json:"userRewardedContent,omitempty"`
13850
13851	// ForceSendFields is a list of field names (e.g. "UserRewardedContent")
13852	// to unconditionally include in API requests. By default, fields with
13853	// empty values are omitted from API requests. However, any non-pointer,
13854	// non-interface field appearing in ForceSendFields will be sent to the
13855	// server regardless of whether the field is empty or not. This may be
13856	// used to include empty fields in Patch requests.
13857	ForceSendFields []string `json:"-"`
13858
13859	// NullFields is a list of field names (e.g. "UserRewardedContent") to
13860	// include in API requests with the JSON null value. By default, fields
13861	// with empty values are omitted from API requests. However, any field
13862	// with an empty value appearing in NullFields will be sent to the
13863	// server as null. It is an error if a field in this list has a
13864	// non-empty value. This may be used to include null fields in Patch
13865	// requests.
13866	NullFields []string `json:"-"`
13867}
13868
13869func (s *UserRewardedContentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13870	type NoMethod UserRewardedContentTargetingOptionDetails
13871	raw := NoMethod(*s)
13872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13873}
13874
13875// VideoPlayerSizeAssignedTargetingOptionDetails: Video player size
13876// targeting option details. This will be populated in the
13877// video_player_size_details field when targeting_type is
13878// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options
13879// is not supported. Remove all video player size targeting options to
13880// achieve this effect.
13881type VideoPlayerSizeAssignedTargetingOptionDetails struct {
13882	// TargetingOptionId: Required. The targeting_option_id field when
13883	// targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
13884	TargetingOptionId string `json:"targetingOptionId,omitempty"`
13885
13886	// VideoPlayerSize: Output only. The video player size.
13887	//
13888	// Possible values:
13889	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not
13890	// specified in this version. This enum is a place holder for a default
13891	// value and does not represent a real video player size.
13892	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are
13893	// less than 400×300 (desktop), or up to 20% of screen covered
13894	// (mobile).
13895	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are
13896	// between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the
13897	// screen covered (mobile).
13898	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are
13899	// 1280×720 or greater (desktop), or over 90% of the screen covered
13900	// (mobile).
13901	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player
13902	// are unknown.
13903	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
13904
13905	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
13906	// to unconditionally include in API requests. By default, fields with
13907	// empty values are omitted from API requests. However, any non-pointer,
13908	// non-interface field appearing in ForceSendFields will be sent to the
13909	// server regardless of whether the field is empty or not. This may be
13910	// used to include empty fields in Patch requests.
13911	ForceSendFields []string `json:"-"`
13912
13913	// NullFields is a list of field names (e.g. "TargetingOptionId") to
13914	// include in API requests with the JSON null value. By default, fields
13915	// with empty values are omitted from API requests. However, any field
13916	// with an empty value appearing in NullFields will be sent to the
13917	// server as null. It is an error if a field in this list has a
13918	// non-empty value. This may be used to include null fields in Patch
13919	// requests.
13920	NullFields []string `json:"-"`
13921}
13922
13923func (s *VideoPlayerSizeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13924	type NoMethod VideoPlayerSizeAssignedTargetingOptionDetails
13925	raw := NoMethod(*s)
13926	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13927}
13928
13929// VideoPlayerSizeTargetingOptionDetails: Represents a targetable video
13930// player size. This will be populated in the video_player_size_details
13931// field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
13932type VideoPlayerSizeTargetingOptionDetails struct {
13933	// VideoPlayerSize: Output only. The video player size.
13934	//
13935	// Possible values:
13936	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not
13937	// specified in this version. This enum is a place holder for a default
13938	// value and does not represent a real video player size.
13939	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are
13940	// less than 400×300 (desktop), or up to 20% of screen covered
13941	// (mobile).
13942	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are
13943	// between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the
13944	// screen covered (mobile).
13945	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are
13946	// 1280×720 or greater (desktop), or over 90% of the screen covered
13947	// (mobile).
13948	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player
13949	// are unknown.
13950	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
13951
13952	// ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to
13953	// unconditionally include in API requests. By default, fields with
13954	// empty values are omitted from API requests. However, any non-pointer,
13955	// non-interface field appearing in ForceSendFields will be sent to the
13956	// server regardless of whether the field is empty or not. This may be
13957	// used to include empty fields in Patch requests.
13958	ForceSendFields []string `json:"-"`
13959
13960	// NullFields is a list of field names (e.g. "VideoPlayerSize") to
13961	// include in API requests with the JSON null value. By default, fields
13962	// with empty values are omitted from API requests. However, any field
13963	// with an empty value appearing in NullFields will be sent to the
13964	// server as null. It is an error if a field in this list has a
13965	// non-empty value. This may be used to include null fields in Patch
13966	// requests.
13967	NullFields []string `json:"-"`
13968}
13969
13970func (s *VideoPlayerSizeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13971	type NoMethod VideoPlayerSizeTargetingOptionDetails
13972	raw := NoMethod(*s)
13973	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13974}
13975
13976// ViewabilityAssignedTargetingOptionDetails: Assigned viewability
13977// targeting option details. This will be populated in the
13978// viewability_details field of an AssignedTargetingOption when
13979// targeting_type is `TARGETING_TYPE_VIEWABILITY`.
13980type ViewabilityAssignedTargetingOptionDetails struct {
13981	// TargetingOptionId: Required. The targeting_option_id of a
13982	// TargetingOption of type `TARGETING_TYPE_VIEWABILITY` (e.g., "509010"
13983	// for targeting the `VIEWABILITY_10_PERCENT_OR_MORE` option).
13984	TargetingOptionId string `json:"targetingOptionId,omitempty"`
13985
13986	// Viewability: Output only. The predicted viewability percentage.
13987	//
13988	// Possible values:
13989	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
13990	// specified in this version. This enum is a placeholder for default
13991	// value and does not represent a real viewability option.
13992	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are
13993	// at least 10% likely to be viewable.
13994	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are
13995	// at least 20% likely to be viewable.
13996	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are
13997	// at least 30% likely to be viewable.
13998	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are
13999	// at least 40% likely to be viewable.
14000	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are
14001	// at least 50% likely to be viewable.
14002	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are
14003	// at least 60% likely to be viewable.
14004	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are
14005	// at least 70% likely to be viewable.
14006	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are
14007	// at least 80% likely to be viewable.
14008	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are
14009	// at least 90% likely to be viewable.
14010	Viewability string `json:"viewability,omitempty"`
14011
14012	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
14013	// to unconditionally include in API requests. By default, fields with
14014	// empty values are omitted from API requests. However, any non-pointer,
14015	// non-interface field appearing in ForceSendFields will be sent to the
14016	// server regardless of whether the field is empty or not. This may be
14017	// used to include empty fields in Patch requests.
14018	ForceSendFields []string `json:"-"`
14019
14020	// NullFields is a list of field names (e.g. "TargetingOptionId") to
14021	// include in API requests with the JSON null value. By default, fields
14022	// with empty values are omitted from API requests. However, any field
14023	// with an empty value appearing in NullFields will be sent to the
14024	// server as null. It is an error if a field in this list has a
14025	// non-empty value. This may be used to include null fields in Patch
14026	// requests.
14027	NullFields []string `json:"-"`
14028}
14029
14030func (s *ViewabilityAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14031	type NoMethod ViewabilityAssignedTargetingOptionDetails
14032	raw := NoMethod(*s)
14033	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14034}
14035
14036// ViewabilityTargetingOptionDetails: Represents a targetable
14037// viewability. This will be populated in the viewability_details field
14038// of a TargetingOption when targeting_type is
14039// `TARGETING_TYPE_VIEWABILITY`.
14040type ViewabilityTargetingOptionDetails struct {
14041	// Viewability: Output only. The predicted viewability percentage.
14042	//
14043	// Possible values:
14044	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
14045	// specified in this version. This enum is a placeholder for default
14046	// value and does not represent a real viewability option.
14047	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are
14048	// at least 10% likely to be viewable.
14049	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are
14050	// at least 20% likely to be viewable.
14051	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are
14052	// at least 30% likely to be viewable.
14053	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are
14054	// at least 40% likely to be viewable.
14055	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are
14056	// at least 50% likely to be viewable.
14057	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are
14058	// at least 60% likely to be viewable.
14059	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are
14060	// at least 70% likely to be viewable.
14061	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are
14062	// at least 80% likely to be viewable.
14063	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are
14064	// at least 90% likely to be viewable.
14065	Viewability string `json:"viewability,omitempty"`
14066
14067	// ForceSendFields is a list of field names (e.g. "Viewability") to
14068	// unconditionally include in API requests. By default, fields with
14069	// empty values are omitted from API requests. However, any non-pointer,
14070	// non-interface field appearing in ForceSendFields will be sent to the
14071	// server regardless of whether the field is empty or not. This may be
14072	// used to include empty fields in Patch requests.
14073	ForceSendFields []string `json:"-"`
14074
14075	// NullFields is a list of field names (e.g. "Viewability") to include
14076	// in API requests with the JSON null value. By default, fields with
14077	// empty values are omitted from API requests. However, any field with
14078	// an empty value appearing in NullFields will be sent to the server as
14079	// null. It is an error if a field in this list has a non-empty value.
14080	// This may be used to include null fields in Patch requests.
14081	NullFields []string `json:"-"`
14082}
14083
14084func (s *ViewabilityTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14085	type NoMethod ViewabilityTargetingOptionDetails
14086	raw := NoMethod(*s)
14087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14088}
14089
14090// method id "displayvideo.advertisers.audit":
14091
14092type AdvertisersAuditCall struct {
14093	s            *Service
14094	advertiserId int64
14095	urlParams_   gensupport.URLParams
14096	ifNoneMatch_ string
14097	ctx_         context.Context
14098	header_      http.Header
14099}
14100
14101// Audit: Audits an advertiser. Returns the counts of used entities per
14102// resource type under the advertiser provided. Used entities count
14103// towards their respective resource limit. See
14104// https://support.google.com/displayvideo/answer/6071450.
14105//
14106// - advertiserId: The ID of the advertiser to audit.
14107func (r *AdvertisersService) Audit(advertiserId int64) *AdvertisersAuditCall {
14108	c := &AdvertisersAuditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14109	c.advertiserId = advertiserId
14110	return c
14111}
14112
14113// ReadMask sets the optional parameter "readMask": The specific fields
14114// to return. If no mask is specified, all fields in the response proto
14115// will be filled. Valid values are: * usedLineItemsCount *
14116// usedInsertionOrdersCount * usedCampaignsCount * channelsCount *
14117// negativelyTargetedChannelsCount * negativeKeywordListsCount *
14118// adGroupCriteriaCount * campaignCriteriaCount
14119func (c *AdvertisersAuditCall) ReadMask(readMask string) *AdvertisersAuditCall {
14120	c.urlParams_.Set("readMask", readMask)
14121	return c
14122}
14123
14124// Fields allows partial responses to be retrieved. See
14125// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14126// for more information.
14127func (c *AdvertisersAuditCall) Fields(s ...googleapi.Field) *AdvertisersAuditCall {
14128	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14129	return c
14130}
14131
14132// IfNoneMatch sets the optional parameter which makes the operation
14133// fail if the object's ETag matches the given value. This is useful for
14134// getting updates only after the object has changed since the last
14135// request. Use googleapi.IsNotModified to check whether the response
14136// error from Do is the result of In-None-Match.
14137func (c *AdvertisersAuditCall) IfNoneMatch(entityTag string) *AdvertisersAuditCall {
14138	c.ifNoneMatch_ = entityTag
14139	return c
14140}
14141
14142// Context sets the context to be used in this call's Do method. Any
14143// pending HTTP request will be aborted if the provided context is
14144// canceled.
14145func (c *AdvertisersAuditCall) Context(ctx context.Context) *AdvertisersAuditCall {
14146	c.ctx_ = ctx
14147	return c
14148}
14149
14150// Header returns an http.Header that can be modified by the caller to
14151// add HTTP headers to the request.
14152func (c *AdvertisersAuditCall) Header() http.Header {
14153	if c.header_ == nil {
14154		c.header_ = make(http.Header)
14155	}
14156	return c.header_
14157}
14158
14159func (c *AdvertisersAuditCall) doRequest(alt string) (*http.Response, error) {
14160	reqHeaders := make(http.Header)
14161	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14162	for k, v := range c.header_ {
14163		reqHeaders[k] = v
14164	}
14165	reqHeaders.Set("User-Agent", c.s.userAgent())
14166	if c.ifNoneMatch_ != "" {
14167		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14168	}
14169	var body io.Reader = nil
14170	c.urlParams_.Set("alt", alt)
14171	c.urlParams_.Set("prettyPrint", "false")
14172	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:audit")
14173	urls += "?" + c.urlParams_.Encode()
14174	req, err := http.NewRequest("GET", urls, body)
14175	if err != nil {
14176		return nil, err
14177	}
14178	req.Header = reqHeaders
14179	googleapi.Expand(req.URL, map[string]string{
14180		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14181	})
14182	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14183}
14184
14185// Do executes the "displayvideo.advertisers.audit" call.
14186// Exactly one of *AuditAdvertiserResponse or error will be non-nil. Any
14187// non-2xx status code is an error. Response headers are in either
14188// *AuditAdvertiserResponse.ServerResponse.Header or (if a response was
14189// returned at all) in error.(*googleapi.Error).Header. Use
14190// googleapi.IsNotModified to check whether the returned error was
14191// because http.StatusNotModified was returned.
14192func (c *AdvertisersAuditCall) Do(opts ...googleapi.CallOption) (*AuditAdvertiserResponse, error) {
14193	gensupport.SetOptions(c.urlParams_, opts...)
14194	res, err := c.doRequest("json")
14195	if res != nil && res.StatusCode == http.StatusNotModified {
14196		if res.Body != nil {
14197			res.Body.Close()
14198		}
14199		return nil, &googleapi.Error{
14200			Code:   res.StatusCode,
14201			Header: res.Header,
14202		}
14203	}
14204	if err != nil {
14205		return nil, err
14206	}
14207	defer googleapi.CloseBody(res)
14208	if err := googleapi.CheckResponse(res); err != nil {
14209		return nil, err
14210	}
14211	ret := &AuditAdvertiserResponse{
14212		ServerResponse: googleapi.ServerResponse{
14213			Header:         res.Header,
14214			HTTPStatusCode: res.StatusCode,
14215		},
14216	}
14217	target := &ret
14218	if err := gensupport.DecodeResponse(target, res); err != nil {
14219		return nil, err
14220	}
14221	return ret, nil
14222	// {
14223	//   "description": "Audits an advertiser. Returns the counts of used entities per resource type under the advertiser provided. Used entities count towards their respective resource limit. See https://support.google.com/displayvideo/answer/6071450.",
14224	//   "flatPath": "v1/advertisers/{advertisersId}:audit",
14225	//   "httpMethod": "GET",
14226	//   "id": "displayvideo.advertisers.audit",
14227	//   "parameterOrder": [
14228	//     "advertiserId"
14229	//   ],
14230	//   "parameters": {
14231	//     "advertiserId": {
14232	//       "description": "Required. The ID of the advertiser to audit.",
14233	//       "format": "int64",
14234	//       "location": "path",
14235	//       "pattern": "^[^/]+$",
14236	//       "required": true,
14237	//       "type": "string"
14238	//     },
14239	//     "readMask": {
14240	//       "description": "Optional. The specific fields to return. If no mask is specified, all fields in the response proto will be filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount * usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount * negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount",
14241	//       "format": "google-fieldmask",
14242	//       "location": "query",
14243	//       "type": "string"
14244	//     }
14245	//   },
14246	//   "path": "v1/advertisers/{+advertiserId}:audit",
14247	//   "response": {
14248	//     "$ref": "AuditAdvertiserResponse"
14249	//   },
14250	//   "scopes": [
14251	//     "https://www.googleapis.com/auth/display-video"
14252	//   ]
14253	// }
14254
14255}
14256
14257// method id "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions":
14258
14259type AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall struct {
14260	s                                                 *Service
14261	advertiserId                                      int64
14262	bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest
14263	urlParams_                                        gensupport.URLParams
14264	ctx_                                              context.Context
14265	header_                                           http.Header
14266}
14267
14268// BulkEditAdvertiserAssignedTargetingOptions: Bulk edits targeting
14269// options under a single advertiser. The operation will delete the
14270// assigned targeting options provided in
14271// BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and
14272// then create the assigned targeting options provided in
14273// BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .
14274//
14275// - advertiserId: The ID of the advertiser.
14276func (r *AdvertisersService) BulkEditAdvertiserAssignedTargetingOptions(advertiserId int64, bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
14277	c := &AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14278	c.advertiserId = advertiserId
14279	c.bulkeditadvertiserassignedtargetingoptionsrequest = bulkeditadvertiserassignedtargetingoptionsrequest
14280	return c
14281}
14282
14283// Fields allows partial responses to be retrieved. See
14284// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14285// for more information.
14286func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
14287	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14288	return c
14289}
14290
14291// Context sets the context to be used in this call's Do method. Any
14292// pending HTTP request will be aborted if the provided context is
14293// canceled.
14294func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
14295	c.ctx_ = ctx
14296	return c
14297}
14298
14299// Header returns an http.Header that can be modified by the caller to
14300// add HTTP headers to the request.
14301func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Header() http.Header {
14302	if c.header_ == nil {
14303		c.header_ = make(http.Header)
14304	}
14305	return c.header_
14306}
14307
14308func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
14309	reqHeaders := make(http.Header)
14310	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14311	for k, v := range c.header_ {
14312		reqHeaders[k] = v
14313	}
14314	reqHeaders.Set("User-Agent", c.s.userAgent())
14315	var body io.Reader = nil
14316	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditadvertiserassignedtargetingoptionsrequest)
14317	if err != nil {
14318		return nil, err
14319	}
14320	reqHeaders.Set("Content-Type", "application/json")
14321	c.urlParams_.Set("alt", alt)
14322	c.urlParams_.Set("prettyPrint", "false")
14323	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:bulkEditAdvertiserAssignedTargetingOptions")
14324	urls += "?" + c.urlParams_.Encode()
14325	req, err := http.NewRequest("POST", urls, body)
14326	if err != nil {
14327		return nil, err
14328	}
14329	req.Header = reqHeaders
14330	googleapi.Expand(req.URL, map[string]string{
14331		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14332	})
14333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14334}
14335
14336// Do executes the "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions" call.
14337// Exactly one of *BulkEditAdvertiserAssignedTargetingOptionsResponse or
14338// error will be non-nil. Any non-2xx status code is an error. Response
14339// headers are in either
14340// *BulkEditAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Hea
14341// der or (if a response was returned at all) in
14342// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14343// whether the returned error was because http.StatusNotModified was
14344// returned.
14345func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAdvertiserAssignedTargetingOptionsResponse, error) {
14346	gensupport.SetOptions(c.urlParams_, opts...)
14347	res, err := c.doRequest("json")
14348	if res != nil && res.StatusCode == http.StatusNotModified {
14349		if res.Body != nil {
14350			res.Body.Close()
14351		}
14352		return nil, &googleapi.Error{
14353			Code:   res.StatusCode,
14354			Header: res.Header,
14355		}
14356	}
14357	if err != nil {
14358		return nil, err
14359	}
14360	defer googleapi.CloseBody(res)
14361	if err := googleapi.CheckResponse(res); err != nil {
14362		return nil, err
14363	}
14364	ret := &BulkEditAdvertiserAssignedTargetingOptionsResponse{
14365		ServerResponse: googleapi.ServerResponse{
14366			Header:         res.Header,
14367			HTTPStatusCode: res.StatusCode,
14368		},
14369	}
14370	target := &ret
14371	if err := gensupport.DecodeResponse(target, res); err != nil {
14372		return nil, err
14373	}
14374	return ret, nil
14375	// {
14376	//   "description": "Bulk edits targeting options under a single advertiser. The operation will delete the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .",
14377	//   "flatPath": "v1/advertisers/{advertisersId}:bulkEditAdvertiserAssignedTargetingOptions",
14378	//   "httpMethod": "POST",
14379	//   "id": "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions",
14380	//   "parameterOrder": [
14381	//     "advertiserId"
14382	//   ],
14383	//   "parameters": {
14384	//     "advertiserId": {
14385	//       "description": "Required. The ID of the advertiser.",
14386	//       "format": "int64",
14387	//       "location": "path",
14388	//       "pattern": "^[^/]+$",
14389	//       "required": true,
14390	//       "type": "string"
14391	//     }
14392	//   },
14393	//   "path": "v1/advertisers/{+advertiserId}:bulkEditAdvertiserAssignedTargetingOptions",
14394	//   "request": {
14395	//     "$ref": "BulkEditAdvertiserAssignedTargetingOptionsRequest"
14396	//   },
14397	//   "response": {
14398	//     "$ref": "BulkEditAdvertiserAssignedTargetingOptionsResponse"
14399	//   },
14400	//   "scopes": [
14401	//     "https://www.googleapis.com/auth/display-video"
14402	//   ]
14403	// }
14404
14405}
14406
14407// method id "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions":
14408
14409type AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall struct {
14410	s            *Service
14411	advertiserId int64
14412	urlParams_   gensupport.URLParams
14413	ifNoneMatch_ string
14414	ctx_         context.Context
14415	header_      http.Header
14416}
14417
14418// BulkListAdvertiserAssignedTargetingOptions: Lists assigned targeting
14419// options of an advertiser across targeting types.
14420//
14421// - advertiserId: The ID of the advertiser the line item belongs to.
14422func (r *AdvertisersService) BulkListAdvertiserAssignedTargetingOptions(advertiserId int64) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14423	c := &AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14424	c.advertiserId = advertiserId
14425	return c
14426}
14427
14428// Filter sets the optional parameter "filter": Allows filtering by
14429// assigned targeting option properties. Supported syntax: * Filter
14430// expressions are made up of one or more restrictions. * Restrictions
14431// can be combined by the logical operator `OR`.. * A restriction has
14432// the form of `{field} {operator} {value}`. * The operator must be
14433// `EQUALS (=)`. * Supported fields: - `targetingType` Examples: *
14434// targetingType with value TARGETING_TYPE_CHANNEL
14435// `targetingType="TARGETING_TYPE_CHANNEL" The length of this field
14436// should be no more than 500 characters.
14437func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14438	c.urlParams_.Set("filter", filter)
14439	return c
14440}
14441
14442// OrderBy sets the optional parameter "orderBy": Field by which to sort
14443// the list. Acceptable values are: * `targetingType` (default) The
14444// default sorting order is ascending. To specify descending order for a
14445// field, a suffix "desc" should be added to the field name. Example:
14446// `targetingType desc`.
14447func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14448	c.urlParams_.Set("orderBy", orderBy)
14449	return c
14450}
14451
14452// PageSize sets the optional parameter "pageSize": Requested page size.
14453// The size must be an integer between `1` and `5000`. If unspecified,
14454// the default is '5000'. Returns error code `INVALID_ARGUMENT` if an
14455// invalid value is specified.
14456func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14457	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14458	return c
14459}
14460
14461// PageToken sets the optional parameter "pageToken": A token that lets
14462// the client fetch the next page of results. Typically, this is the
14463// value of next_page_token returned from the previous call to
14464// `BulkListAdvertiserAssignedTargetingOptions` method. If not
14465// specified, the first page of results will be returned.
14466func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14467	c.urlParams_.Set("pageToken", pageToken)
14468	return c
14469}
14470
14471// Fields allows partial responses to be retrieved. See
14472// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14473// for more information.
14474func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14475	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14476	return c
14477}
14478
14479// IfNoneMatch sets the optional parameter which makes the operation
14480// fail if the object's ETag matches the given value. This is useful for
14481// getting updates only after the object has changed since the last
14482// request. Use googleapi.IsNotModified to check whether the response
14483// error from Do is the result of In-None-Match.
14484func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14485	c.ifNoneMatch_ = entityTag
14486	return c
14487}
14488
14489// Context sets the context to be used in this call's Do method. Any
14490// pending HTTP request will be aborted if the provided context is
14491// canceled.
14492func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14493	c.ctx_ = ctx
14494	return c
14495}
14496
14497// Header returns an http.Header that can be modified by the caller to
14498// add HTTP headers to the request.
14499func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Header() http.Header {
14500	if c.header_ == nil {
14501		c.header_ = make(http.Header)
14502	}
14503	return c.header_
14504}
14505
14506func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
14507	reqHeaders := make(http.Header)
14508	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14509	for k, v := range c.header_ {
14510		reqHeaders[k] = v
14511	}
14512	reqHeaders.Set("User-Agent", c.s.userAgent())
14513	if c.ifNoneMatch_ != "" {
14514		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14515	}
14516	var body io.Reader = nil
14517	c.urlParams_.Set("alt", alt)
14518	c.urlParams_.Set("prettyPrint", "false")
14519	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:bulkListAdvertiserAssignedTargetingOptions")
14520	urls += "?" + c.urlParams_.Encode()
14521	req, err := http.NewRequest("GET", urls, body)
14522	if err != nil {
14523		return nil, err
14524	}
14525	req.Header = reqHeaders
14526	googleapi.Expand(req.URL, map[string]string{
14527		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14528	})
14529	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14530}
14531
14532// Do executes the "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions" call.
14533// Exactly one of *BulkListAdvertiserAssignedTargetingOptionsResponse or
14534// error will be non-nil. Any non-2xx status code is an error. Response
14535// headers are in either
14536// *BulkListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Hea
14537// der or (if a response was returned at all) in
14538// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14539// whether the returned error was because http.StatusNotModified was
14540// returned.
14541func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdvertiserAssignedTargetingOptionsResponse, error) {
14542	gensupport.SetOptions(c.urlParams_, opts...)
14543	res, err := c.doRequest("json")
14544	if res != nil && res.StatusCode == http.StatusNotModified {
14545		if res.Body != nil {
14546			res.Body.Close()
14547		}
14548		return nil, &googleapi.Error{
14549			Code:   res.StatusCode,
14550			Header: res.Header,
14551		}
14552	}
14553	if err != nil {
14554		return nil, err
14555	}
14556	defer googleapi.CloseBody(res)
14557	if err := googleapi.CheckResponse(res); err != nil {
14558		return nil, err
14559	}
14560	ret := &BulkListAdvertiserAssignedTargetingOptionsResponse{
14561		ServerResponse: googleapi.ServerResponse{
14562			Header:         res.Header,
14563			HTTPStatusCode: res.StatusCode,
14564		},
14565	}
14566	target := &ret
14567	if err := gensupport.DecodeResponse(target, res); err != nil {
14568		return nil, err
14569	}
14570	return ret, nil
14571	// {
14572	//   "description": "Lists assigned targeting options of an advertiser across targeting types.",
14573	//   "flatPath": "v1/advertisers/{advertisersId}:bulkListAdvertiserAssignedTargetingOptions",
14574	//   "httpMethod": "GET",
14575	//   "id": "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions",
14576	//   "parameterOrder": [
14577	//     "advertiserId"
14578	//   ],
14579	//   "parameters": {
14580	//     "advertiserId": {
14581	//       "description": "Required. The ID of the advertiser the line item belongs to.",
14582	//       "format": "int64",
14583	//       "location": "path",
14584	//       "pattern": "^[^/]+$",
14585	//       "required": true,
14586	//       "type": "string"
14587	//     },
14588	//     "filter": {
14589	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`.. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `targetingType` Examples: * targetingType with value TARGETING_TYPE_CHANNEL `targetingType=\"TARGETING_TYPE_CHANNEL\"` The length of this field should be no more than 500 characters.",
14590	//       "location": "query",
14591	//       "type": "string"
14592	//     },
14593	//     "orderBy": {
14594	//       "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.",
14595	//       "location": "query",
14596	//       "type": "string"
14597	//     },
14598	//     "pageSize": {
14599	//       "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
14600	//       "format": "int32",
14601	//       "location": "query",
14602	//       "type": "integer"
14603	//     },
14604	//     "pageToken": {
14605	//       "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
14606	//       "location": "query",
14607	//       "type": "string"
14608	//     }
14609	//   },
14610	//   "path": "v1/advertisers/{+advertiserId}:bulkListAdvertiserAssignedTargetingOptions",
14611	//   "response": {
14612	//     "$ref": "BulkListAdvertiserAssignedTargetingOptionsResponse"
14613	//   },
14614	//   "scopes": [
14615	//     "https://www.googleapis.com/auth/display-video"
14616	//   ]
14617	// }
14618
14619}
14620
14621// Pages invokes f for each page of results.
14622// A non-nil error returned from f will halt the iteration.
14623// The provided context supersedes any context provided to the Context method.
14624func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdvertiserAssignedTargetingOptionsResponse) error) error {
14625	c.ctx_ = ctx
14626	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14627	for {
14628		x, err := c.Do()
14629		if err != nil {
14630			return err
14631		}
14632		if err := f(x); err != nil {
14633			return err
14634		}
14635		if x.NextPageToken == "" {
14636			return nil
14637		}
14638		c.PageToken(x.NextPageToken)
14639	}
14640}
14641
14642// method id "displayvideo.advertisers.create":
14643
14644type AdvertisersCreateCall struct {
14645	s          *Service
14646	advertiser *Advertiser
14647	urlParams_ gensupport.URLParams
14648	ctx_       context.Context
14649	header_    http.Header
14650}
14651
14652// Create: Creates a new advertiser. Returns the newly created
14653// advertiser if successful. This method can take up to 180 seconds to
14654// complete.
14655func (r *AdvertisersService) Create(advertiser *Advertiser) *AdvertisersCreateCall {
14656	c := &AdvertisersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14657	c.advertiser = advertiser
14658	return c
14659}
14660
14661// Fields allows partial responses to be retrieved. See
14662// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14663// for more information.
14664func (c *AdvertisersCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreateCall {
14665	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14666	return c
14667}
14668
14669// Context sets the context to be used in this call's Do method. Any
14670// pending HTTP request will be aborted if the provided context is
14671// canceled.
14672func (c *AdvertisersCreateCall) Context(ctx context.Context) *AdvertisersCreateCall {
14673	c.ctx_ = ctx
14674	return c
14675}
14676
14677// Header returns an http.Header that can be modified by the caller to
14678// add HTTP headers to the request.
14679func (c *AdvertisersCreateCall) Header() http.Header {
14680	if c.header_ == nil {
14681		c.header_ = make(http.Header)
14682	}
14683	return c.header_
14684}
14685
14686func (c *AdvertisersCreateCall) doRequest(alt string) (*http.Response, error) {
14687	reqHeaders := make(http.Header)
14688	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14689	for k, v := range c.header_ {
14690		reqHeaders[k] = v
14691	}
14692	reqHeaders.Set("User-Agent", c.s.userAgent())
14693	var body io.Reader = nil
14694	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
14695	if err != nil {
14696		return nil, err
14697	}
14698	reqHeaders.Set("Content-Type", "application/json")
14699	c.urlParams_.Set("alt", alt)
14700	c.urlParams_.Set("prettyPrint", "false")
14701	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers")
14702	urls += "?" + c.urlParams_.Encode()
14703	req, err := http.NewRequest("POST", urls, body)
14704	if err != nil {
14705		return nil, err
14706	}
14707	req.Header = reqHeaders
14708	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14709}
14710
14711// Do executes the "displayvideo.advertisers.create" call.
14712// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
14713// status code is an error. Response headers are in either
14714// *Advertiser.ServerResponse.Header or (if a response was returned at
14715// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14716// to check whether the returned error was because
14717// http.StatusNotModified was returned.
14718func (c *AdvertisersCreateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
14719	gensupport.SetOptions(c.urlParams_, opts...)
14720	res, err := c.doRequest("json")
14721	if res != nil && res.StatusCode == http.StatusNotModified {
14722		if res.Body != nil {
14723			res.Body.Close()
14724		}
14725		return nil, &googleapi.Error{
14726			Code:   res.StatusCode,
14727			Header: res.Header,
14728		}
14729	}
14730	if err != nil {
14731		return nil, err
14732	}
14733	defer googleapi.CloseBody(res)
14734	if err := googleapi.CheckResponse(res); err != nil {
14735		return nil, err
14736	}
14737	ret := &Advertiser{
14738		ServerResponse: googleapi.ServerResponse{
14739			Header:         res.Header,
14740			HTTPStatusCode: res.StatusCode,
14741		},
14742	}
14743	target := &ret
14744	if err := gensupport.DecodeResponse(target, res); err != nil {
14745		return nil, err
14746	}
14747	return ret, nil
14748	// {
14749	//   "description": "Creates a new advertiser. Returns the newly created advertiser if successful. This method can take up to 180 seconds to complete.",
14750	//   "flatPath": "v1/advertisers",
14751	//   "httpMethod": "POST",
14752	//   "id": "displayvideo.advertisers.create",
14753	//   "parameterOrder": [],
14754	//   "parameters": {},
14755	//   "path": "v1/advertisers",
14756	//   "request": {
14757	//     "$ref": "Advertiser"
14758	//   },
14759	//   "response": {
14760	//     "$ref": "Advertiser"
14761	//   },
14762	//   "scopes": [
14763	//     "https://www.googleapis.com/auth/display-video"
14764	//   ]
14765	// }
14766
14767}
14768
14769// method id "displayvideo.advertisers.delete":
14770
14771type AdvertisersDeleteCall struct {
14772	s            *Service
14773	advertiserId int64
14774	urlParams_   gensupport.URLParams
14775	ctx_         context.Context
14776	header_      http.Header
14777}
14778
14779// Delete: Deletes an advertiser. Deleting an advertiser will delete all
14780// of its child resources, for example, campaigns, insertion orders and
14781// line items. A deleted advertiser cannot be recovered.
14782//
14783// - advertiserId: The ID of the advertiser we need to delete.
14784func (r *AdvertisersService) Delete(advertiserId int64) *AdvertisersDeleteCall {
14785	c := &AdvertisersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14786	c.advertiserId = advertiserId
14787	return c
14788}
14789
14790// Fields allows partial responses to be retrieved. See
14791// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14792// for more information.
14793func (c *AdvertisersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersDeleteCall {
14794	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14795	return c
14796}
14797
14798// Context sets the context to be used in this call's Do method. Any
14799// pending HTTP request will be aborted if the provided context is
14800// canceled.
14801func (c *AdvertisersDeleteCall) Context(ctx context.Context) *AdvertisersDeleteCall {
14802	c.ctx_ = ctx
14803	return c
14804}
14805
14806// Header returns an http.Header that can be modified by the caller to
14807// add HTTP headers to the request.
14808func (c *AdvertisersDeleteCall) Header() http.Header {
14809	if c.header_ == nil {
14810		c.header_ = make(http.Header)
14811	}
14812	return c.header_
14813}
14814
14815func (c *AdvertisersDeleteCall) doRequest(alt string) (*http.Response, error) {
14816	reqHeaders := make(http.Header)
14817	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14818	for k, v := range c.header_ {
14819		reqHeaders[k] = v
14820	}
14821	reqHeaders.Set("User-Agent", c.s.userAgent())
14822	var body io.Reader = nil
14823	c.urlParams_.Set("alt", alt)
14824	c.urlParams_.Set("prettyPrint", "false")
14825	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
14826	urls += "?" + c.urlParams_.Encode()
14827	req, err := http.NewRequest("DELETE", urls, body)
14828	if err != nil {
14829		return nil, err
14830	}
14831	req.Header = reqHeaders
14832	googleapi.Expand(req.URL, map[string]string{
14833		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14834	})
14835	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14836}
14837
14838// Do executes the "displayvideo.advertisers.delete" call.
14839// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14840// code is an error. Response headers are in either
14841// *Empty.ServerResponse.Header or (if a response was returned at all)
14842// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14843// check whether the returned error was because http.StatusNotModified
14844// was returned.
14845func (c *AdvertisersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14846	gensupport.SetOptions(c.urlParams_, opts...)
14847	res, err := c.doRequest("json")
14848	if res != nil && res.StatusCode == http.StatusNotModified {
14849		if res.Body != nil {
14850			res.Body.Close()
14851		}
14852		return nil, &googleapi.Error{
14853			Code:   res.StatusCode,
14854			Header: res.Header,
14855		}
14856	}
14857	if err != nil {
14858		return nil, err
14859	}
14860	defer googleapi.CloseBody(res)
14861	if err := googleapi.CheckResponse(res); err != nil {
14862		return nil, err
14863	}
14864	ret := &Empty{
14865		ServerResponse: googleapi.ServerResponse{
14866			Header:         res.Header,
14867			HTTPStatusCode: res.StatusCode,
14868		},
14869	}
14870	target := &ret
14871	if err := gensupport.DecodeResponse(target, res); err != nil {
14872		return nil, err
14873	}
14874	return ret, nil
14875	// {
14876	//   "description": "Deletes an advertiser. Deleting an advertiser will delete all of its child resources, for example, campaigns, insertion orders and line items. A deleted advertiser cannot be recovered.",
14877	//   "flatPath": "v1/advertisers/{advertisersId}",
14878	//   "httpMethod": "DELETE",
14879	//   "id": "displayvideo.advertisers.delete",
14880	//   "parameterOrder": [
14881	//     "advertiserId"
14882	//   ],
14883	//   "parameters": {
14884	//     "advertiserId": {
14885	//       "description": "The ID of the advertiser we need to delete.",
14886	//       "format": "int64",
14887	//       "location": "path",
14888	//       "pattern": "^[^/]+$",
14889	//       "required": true,
14890	//       "type": "string"
14891	//     }
14892	//   },
14893	//   "path": "v1/advertisers/{+advertiserId}",
14894	//   "response": {
14895	//     "$ref": "Empty"
14896	//   },
14897	//   "scopes": [
14898	//     "https://www.googleapis.com/auth/display-video"
14899	//   ]
14900	// }
14901
14902}
14903
14904// method id "displayvideo.advertisers.get":
14905
14906type AdvertisersGetCall struct {
14907	s            *Service
14908	advertiserId int64
14909	urlParams_   gensupport.URLParams
14910	ifNoneMatch_ string
14911	ctx_         context.Context
14912	header_      http.Header
14913}
14914
14915// Get: Gets an advertiser.
14916//
14917// - advertiserId: The ID of the advertiser to fetch.
14918func (r *AdvertisersService) Get(advertiserId int64) *AdvertisersGetCall {
14919	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14920	c.advertiserId = advertiserId
14921	return c
14922}
14923
14924// Fields allows partial responses to be retrieved. See
14925// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14926// for more information.
14927func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
14928	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14929	return c
14930}
14931
14932// IfNoneMatch sets the optional parameter which makes the operation
14933// fail if the object's ETag matches the given value. This is useful for
14934// getting updates only after the object has changed since the last
14935// request. Use googleapi.IsNotModified to check whether the response
14936// error from Do is the result of In-None-Match.
14937func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
14938	c.ifNoneMatch_ = entityTag
14939	return c
14940}
14941
14942// Context sets the context to be used in this call's Do method. Any
14943// pending HTTP request will be aborted if the provided context is
14944// canceled.
14945func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
14946	c.ctx_ = ctx
14947	return c
14948}
14949
14950// Header returns an http.Header that can be modified by the caller to
14951// add HTTP headers to the request.
14952func (c *AdvertisersGetCall) Header() http.Header {
14953	if c.header_ == nil {
14954		c.header_ = make(http.Header)
14955	}
14956	return c.header_
14957}
14958
14959func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
14960	reqHeaders := make(http.Header)
14961	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
14962	for k, v := range c.header_ {
14963		reqHeaders[k] = v
14964	}
14965	reqHeaders.Set("User-Agent", c.s.userAgent())
14966	if c.ifNoneMatch_ != "" {
14967		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14968	}
14969	var body io.Reader = nil
14970	c.urlParams_.Set("alt", alt)
14971	c.urlParams_.Set("prettyPrint", "false")
14972	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
14973	urls += "?" + c.urlParams_.Encode()
14974	req, err := http.NewRequest("GET", urls, body)
14975	if err != nil {
14976		return nil, err
14977	}
14978	req.Header = reqHeaders
14979	googleapi.Expand(req.URL, map[string]string{
14980		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14981	})
14982	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14983}
14984
14985// Do executes the "displayvideo.advertisers.get" call.
14986// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
14987// status code is an error. Response headers are in either
14988// *Advertiser.ServerResponse.Header or (if a response was returned at
14989// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14990// to check whether the returned error was because
14991// http.StatusNotModified was returned.
14992func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
14993	gensupport.SetOptions(c.urlParams_, opts...)
14994	res, err := c.doRequest("json")
14995	if res != nil && res.StatusCode == http.StatusNotModified {
14996		if res.Body != nil {
14997			res.Body.Close()
14998		}
14999		return nil, &googleapi.Error{
15000			Code:   res.StatusCode,
15001			Header: res.Header,
15002		}
15003	}
15004	if err != nil {
15005		return nil, err
15006	}
15007	defer googleapi.CloseBody(res)
15008	if err := googleapi.CheckResponse(res); err != nil {
15009		return nil, err
15010	}
15011	ret := &Advertiser{
15012		ServerResponse: googleapi.ServerResponse{
15013			Header:         res.Header,
15014			HTTPStatusCode: res.StatusCode,
15015		},
15016	}
15017	target := &ret
15018	if err := gensupport.DecodeResponse(target, res); err != nil {
15019		return nil, err
15020	}
15021	return ret, nil
15022	// {
15023	//   "description": "Gets an advertiser.",
15024	//   "flatPath": "v1/advertisers/{advertisersId}",
15025	//   "httpMethod": "GET",
15026	//   "id": "displayvideo.advertisers.get",
15027	//   "parameterOrder": [
15028	//     "advertiserId"
15029	//   ],
15030	//   "parameters": {
15031	//     "advertiserId": {
15032	//       "description": "Required. The ID of the advertiser to fetch.",
15033	//       "format": "int64",
15034	//       "location": "path",
15035	//       "pattern": "^[^/]+$",
15036	//       "required": true,
15037	//       "type": "string"
15038	//     }
15039	//   },
15040	//   "path": "v1/advertisers/{+advertiserId}",
15041	//   "response": {
15042	//     "$ref": "Advertiser"
15043	//   },
15044	//   "scopes": [
15045	//     "https://www.googleapis.com/auth/display-video"
15046	//   ]
15047	// }
15048
15049}
15050
15051// method id "displayvideo.advertisers.list":
15052
15053type AdvertisersListCall struct {
15054	s            *Service
15055	urlParams_   gensupport.URLParams
15056	ifNoneMatch_ string
15057	ctx_         context.Context
15058	header_      http.Header
15059}
15060
15061// List: Lists advertisers that are accessible to the current user. The
15062// order is defined by the order_by parameter. A single partner_id is
15063// required. Cross-partner listing is not supported.
15064func (r *AdvertisersService) List() *AdvertisersListCall {
15065	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15066	return c
15067}
15068
15069// Filter sets the optional parameter "filter": Allows filtering by
15070// advertiser properties. Supported syntax: * Filter expressions are
15071// made up of one or more restrictions. * Restrictions can be combined
15072// by `AND` or `OR` logical operators. A sequence of restrictions
15073// implicitly uses `AND`. * A restriction has the form of `{field}
15074// {operator} {value}`. * The operator used on `updateTime` must be
15075// `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. *
15076// The operator must be `EQUALS (=)`. * Supported fields: -
15077// `advertiserId` - `displayName` - `entityStatus` - `updateTime` (input
15078// in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All active
15079// advertisers under a partner: `entityStatus="ENTITY_STATUS_ACTIVE" *
15080// All advertisers with an update time less than or equal to
15081// `2020-11-04T18:54:47Z (format of ISO 8601)`:
15082// `updateTime<="2020-11-04T18:54:47Z" * All advertisers with an update
15083// time greater than or equal to `2020-11-04T18:54:47Z (format of ISO
15084// 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this field
15085// should be no more than 500 characters.
15086func (c *AdvertisersListCall) Filter(filter string) *AdvertisersListCall {
15087	c.urlParams_.Set("filter", filter)
15088	return c
15089}
15090
15091// OrderBy sets the optional parameter "orderBy": Field by which to sort
15092// the list. Acceptable values are: * `displayName` (default) *
15093// `entityStatus` * `updateTime` The default sorting order is ascending.
15094// To specify descending order for a field, a suffix "desc" should be
15095// added to the field name. For example, `displayName desc`.
15096func (c *AdvertisersListCall) OrderBy(orderBy string) *AdvertisersListCall {
15097	c.urlParams_.Set("orderBy", orderBy)
15098	return c
15099}
15100
15101// PageSize sets the optional parameter "pageSize": Requested page size.
15102// Must be between `1` and `100`. If unspecified will default to `100`.
15103func (c *AdvertisersListCall) PageSize(pageSize int64) *AdvertisersListCall {
15104	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15105	return c
15106}
15107
15108// PageToken sets the optional parameter "pageToken": A token
15109// identifying a page of results the server should return. Typically,
15110// this is the value of next_page_token returned from the previous call
15111// to `ListAdvertisers` method. If not specified, the first page of
15112// results will be returned.
15113func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
15114	c.urlParams_.Set("pageToken", pageToken)
15115	return c
15116}
15117
15118// PartnerId sets the optional parameter "partnerId": Required. The ID
15119// of the partner that the fetched advertisers should all belong to. The
15120// system only supports listing advertisers for one partner at a time.
15121func (c *AdvertisersListCall) PartnerId(partnerId int64) *AdvertisersListCall {
15122	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
15123	return c
15124}
15125
15126// Fields allows partial responses to be retrieved. See
15127// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15128// for more information.
15129func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
15130	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15131	return c
15132}
15133
15134// IfNoneMatch sets the optional parameter which makes the operation
15135// fail if the object's ETag matches the given value. This is useful for
15136// getting updates only after the object has changed since the last
15137// request. Use googleapi.IsNotModified to check whether the response
15138// error from Do is the result of In-None-Match.
15139func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
15140	c.ifNoneMatch_ = entityTag
15141	return c
15142}
15143
15144// Context sets the context to be used in this call's Do method. Any
15145// pending HTTP request will be aborted if the provided context is
15146// canceled.
15147func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
15148	c.ctx_ = ctx
15149	return c
15150}
15151
15152// Header returns an http.Header that can be modified by the caller to
15153// add HTTP headers to the request.
15154func (c *AdvertisersListCall) Header() http.Header {
15155	if c.header_ == nil {
15156		c.header_ = make(http.Header)
15157	}
15158	return c.header_
15159}
15160
15161func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
15162	reqHeaders := make(http.Header)
15163	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15164	for k, v := range c.header_ {
15165		reqHeaders[k] = v
15166	}
15167	reqHeaders.Set("User-Agent", c.s.userAgent())
15168	if c.ifNoneMatch_ != "" {
15169		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15170	}
15171	var body io.Reader = nil
15172	c.urlParams_.Set("alt", alt)
15173	c.urlParams_.Set("prettyPrint", "false")
15174	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers")
15175	urls += "?" + c.urlParams_.Encode()
15176	req, err := http.NewRequest("GET", urls, body)
15177	if err != nil {
15178		return nil, err
15179	}
15180	req.Header = reqHeaders
15181	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15182}
15183
15184// Do executes the "displayvideo.advertisers.list" call.
15185// Exactly one of *ListAdvertisersResponse or error will be non-nil. Any
15186// non-2xx status code is an error. Response headers are in either
15187// *ListAdvertisersResponse.ServerResponse.Header or (if a response was
15188// returned at all) in error.(*googleapi.Error).Header. Use
15189// googleapi.IsNotModified to check whether the returned error was
15190// because http.StatusNotModified was returned.
15191func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*ListAdvertisersResponse, error) {
15192	gensupport.SetOptions(c.urlParams_, opts...)
15193	res, err := c.doRequest("json")
15194	if res != nil && res.StatusCode == http.StatusNotModified {
15195		if res.Body != nil {
15196			res.Body.Close()
15197		}
15198		return nil, &googleapi.Error{
15199			Code:   res.StatusCode,
15200			Header: res.Header,
15201		}
15202	}
15203	if err != nil {
15204		return nil, err
15205	}
15206	defer googleapi.CloseBody(res)
15207	if err := googleapi.CheckResponse(res); err != nil {
15208		return nil, err
15209	}
15210	ret := &ListAdvertisersResponse{
15211		ServerResponse: googleapi.ServerResponse{
15212			Header:         res.Header,
15213			HTTPStatusCode: res.StatusCode,
15214		},
15215	}
15216	target := &ret
15217	if err := gensupport.DecodeResponse(target, res); err != nil {
15218		return nil, err
15219	}
15220	return ret, nil
15221	// {
15222	//   "description": "Lists advertisers that are accessible to the current user. The order is defined by the order_by parameter. A single partner_id is required. Cross-partner listing is not supported.",
15223	//   "flatPath": "v1/advertisers",
15224	//   "httpMethod": "GET",
15225	//   "id": "displayvideo.advertisers.list",
15226	//   "parameterOrder": [],
15227	//   "parameters": {
15228	//     "filter": {
15229	//       "description": "Allows filtering by advertiser properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)`. * The operator must be `EQUALS (=)`. * Supported fields: - `advertiserId` - `displayName` - `entityStatus` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All active advertisers under a partner: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` * All advertisers with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All advertisers with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters.",
15230	//       "location": "query",
15231	//       "type": "string"
15232	//     },
15233	//     "orderBy": {
15234	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
15235	//       "location": "query",
15236	//       "type": "string"
15237	//     },
15238	//     "pageSize": {
15239	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
15240	//       "format": "int32",
15241	//       "location": "query",
15242	//       "type": "integer"
15243	//     },
15244	//     "pageToken": {
15245	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdvertisers` method. If not specified, the first page of results will be returned.",
15246	//       "location": "query",
15247	//       "type": "string"
15248	//     },
15249	//     "partnerId": {
15250	//       "description": "Required. The ID of the partner that the fetched advertisers should all belong to. The system only supports listing advertisers for one partner at a time.",
15251	//       "format": "int64",
15252	//       "location": "query",
15253	//       "type": "string"
15254	//     }
15255	//   },
15256	//   "path": "v1/advertisers",
15257	//   "response": {
15258	//     "$ref": "ListAdvertisersResponse"
15259	//   },
15260	//   "scopes": [
15261	//     "https://www.googleapis.com/auth/display-video"
15262	//   ]
15263	// }
15264
15265}
15266
15267// Pages invokes f for each page of results.
15268// A non-nil error returned from f will halt the iteration.
15269// The provided context supersedes any context provided to the Context method.
15270func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*ListAdvertisersResponse) error) error {
15271	c.ctx_ = ctx
15272	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15273	for {
15274		x, err := c.Do()
15275		if err != nil {
15276			return err
15277		}
15278		if err := f(x); err != nil {
15279			return err
15280		}
15281		if x.NextPageToken == "" {
15282			return nil
15283		}
15284		c.PageToken(x.NextPageToken)
15285	}
15286}
15287
15288// method id "displayvideo.advertisers.patch":
15289
15290type AdvertisersPatchCall struct {
15291	s            *Service
15292	advertiserId int64
15293	advertiser   *Advertiser
15294	urlParams_   gensupport.URLParams
15295	ctx_         context.Context
15296	header_      http.Header
15297}
15298
15299// Patch: Updates an existing advertiser. Returns the updated advertiser
15300// if successful.
15301//
15302// - advertiserId: Output only. The unique ID of the advertiser.
15303//   Assigned by the system.
15304func (r *AdvertisersService) Patch(advertiserId int64, advertiser *Advertiser) *AdvertisersPatchCall {
15305	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15306	c.advertiserId = advertiserId
15307	c.advertiser = advertiser
15308	return c
15309}
15310
15311// UpdateMask sets the optional parameter "updateMask": Required. The
15312// mask to control which fields to update.
15313func (c *AdvertisersPatchCall) UpdateMask(updateMask string) *AdvertisersPatchCall {
15314	c.urlParams_.Set("updateMask", updateMask)
15315	return c
15316}
15317
15318// Fields allows partial responses to be retrieved. See
15319// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15320// for more information.
15321func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
15322	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15323	return c
15324}
15325
15326// Context sets the context to be used in this call's Do method. Any
15327// pending HTTP request will be aborted if the provided context is
15328// canceled.
15329func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
15330	c.ctx_ = ctx
15331	return c
15332}
15333
15334// Header returns an http.Header that can be modified by the caller to
15335// add HTTP headers to the request.
15336func (c *AdvertisersPatchCall) Header() http.Header {
15337	if c.header_ == nil {
15338		c.header_ = make(http.Header)
15339	}
15340	return c.header_
15341}
15342
15343func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
15344	reqHeaders := make(http.Header)
15345	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15346	for k, v := range c.header_ {
15347		reqHeaders[k] = v
15348	}
15349	reqHeaders.Set("User-Agent", c.s.userAgent())
15350	var body io.Reader = nil
15351	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
15352	if err != nil {
15353		return nil, err
15354	}
15355	reqHeaders.Set("Content-Type", "application/json")
15356	c.urlParams_.Set("alt", alt)
15357	c.urlParams_.Set("prettyPrint", "false")
15358	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
15359	urls += "?" + c.urlParams_.Encode()
15360	req, err := http.NewRequest("PATCH", urls, body)
15361	if err != nil {
15362		return nil, err
15363	}
15364	req.Header = reqHeaders
15365	googleapi.Expand(req.URL, map[string]string{
15366		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15367	})
15368	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15369}
15370
15371// Do executes the "displayvideo.advertisers.patch" call.
15372// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
15373// status code is an error. Response headers are in either
15374// *Advertiser.ServerResponse.Header or (if a response was returned at
15375// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15376// to check whether the returned error was because
15377// http.StatusNotModified was returned.
15378func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
15379	gensupport.SetOptions(c.urlParams_, opts...)
15380	res, err := c.doRequest("json")
15381	if res != nil && res.StatusCode == http.StatusNotModified {
15382		if res.Body != nil {
15383			res.Body.Close()
15384		}
15385		return nil, &googleapi.Error{
15386			Code:   res.StatusCode,
15387			Header: res.Header,
15388		}
15389	}
15390	if err != nil {
15391		return nil, err
15392	}
15393	defer googleapi.CloseBody(res)
15394	if err := googleapi.CheckResponse(res); err != nil {
15395		return nil, err
15396	}
15397	ret := &Advertiser{
15398		ServerResponse: googleapi.ServerResponse{
15399			Header:         res.Header,
15400			HTTPStatusCode: res.StatusCode,
15401		},
15402	}
15403	target := &ret
15404	if err := gensupport.DecodeResponse(target, res); err != nil {
15405		return nil, err
15406	}
15407	return ret, nil
15408	// {
15409	//   "description": "Updates an existing advertiser. Returns the updated advertiser if successful.",
15410	//   "flatPath": "v1/advertisers/{advertisersId}",
15411	//   "httpMethod": "PATCH",
15412	//   "id": "displayvideo.advertisers.patch",
15413	//   "parameterOrder": [
15414	//     "advertiserId"
15415	//   ],
15416	//   "parameters": {
15417	//     "advertiserId": {
15418	//       "description": "Output only. The unique ID of the advertiser. Assigned by the system.",
15419	//       "format": "int64",
15420	//       "location": "path",
15421	//       "pattern": "^[^/]+$",
15422	//       "required": true,
15423	//       "type": "string"
15424	//     },
15425	//     "updateMask": {
15426	//       "description": "Required. The mask to control which fields to update.",
15427	//       "format": "google-fieldmask",
15428	//       "location": "query",
15429	//       "type": "string"
15430	//     }
15431	//   },
15432	//   "path": "v1/advertisers/{+advertiserId}",
15433	//   "request": {
15434	//     "$ref": "Advertiser"
15435	//   },
15436	//   "response": {
15437	//     "$ref": "Advertiser"
15438	//   },
15439	//   "scopes": [
15440	//     "https://www.googleapis.com/auth/display-video"
15441	//   ]
15442	// }
15443
15444}
15445
15446// method id "displayvideo.advertisers.assets.upload":
15447
15448type AdvertisersAssetsUploadCall struct {
15449	s                  *Service
15450	advertiserId       int64
15451	createassetrequest *CreateAssetRequest
15452	urlParams_         gensupport.URLParams
15453	mediaInfo_         *gensupport.MediaInfo
15454	ctx_               context.Context
15455	header_            http.Header
15456}
15457
15458// Upload: Uploads an asset. Returns the ID of the newly uploaded asset
15459// if successful. The asset file size should be no more than 10 MB for
15460// images, 200 MB for ZIP files, and 1 GB for videos.
15461//
15462// - advertiserId: The ID of the advertiser this asset belongs to.
15463func (r *AdvertisersAssetsService) Upload(advertiserId int64, createassetrequest *CreateAssetRequest) *AdvertisersAssetsUploadCall {
15464	c := &AdvertisersAssetsUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15465	c.advertiserId = advertiserId
15466	c.createassetrequest = createassetrequest
15467	return c
15468}
15469
15470// Media specifies the media to upload in one or more chunks. The chunk
15471// size may be controlled by supplying a MediaOption generated by
15472// googleapi.ChunkSize. The chunk size defaults to
15473// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
15474// upload request will be determined by sniffing the contents of r,
15475// unless a MediaOption generated by googleapi.ContentType is
15476// supplied.
15477// At most one of Media and ResumableMedia may be set.
15478func (c *AdvertisersAssetsUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *AdvertisersAssetsUploadCall {
15479	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
15480	return c
15481}
15482
15483// ResumableMedia specifies the media to upload in chunks and can be
15484// canceled with ctx.
15485//
15486// Deprecated: use Media instead.
15487//
15488// At most one of Media and ResumableMedia may be set. mediaType
15489// identifies the MIME media type of the upload, such as "image/png". If
15490// mediaType is "", it will be auto-detected. The provided ctx will
15491// supersede any context previously provided to the Context method.
15492func (c *AdvertisersAssetsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *AdvertisersAssetsUploadCall {
15493	c.ctx_ = ctx
15494	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
15495	return c
15496}
15497
15498// ProgressUpdater provides a callback function that will be called
15499// after every chunk. It should be a low-latency function in order to
15500// not slow down the upload operation. This should only be called when
15501// using ResumableMedia (as opposed to Media).
15502func (c *AdvertisersAssetsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *AdvertisersAssetsUploadCall {
15503	c.mediaInfo_.SetProgressUpdater(pu)
15504	return c
15505}
15506
15507// Fields allows partial responses to be retrieved. See
15508// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15509// for more information.
15510func (c *AdvertisersAssetsUploadCall) Fields(s ...googleapi.Field) *AdvertisersAssetsUploadCall {
15511	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15512	return c
15513}
15514
15515// Context sets the context to be used in this call's Do method. Any
15516// pending HTTP request will be aborted if the provided context is
15517// canceled.
15518// This context will supersede any context previously provided to the
15519// ResumableMedia method.
15520func (c *AdvertisersAssetsUploadCall) Context(ctx context.Context) *AdvertisersAssetsUploadCall {
15521	c.ctx_ = ctx
15522	return c
15523}
15524
15525// Header returns an http.Header that can be modified by the caller to
15526// add HTTP headers to the request.
15527func (c *AdvertisersAssetsUploadCall) Header() http.Header {
15528	if c.header_ == nil {
15529		c.header_ = make(http.Header)
15530	}
15531	return c.header_
15532}
15533
15534func (c *AdvertisersAssetsUploadCall) doRequest(alt string) (*http.Response, error) {
15535	reqHeaders := make(http.Header)
15536	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15537	for k, v := range c.header_ {
15538		reqHeaders[k] = v
15539	}
15540	reqHeaders.Set("User-Agent", c.s.userAgent())
15541	var body io.Reader = nil
15542	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createassetrequest)
15543	if err != nil {
15544		return nil, err
15545	}
15546	reqHeaders.Set("Content-Type", "application/json")
15547	c.urlParams_.Set("alt", alt)
15548	c.urlParams_.Set("prettyPrint", "false")
15549	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/assets")
15550	if c.mediaInfo_ != nil {
15551		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v1/advertisers/{+advertiserId}/assets")
15552		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
15553	}
15554	if body == nil {
15555		body = new(bytes.Buffer)
15556		reqHeaders.Set("Content-Type", "application/json")
15557	}
15558	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
15559	defer cleanup()
15560	urls += "?" + c.urlParams_.Encode()
15561	req, err := http.NewRequest("POST", urls, body)
15562	if err != nil {
15563		return nil, err
15564	}
15565	req.Header = reqHeaders
15566	req.GetBody = getBody
15567	googleapi.Expand(req.URL, map[string]string{
15568		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15569	})
15570	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15571}
15572
15573// Do executes the "displayvideo.advertisers.assets.upload" call.
15574// Exactly one of *CreateAssetResponse or error will be non-nil. Any
15575// non-2xx status code is an error. Response headers are in either
15576// *CreateAssetResponse.ServerResponse.Header or (if a response was
15577// returned at all) in error.(*googleapi.Error).Header. Use
15578// googleapi.IsNotModified to check whether the returned error was
15579// because http.StatusNotModified was returned.
15580func (c *AdvertisersAssetsUploadCall) Do(opts ...googleapi.CallOption) (*CreateAssetResponse, error) {
15581	gensupport.SetOptions(c.urlParams_, opts...)
15582	res, err := c.doRequest("json")
15583	if res != nil && res.StatusCode == http.StatusNotModified {
15584		if res.Body != nil {
15585			res.Body.Close()
15586		}
15587		return nil, &googleapi.Error{
15588			Code:   res.StatusCode,
15589			Header: res.Header,
15590		}
15591	}
15592	if err != nil {
15593		return nil, err
15594	}
15595	defer googleapi.CloseBody(res)
15596	if err := googleapi.CheckResponse(res); err != nil {
15597		return nil, err
15598	}
15599	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
15600	if rx != nil {
15601		rx.Client = c.s.client
15602		rx.UserAgent = c.s.userAgent()
15603		ctx := c.ctx_
15604		if ctx == nil {
15605			ctx = context.TODO()
15606		}
15607		res, err = rx.Upload(ctx)
15608		if err != nil {
15609			return nil, err
15610		}
15611		defer res.Body.Close()
15612		if err := googleapi.CheckResponse(res); err != nil {
15613			return nil, err
15614		}
15615	}
15616	ret := &CreateAssetResponse{
15617		ServerResponse: googleapi.ServerResponse{
15618			Header:         res.Header,
15619			HTTPStatusCode: res.StatusCode,
15620		},
15621	}
15622	target := &ret
15623	if err := gensupport.DecodeResponse(target, res); err != nil {
15624		return nil, err
15625	}
15626	return ret, nil
15627	// {
15628	//   "description": "Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos.",
15629	//   "flatPath": "v1/advertisers/{advertisersId}/assets",
15630	//   "httpMethod": "POST",
15631	//   "id": "displayvideo.advertisers.assets.upload",
15632	//   "mediaUpload": {
15633	//     "accept": [
15634	//       "*/*"
15635	//     ],
15636	//     "protocols": {
15637	//       "simple": {
15638	//         "multipart": true,
15639	//         "path": "/upload/v1/advertisers/{+advertiserId}/assets"
15640	//       }
15641	//     }
15642	//   },
15643	//   "parameterOrder": [
15644	//     "advertiserId"
15645	//   ],
15646	//   "parameters": {
15647	//     "advertiserId": {
15648	//       "description": "Required. The ID of the advertiser this asset belongs to.",
15649	//       "format": "int64",
15650	//       "location": "path",
15651	//       "pattern": "^[^/]+$",
15652	//       "required": true,
15653	//       "type": "string"
15654	//     }
15655	//   },
15656	//   "path": "v1/advertisers/{+advertiserId}/assets",
15657	//   "request": {
15658	//     "$ref": "CreateAssetRequest"
15659	//   },
15660	//   "response": {
15661	//     "$ref": "CreateAssetResponse"
15662	//   },
15663	//   "scopes": [
15664	//     "https://www.googleapis.com/auth/display-video"
15665	//   ],
15666	//   "supportsMediaUpload": true
15667	// }
15668
15669}
15670
15671// method id "displayvideo.advertisers.campaigns.bulkListCampaignAssignedTargetingOptions":
15672
15673type AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall struct {
15674	s            *Service
15675	advertiserId int64
15676	campaignId   int64
15677	urlParams_   gensupport.URLParams
15678	ifNoneMatch_ string
15679	ctx_         context.Context
15680	header_      http.Header
15681}
15682
15683// BulkListCampaignAssignedTargetingOptions: Lists assigned targeting
15684// options of a campaign across targeting types.
15685//
15686// - advertiserId: The ID of the advertiser the campaign belongs to.
15687// - campaignId: The ID of the campaign to list assigned targeting
15688//   options for.
15689func (r *AdvertisersCampaignsService) BulkListCampaignAssignedTargetingOptions(advertiserId int64, campaignId int64) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15690	c := &AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15691	c.advertiserId = advertiserId
15692	c.campaignId = campaignId
15693	return c
15694}
15695
15696// Filter sets the optional parameter "filter": Allows filtering by
15697// assigned targeting option properties. Supported syntax: * Filter
15698// expressions are made up of one or more restrictions. * Restrictions
15699// can be combined by the logical operator `OR` on the same field. * A
15700// restriction has the form of `{field} {operator} {value}`. * The
15701// operator must be `EQUALS (=)`. * Supported fields: - `targetingType`
15702// - `inheritance` Examples: * AssignedTargetingOptions of targeting
15703// type TARGETING_TYPE_LANGUAGE or TARGETING_TYPE_GENDER
15704// `targetingType="TARGETING_TYPE_LANGUAGE" OR
15705// targetingType="TARGETING_TYPE_GENDER" * AssignedTargetingOptions
15706// with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER
15707// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"
15708// The length of this field should be no more than 500 characters.
15709func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15710	c.urlParams_.Set("filter", filter)
15711	return c
15712}
15713
15714// OrderBy sets the optional parameter "orderBy": Field by which to sort
15715// the list. Acceptable values are: * `targetingType` (default) The
15716// default sorting order is ascending. To specify descending order for a
15717// field, a suffix "desc" should be added to the field name. Example:
15718// `targetingType desc`.
15719func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15720	c.urlParams_.Set("orderBy", orderBy)
15721	return c
15722}
15723
15724// PageSize sets the optional parameter "pageSize": Requested page size.
15725// The size must be an integer between `1` and `5000`. If unspecified,
15726// the default is `5000`. Returns error code `INVALID_ARGUMENT` if an
15727// invalid value is specified.
15728func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15729	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15730	return c
15731}
15732
15733// PageToken sets the optional parameter "pageToken": A token that lets
15734// the client fetch the next page of results. Typically, this is the
15735// value of next_page_token returned from the previous call to
15736// `BulkListCampaignAssignedTargetingOptions` method. If not specified,
15737// the first page of results will be returned.
15738func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15739	c.urlParams_.Set("pageToken", pageToken)
15740	return c
15741}
15742
15743// Fields allows partial responses to be retrieved. See
15744// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15745// for more information.
15746func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15747	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15748	return c
15749}
15750
15751// IfNoneMatch sets the optional parameter which makes the operation
15752// fail if the object's ETag matches the given value. This is useful for
15753// getting updates only after the object has changed since the last
15754// request. Use googleapi.IsNotModified to check whether the response
15755// error from Do is the result of In-None-Match.
15756func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15757	c.ifNoneMatch_ = entityTag
15758	return c
15759}
15760
15761// Context sets the context to be used in this call's Do method. Any
15762// pending HTTP request will be aborted if the provided context is
15763// canceled.
15764func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
15765	c.ctx_ = ctx
15766	return c
15767}
15768
15769// Header returns an http.Header that can be modified by the caller to
15770// add HTTP headers to the request.
15771func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Header() http.Header {
15772	if c.header_ == nil {
15773		c.header_ = make(http.Header)
15774	}
15775	return c.header_
15776}
15777
15778func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
15779	reqHeaders := make(http.Header)
15780	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15781	for k, v := range c.header_ {
15782		reqHeaders[k] = v
15783	}
15784	reqHeaders.Set("User-Agent", c.s.userAgent())
15785	if c.ifNoneMatch_ != "" {
15786		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15787	}
15788	var body io.Reader = nil
15789	c.urlParams_.Set("alt", alt)
15790	c.urlParams_.Set("prettyPrint", "false")
15791	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}:bulkListCampaignAssignedTargetingOptions")
15792	urls += "?" + c.urlParams_.Encode()
15793	req, err := http.NewRequest("GET", urls, body)
15794	if err != nil {
15795		return nil, err
15796	}
15797	req.Header = reqHeaders
15798	googleapi.Expand(req.URL, map[string]string{
15799		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15800		"campaignId":   strconv.FormatInt(c.campaignId, 10),
15801	})
15802	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15803}
15804
15805// Do executes the "displayvideo.advertisers.campaigns.bulkListCampaignAssignedTargetingOptions" call.
15806// Exactly one of *BulkListCampaignAssignedTargetingOptionsResponse or
15807// error will be non-nil. Any non-2xx status code is an error. Response
15808// headers are in either
15809// *BulkListCampaignAssignedTargetingOptionsResponse.ServerResponse.Heade
15810// r or (if a response was returned at all) in
15811// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
15812// whether the returned error was because http.StatusNotModified was
15813// returned.
15814func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListCampaignAssignedTargetingOptionsResponse, error) {
15815	gensupport.SetOptions(c.urlParams_, opts...)
15816	res, err := c.doRequest("json")
15817	if res != nil && res.StatusCode == http.StatusNotModified {
15818		if res.Body != nil {
15819			res.Body.Close()
15820		}
15821		return nil, &googleapi.Error{
15822			Code:   res.StatusCode,
15823			Header: res.Header,
15824		}
15825	}
15826	if err != nil {
15827		return nil, err
15828	}
15829	defer googleapi.CloseBody(res)
15830	if err := googleapi.CheckResponse(res); err != nil {
15831		return nil, err
15832	}
15833	ret := &BulkListCampaignAssignedTargetingOptionsResponse{
15834		ServerResponse: googleapi.ServerResponse{
15835			Header:         res.Header,
15836			HTTPStatusCode: res.StatusCode,
15837		},
15838	}
15839	target := &ret
15840	if err := gensupport.DecodeResponse(target, res); err != nil {
15841		return nil, err
15842	}
15843	return ret, nil
15844	// {
15845	//   "description": "Lists assigned targeting options of a campaign across targeting types.",
15846	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}:bulkListCampaignAssignedTargetingOptions",
15847	//   "httpMethod": "GET",
15848	//   "id": "displayvideo.advertisers.campaigns.bulkListCampaignAssignedTargetingOptions",
15849	//   "parameterOrder": [
15850	//     "advertiserId",
15851	//     "campaignId"
15852	//   ],
15853	//   "parameters": {
15854	//     "advertiserId": {
15855	//       "description": "Required. The ID of the advertiser the campaign belongs to.",
15856	//       "format": "int64",
15857	//       "location": "path",
15858	//       "pattern": "^[^/]+$",
15859	//       "required": true,
15860	//       "type": "string"
15861	//     },
15862	//     "campaignId": {
15863	//       "description": "Required. The ID of the campaign to list assigned targeting options for.",
15864	//       "format": "int64",
15865	//       "location": "path",
15866	//       "pattern": "^[^/]+$",
15867	//       "required": true,
15868	//       "type": "string"
15869	//     },
15870	//     "filter": {
15871	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR` on the same field. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `targetingType` - `inheritance` Examples: * AssignedTargetingOptions of targeting type TARGETING_TYPE_LANGUAGE or TARGETING_TYPE_GENDER `targetingType=\"TARGETING_TYPE_LANGUAGE\" OR targetingType=\"TARGETING_TYPE_GENDER\"` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters.",
15872	//       "location": "query",
15873	//       "type": "string"
15874	//     },
15875	//     "orderBy": {
15876	//       "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.",
15877	//       "location": "query",
15878	//       "type": "string"
15879	//     },
15880	//     "pageSize": {
15881	//       "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
15882	//       "format": "int32",
15883	//       "location": "query",
15884	//       "type": "integer"
15885	//     },
15886	//     "pageToken": {
15887	//       "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
15888	//       "location": "query",
15889	//       "type": "string"
15890	//     }
15891	//   },
15892	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}:bulkListCampaignAssignedTargetingOptions",
15893	//   "response": {
15894	//     "$ref": "BulkListCampaignAssignedTargetingOptionsResponse"
15895	//   },
15896	//   "scopes": [
15897	//     "https://www.googleapis.com/auth/display-video"
15898	//   ]
15899	// }
15900
15901}
15902
15903// Pages invokes f for each page of results.
15904// A non-nil error returned from f will halt the iteration.
15905// The provided context supersedes any context provided to the Context method.
15906func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListCampaignAssignedTargetingOptionsResponse) error) error {
15907	c.ctx_ = ctx
15908	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15909	for {
15910		x, err := c.Do()
15911		if err != nil {
15912			return err
15913		}
15914		if err := f(x); err != nil {
15915			return err
15916		}
15917		if x.NextPageToken == "" {
15918			return nil
15919		}
15920		c.PageToken(x.NextPageToken)
15921	}
15922}
15923
15924// method id "displayvideo.advertisers.campaigns.create":
15925
15926type AdvertisersCampaignsCreateCall struct {
15927	s            *Service
15928	advertiserId int64
15929	campaign     *Campaign
15930	urlParams_   gensupport.URLParams
15931	ctx_         context.Context
15932	header_      http.Header
15933}
15934
15935// Create: Creates a new campaign. Returns the newly created campaign if
15936// successful.
15937//
15938// - advertiserId: Output only. The unique ID of the advertiser the
15939//   campaign belongs to.
15940func (r *AdvertisersCampaignsService) Create(advertiserId int64, campaign *Campaign) *AdvertisersCampaignsCreateCall {
15941	c := &AdvertisersCampaignsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15942	c.advertiserId = advertiserId
15943	c.campaign = campaign
15944	return c
15945}
15946
15947// Fields allows partial responses to be retrieved. See
15948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15949// for more information.
15950func (c *AdvertisersCampaignsCreateCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsCreateCall {
15951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15952	return c
15953}
15954
15955// Context sets the context to be used in this call's Do method. Any
15956// pending HTTP request will be aborted if the provided context is
15957// canceled.
15958func (c *AdvertisersCampaignsCreateCall) Context(ctx context.Context) *AdvertisersCampaignsCreateCall {
15959	c.ctx_ = ctx
15960	return c
15961}
15962
15963// Header returns an http.Header that can be modified by the caller to
15964// add HTTP headers to the request.
15965func (c *AdvertisersCampaignsCreateCall) Header() http.Header {
15966	if c.header_ == nil {
15967		c.header_ = make(http.Header)
15968	}
15969	return c.header_
15970}
15971
15972func (c *AdvertisersCampaignsCreateCall) doRequest(alt string) (*http.Response, error) {
15973	reqHeaders := make(http.Header)
15974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
15975	for k, v := range c.header_ {
15976		reqHeaders[k] = v
15977	}
15978	reqHeaders.Set("User-Agent", c.s.userAgent())
15979	var body io.Reader = nil
15980	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
15981	if err != nil {
15982		return nil, err
15983	}
15984	reqHeaders.Set("Content-Type", "application/json")
15985	c.urlParams_.Set("alt", alt)
15986	c.urlParams_.Set("prettyPrint", "false")
15987	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns")
15988	urls += "?" + c.urlParams_.Encode()
15989	req, err := http.NewRequest("POST", urls, body)
15990	if err != nil {
15991		return nil, err
15992	}
15993	req.Header = reqHeaders
15994	googleapi.Expand(req.URL, map[string]string{
15995		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15996	})
15997	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15998}
15999
16000// Do executes the "displayvideo.advertisers.campaigns.create" call.
16001// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
16002// code is an error. Response headers are in either
16003// *Campaign.ServerResponse.Header or (if a response was returned at
16004// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16005// to check whether the returned error was because
16006// http.StatusNotModified was returned.
16007func (c *AdvertisersCampaignsCreateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
16008	gensupport.SetOptions(c.urlParams_, opts...)
16009	res, err := c.doRequest("json")
16010	if res != nil && res.StatusCode == http.StatusNotModified {
16011		if res.Body != nil {
16012			res.Body.Close()
16013		}
16014		return nil, &googleapi.Error{
16015			Code:   res.StatusCode,
16016			Header: res.Header,
16017		}
16018	}
16019	if err != nil {
16020		return nil, err
16021	}
16022	defer googleapi.CloseBody(res)
16023	if err := googleapi.CheckResponse(res); err != nil {
16024		return nil, err
16025	}
16026	ret := &Campaign{
16027		ServerResponse: googleapi.ServerResponse{
16028			Header:         res.Header,
16029			HTTPStatusCode: res.StatusCode,
16030		},
16031	}
16032	target := &ret
16033	if err := gensupport.DecodeResponse(target, res); err != nil {
16034		return nil, err
16035	}
16036	return ret, nil
16037	// {
16038	//   "description": "Creates a new campaign. Returns the newly created campaign if successful.",
16039	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns",
16040	//   "httpMethod": "POST",
16041	//   "id": "displayvideo.advertisers.campaigns.create",
16042	//   "parameterOrder": [
16043	//     "advertiserId"
16044	//   ],
16045	//   "parameters": {
16046	//     "advertiserId": {
16047	//       "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
16048	//       "format": "int64",
16049	//       "location": "path",
16050	//       "pattern": "^[^/]+$",
16051	//       "required": true,
16052	//       "type": "string"
16053	//     }
16054	//   },
16055	//   "path": "v1/advertisers/{+advertiserId}/campaigns",
16056	//   "request": {
16057	//     "$ref": "Campaign"
16058	//   },
16059	//   "response": {
16060	//     "$ref": "Campaign"
16061	//   },
16062	//   "scopes": [
16063	//     "https://www.googleapis.com/auth/display-video",
16064	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16065	//   ]
16066	// }
16067
16068}
16069
16070// method id "displayvideo.advertisers.campaigns.delete":
16071
16072type AdvertisersCampaignsDeleteCall struct {
16073	s            *Service
16074	advertiserId int64
16075	campaignId   int64
16076	urlParams_   gensupport.URLParams
16077	ctx_         context.Context
16078	header_      http.Header
16079}
16080
16081// Delete: Permanently deletes a campaign. A deleted campaign cannot be
16082// recovered. The campaign should be archived first, i.e. set
16083// entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.
16084//
16085// - advertiserId: The ID of the advertiser this campaign belongs to.
16086// - campaignId: The ID of the campaign we need to delete.
16087func (r *AdvertisersCampaignsService) Delete(advertiserId int64, campaignId int64) *AdvertisersCampaignsDeleteCall {
16088	c := &AdvertisersCampaignsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16089	c.advertiserId = advertiserId
16090	c.campaignId = campaignId
16091	return c
16092}
16093
16094// Fields allows partial responses to be retrieved. See
16095// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16096// for more information.
16097func (c *AdvertisersCampaignsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsDeleteCall {
16098	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16099	return c
16100}
16101
16102// Context sets the context to be used in this call's Do method. Any
16103// pending HTTP request will be aborted if the provided context is
16104// canceled.
16105func (c *AdvertisersCampaignsDeleteCall) Context(ctx context.Context) *AdvertisersCampaignsDeleteCall {
16106	c.ctx_ = ctx
16107	return c
16108}
16109
16110// Header returns an http.Header that can be modified by the caller to
16111// add HTTP headers to the request.
16112func (c *AdvertisersCampaignsDeleteCall) Header() http.Header {
16113	if c.header_ == nil {
16114		c.header_ = make(http.Header)
16115	}
16116	return c.header_
16117}
16118
16119func (c *AdvertisersCampaignsDeleteCall) doRequest(alt string) (*http.Response, error) {
16120	reqHeaders := make(http.Header)
16121	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16122	for k, v := range c.header_ {
16123		reqHeaders[k] = v
16124	}
16125	reqHeaders.Set("User-Agent", c.s.userAgent())
16126	var body io.Reader = nil
16127	c.urlParams_.Set("alt", alt)
16128	c.urlParams_.Set("prettyPrint", "false")
16129	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
16130	urls += "?" + c.urlParams_.Encode()
16131	req, err := http.NewRequest("DELETE", urls, body)
16132	if err != nil {
16133		return nil, err
16134	}
16135	req.Header = reqHeaders
16136	googleapi.Expand(req.URL, map[string]string{
16137		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16138		"campaignId":   strconv.FormatInt(c.campaignId, 10),
16139	})
16140	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16141}
16142
16143// Do executes the "displayvideo.advertisers.campaigns.delete" call.
16144// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16145// code is an error. Response headers are in either
16146// *Empty.ServerResponse.Header or (if a response was returned at all)
16147// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16148// check whether the returned error was because http.StatusNotModified
16149// was returned.
16150func (c *AdvertisersCampaignsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16151	gensupport.SetOptions(c.urlParams_, opts...)
16152	res, err := c.doRequest("json")
16153	if res != nil && res.StatusCode == http.StatusNotModified {
16154		if res.Body != nil {
16155			res.Body.Close()
16156		}
16157		return nil, &googleapi.Error{
16158			Code:   res.StatusCode,
16159			Header: res.Header,
16160		}
16161	}
16162	if err != nil {
16163		return nil, err
16164	}
16165	defer googleapi.CloseBody(res)
16166	if err := googleapi.CheckResponse(res); err != nil {
16167		return nil, err
16168	}
16169	ret := &Empty{
16170		ServerResponse: googleapi.ServerResponse{
16171			Header:         res.Header,
16172			HTTPStatusCode: res.StatusCode,
16173		},
16174	}
16175	target := &ret
16176	if err := gensupport.DecodeResponse(target, res); err != nil {
16177		return nil, err
16178	}
16179	return ret, nil
16180	// {
16181	//   "description": "Permanently deletes a campaign. A deleted campaign cannot be recovered. The campaign should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.",
16182	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
16183	//   "httpMethod": "DELETE",
16184	//   "id": "displayvideo.advertisers.campaigns.delete",
16185	//   "parameterOrder": [
16186	//     "advertiserId",
16187	//     "campaignId"
16188	//   ],
16189	//   "parameters": {
16190	//     "advertiserId": {
16191	//       "description": "The ID of the advertiser this campaign belongs to.",
16192	//       "format": "int64",
16193	//       "location": "path",
16194	//       "pattern": "^[^/]+$",
16195	//       "required": true,
16196	//       "type": "string"
16197	//     },
16198	//     "campaignId": {
16199	//       "description": "The ID of the campaign we need to delete.",
16200	//       "format": "int64",
16201	//       "location": "path",
16202	//       "pattern": "^[^/]+$",
16203	//       "required": true,
16204	//       "type": "string"
16205	//     }
16206	//   },
16207	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
16208	//   "response": {
16209	//     "$ref": "Empty"
16210	//   },
16211	//   "scopes": [
16212	//     "https://www.googleapis.com/auth/display-video",
16213	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16214	//   ]
16215	// }
16216
16217}
16218
16219// method id "displayvideo.advertisers.campaigns.get":
16220
16221type AdvertisersCampaignsGetCall struct {
16222	s            *Service
16223	advertiserId int64
16224	campaignId   int64
16225	urlParams_   gensupport.URLParams
16226	ifNoneMatch_ string
16227	ctx_         context.Context
16228	header_      http.Header
16229}
16230
16231// Get: Gets a campaign.
16232//
16233// - advertiserId: The ID of the advertiser this campaign belongs to.
16234// - campaignId: The ID of the campaign to fetch.
16235func (r *AdvertisersCampaignsService) Get(advertiserId int64, campaignId int64) *AdvertisersCampaignsGetCall {
16236	c := &AdvertisersCampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16237	c.advertiserId = advertiserId
16238	c.campaignId = campaignId
16239	return c
16240}
16241
16242// Fields allows partial responses to be retrieved. See
16243// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16244// for more information.
16245func (c *AdvertisersCampaignsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsGetCall {
16246	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16247	return c
16248}
16249
16250// IfNoneMatch sets the optional parameter which makes the operation
16251// fail if the object's ETag matches the given value. This is useful for
16252// getting updates only after the object has changed since the last
16253// request. Use googleapi.IsNotModified to check whether the response
16254// error from Do is the result of In-None-Match.
16255func (c *AdvertisersCampaignsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsGetCall {
16256	c.ifNoneMatch_ = entityTag
16257	return c
16258}
16259
16260// Context sets the context to be used in this call's Do method. Any
16261// pending HTTP request will be aborted if the provided context is
16262// canceled.
16263func (c *AdvertisersCampaignsGetCall) Context(ctx context.Context) *AdvertisersCampaignsGetCall {
16264	c.ctx_ = ctx
16265	return c
16266}
16267
16268// Header returns an http.Header that can be modified by the caller to
16269// add HTTP headers to the request.
16270func (c *AdvertisersCampaignsGetCall) Header() http.Header {
16271	if c.header_ == nil {
16272		c.header_ = make(http.Header)
16273	}
16274	return c.header_
16275}
16276
16277func (c *AdvertisersCampaignsGetCall) doRequest(alt string) (*http.Response, error) {
16278	reqHeaders := make(http.Header)
16279	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16280	for k, v := range c.header_ {
16281		reqHeaders[k] = v
16282	}
16283	reqHeaders.Set("User-Agent", c.s.userAgent())
16284	if c.ifNoneMatch_ != "" {
16285		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16286	}
16287	var body io.Reader = nil
16288	c.urlParams_.Set("alt", alt)
16289	c.urlParams_.Set("prettyPrint", "false")
16290	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
16291	urls += "?" + c.urlParams_.Encode()
16292	req, err := http.NewRequest("GET", urls, body)
16293	if err != nil {
16294		return nil, err
16295	}
16296	req.Header = reqHeaders
16297	googleapi.Expand(req.URL, map[string]string{
16298		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16299		"campaignId":   strconv.FormatInt(c.campaignId, 10),
16300	})
16301	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16302}
16303
16304// Do executes the "displayvideo.advertisers.campaigns.get" call.
16305// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
16306// code is an error. Response headers are in either
16307// *Campaign.ServerResponse.Header or (if a response was returned at
16308// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16309// to check whether the returned error was because
16310// http.StatusNotModified was returned.
16311func (c *AdvertisersCampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
16312	gensupport.SetOptions(c.urlParams_, opts...)
16313	res, err := c.doRequest("json")
16314	if res != nil && res.StatusCode == http.StatusNotModified {
16315		if res.Body != nil {
16316			res.Body.Close()
16317		}
16318		return nil, &googleapi.Error{
16319			Code:   res.StatusCode,
16320			Header: res.Header,
16321		}
16322	}
16323	if err != nil {
16324		return nil, err
16325	}
16326	defer googleapi.CloseBody(res)
16327	if err := googleapi.CheckResponse(res); err != nil {
16328		return nil, err
16329	}
16330	ret := &Campaign{
16331		ServerResponse: googleapi.ServerResponse{
16332			Header:         res.Header,
16333			HTTPStatusCode: res.StatusCode,
16334		},
16335	}
16336	target := &ret
16337	if err := gensupport.DecodeResponse(target, res); err != nil {
16338		return nil, err
16339	}
16340	return ret, nil
16341	// {
16342	//   "description": "Gets a campaign.",
16343	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
16344	//   "httpMethod": "GET",
16345	//   "id": "displayvideo.advertisers.campaigns.get",
16346	//   "parameterOrder": [
16347	//     "advertiserId",
16348	//     "campaignId"
16349	//   ],
16350	//   "parameters": {
16351	//     "advertiserId": {
16352	//       "description": "Required. The ID of the advertiser this campaign belongs to.",
16353	//       "format": "int64",
16354	//       "location": "path",
16355	//       "pattern": "^[^/]+$",
16356	//       "required": true,
16357	//       "type": "string"
16358	//     },
16359	//     "campaignId": {
16360	//       "description": "Required. The ID of the campaign to fetch.",
16361	//       "format": "int64",
16362	//       "location": "path",
16363	//       "pattern": "^[^/]+$",
16364	//       "required": true,
16365	//       "type": "string"
16366	//     }
16367	//   },
16368	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
16369	//   "response": {
16370	//     "$ref": "Campaign"
16371	//   },
16372	//   "scopes": [
16373	//     "https://www.googleapis.com/auth/display-video",
16374	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16375	//   ]
16376	// }
16377
16378}
16379
16380// method id "displayvideo.advertisers.campaigns.list":
16381
16382type AdvertisersCampaignsListCall struct {
16383	s            *Service
16384	advertiserId int64
16385	urlParams_   gensupport.URLParams
16386	ifNoneMatch_ string
16387	ctx_         context.Context
16388	header_      http.Header
16389}
16390
16391// List: Lists campaigns in an advertiser. The order is defined by the
16392// order_by parameter. If a filter by entity_status is not specified,
16393// campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the
16394// results.
16395//
16396// - advertiserId: The ID of the advertiser to list campaigns for.
16397func (r *AdvertisersCampaignsService) List(advertiserId int64) *AdvertisersCampaignsListCall {
16398	c := &AdvertisersCampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16399	c.advertiserId = advertiserId
16400	return c
16401}
16402
16403// Filter sets the optional parameter "filter": Allows filtering by
16404// campaign properties. Supported syntax: * Filter expressions are made
16405// up of one or more restrictions. * Restrictions can be combined by
16406// `AND` or `OR` logical operators. A sequence of restrictions
16407// implicitly uses `AND`. * A restriction has the form of `{field}
16408// {operator} {value}`. * The operator used on `updateTime` must be
16409// `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. *
16410// The operator must be `EQUALS (=)`. * Supported fields: - `campaignId`
16411// - `displayName` - `entityStatus` - `updateTime` (input in ISO 8601
16412// format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All
16413// `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an
16414// advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
16415// entityStatus="ENTITY_STATUS_PAUSED")` * All campaigns with an update
16416// time less than or equal to `2020-11-04T18:54:47Z (format of ISO
16417// 8601)`: `updateTime<="2020-11-04T18:54:47Z" * All campaigns with an
16418// update time greater than or equal to `2020-11-04T18:54:47Z (format of
16419// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this
16420// field should be no more than 500 characters.
16421func (c *AdvertisersCampaignsListCall) Filter(filter string) *AdvertisersCampaignsListCall {
16422	c.urlParams_.Set("filter", filter)
16423	return c
16424}
16425
16426// OrderBy sets the optional parameter "orderBy": Field by which to sort
16427// the list. Acceptable values are: * `displayName` (default) *
16428// `entityStatus` * `updateTime` The default sorting order is ascending.
16429// To specify descending order for a field, a suffix "desc" should be
16430// added to the field name. Example: `displayName desc`.
16431func (c *AdvertisersCampaignsListCall) OrderBy(orderBy string) *AdvertisersCampaignsListCall {
16432	c.urlParams_.Set("orderBy", orderBy)
16433	return c
16434}
16435
16436// PageSize sets the optional parameter "pageSize": Requested page size.
16437// Must be between `1` and `100`. If unspecified will default to `100`.
16438func (c *AdvertisersCampaignsListCall) PageSize(pageSize int64) *AdvertisersCampaignsListCall {
16439	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16440	return c
16441}
16442
16443// PageToken sets the optional parameter "pageToken": A token
16444// identifying a page of results the server should return. Typically,
16445// this is the value of next_page_token returned from the previous call
16446// to `ListCampaigns` method. If not specified, the first page of
16447// results will be returned.
16448func (c *AdvertisersCampaignsListCall) PageToken(pageToken string) *AdvertisersCampaignsListCall {
16449	c.urlParams_.Set("pageToken", pageToken)
16450	return c
16451}
16452
16453// Fields allows partial responses to be retrieved. See
16454// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16455// for more information.
16456func (c *AdvertisersCampaignsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListCall {
16457	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16458	return c
16459}
16460
16461// IfNoneMatch sets the optional parameter which makes the operation
16462// fail if the object's ETag matches the given value. This is useful for
16463// getting updates only after the object has changed since the last
16464// request. Use googleapi.IsNotModified to check whether the response
16465// error from Do is the result of In-None-Match.
16466func (c *AdvertisersCampaignsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListCall {
16467	c.ifNoneMatch_ = entityTag
16468	return c
16469}
16470
16471// Context sets the context to be used in this call's Do method. Any
16472// pending HTTP request will be aborted if the provided context is
16473// canceled.
16474func (c *AdvertisersCampaignsListCall) Context(ctx context.Context) *AdvertisersCampaignsListCall {
16475	c.ctx_ = ctx
16476	return c
16477}
16478
16479// Header returns an http.Header that can be modified by the caller to
16480// add HTTP headers to the request.
16481func (c *AdvertisersCampaignsListCall) Header() http.Header {
16482	if c.header_ == nil {
16483		c.header_ = make(http.Header)
16484	}
16485	return c.header_
16486}
16487
16488func (c *AdvertisersCampaignsListCall) doRequest(alt string) (*http.Response, error) {
16489	reqHeaders := make(http.Header)
16490	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16491	for k, v := range c.header_ {
16492		reqHeaders[k] = v
16493	}
16494	reqHeaders.Set("User-Agent", c.s.userAgent())
16495	if c.ifNoneMatch_ != "" {
16496		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16497	}
16498	var body io.Reader = nil
16499	c.urlParams_.Set("alt", alt)
16500	c.urlParams_.Set("prettyPrint", "false")
16501	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns")
16502	urls += "?" + c.urlParams_.Encode()
16503	req, err := http.NewRequest("GET", urls, body)
16504	if err != nil {
16505		return nil, err
16506	}
16507	req.Header = reqHeaders
16508	googleapi.Expand(req.URL, map[string]string{
16509		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16510	})
16511	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16512}
16513
16514// Do executes the "displayvideo.advertisers.campaigns.list" call.
16515// Exactly one of *ListCampaignsResponse or error will be non-nil. Any
16516// non-2xx status code is an error. Response headers are in either
16517// *ListCampaignsResponse.ServerResponse.Header or (if a response was
16518// returned at all) in error.(*googleapi.Error).Header. Use
16519// googleapi.IsNotModified to check whether the returned error was
16520// because http.StatusNotModified was returned.
16521func (c *AdvertisersCampaignsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignsResponse, error) {
16522	gensupport.SetOptions(c.urlParams_, opts...)
16523	res, err := c.doRequest("json")
16524	if res != nil && res.StatusCode == http.StatusNotModified {
16525		if res.Body != nil {
16526			res.Body.Close()
16527		}
16528		return nil, &googleapi.Error{
16529			Code:   res.StatusCode,
16530			Header: res.Header,
16531		}
16532	}
16533	if err != nil {
16534		return nil, err
16535	}
16536	defer googleapi.CloseBody(res)
16537	if err := googleapi.CheckResponse(res); err != nil {
16538		return nil, err
16539	}
16540	ret := &ListCampaignsResponse{
16541		ServerResponse: googleapi.ServerResponse{
16542			Header:         res.Header,
16543			HTTPStatusCode: res.StatusCode,
16544		},
16545	}
16546	target := &ret
16547	if err := gensupport.DecodeResponse(target, res); err != nil {
16548		return nil, err
16549	}
16550	return ret, nil
16551	// {
16552	//   "description": "Lists campaigns in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
16553	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns",
16554	//   "httpMethod": "GET",
16555	//   "id": "displayvideo.advertisers.campaigns.list",
16556	//   "parameterOrder": [
16557	//     "advertiserId"
16558	//   ],
16559	//   "parameters": {
16560	//     "advertiserId": {
16561	//       "description": "The ID of the advertiser to list campaigns for.",
16562	//       "format": "int64",
16563	//       "location": "path",
16564	//       "pattern": "^[^/]+$",
16565	//       "required": true,
16566	//       "type": "string"
16567	//     },
16568	//     "filter": {
16569	//       "description": "Allows filtering by campaign properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)`. * The operator must be `EQUALS (=)`. * Supported fields: - `campaignId` - `displayName` - `entityStatus` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All campaigns with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All campaigns with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters.",
16570	//       "location": "query",
16571	//       "type": "string"
16572	//     },
16573	//     "orderBy": {
16574	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
16575	//       "location": "query",
16576	//       "type": "string"
16577	//     },
16578	//     "pageSize": {
16579	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
16580	//       "format": "int32",
16581	//       "location": "query",
16582	//       "type": "integer"
16583	//     },
16584	//     "pageToken": {
16585	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaigns` method. If not specified, the first page of results will be returned.",
16586	//       "location": "query",
16587	//       "type": "string"
16588	//     }
16589	//   },
16590	//   "path": "v1/advertisers/{+advertiserId}/campaigns",
16591	//   "response": {
16592	//     "$ref": "ListCampaignsResponse"
16593	//   },
16594	//   "scopes": [
16595	//     "https://www.googleapis.com/auth/display-video",
16596	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16597	//   ]
16598	// }
16599
16600}
16601
16602// Pages invokes f for each page of results.
16603// A non-nil error returned from f will halt the iteration.
16604// The provided context supersedes any context provided to the Context method.
16605func (c *AdvertisersCampaignsListCall) Pages(ctx context.Context, f func(*ListCampaignsResponse) error) error {
16606	c.ctx_ = ctx
16607	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16608	for {
16609		x, err := c.Do()
16610		if err != nil {
16611			return err
16612		}
16613		if err := f(x); err != nil {
16614			return err
16615		}
16616		if x.NextPageToken == "" {
16617			return nil
16618		}
16619		c.PageToken(x.NextPageToken)
16620	}
16621}
16622
16623// method id "displayvideo.advertisers.campaigns.patch":
16624
16625type AdvertisersCampaignsPatchCall struct {
16626	s            *Service
16627	advertiserId int64
16628	campaignId   int64
16629	campaign     *Campaign
16630	urlParams_   gensupport.URLParams
16631	ctx_         context.Context
16632	header_      http.Header
16633}
16634
16635// Patch: Updates an existing campaign. Returns the updated campaign if
16636// successful.
16637//
16638// - advertiserId: Output only. The unique ID of the advertiser the
16639//   campaign belongs to.
16640// - campaignId: Output only. The unique ID of the campaign. Assigned by
16641//   the system.
16642func (r *AdvertisersCampaignsService) Patch(advertiserId int64, campaignId int64, campaign *Campaign) *AdvertisersCampaignsPatchCall {
16643	c := &AdvertisersCampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16644	c.advertiserId = advertiserId
16645	c.campaignId = campaignId
16646	c.campaign = campaign
16647	return c
16648}
16649
16650// UpdateMask sets the optional parameter "updateMask": Required. The
16651// mask to control which fields to update.
16652func (c *AdvertisersCampaignsPatchCall) UpdateMask(updateMask string) *AdvertisersCampaignsPatchCall {
16653	c.urlParams_.Set("updateMask", updateMask)
16654	return c
16655}
16656
16657// Fields allows partial responses to be retrieved. See
16658// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16659// for more information.
16660func (c *AdvertisersCampaignsPatchCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsPatchCall {
16661	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16662	return c
16663}
16664
16665// Context sets the context to be used in this call's Do method. Any
16666// pending HTTP request will be aborted if the provided context is
16667// canceled.
16668func (c *AdvertisersCampaignsPatchCall) Context(ctx context.Context) *AdvertisersCampaignsPatchCall {
16669	c.ctx_ = ctx
16670	return c
16671}
16672
16673// Header returns an http.Header that can be modified by the caller to
16674// add HTTP headers to the request.
16675func (c *AdvertisersCampaignsPatchCall) Header() http.Header {
16676	if c.header_ == nil {
16677		c.header_ = make(http.Header)
16678	}
16679	return c.header_
16680}
16681
16682func (c *AdvertisersCampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
16683	reqHeaders := make(http.Header)
16684	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16685	for k, v := range c.header_ {
16686		reqHeaders[k] = v
16687	}
16688	reqHeaders.Set("User-Agent", c.s.userAgent())
16689	var body io.Reader = nil
16690	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
16691	if err != nil {
16692		return nil, err
16693	}
16694	reqHeaders.Set("Content-Type", "application/json")
16695	c.urlParams_.Set("alt", alt)
16696	c.urlParams_.Set("prettyPrint", "false")
16697	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
16698	urls += "?" + c.urlParams_.Encode()
16699	req, err := http.NewRequest("PATCH", urls, body)
16700	if err != nil {
16701		return nil, err
16702	}
16703	req.Header = reqHeaders
16704	googleapi.Expand(req.URL, map[string]string{
16705		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16706		"campaignId":   strconv.FormatInt(c.campaignId, 10),
16707	})
16708	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16709}
16710
16711// Do executes the "displayvideo.advertisers.campaigns.patch" call.
16712// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
16713// code is an error. Response headers are in either
16714// *Campaign.ServerResponse.Header or (if a response was returned at
16715// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16716// to check whether the returned error was because
16717// http.StatusNotModified was returned.
16718func (c *AdvertisersCampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
16719	gensupport.SetOptions(c.urlParams_, opts...)
16720	res, err := c.doRequest("json")
16721	if res != nil && res.StatusCode == http.StatusNotModified {
16722		if res.Body != nil {
16723			res.Body.Close()
16724		}
16725		return nil, &googleapi.Error{
16726			Code:   res.StatusCode,
16727			Header: res.Header,
16728		}
16729	}
16730	if err != nil {
16731		return nil, err
16732	}
16733	defer googleapi.CloseBody(res)
16734	if err := googleapi.CheckResponse(res); err != nil {
16735		return nil, err
16736	}
16737	ret := &Campaign{
16738		ServerResponse: googleapi.ServerResponse{
16739			Header:         res.Header,
16740			HTTPStatusCode: res.StatusCode,
16741		},
16742	}
16743	target := &ret
16744	if err := gensupport.DecodeResponse(target, res); err != nil {
16745		return nil, err
16746	}
16747	return ret, nil
16748	// {
16749	//   "description": "Updates an existing campaign. Returns the updated campaign if successful.",
16750	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
16751	//   "httpMethod": "PATCH",
16752	//   "id": "displayvideo.advertisers.campaigns.patch",
16753	//   "parameterOrder": [
16754	//     "advertiserId",
16755	//     "campaignId"
16756	//   ],
16757	//   "parameters": {
16758	//     "advertiserId": {
16759	//       "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
16760	//       "format": "int64",
16761	//       "location": "path",
16762	//       "pattern": "^[^/]+$",
16763	//       "required": true,
16764	//       "type": "string"
16765	//     },
16766	//     "campaignId": {
16767	//       "description": "Output only. The unique ID of the campaign. Assigned by the system.",
16768	//       "format": "int64",
16769	//       "location": "path",
16770	//       "pattern": "^[^/]+$",
16771	//       "required": true,
16772	//       "type": "string"
16773	//     },
16774	//     "updateMask": {
16775	//       "description": "Required. The mask to control which fields to update.",
16776	//       "format": "google-fieldmask",
16777	//       "location": "query",
16778	//       "type": "string"
16779	//     }
16780	//   },
16781	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
16782	//   "request": {
16783	//     "$ref": "Campaign"
16784	//   },
16785	//   "response": {
16786	//     "$ref": "Campaign"
16787	//   },
16788	//   "scopes": [
16789	//     "https://www.googleapis.com/auth/display-video",
16790	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16791	//   ]
16792	// }
16793
16794}
16795
16796// method id "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get":
16797
16798type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall struct {
16799	s                         *Service
16800	advertiserId              int64
16801	campaignId                int64
16802	targetingType             string
16803	assignedTargetingOptionId string
16804	urlParams_                gensupport.URLParams
16805	ifNoneMatch_              string
16806	ctx_                      context.Context
16807	header_                   http.Header
16808}
16809
16810// Get: Gets a single targeting option assigned to a campaign.
16811//
16812// - advertiserId: The ID of the advertiser the campaign belongs to.
16813// - assignedTargetingOptionId: An identifier unique to the targeting
16814//   type in this campaign that identifies the assigned targeting option
16815//   being requested.
16816// - campaignId: The ID of the campaign the assigned targeting option
16817//   belongs to.
16818// - targetingType: Identifies the type of this assigned targeting
16819//   option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
16820//   `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
16821//   `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
16822//   `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
16823//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
16824//   `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
16825//   `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
16826//   `TARGETING_TYPE_HOUSEHOLD_INCOME` *
16827//   `TARGETING_TYPE_INVENTORY_SOURCE` *
16828//   `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE`
16829//   * `TARGETING_TYPE_ON_SCREEN_POSITION` *
16830//   `TARGETING_TYPE_PARENTAL_STATUS` *
16831//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
16832//   `TARGETING_TYPE_SUB_EXCHANGE` *
16833//   `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
16834//   `TARGETING_TYPE_VIEWABILITY`.
16835func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, campaignId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
16836	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16837	c.advertiserId = advertiserId
16838	c.campaignId = campaignId
16839	c.targetingType = targetingType
16840	c.assignedTargetingOptionId = assignedTargetingOptionId
16841	return c
16842}
16843
16844// Fields allows partial responses to be retrieved. See
16845// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16846// for more information.
16847func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
16848	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16849	return c
16850}
16851
16852// IfNoneMatch sets the optional parameter which makes the operation
16853// fail if the object's ETag matches the given value. This is useful for
16854// getting updates only after the object has changed since the last
16855// request. Use googleapi.IsNotModified to check whether the response
16856// error from Do is the result of In-None-Match.
16857func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
16858	c.ifNoneMatch_ = entityTag
16859	return c
16860}
16861
16862// Context sets the context to be used in this call's Do method. Any
16863// pending HTTP request will be aborted if the provided context is
16864// canceled.
16865func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
16866	c.ctx_ = ctx
16867	return c
16868}
16869
16870// Header returns an http.Header that can be modified by the caller to
16871// add HTTP headers to the request.
16872func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
16873	if c.header_ == nil {
16874		c.header_ = make(http.Header)
16875	}
16876	return c.header_
16877}
16878
16879func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
16880	reqHeaders := make(http.Header)
16881	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
16882	for k, v := range c.header_ {
16883		reqHeaders[k] = v
16884	}
16885	reqHeaders.Set("User-Agent", c.s.userAgent())
16886	if c.ifNoneMatch_ != "" {
16887		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16888	}
16889	var body io.Reader = nil
16890	c.urlParams_.Set("alt", alt)
16891	c.urlParams_.Set("prettyPrint", "false")
16892	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
16893	urls += "?" + c.urlParams_.Encode()
16894	req, err := http.NewRequest("GET", urls, body)
16895	if err != nil {
16896		return nil, err
16897	}
16898	req.Header = reqHeaders
16899	googleapi.Expand(req.URL, map[string]string{
16900		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
16901		"campaignId":                strconv.FormatInt(c.campaignId, 10),
16902		"targetingType":             c.targetingType,
16903		"assignedTargetingOptionId": c.assignedTargetingOptionId,
16904	})
16905	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16906}
16907
16908// Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get" call.
16909// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
16910// non-2xx status code is an error. Response headers are in either
16911// *AssignedTargetingOption.ServerResponse.Header or (if a response was
16912// returned at all) in error.(*googleapi.Error).Header. Use
16913// googleapi.IsNotModified to check whether the returned error was
16914// because http.StatusNotModified was returned.
16915func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
16916	gensupport.SetOptions(c.urlParams_, opts...)
16917	res, err := c.doRequest("json")
16918	if res != nil && res.StatusCode == http.StatusNotModified {
16919		if res.Body != nil {
16920			res.Body.Close()
16921		}
16922		return nil, &googleapi.Error{
16923			Code:   res.StatusCode,
16924			Header: res.Header,
16925		}
16926	}
16927	if err != nil {
16928		return nil, err
16929	}
16930	defer googleapi.CloseBody(res)
16931	if err := googleapi.CheckResponse(res); err != nil {
16932		return nil, err
16933	}
16934	ret := &AssignedTargetingOption{
16935		ServerResponse: googleapi.ServerResponse{
16936			Header:         res.Header,
16937			HTTPStatusCode: res.StatusCode,
16938		},
16939	}
16940	target := &ret
16941	if err := gensupport.DecodeResponse(target, res); err != nil {
16942		return nil, err
16943	}
16944	return ret, nil
16945	// {
16946	//   "description": "Gets a single targeting option assigned to a campaign.",
16947	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
16948	//   "httpMethod": "GET",
16949	//   "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get",
16950	//   "parameterOrder": [
16951	//     "advertiserId",
16952	//     "campaignId",
16953	//     "targetingType",
16954	//     "assignedTargetingOptionId"
16955	//   ],
16956	//   "parameters": {
16957	//     "advertiserId": {
16958	//       "description": "Required. The ID of the advertiser the campaign belongs to.",
16959	//       "format": "int64",
16960	//       "location": "path",
16961	//       "pattern": "^[^/]+$",
16962	//       "required": true,
16963	//       "type": "string"
16964	//     },
16965	//     "assignedTargetingOptionId": {
16966	//       "description": "Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested.",
16967	//       "location": "path",
16968	//       "pattern": "^[^/]+$",
16969	//       "required": true,
16970	//       "type": "string"
16971	//     },
16972	//     "campaignId": {
16973	//       "description": "Required. The ID of the campaign the assigned targeting option belongs to.",
16974	//       "format": "int64",
16975	//       "location": "path",
16976	//       "pattern": "^[^/]+$",
16977	//       "required": true,
16978	//       "type": "string"
16979	//     },
16980	//     "targetingType": {
16981	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`",
16982	//       "enum": [
16983	//         "TARGETING_TYPE_UNSPECIFIED",
16984	//         "TARGETING_TYPE_CHANNEL",
16985	//         "TARGETING_TYPE_APP_CATEGORY",
16986	//         "TARGETING_TYPE_APP",
16987	//         "TARGETING_TYPE_URL",
16988	//         "TARGETING_TYPE_DAY_AND_TIME",
16989	//         "TARGETING_TYPE_AGE_RANGE",
16990	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
16991	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
16992	//         "TARGETING_TYPE_GENDER",
16993	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
16994	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
16995	//         "TARGETING_TYPE_PARENTAL_STATUS",
16996	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
16997	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
16998	//         "TARGETING_TYPE_DEVICE_TYPE",
16999	//         "TARGETING_TYPE_AUDIENCE_GROUP",
17000	//         "TARGETING_TYPE_BROWSER",
17001	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
17002	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
17003	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
17004	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
17005	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
17006	//         "TARGETING_TYPE_ENVIRONMENT",
17007	//         "TARGETING_TYPE_CARRIER_AND_ISP",
17008	//         "TARGETING_TYPE_OPERATING_SYSTEM",
17009	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
17010	//         "TARGETING_TYPE_KEYWORD",
17011	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
17012	//         "TARGETING_TYPE_VIEWABILITY",
17013	//         "TARGETING_TYPE_CATEGORY",
17014	//         "TARGETING_TYPE_INVENTORY_SOURCE",
17015	//         "TARGETING_TYPE_LANGUAGE",
17016	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
17017	//         "TARGETING_TYPE_GEO_REGION",
17018	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
17019	//         "TARGETING_TYPE_EXCHANGE",
17020	//         "TARGETING_TYPE_SUB_EXCHANGE",
17021	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
17022	//       ],
17023	//       "enumDescriptions": [
17024	//         "Default value when type is not specified or is unknown in this version.",
17025	//         "Target a channel (a custom group of related websites or apps).",
17026	//         "Target an app category (for example, education or puzzle games).",
17027	//         "Target a specific app (for example, Angry Birds).",
17028	//         "Target a specific url (for example, quora.com).",
17029	//         "Target ads during a chosen time period on a specific day.",
17030	//         "Target ads to a specific age range (for example, 18-24).",
17031	//         "Target ads to the specified regions on a regional location list.",
17032	//         "Target ads to the specified points of interest on a proximity location list.",
17033	//         "Target ads to a specific gender (for example, female or male).",
17034	//         "Target a specific video player size for video ads.",
17035	//         "Target user rewarded content for video ads.",
17036	//         "Target ads to a specific parental status (for example, parent or not a parent).",
17037	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
17038	//         "Target ads in a specific content outstream position.",
17039	//         "Target ads to a specific device type (for example, tablet or connected TV).",
17040	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
17041	//         "Target ads to specific web browsers (for example, Chrome).",
17042	//         "Target ads to a specific household income range (for example, top 10%).",
17043	//         "Target ads in a specific on screen position.",
17044	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
17045	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
17046	//         "Filter website content by sensitive categories (for example, adult).",
17047	//         "Target ads to a specific environment (for example, web or app).",
17048	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
17049	//         "Target ads to a specific operating system (for example, macOS).",
17050	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
17051	//         "Target ads to a specific keyword (for example, dog or retriever).",
17052	//         "Target ads to a specific negative keyword list.",
17053	//         "Target ads to a specific viewability (for example, 80% viewable).",
17054	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
17055	//         "Purchase impressions from specific deals and auction packages.",
17056	//         "Target ads to a specific language (for example, English or Japanese).",
17057	//         "Target ads to ads.txt authorized sellers.",
17058	//         "Target ads to a specific regional location (for example, a city or state).",
17059	//         "Purchase impressions from a group of deals and auction packages.",
17060	//         "Purchase impressions from specific exchanges.",
17061	//         "Purchase impressions from specific sub-exchanges.",
17062	//         "Target ads to a specific native content position."
17063	//       ],
17064	//       "location": "path",
17065	//       "pattern": "^[^/]+$",
17066	//       "required": true,
17067	//       "type": "string"
17068	//     }
17069	//   },
17070	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
17071	//   "response": {
17072	//     "$ref": "AssignedTargetingOption"
17073	//   },
17074	//   "scopes": [
17075	//     "https://www.googleapis.com/auth/display-video"
17076	//   ]
17077	// }
17078
17079}
17080
17081// method id "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list":
17082
17083type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall struct {
17084	s             *Service
17085	advertiserId  int64
17086	campaignId    int64
17087	targetingType string
17088	urlParams_    gensupport.URLParams
17089	ifNoneMatch_  string
17090	ctx_          context.Context
17091	header_       http.Header
17092}
17093
17094// List: Lists the targeting options assigned to a campaign for a
17095// specified targeting type.
17096//
17097// - advertiserId: The ID of the advertiser the campaign belongs to.
17098// - campaignId: The ID of the campaign to list assigned targeting
17099//   options for.
17100// - targetingType: Identifies the type of assigned targeting options to
17101//   list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
17102//   `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
17103//   `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
17104//   `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
17105//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
17106//   `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
17107//   `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
17108//   `TARGETING_TYPE_HOUSEHOLD_INCOME` *
17109//   `TARGETING_TYPE_INVENTORY_SOURCE` *
17110//   `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE`
17111//   * `TARGETING_TYPE_ON_SCREEN_POSITION` *
17112//   `TARGETING_TYPE_PARENTAL_STATUS` *
17113//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
17114//   `TARGETING_TYPE_SUB_EXCHANGE` *
17115//   `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
17116//   `TARGETING_TYPE_VIEWABILITY`.
17117func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, campaignId int64, targetingType string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17118	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17119	c.advertiserId = advertiserId
17120	c.campaignId = campaignId
17121	c.targetingType = targetingType
17122	return c
17123}
17124
17125// Filter sets the optional parameter "filter": Allows filtering by
17126// assigned targeting option properties. Supported syntax: * Filter
17127// expressions are made up of one or more restrictions. * Restrictions
17128// can be combined by the logical operator `OR`. * A restriction has the
17129// form of `{field} {operator} {value}`. * The operator must be `EQUALS
17130// (=)`. * Supported fields: - `assignedTargetingOptionId` -
17131// `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2
17132// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
17133// AssignedTargetingOptions with inheritance status of NOT_INHERITED or
17134// INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR
17135// inheritance="INHERITED_FROM_PARTNER" The length of this field should
17136// be no more than 500 characters.
17137func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17138	c.urlParams_.Set("filter", filter)
17139	return c
17140}
17141
17142// OrderBy sets the optional parameter "orderBy": Field by which to sort
17143// the list. Acceptable values are: * `assignedTargetingOptionId`
17144// (default) The default sorting order is ascending. To specify
17145// descending order for a field, a suffix "desc" should be added to the
17146// field name. Example: `assignedTargetingOptionId desc`.
17147func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17148	c.urlParams_.Set("orderBy", orderBy)
17149	return c
17150}
17151
17152// PageSize sets the optional parameter "pageSize": Requested page size.
17153// Must be between `1` and `100`. If unspecified will default to `100`.
17154// Returns error code `INVALID_ARGUMENT` if an invalid value is
17155// specified.
17156func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17157	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
17158	return c
17159}
17160
17161// PageToken sets the optional parameter "pageToken": A token
17162// identifying a page of results the server should return. Typically,
17163// this is the value of next_page_token returned from the previous call
17164// to `ListCampaignAssignedTargetingOptions` method. If not specified,
17165// the first page of results will be returned.
17166func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17167	c.urlParams_.Set("pageToken", pageToken)
17168	return c
17169}
17170
17171// Fields allows partial responses to be retrieved. See
17172// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17173// for more information.
17174func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17175	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17176	return c
17177}
17178
17179// IfNoneMatch sets the optional parameter which makes the operation
17180// fail if the object's ETag matches the given value. This is useful for
17181// getting updates only after the object has changed since the last
17182// request. Use googleapi.IsNotModified to check whether the response
17183// error from Do is the result of In-None-Match.
17184func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17185	c.ifNoneMatch_ = entityTag
17186	return c
17187}
17188
17189// Context sets the context to be used in this call's Do method. Any
17190// pending HTTP request will be aborted if the provided context is
17191// canceled.
17192func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17193	c.ctx_ = ctx
17194	return c
17195}
17196
17197// Header returns an http.Header that can be modified by the caller to
17198// add HTTP headers to the request.
17199func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
17200	if c.header_ == nil {
17201		c.header_ = make(http.Header)
17202	}
17203	return c.header_
17204}
17205
17206func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
17207	reqHeaders := make(http.Header)
17208	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17209	for k, v := range c.header_ {
17210		reqHeaders[k] = v
17211	}
17212	reqHeaders.Set("User-Agent", c.s.userAgent())
17213	if c.ifNoneMatch_ != "" {
17214		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17215	}
17216	var body io.Reader = nil
17217	c.urlParams_.Set("alt", alt)
17218	c.urlParams_.Set("prettyPrint", "false")
17219	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
17220	urls += "?" + c.urlParams_.Encode()
17221	req, err := http.NewRequest("GET", urls, body)
17222	if err != nil {
17223		return nil, err
17224	}
17225	req.Header = reqHeaders
17226	googleapi.Expand(req.URL, map[string]string{
17227		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
17228		"campaignId":    strconv.FormatInt(c.campaignId, 10),
17229		"targetingType": c.targetingType,
17230	})
17231	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17232}
17233
17234// Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list" call.
17235// Exactly one of *ListCampaignAssignedTargetingOptionsResponse or error
17236// will be non-nil. Any non-2xx status code is an error. Response
17237// headers are in either
17238// *ListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header
17239// or (if a response was returned at all) in
17240// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17241// whether the returned error was because http.StatusNotModified was
17242// returned.
17243func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignAssignedTargetingOptionsResponse, error) {
17244	gensupport.SetOptions(c.urlParams_, opts...)
17245	res, err := c.doRequest("json")
17246	if res != nil && res.StatusCode == http.StatusNotModified {
17247		if res.Body != nil {
17248			res.Body.Close()
17249		}
17250		return nil, &googleapi.Error{
17251			Code:   res.StatusCode,
17252			Header: res.Header,
17253		}
17254	}
17255	if err != nil {
17256		return nil, err
17257	}
17258	defer googleapi.CloseBody(res)
17259	if err := googleapi.CheckResponse(res); err != nil {
17260		return nil, err
17261	}
17262	ret := &ListCampaignAssignedTargetingOptionsResponse{
17263		ServerResponse: googleapi.ServerResponse{
17264			Header:         res.Header,
17265			HTTPStatusCode: res.StatusCode,
17266		},
17267	}
17268	target := &ret
17269	if err := gensupport.DecodeResponse(target, res); err != nil {
17270		return nil, err
17271	}
17272	return ret, nil
17273	// {
17274	//   "description": "Lists the targeting options assigned to a campaign for a specified targeting type.",
17275	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
17276	//   "httpMethod": "GET",
17277	//   "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list",
17278	//   "parameterOrder": [
17279	//     "advertiserId",
17280	//     "campaignId",
17281	//     "targetingType"
17282	//   ],
17283	//   "parameters": {
17284	//     "advertiserId": {
17285	//       "description": "Required. The ID of the advertiser the campaign belongs to.",
17286	//       "format": "int64",
17287	//       "location": "path",
17288	//       "pattern": "^[^/]+$",
17289	//       "required": true,
17290	//       "type": "string"
17291	//     },
17292	//     "campaignId": {
17293	//       "description": "Required. The ID of the campaign to list assigned targeting options for.",
17294	//       "format": "int64",
17295	//       "location": "path",
17296	//       "pattern": "^[^/]+$",
17297	//       "required": true,
17298	//       "type": "string"
17299	//     },
17300	//     "filter": {
17301	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters.",
17302	//       "location": "query",
17303	//       "type": "string"
17304	//     },
17305	//     "orderBy": {
17306	//       "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.",
17307	//       "location": "query",
17308	//       "type": "string"
17309	//     },
17310	//     "pageSize": {
17311	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
17312	//       "format": "int32",
17313	//       "location": "query",
17314	//       "type": "integer"
17315	//     },
17316	//     "pageToken": {
17317	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
17318	//       "location": "query",
17319	//       "type": "string"
17320	//     },
17321	//     "targetingType": {
17322	//       "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`",
17323	//       "enum": [
17324	//         "TARGETING_TYPE_UNSPECIFIED",
17325	//         "TARGETING_TYPE_CHANNEL",
17326	//         "TARGETING_TYPE_APP_CATEGORY",
17327	//         "TARGETING_TYPE_APP",
17328	//         "TARGETING_TYPE_URL",
17329	//         "TARGETING_TYPE_DAY_AND_TIME",
17330	//         "TARGETING_TYPE_AGE_RANGE",
17331	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
17332	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
17333	//         "TARGETING_TYPE_GENDER",
17334	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
17335	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
17336	//         "TARGETING_TYPE_PARENTAL_STATUS",
17337	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
17338	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
17339	//         "TARGETING_TYPE_DEVICE_TYPE",
17340	//         "TARGETING_TYPE_AUDIENCE_GROUP",
17341	//         "TARGETING_TYPE_BROWSER",
17342	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
17343	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
17344	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
17345	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
17346	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
17347	//         "TARGETING_TYPE_ENVIRONMENT",
17348	//         "TARGETING_TYPE_CARRIER_AND_ISP",
17349	//         "TARGETING_TYPE_OPERATING_SYSTEM",
17350	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
17351	//         "TARGETING_TYPE_KEYWORD",
17352	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
17353	//         "TARGETING_TYPE_VIEWABILITY",
17354	//         "TARGETING_TYPE_CATEGORY",
17355	//         "TARGETING_TYPE_INVENTORY_SOURCE",
17356	//         "TARGETING_TYPE_LANGUAGE",
17357	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
17358	//         "TARGETING_TYPE_GEO_REGION",
17359	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
17360	//         "TARGETING_TYPE_EXCHANGE",
17361	//         "TARGETING_TYPE_SUB_EXCHANGE",
17362	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
17363	//       ],
17364	//       "enumDescriptions": [
17365	//         "Default value when type is not specified or is unknown in this version.",
17366	//         "Target a channel (a custom group of related websites or apps).",
17367	//         "Target an app category (for example, education or puzzle games).",
17368	//         "Target a specific app (for example, Angry Birds).",
17369	//         "Target a specific url (for example, quora.com).",
17370	//         "Target ads during a chosen time period on a specific day.",
17371	//         "Target ads to a specific age range (for example, 18-24).",
17372	//         "Target ads to the specified regions on a regional location list.",
17373	//         "Target ads to the specified points of interest on a proximity location list.",
17374	//         "Target ads to a specific gender (for example, female or male).",
17375	//         "Target a specific video player size for video ads.",
17376	//         "Target user rewarded content for video ads.",
17377	//         "Target ads to a specific parental status (for example, parent or not a parent).",
17378	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
17379	//         "Target ads in a specific content outstream position.",
17380	//         "Target ads to a specific device type (for example, tablet or connected TV).",
17381	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
17382	//         "Target ads to specific web browsers (for example, Chrome).",
17383	//         "Target ads to a specific household income range (for example, top 10%).",
17384	//         "Target ads in a specific on screen position.",
17385	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
17386	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
17387	//         "Filter website content by sensitive categories (for example, adult).",
17388	//         "Target ads to a specific environment (for example, web or app).",
17389	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
17390	//         "Target ads to a specific operating system (for example, macOS).",
17391	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
17392	//         "Target ads to a specific keyword (for example, dog or retriever).",
17393	//         "Target ads to a specific negative keyword list.",
17394	//         "Target ads to a specific viewability (for example, 80% viewable).",
17395	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
17396	//         "Purchase impressions from specific deals and auction packages.",
17397	//         "Target ads to a specific language (for example, English or Japanese).",
17398	//         "Target ads to ads.txt authorized sellers.",
17399	//         "Target ads to a specific regional location (for example, a city or state).",
17400	//         "Purchase impressions from a group of deals and auction packages.",
17401	//         "Purchase impressions from specific exchanges.",
17402	//         "Purchase impressions from specific sub-exchanges.",
17403	//         "Target ads to a specific native content position."
17404	//       ],
17405	//       "location": "path",
17406	//       "pattern": "^[^/]+$",
17407	//       "required": true,
17408	//       "type": "string"
17409	//     }
17410	//   },
17411	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
17412	//   "response": {
17413	//     "$ref": "ListCampaignAssignedTargetingOptionsResponse"
17414	//   },
17415	//   "scopes": [
17416	//     "https://www.googleapis.com/auth/display-video"
17417	//   ]
17418	// }
17419
17420}
17421
17422// Pages invokes f for each page of results.
17423// A non-nil error returned from f will halt the iteration.
17424// The provided context supersedes any context provided to the Context method.
17425func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListCampaignAssignedTargetingOptionsResponse) error) error {
17426	c.ctx_ = ctx
17427	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17428	for {
17429		x, err := c.Do()
17430		if err != nil {
17431			return err
17432		}
17433		if err := f(x); err != nil {
17434			return err
17435		}
17436		if x.NextPageToken == "" {
17437			return nil
17438		}
17439		c.PageToken(x.NextPageToken)
17440	}
17441}
17442
17443// method id "displayvideo.advertisers.channels.create":
17444
17445type AdvertisersChannelsCreateCall struct {
17446	s            *Service
17447	advertiserId int64
17448	channel      *Channel
17449	urlParams_   gensupport.URLParams
17450	ctx_         context.Context
17451	header_      http.Header
17452}
17453
17454// Create: Creates a new channel. Returns the newly created channel if
17455// successful.
17456//
17457// - advertiserId: The ID of the advertiser that owns the created
17458//   channel.
17459func (r *AdvertisersChannelsService) Create(advertiserId int64, channel *Channel) *AdvertisersChannelsCreateCall {
17460	c := &AdvertisersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17461	c.advertiserId = advertiserId
17462	c.channel = channel
17463	return c
17464}
17465
17466// PartnerId sets the optional parameter "partnerId": The ID of the
17467// partner that owns the created channel.
17468func (c *AdvertisersChannelsCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsCreateCall {
17469	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
17470	return c
17471}
17472
17473// Fields allows partial responses to be retrieved. See
17474// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17475// for more information.
17476func (c *AdvertisersChannelsCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsCreateCall {
17477	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17478	return c
17479}
17480
17481// Context sets the context to be used in this call's Do method. Any
17482// pending HTTP request will be aborted if the provided context is
17483// canceled.
17484func (c *AdvertisersChannelsCreateCall) Context(ctx context.Context) *AdvertisersChannelsCreateCall {
17485	c.ctx_ = ctx
17486	return c
17487}
17488
17489// Header returns an http.Header that can be modified by the caller to
17490// add HTTP headers to the request.
17491func (c *AdvertisersChannelsCreateCall) Header() http.Header {
17492	if c.header_ == nil {
17493		c.header_ = make(http.Header)
17494	}
17495	return c.header_
17496}
17497
17498func (c *AdvertisersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
17499	reqHeaders := make(http.Header)
17500	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17501	for k, v := range c.header_ {
17502		reqHeaders[k] = v
17503	}
17504	reqHeaders.Set("User-Agent", c.s.userAgent())
17505	var body io.Reader = nil
17506	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
17507	if err != nil {
17508		return nil, err
17509	}
17510	reqHeaders.Set("Content-Type", "application/json")
17511	c.urlParams_.Set("alt", alt)
17512	c.urlParams_.Set("prettyPrint", "false")
17513	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels")
17514	urls += "?" + c.urlParams_.Encode()
17515	req, err := http.NewRequest("POST", urls, body)
17516	if err != nil {
17517		return nil, err
17518	}
17519	req.Header = reqHeaders
17520	googleapi.Expand(req.URL, map[string]string{
17521		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17522	})
17523	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17524}
17525
17526// Do executes the "displayvideo.advertisers.channels.create" call.
17527// Exactly one of *Channel or error will be non-nil. Any non-2xx status
17528// code is an error. Response headers are in either
17529// *Channel.ServerResponse.Header or (if a response was returned at all)
17530// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17531// check whether the returned error was because http.StatusNotModified
17532// was returned.
17533func (c *AdvertisersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
17534	gensupport.SetOptions(c.urlParams_, opts...)
17535	res, err := c.doRequest("json")
17536	if res != nil && res.StatusCode == http.StatusNotModified {
17537		if res.Body != nil {
17538			res.Body.Close()
17539		}
17540		return nil, &googleapi.Error{
17541			Code:   res.StatusCode,
17542			Header: res.Header,
17543		}
17544	}
17545	if err != nil {
17546		return nil, err
17547	}
17548	defer googleapi.CloseBody(res)
17549	if err := googleapi.CheckResponse(res); err != nil {
17550		return nil, err
17551	}
17552	ret := &Channel{
17553		ServerResponse: googleapi.ServerResponse{
17554			Header:         res.Header,
17555			HTTPStatusCode: res.StatusCode,
17556		},
17557	}
17558	target := &ret
17559	if err := gensupport.DecodeResponse(target, res); err != nil {
17560		return nil, err
17561	}
17562	return ret, nil
17563	// {
17564	//   "description": "Creates a new channel. Returns the newly created channel if successful.",
17565	//   "flatPath": "v1/advertisers/{advertisersId}/channels",
17566	//   "httpMethod": "POST",
17567	//   "id": "displayvideo.advertisers.channels.create",
17568	//   "parameterOrder": [
17569	//     "advertiserId"
17570	//   ],
17571	//   "parameters": {
17572	//     "advertiserId": {
17573	//       "description": "The ID of the advertiser that owns the created channel.",
17574	//       "format": "int64",
17575	//       "location": "path",
17576	//       "pattern": "^[^/]+$",
17577	//       "required": true,
17578	//       "type": "string"
17579	//     },
17580	//     "partnerId": {
17581	//       "description": "The ID of the partner that owns the created channel.",
17582	//       "format": "int64",
17583	//       "location": "query",
17584	//       "type": "string"
17585	//     }
17586	//   },
17587	//   "path": "v1/advertisers/{+advertiserId}/channels",
17588	//   "request": {
17589	//     "$ref": "Channel"
17590	//   },
17591	//   "response": {
17592	//     "$ref": "Channel"
17593	//   },
17594	//   "scopes": [
17595	//     "https://www.googleapis.com/auth/display-video"
17596	//   ]
17597	// }
17598
17599}
17600
17601// method id "displayvideo.advertisers.channels.get":
17602
17603type AdvertisersChannelsGetCall struct {
17604	s            *Service
17605	advertiserId int64
17606	channelId    int64
17607	urlParams_   gensupport.URLParams
17608	ifNoneMatch_ string
17609	ctx_         context.Context
17610	header_      http.Header
17611}
17612
17613// Get: Gets a channel for a partner or advertiser.
17614//
17615// - advertiserId: The ID of the advertiser that owns the fetched
17616//   channel.
17617// - channelId: The ID of the channel to fetch.
17618func (r *AdvertisersChannelsService) Get(advertiserId int64, channelId int64) *AdvertisersChannelsGetCall {
17619	c := &AdvertisersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17620	c.advertiserId = advertiserId
17621	c.channelId = channelId
17622	return c
17623}
17624
17625// PartnerId sets the optional parameter "partnerId": The ID of the
17626// partner that owns the fetched channel.
17627func (c *AdvertisersChannelsGetCall) PartnerId(partnerId int64) *AdvertisersChannelsGetCall {
17628	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
17629	return c
17630}
17631
17632// Fields allows partial responses to be retrieved. See
17633// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17634// for more information.
17635func (c *AdvertisersChannelsGetCall) Fields(s ...googleapi.Field) *AdvertisersChannelsGetCall {
17636	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17637	return c
17638}
17639
17640// IfNoneMatch sets the optional parameter which makes the operation
17641// fail if the object's ETag matches the given value. This is useful for
17642// getting updates only after the object has changed since the last
17643// request. Use googleapi.IsNotModified to check whether the response
17644// error from Do is the result of In-None-Match.
17645func (c *AdvertisersChannelsGetCall) IfNoneMatch(entityTag string) *AdvertisersChannelsGetCall {
17646	c.ifNoneMatch_ = entityTag
17647	return c
17648}
17649
17650// Context sets the context to be used in this call's Do method. Any
17651// pending HTTP request will be aborted if the provided context is
17652// canceled.
17653func (c *AdvertisersChannelsGetCall) Context(ctx context.Context) *AdvertisersChannelsGetCall {
17654	c.ctx_ = ctx
17655	return c
17656}
17657
17658// Header returns an http.Header that can be modified by the caller to
17659// add HTTP headers to the request.
17660func (c *AdvertisersChannelsGetCall) Header() http.Header {
17661	if c.header_ == nil {
17662		c.header_ = make(http.Header)
17663	}
17664	return c.header_
17665}
17666
17667func (c *AdvertisersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
17668	reqHeaders := make(http.Header)
17669	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17670	for k, v := range c.header_ {
17671		reqHeaders[k] = v
17672	}
17673	reqHeaders.Set("User-Agent", c.s.userAgent())
17674	if c.ifNoneMatch_ != "" {
17675		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17676	}
17677	var body io.Reader = nil
17678	c.urlParams_.Set("alt", alt)
17679	c.urlParams_.Set("prettyPrint", "false")
17680	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{+channelId}")
17681	urls += "?" + c.urlParams_.Encode()
17682	req, err := http.NewRequest("GET", urls, body)
17683	if err != nil {
17684		return nil, err
17685	}
17686	req.Header = reqHeaders
17687	googleapi.Expand(req.URL, map[string]string{
17688		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17689		"channelId":    strconv.FormatInt(c.channelId, 10),
17690	})
17691	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17692}
17693
17694// Do executes the "displayvideo.advertisers.channels.get" call.
17695// Exactly one of *Channel or error will be non-nil. Any non-2xx status
17696// code is an error. Response headers are in either
17697// *Channel.ServerResponse.Header or (if a response was returned at all)
17698// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17699// check whether the returned error was because http.StatusNotModified
17700// was returned.
17701func (c *AdvertisersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
17702	gensupport.SetOptions(c.urlParams_, opts...)
17703	res, err := c.doRequest("json")
17704	if res != nil && res.StatusCode == http.StatusNotModified {
17705		if res.Body != nil {
17706			res.Body.Close()
17707		}
17708		return nil, &googleapi.Error{
17709			Code:   res.StatusCode,
17710			Header: res.Header,
17711		}
17712	}
17713	if err != nil {
17714		return nil, err
17715	}
17716	defer googleapi.CloseBody(res)
17717	if err := googleapi.CheckResponse(res); err != nil {
17718		return nil, err
17719	}
17720	ret := &Channel{
17721		ServerResponse: googleapi.ServerResponse{
17722			Header:         res.Header,
17723			HTTPStatusCode: res.StatusCode,
17724		},
17725	}
17726	target := &ret
17727	if err := gensupport.DecodeResponse(target, res); err != nil {
17728		return nil, err
17729	}
17730	return ret, nil
17731	// {
17732	//   "description": "Gets a channel for a partner or advertiser.",
17733	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}",
17734	//   "httpMethod": "GET",
17735	//   "id": "displayvideo.advertisers.channels.get",
17736	//   "parameterOrder": [
17737	//     "advertiserId",
17738	//     "channelId"
17739	//   ],
17740	//   "parameters": {
17741	//     "advertiserId": {
17742	//       "description": "The ID of the advertiser that owns the fetched channel.",
17743	//       "format": "int64",
17744	//       "location": "path",
17745	//       "pattern": "^[^/]+$",
17746	//       "required": true,
17747	//       "type": "string"
17748	//     },
17749	//     "channelId": {
17750	//       "description": "Required. The ID of the channel to fetch.",
17751	//       "format": "int64",
17752	//       "location": "path",
17753	//       "pattern": "^[^/]+$",
17754	//       "required": true,
17755	//       "type": "string"
17756	//     },
17757	//     "partnerId": {
17758	//       "description": "The ID of the partner that owns the fetched channel.",
17759	//       "format": "int64",
17760	//       "location": "query",
17761	//       "type": "string"
17762	//     }
17763	//   },
17764	//   "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}",
17765	//   "response": {
17766	//     "$ref": "Channel"
17767	//   },
17768	//   "scopes": [
17769	//     "https://www.googleapis.com/auth/display-video"
17770	//   ]
17771	// }
17772
17773}
17774
17775// method id "displayvideo.advertisers.channels.list":
17776
17777type AdvertisersChannelsListCall struct {
17778	s            *Service
17779	advertiserId int64
17780	urlParams_   gensupport.URLParams
17781	ifNoneMatch_ string
17782	ctx_         context.Context
17783	header_      http.Header
17784}
17785
17786// List: Lists channels for a partner or advertiser.
17787//
17788// - advertiserId: The ID of the advertiser that owns the channels.
17789func (r *AdvertisersChannelsService) List(advertiserId int64) *AdvertisersChannelsListCall {
17790	c := &AdvertisersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17791	c.advertiserId = advertiserId
17792	return c
17793}
17794
17795// Filter sets the optional parameter "filter": Allows filtering by
17796// channel fields. Supported syntax: * Filter expressions for channel
17797// currently can only contain at most one * restriction. * A restriction
17798// has the form of `{field} {operator} {value}`. * The operator must be
17799// `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All
17800// channels for which the display name contains "google": `displayName :
17801// "google". The length of this field should be no more than 500
17802// characters.
17803func (c *AdvertisersChannelsListCall) Filter(filter string) *AdvertisersChannelsListCall {
17804	c.urlParams_.Set("filter", filter)
17805	return c
17806}
17807
17808// OrderBy sets the optional parameter "orderBy": Field by which to sort
17809// the list. Acceptable values are: * `displayName` (default) *
17810// `channelId` The default sorting order is ascending. To specify
17811// descending order for a field, a suffix " desc" should be added to the
17812// field name. Example: `displayName desc`.
17813func (c *AdvertisersChannelsListCall) OrderBy(orderBy string) *AdvertisersChannelsListCall {
17814	c.urlParams_.Set("orderBy", orderBy)
17815	return c
17816}
17817
17818// PageSize sets the optional parameter "pageSize": Requested page size.
17819// Must be between `1` and `100`. If unspecified will default to `100`.
17820// Returns error code `INVALID_ARGUMENT` if an invalid value is
17821// specified.
17822func (c *AdvertisersChannelsListCall) PageSize(pageSize int64) *AdvertisersChannelsListCall {
17823	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
17824	return c
17825}
17826
17827// PageToken sets the optional parameter "pageToken": A token
17828// identifying a page of results the server should return. Typically,
17829// this is the value of next_page_token returned from the previous call
17830// to `ListChannels` method. If not specified, the first page of results
17831// will be returned.
17832func (c *AdvertisersChannelsListCall) PageToken(pageToken string) *AdvertisersChannelsListCall {
17833	c.urlParams_.Set("pageToken", pageToken)
17834	return c
17835}
17836
17837// PartnerId sets the optional parameter "partnerId": The ID of the
17838// partner that owns the channels.
17839func (c *AdvertisersChannelsListCall) PartnerId(partnerId int64) *AdvertisersChannelsListCall {
17840	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
17841	return c
17842}
17843
17844// Fields allows partial responses to be retrieved. See
17845// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17846// for more information.
17847func (c *AdvertisersChannelsListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsListCall {
17848	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17849	return c
17850}
17851
17852// IfNoneMatch sets the optional parameter which makes the operation
17853// fail if the object's ETag matches the given value. This is useful for
17854// getting updates only after the object has changed since the last
17855// request. Use googleapi.IsNotModified to check whether the response
17856// error from Do is the result of In-None-Match.
17857func (c *AdvertisersChannelsListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsListCall {
17858	c.ifNoneMatch_ = entityTag
17859	return c
17860}
17861
17862// Context sets the context to be used in this call's Do method. Any
17863// pending HTTP request will be aborted if the provided context is
17864// canceled.
17865func (c *AdvertisersChannelsListCall) Context(ctx context.Context) *AdvertisersChannelsListCall {
17866	c.ctx_ = ctx
17867	return c
17868}
17869
17870// Header returns an http.Header that can be modified by the caller to
17871// add HTTP headers to the request.
17872func (c *AdvertisersChannelsListCall) Header() http.Header {
17873	if c.header_ == nil {
17874		c.header_ = make(http.Header)
17875	}
17876	return c.header_
17877}
17878
17879func (c *AdvertisersChannelsListCall) doRequest(alt string) (*http.Response, error) {
17880	reqHeaders := make(http.Header)
17881	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
17882	for k, v := range c.header_ {
17883		reqHeaders[k] = v
17884	}
17885	reqHeaders.Set("User-Agent", c.s.userAgent())
17886	if c.ifNoneMatch_ != "" {
17887		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17888	}
17889	var body io.Reader = nil
17890	c.urlParams_.Set("alt", alt)
17891	c.urlParams_.Set("prettyPrint", "false")
17892	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels")
17893	urls += "?" + c.urlParams_.Encode()
17894	req, err := http.NewRequest("GET", urls, body)
17895	if err != nil {
17896		return nil, err
17897	}
17898	req.Header = reqHeaders
17899	googleapi.Expand(req.URL, map[string]string{
17900		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17901	})
17902	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17903}
17904
17905// Do executes the "displayvideo.advertisers.channels.list" call.
17906// Exactly one of *ListChannelsResponse or error will be non-nil. Any
17907// non-2xx status code is an error. Response headers are in either
17908// *ListChannelsResponse.ServerResponse.Header or (if a response was
17909// returned at all) in error.(*googleapi.Error).Header. Use
17910// googleapi.IsNotModified to check whether the returned error was
17911// because http.StatusNotModified was returned.
17912func (c *AdvertisersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
17913	gensupport.SetOptions(c.urlParams_, opts...)
17914	res, err := c.doRequest("json")
17915	if res != nil && res.StatusCode == http.StatusNotModified {
17916		if res.Body != nil {
17917			res.Body.Close()
17918		}
17919		return nil, &googleapi.Error{
17920			Code:   res.StatusCode,
17921			Header: res.Header,
17922		}
17923	}
17924	if err != nil {
17925		return nil, err
17926	}
17927	defer googleapi.CloseBody(res)
17928	if err := googleapi.CheckResponse(res); err != nil {
17929		return nil, err
17930	}
17931	ret := &ListChannelsResponse{
17932		ServerResponse: googleapi.ServerResponse{
17933			Header:         res.Header,
17934			HTTPStatusCode: res.StatusCode,
17935		},
17936	}
17937	target := &ret
17938	if err := gensupport.DecodeResponse(target, res); err != nil {
17939		return nil, err
17940	}
17941	return ret, nil
17942	// {
17943	//   "description": "Lists channels for a partner or advertiser.",
17944	//   "flatPath": "v1/advertisers/{advertisersId}/channels",
17945	//   "httpMethod": "GET",
17946	//   "id": "displayvideo.advertisers.channels.list",
17947	//   "parameterOrder": [
17948	//     "advertiserId"
17949	//   ],
17950	//   "parameters": {
17951	//     "advertiserId": {
17952	//       "description": "The ID of the advertiser that owns the channels.",
17953	//       "format": "int64",
17954	//       "location": "path",
17955	//       "pattern": "^[^/]+$",
17956	//       "required": true,
17957	//       "type": "string"
17958	//     },
17959	//     "filter": {
17960	//       "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel currently can only contain at most one * restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters.",
17961	//       "location": "query",
17962	//       "type": "string"
17963	//     },
17964	//     "orderBy": {
17965	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.",
17966	//       "location": "query",
17967	//       "type": "string"
17968	//     },
17969	//     "pageSize": {
17970	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
17971	//       "format": "int32",
17972	//       "location": "query",
17973	//       "type": "integer"
17974	//     },
17975	//     "pageToken": {
17976	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.",
17977	//       "location": "query",
17978	//       "type": "string"
17979	//     },
17980	//     "partnerId": {
17981	//       "description": "The ID of the partner that owns the channels.",
17982	//       "format": "int64",
17983	//       "location": "query",
17984	//       "type": "string"
17985	//     }
17986	//   },
17987	//   "path": "v1/advertisers/{+advertiserId}/channels",
17988	//   "response": {
17989	//     "$ref": "ListChannelsResponse"
17990	//   },
17991	//   "scopes": [
17992	//     "https://www.googleapis.com/auth/display-video"
17993	//   ]
17994	// }
17995
17996}
17997
17998// Pages invokes f for each page of results.
17999// A non-nil error returned from f will halt the iteration.
18000// The provided context supersedes any context provided to the Context method.
18001func (c *AdvertisersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
18002	c.ctx_ = ctx
18003	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18004	for {
18005		x, err := c.Do()
18006		if err != nil {
18007			return err
18008		}
18009		if err := f(x); err != nil {
18010			return err
18011		}
18012		if x.NextPageToken == "" {
18013			return nil
18014		}
18015		c.PageToken(x.NextPageToken)
18016	}
18017}
18018
18019// method id "displayvideo.advertisers.channels.patch":
18020
18021type AdvertisersChannelsPatchCall struct {
18022	s            *Service
18023	advertiserId int64
18024	channelId    int64
18025	channel      *Channel
18026	urlParams_   gensupport.URLParams
18027	ctx_         context.Context
18028	header_      http.Header
18029}
18030
18031// Patch: Updates a channel. Returns the updated channel if successful.
18032//
18033// - advertiserId: The ID of the advertiser that owns the created
18034//   channel.
18035// - channelId: Output only. The unique ID of the channel. Assigned by
18036//   the system.
18037func (r *AdvertisersChannelsService) Patch(advertiserId int64, channelId int64, channel *Channel) *AdvertisersChannelsPatchCall {
18038	c := &AdvertisersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18039	c.advertiserId = advertiserId
18040	c.channelId = channelId
18041	c.channel = channel
18042	return c
18043}
18044
18045// PartnerId sets the optional parameter "partnerId": The ID of the
18046// partner that owns the created channel.
18047func (c *AdvertisersChannelsPatchCall) PartnerId(partnerId int64) *AdvertisersChannelsPatchCall {
18048	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18049	return c
18050}
18051
18052// UpdateMask sets the optional parameter "updateMask": Required. The
18053// mask to control which fields to update.
18054func (c *AdvertisersChannelsPatchCall) UpdateMask(updateMask string) *AdvertisersChannelsPatchCall {
18055	c.urlParams_.Set("updateMask", updateMask)
18056	return c
18057}
18058
18059// Fields allows partial responses to be retrieved. See
18060// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18061// for more information.
18062func (c *AdvertisersChannelsPatchCall) Fields(s ...googleapi.Field) *AdvertisersChannelsPatchCall {
18063	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18064	return c
18065}
18066
18067// Context sets the context to be used in this call's Do method. Any
18068// pending HTTP request will be aborted if the provided context is
18069// canceled.
18070func (c *AdvertisersChannelsPatchCall) Context(ctx context.Context) *AdvertisersChannelsPatchCall {
18071	c.ctx_ = ctx
18072	return c
18073}
18074
18075// Header returns an http.Header that can be modified by the caller to
18076// add HTTP headers to the request.
18077func (c *AdvertisersChannelsPatchCall) Header() http.Header {
18078	if c.header_ == nil {
18079		c.header_ = make(http.Header)
18080	}
18081	return c.header_
18082}
18083
18084func (c *AdvertisersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
18085	reqHeaders := make(http.Header)
18086	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18087	for k, v := range c.header_ {
18088		reqHeaders[k] = v
18089	}
18090	reqHeaders.Set("User-Agent", c.s.userAgent())
18091	var body io.Reader = nil
18092	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
18093	if err != nil {
18094		return nil, err
18095	}
18096	reqHeaders.Set("Content-Type", "application/json")
18097	c.urlParams_.Set("alt", alt)
18098	c.urlParams_.Set("prettyPrint", "false")
18099	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{channelId}")
18100	urls += "?" + c.urlParams_.Encode()
18101	req, err := http.NewRequest("PATCH", urls, body)
18102	if err != nil {
18103		return nil, err
18104	}
18105	req.Header = reqHeaders
18106	googleapi.Expand(req.URL, map[string]string{
18107		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18108		"channelId":    strconv.FormatInt(c.channelId, 10),
18109	})
18110	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18111}
18112
18113// Do executes the "displayvideo.advertisers.channels.patch" call.
18114// Exactly one of *Channel or error will be non-nil. Any non-2xx status
18115// code is an error. Response headers are in either
18116// *Channel.ServerResponse.Header or (if a response was returned at all)
18117// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18118// check whether the returned error was because http.StatusNotModified
18119// was returned.
18120func (c *AdvertisersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
18121	gensupport.SetOptions(c.urlParams_, opts...)
18122	res, err := c.doRequest("json")
18123	if res != nil && res.StatusCode == http.StatusNotModified {
18124		if res.Body != nil {
18125			res.Body.Close()
18126		}
18127		return nil, &googleapi.Error{
18128			Code:   res.StatusCode,
18129			Header: res.Header,
18130		}
18131	}
18132	if err != nil {
18133		return nil, err
18134	}
18135	defer googleapi.CloseBody(res)
18136	if err := googleapi.CheckResponse(res); err != nil {
18137		return nil, err
18138	}
18139	ret := &Channel{
18140		ServerResponse: googleapi.ServerResponse{
18141			Header:         res.Header,
18142			HTTPStatusCode: res.StatusCode,
18143		},
18144	}
18145	target := &ret
18146	if err := gensupport.DecodeResponse(target, res); err != nil {
18147		return nil, err
18148	}
18149	return ret, nil
18150	// {
18151	//   "description": "Updates a channel. Returns the updated channel if successful.",
18152	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelId}",
18153	//   "httpMethod": "PATCH",
18154	//   "id": "displayvideo.advertisers.channels.patch",
18155	//   "parameterOrder": [
18156	//     "advertiserId",
18157	//     "channelId"
18158	//   ],
18159	//   "parameters": {
18160	//     "advertiserId": {
18161	//       "description": "The ID of the advertiser that owns the created channel.",
18162	//       "format": "int64",
18163	//       "location": "path",
18164	//       "pattern": "^[^/]+$",
18165	//       "required": true,
18166	//       "type": "string"
18167	//     },
18168	//     "channelId": {
18169	//       "description": "Output only. The unique ID of the channel. Assigned by the system.",
18170	//       "format": "int64",
18171	//       "location": "path",
18172	//       "required": true,
18173	//       "type": "string"
18174	//     },
18175	//     "partnerId": {
18176	//       "description": "The ID of the partner that owns the created channel.",
18177	//       "format": "int64",
18178	//       "location": "query",
18179	//       "type": "string"
18180	//     },
18181	//     "updateMask": {
18182	//       "description": "Required. The mask to control which fields to update.",
18183	//       "format": "google-fieldmask",
18184	//       "location": "query",
18185	//       "type": "string"
18186	//     }
18187	//   },
18188	//   "path": "v1/advertisers/{+advertiserId}/channels/{channelId}",
18189	//   "request": {
18190	//     "$ref": "Channel"
18191	//   },
18192	//   "response": {
18193	//     "$ref": "Channel"
18194	//   },
18195	//   "scopes": [
18196	//     "https://www.googleapis.com/auth/display-video"
18197	//   ]
18198	// }
18199
18200}
18201
18202// method id "displayvideo.advertisers.channels.sites.bulkEdit":
18203
18204type AdvertisersChannelsSitesBulkEditCall struct {
18205	s                    *Service
18206	advertiserId         int64
18207	channelId            int64
18208	bulkeditsitesrequest *BulkEditSitesRequest
18209	urlParams_           gensupport.URLParams
18210	ctx_                 context.Context
18211	header_              http.Header
18212}
18213
18214// BulkEdit: Bulk edits sites under a single channel. The operation will
18215// delete the sites provided in BulkEditSitesRequest.deleted_sites and
18216// then create the sites provided in BulkEditSitesRequest.created_sites.
18217//
18218// - advertiserId: The ID of the advertiser that owns the parent
18219//   channel.
18220// - channelId: The ID of the parent channel to which the sites belong.
18221func (r *AdvertisersChannelsSitesService) BulkEdit(advertiserId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *AdvertisersChannelsSitesBulkEditCall {
18222	c := &AdvertisersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18223	c.advertiserId = advertiserId
18224	c.channelId = channelId
18225	c.bulkeditsitesrequest = bulkeditsitesrequest
18226	return c
18227}
18228
18229// Fields allows partial responses to be retrieved. See
18230// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18231// for more information.
18232func (c *AdvertisersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesBulkEditCall {
18233	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18234	return c
18235}
18236
18237// Context sets the context to be used in this call's Do method. Any
18238// pending HTTP request will be aborted if the provided context is
18239// canceled.
18240func (c *AdvertisersChannelsSitesBulkEditCall) Context(ctx context.Context) *AdvertisersChannelsSitesBulkEditCall {
18241	c.ctx_ = ctx
18242	return c
18243}
18244
18245// Header returns an http.Header that can be modified by the caller to
18246// add HTTP headers to the request.
18247func (c *AdvertisersChannelsSitesBulkEditCall) Header() http.Header {
18248	if c.header_ == nil {
18249		c.header_ = make(http.Header)
18250	}
18251	return c.header_
18252}
18253
18254func (c *AdvertisersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
18255	reqHeaders := make(http.Header)
18256	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18257	for k, v := range c.header_ {
18258		reqHeaders[k] = v
18259	}
18260	reqHeaders.Set("User-Agent", c.s.userAgent())
18261	var body io.Reader = nil
18262	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
18263	if err != nil {
18264		return nil, err
18265	}
18266	reqHeaders.Set("Content-Type", "application/json")
18267	c.urlParams_.Set("alt", alt)
18268	c.urlParams_.Set("prettyPrint", "false")
18269	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit")
18270	urls += "?" + c.urlParams_.Encode()
18271	req, err := http.NewRequest("POST", urls, body)
18272	if err != nil {
18273		return nil, err
18274	}
18275	req.Header = reqHeaders
18276	googleapi.Expand(req.URL, map[string]string{
18277		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18278		"channelId":    strconv.FormatInt(c.channelId, 10),
18279	})
18280	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18281}
18282
18283// Do executes the "displayvideo.advertisers.channels.sites.bulkEdit" call.
18284// Exactly one of *BulkEditSitesResponse or error will be non-nil. Any
18285// non-2xx status code is an error. Response headers are in either
18286// *BulkEditSitesResponse.ServerResponse.Header or (if a response was
18287// returned at all) in error.(*googleapi.Error).Header. Use
18288// googleapi.IsNotModified to check whether the returned error was
18289// because http.StatusNotModified was returned.
18290func (c *AdvertisersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
18291	gensupport.SetOptions(c.urlParams_, opts...)
18292	res, err := c.doRequest("json")
18293	if res != nil && res.StatusCode == http.StatusNotModified {
18294		if res.Body != nil {
18295			res.Body.Close()
18296		}
18297		return nil, &googleapi.Error{
18298			Code:   res.StatusCode,
18299			Header: res.Header,
18300		}
18301	}
18302	if err != nil {
18303		return nil, err
18304	}
18305	defer googleapi.CloseBody(res)
18306	if err := googleapi.CheckResponse(res); err != nil {
18307		return nil, err
18308	}
18309	ret := &BulkEditSitesResponse{
18310		ServerResponse: googleapi.ServerResponse{
18311			Header:         res.Header,
18312			HTTPStatusCode: res.StatusCode,
18313		},
18314	}
18315	target := &ret
18316	if err := gensupport.DecodeResponse(target, res); err != nil {
18317		return nil, err
18318	}
18319	return ret, nil
18320	// {
18321	//   "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.",
18322	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit",
18323	//   "httpMethod": "POST",
18324	//   "id": "displayvideo.advertisers.channels.sites.bulkEdit",
18325	//   "parameterOrder": [
18326	//     "advertiserId",
18327	//     "channelId"
18328	//   ],
18329	//   "parameters": {
18330	//     "advertiserId": {
18331	//       "description": "The ID of the advertiser that owns the parent channel.",
18332	//       "format": "int64",
18333	//       "location": "path",
18334	//       "required": true,
18335	//       "type": "string"
18336	//     },
18337	//     "channelId": {
18338	//       "description": "Required. The ID of the parent channel to which the sites belong.",
18339	//       "format": "int64",
18340	//       "location": "path",
18341	//       "pattern": "^[^/]+$",
18342	//       "required": true,
18343	//       "type": "string"
18344	//     }
18345	//   },
18346	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit",
18347	//   "request": {
18348	//     "$ref": "BulkEditSitesRequest"
18349	//   },
18350	//   "response": {
18351	//     "$ref": "BulkEditSitesResponse"
18352	//   },
18353	//   "scopes": [
18354	//     "https://www.googleapis.com/auth/display-video"
18355	//   ]
18356	// }
18357
18358}
18359
18360// method id "displayvideo.advertisers.channels.sites.create":
18361
18362type AdvertisersChannelsSitesCreateCall struct {
18363	s            *Service
18364	advertiserId int64
18365	channelId    int64
18366	site         *Site
18367	urlParams_   gensupport.URLParams
18368	ctx_         context.Context
18369	header_      http.Header
18370}
18371
18372// Create: Creates a site in a channel.
18373//
18374// - advertiserId: The ID of the advertiser that owns the parent
18375//   channel.
18376// - channelId: The ID of the parent channel in which the site will be
18377//   created.
18378func (r *AdvertisersChannelsSitesService) Create(advertiserId int64, channelId int64, site *Site) *AdvertisersChannelsSitesCreateCall {
18379	c := &AdvertisersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18380	c.advertiserId = advertiserId
18381	c.channelId = channelId
18382	c.site = site
18383	return c
18384}
18385
18386// PartnerId sets the optional parameter "partnerId": The ID of the
18387// partner that owns the parent channel.
18388func (c *AdvertisersChannelsSitesCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesCreateCall {
18389	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18390	return c
18391}
18392
18393// Fields allows partial responses to be retrieved. See
18394// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18395// for more information.
18396func (c *AdvertisersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesCreateCall {
18397	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18398	return c
18399}
18400
18401// Context sets the context to be used in this call's Do method. Any
18402// pending HTTP request will be aborted if the provided context is
18403// canceled.
18404func (c *AdvertisersChannelsSitesCreateCall) Context(ctx context.Context) *AdvertisersChannelsSitesCreateCall {
18405	c.ctx_ = ctx
18406	return c
18407}
18408
18409// Header returns an http.Header that can be modified by the caller to
18410// add HTTP headers to the request.
18411func (c *AdvertisersChannelsSitesCreateCall) Header() http.Header {
18412	if c.header_ == nil {
18413		c.header_ = make(http.Header)
18414	}
18415	return c.header_
18416}
18417
18418func (c *AdvertisersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
18419	reqHeaders := make(http.Header)
18420	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18421	for k, v := range c.header_ {
18422		reqHeaders[k] = v
18423	}
18424	reqHeaders.Set("User-Agent", c.s.userAgent())
18425	var body io.Reader = nil
18426	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
18427	if err != nil {
18428		return nil, err
18429	}
18430	reqHeaders.Set("Content-Type", "application/json")
18431	c.urlParams_.Set("alt", alt)
18432	c.urlParams_.Set("prettyPrint", "false")
18433	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites")
18434	urls += "?" + c.urlParams_.Encode()
18435	req, err := http.NewRequest("POST", urls, body)
18436	if err != nil {
18437		return nil, err
18438	}
18439	req.Header = reqHeaders
18440	googleapi.Expand(req.URL, map[string]string{
18441		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18442		"channelId":    strconv.FormatInt(c.channelId, 10),
18443	})
18444	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18445}
18446
18447// Do executes the "displayvideo.advertisers.channels.sites.create" call.
18448// Exactly one of *Site or error will be non-nil. Any non-2xx status
18449// code is an error. Response headers are in either
18450// *Site.ServerResponse.Header or (if a response was returned at all) in
18451// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18452// whether the returned error was because http.StatusNotModified was
18453// returned.
18454func (c *AdvertisersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
18455	gensupport.SetOptions(c.urlParams_, opts...)
18456	res, err := c.doRequest("json")
18457	if res != nil && res.StatusCode == http.StatusNotModified {
18458		if res.Body != nil {
18459			res.Body.Close()
18460		}
18461		return nil, &googleapi.Error{
18462			Code:   res.StatusCode,
18463			Header: res.Header,
18464		}
18465	}
18466	if err != nil {
18467		return nil, err
18468	}
18469	defer googleapi.CloseBody(res)
18470	if err := googleapi.CheckResponse(res); err != nil {
18471		return nil, err
18472	}
18473	ret := &Site{
18474		ServerResponse: googleapi.ServerResponse{
18475			Header:         res.Header,
18476			HTTPStatusCode: res.StatusCode,
18477		},
18478	}
18479	target := &ret
18480	if err := gensupport.DecodeResponse(target, res); err != nil {
18481		return nil, err
18482	}
18483	return ret, nil
18484	// {
18485	//   "description": "Creates a site in a channel.",
18486	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites",
18487	//   "httpMethod": "POST",
18488	//   "id": "displayvideo.advertisers.channels.sites.create",
18489	//   "parameterOrder": [
18490	//     "advertiserId",
18491	//     "channelId"
18492	//   ],
18493	//   "parameters": {
18494	//     "advertiserId": {
18495	//       "description": "The ID of the advertiser that owns the parent channel.",
18496	//       "format": "int64",
18497	//       "location": "path",
18498	//       "required": true,
18499	//       "type": "string"
18500	//     },
18501	//     "channelId": {
18502	//       "description": "Required. The ID of the parent channel in which the site will be created.",
18503	//       "format": "int64",
18504	//       "location": "path",
18505	//       "pattern": "^[^/]+$",
18506	//       "required": true,
18507	//       "type": "string"
18508	//     },
18509	//     "partnerId": {
18510	//       "description": "The ID of the partner that owns the parent channel.",
18511	//       "format": "int64",
18512	//       "location": "query",
18513	//       "type": "string"
18514	//     }
18515	//   },
18516	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites",
18517	//   "request": {
18518	//     "$ref": "Site"
18519	//   },
18520	//   "response": {
18521	//     "$ref": "Site"
18522	//   },
18523	//   "scopes": [
18524	//     "https://www.googleapis.com/auth/display-video"
18525	//   ]
18526	// }
18527
18528}
18529
18530// method id "displayvideo.advertisers.channels.sites.delete":
18531
18532type AdvertisersChannelsSitesDeleteCall struct {
18533	s            *Service
18534	advertiserId int64
18535	channelId    int64
18536	urlOrAppId   string
18537	urlParams_   gensupport.URLParams
18538	ctx_         context.Context
18539	header_      http.Header
18540}
18541
18542// Delete: Deletes a site from a channel.
18543//
18544// - advertiserId: The ID of the advertiser that owns the parent
18545//   channel.
18546// - channelId: The ID of the parent channel to which the site belongs.
18547// - urlOrAppId: The URL or app ID of the site to delete.
18548func (r *AdvertisersChannelsSitesService) Delete(advertiserId int64, channelId int64, urlOrAppId string) *AdvertisersChannelsSitesDeleteCall {
18549	c := &AdvertisersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18550	c.advertiserId = advertiserId
18551	c.channelId = channelId
18552	c.urlOrAppId = urlOrAppId
18553	return c
18554}
18555
18556// PartnerId sets the optional parameter "partnerId": The ID of the
18557// partner that owns the parent channel.
18558func (c *AdvertisersChannelsSitesDeleteCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesDeleteCall {
18559	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18560	return c
18561}
18562
18563// Fields allows partial responses to be retrieved. See
18564// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18565// for more information.
18566func (c *AdvertisersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesDeleteCall {
18567	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18568	return c
18569}
18570
18571// Context sets the context to be used in this call's Do method. Any
18572// pending HTTP request will be aborted if the provided context is
18573// canceled.
18574func (c *AdvertisersChannelsSitesDeleteCall) Context(ctx context.Context) *AdvertisersChannelsSitesDeleteCall {
18575	c.ctx_ = ctx
18576	return c
18577}
18578
18579// Header returns an http.Header that can be modified by the caller to
18580// add HTTP headers to the request.
18581func (c *AdvertisersChannelsSitesDeleteCall) Header() http.Header {
18582	if c.header_ == nil {
18583		c.header_ = make(http.Header)
18584	}
18585	return c.header_
18586}
18587
18588func (c *AdvertisersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
18589	reqHeaders := make(http.Header)
18590	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18591	for k, v := range c.header_ {
18592		reqHeaders[k] = v
18593	}
18594	reqHeaders.Set("User-Agent", c.s.userAgent())
18595	var body io.Reader = nil
18596	c.urlParams_.Set("alt", alt)
18597	c.urlParams_.Set("prettyPrint", "false")
18598	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}")
18599	urls += "?" + c.urlParams_.Encode()
18600	req, err := http.NewRequest("DELETE", urls, body)
18601	if err != nil {
18602		return nil, err
18603	}
18604	req.Header = reqHeaders
18605	googleapi.Expand(req.URL, map[string]string{
18606		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18607		"channelId":    strconv.FormatInt(c.channelId, 10),
18608		"urlOrAppId":   c.urlOrAppId,
18609	})
18610	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18611}
18612
18613// Do executes the "displayvideo.advertisers.channels.sites.delete" call.
18614// Exactly one of *Empty or error will be non-nil. Any non-2xx status
18615// code is an error. Response headers are in either
18616// *Empty.ServerResponse.Header or (if a response was returned at all)
18617// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18618// check whether the returned error was because http.StatusNotModified
18619// was returned.
18620func (c *AdvertisersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
18621	gensupport.SetOptions(c.urlParams_, opts...)
18622	res, err := c.doRequest("json")
18623	if res != nil && res.StatusCode == http.StatusNotModified {
18624		if res.Body != nil {
18625			res.Body.Close()
18626		}
18627		return nil, &googleapi.Error{
18628			Code:   res.StatusCode,
18629			Header: res.Header,
18630		}
18631	}
18632	if err != nil {
18633		return nil, err
18634	}
18635	defer googleapi.CloseBody(res)
18636	if err := googleapi.CheckResponse(res); err != nil {
18637		return nil, err
18638	}
18639	ret := &Empty{
18640		ServerResponse: googleapi.ServerResponse{
18641			Header:         res.Header,
18642			HTTPStatusCode: res.StatusCode,
18643		},
18644	}
18645	target := &ret
18646	if err := gensupport.DecodeResponse(target, res); err != nil {
18647		return nil, err
18648	}
18649	return ret, nil
18650	// {
18651	//   "description": "Deletes a site from a channel.",
18652	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}",
18653	//   "httpMethod": "DELETE",
18654	//   "id": "displayvideo.advertisers.channels.sites.delete",
18655	//   "parameterOrder": [
18656	//     "advertiserId",
18657	//     "channelId",
18658	//     "urlOrAppId"
18659	//   ],
18660	//   "parameters": {
18661	//     "advertiserId": {
18662	//       "description": "The ID of the advertiser that owns the parent channel.",
18663	//       "format": "int64",
18664	//       "location": "path",
18665	//       "required": true,
18666	//       "type": "string"
18667	//     },
18668	//     "channelId": {
18669	//       "description": "Required. The ID of the parent channel to which the site belongs.",
18670	//       "format": "int64",
18671	//       "location": "path",
18672	//       "pattern": "^[^/]+$",
18673	//       "required": true,
18674	//       "type": "string"
18675	//     },
18676	//     "partnerId": {
18677	//       "description": "The ID of the partner that owns the parent channel.",
18678	//       "format": "int64",
18679	//       "location": "query",
18680	//       "type": "string"
18681	//     },
18682	//     "urlOrAppId": {
18683	//       "description": "Required. The URL or app ID of the site to delete.",
18684	//       "location": "path",
18685	//       "pattern": "^[^/]+$",
18686	//       "required": true,
18687	//       "type": "string"
18688	//     }
18689	//   },
18690	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}",
18691	//   "response": {
18692	//     "$ref": "Empty"
18693	//   },
18694	//   "scopes": [
18695	//     "https://www.googleapis.com/auth/display-video"
18696	//   ]
18697	// }
18698
18699}
18700
18701// method id "displayvideo.advertisers.channels.sites.list":
18702
18703type AdvertisersChannelsSitesListCall struct {
18704	s            *Service
18705	advertiserId int64
18706	channelId    int64
18707	urlParams_   gensupport.URLParams
18708	ifNoneMatch_ string
18709	ctx_         context.Context
18710	header_      http.Header
18711}
18712
18713// List: Lists sites in a channel.
18714//
18715// - advertiserId: The ID of the advertiser that owns the parent
18716//   channel.
18717// - channelId: The ID of the parent channel to which the requested
18718//   sites belong.
18719func (r *AdvertisersChannelsSitesService) List(advertiserId int64, channelId int64) *AdvertisersChannelsSitesListCall {
18720	c := &AdvertisersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18721	c.advertiserId = advertiserId
18722	c.channelId = channelId
18723	return c
18724}
18725
18726// Filter sets the optional parameter "filter": Allows filtering by site
18727// fields. Supported syntax: * Filter expressions for site currently can
18728// only contain at most one * restriction. * A restriction has the form
18729// of `{field} {operator} {value}`. * The operator must be `CONTAINS
18730// (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for
18731// which the URL or app ID contains "google": `urlOrAppId : "google"
18732func (c *AdvertisersChannelsSitesListCall) Filter(filter string) *AdvertisersChannelsSitesListCall {
18733	c.urlParams_.Set("filter", filter)
18734	return c
18735}
18736
18737// OrderBy sets the optional parameter "orderBy": Field by which to sort
18738// the list. Acceptable values are: * `urlOrAppId` (default) The default
18739// sorting order is ascending. To specify descending order for a field,
18740// a suffix " desc" should be added to the field name. Example:
18741// `urlOrAppId desc`.
18742func (c *AdvertisersChannelsSitesListCall) OrderBy(orderBy string) *AdvertisersChannelsSitesListCall {
18743	c.urlParams_.Set("orderBy", orderBy)
18744	return c
18745}
18746
18747// PageSize sets the optional parameter "pageSize": Requested page size.
18748// Must be between `1` and `10000`. If unspecified will default to
18749// `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is
18750// specified.
18751func (c *AdvertisersChannelsSitesListCall) PageSize(pageSize int64) *AdvertisersChannelsSitesListCall {
18752	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18753	return c
18754}
18755
18756// PageToken sets the optional parameter "pageToken": A token
18757// identifying a page of results the server should return. Typically,
18758// this is the value of next_page_token returned from the previous call
18759// to `ListSites` method. If not specified, the first page of results
18760// will be returned.
18761func (c *AdvertisersChannelsSitesListCall) PageToken(pageToken string) *AdvertisersChannelsSitesListCall {
18762	c.urlParams_.Set("pageToken", pageToken)
18763	return c
18764}
18765
18766// PartnerId sets the optional parameter "partnerId": The ID of the
18767// partner that owns the parent channel.
18768func (c *AdvertisersChannelsSitesListCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesListCall {
18769	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18770	return c
18771}
18772
18773// Fields allows partial responses to be retrieved. See
18774// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18775// for more information.
18776func (c *AdvertisersChannelsSitesListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesListCall {
18777	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18778	return c
18779}
18780
18781// IfNoneMatch sets the optional parameter which makes the operation
18782// fail if the object's ETag matches the given value. This is useful for
18783// getting updates only after the object has changed since the last
18784// request. Use googleapi.IsNotModified to check whether the response
18785// error from Do is the result of In-None-Match.
18786func (c *AdvertisersChannelsSitesListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsSitesListCall {
18787	c.ifNoneMatch_ = entityTag
18788	return c
18789}
18790
18791// Context sets the context to be used in this call's Do method. Any
18792// pending HTTP request will be aborted if the provided context is
18793// canceled.
18794func (c *AdvertisersChannelsSitesListCall) Context(ctx context.Context) *AdvertisersChannelsSitesListCall {
18795	c.ctx_ = ctx
18796	return c
18797}
18798
18799// Header returns an http.Header that can be modified by the caller to
18800// add HTTP headers to the request.
18801func (c *AdvertisersChannelsSitesListCall) Header() http.Header {
18802	if c.header_ == nil {
18803		c.header_ = make(http.Header)
18804	}
18805	return c.header_
18806}
18807
18808func (c *AdvertisersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
18809	reqHeaders := make(http.Header)
18810	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
18811	for k, v := range c.header_ {
18812		reqHeaders[k] = v
18813	}
18814	reqHeaders.Set("User-Agent", c.s.userAgent())
18815	if c.ifNoneMatch_ != "" {
18816		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18817	}
18818	var body io.Reader = nil
18819	c.urlParams_.Set("alt", alt)
18820	c.urlParams_.Set("prettyPrint", "false")
18821	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{+channelId}/sites")
18822	urls += "?" + c.urlParams_.Encode()
18823	req, err := http.NewRequest("GET", urls, body)
18824	if err != nil {
18825		return nil, err
18826	}
18827	req.Header = reqHeaders
18828	googleapi.Expand(req.URL, map[string]string{
18829		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18830		"channelId":    strconv.FormatInt(c.channelId, 10),
18831	})
18832	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18833}
18834
18835// Do executes the "displayvideo.advertisers.channels.sites.list" call.
18836// Exactly one of *ListSitesResponse or error will be non-nil. Any
18837// non-2xx status code is an error. Response headers are in either
18838// *ListSitesResponse.ServerResponse.Header or (if a response was
18839// returned at all) in error.(*googleapi.Error).Header. Use
18840// googleapi.IsNotModified to check whether the returned error was
18841// because http.StatusNotModified was returned.
18842func (c *AdvertisersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
18843	gensupport.SetOptions(c.urlParams_, opts...)
18844	res, err := c.doRequest("json")
18845	if res != nil && res.StatusCode == http.StatusNotModified {
18846		if res.Body != nil {
18847			res.Body.Close()
18848		}
18849		return nil, &googleapi.Error{
18850			Code:   res.StatusCode,
18851			Header: res.Header,
18852		}
18853	}
18854	if err != nil {
18855		return nil, err
18856	}
18857	defer googleapi.CloseBody(res)
18858	if err := googleapi.CheckResponse(res); err != nil {
18859		return nil, err
18860	}
18861	ret := &ListSitesResponse{
18862		ServerResponse: googleapi.ServerResponse{
18863			Header:         res.Header,
18864			HTTPStatusCode: res.StatusCode,
18865		},
18866	}
18867	target := &ret
18868	if err := gensupport.DecodeResponse(target, res); err != nil {
18869		return nil, err
18870	}
18871	return ret, nil
18872	// {
18873	//   "description": "Lists sites in a channel.",
18874	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}/sites",
18875	//   "httpMethod": "GET",
18876	//   "id": "displayvideo.advertisers.channels.sites.list",
18877	//   "parameterOrder": [
18878	//     "advertiserId",
18879	//     "channelId"
18880	//   ],
18881	//   "parameters": {
18882	//     "advertiserId": {
18883	//       "description": "The ID of the advertiser that owns the parent channel.",
18884	//       "format": "int64",
18885	//       "location": "path",
18886	//       "pattern": "^[^/]+$",
18887	//       "required": true,
18888	//       "type": "string"
18889	//     },
18890	//     "channelId": {
18891	//       "description": "Required. The ID of the parent channel to which the requested sites belong.",
18892	//       "format": "int64",
18893	//       "location": "path",
18894	//       "pattern": "^[^/]+$",
18895	//       "required": true,
18896	//       "type": "string"
18897	//     },
18898	//     "filter": {
18899	//       "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site currently can only contain at most one * restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"`",
18900	//       "location": "query",
18901	//       "type": "string"
18902	//     },
18903	//     "orderBy": {
18904	//       "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.",
18905	//       "location": "query",
18906	//       "type": "string"
18907	//     },
18908	//     "pageSize": {
18909	//       "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
18910	//       "format": "int32",
18911	//       "location": "query",
18912	//       "type": "integer"
18913	//     },
18914	//     "pageToken": {
18915	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.",
18916	//       "location": "query",
18917	//       "type": "string"
18918	//     },
18919	//     "partnerId": {
18920	//       "description": "The ID of the partner that owns the parent channel.",
18921	//       "format": "int64",
18922	//       "location": "query",
18923	//       "type": "string"
18924	//     }
18925	//   },
18926	//   "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}/sites",
18927	//   "response": {
18928	//     "$ref": "ListSitesResponse"
18929	//   },
18930	//   "scopes": [
18931	//     "https://www.googleapis.com/auth/display-video"
18932	//   ]
18933	// }
18934
18935}
18936
18937// Pages invokes f for each page of results.
18938// A non-nil error returned from f will halt the iteration.
18939// The provided context supersedes any context provided to the Context method.
18940func (c *AdvertisersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
18941	c.ctx_ = ctx
18942	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18943	for {
18944		x, err := c.Do()
18945		if err != nil {
18946			return err
18947		}
18948		if err := f(x); err != nil {
18949			return err
18950		}
18951		if x.NextPageToken == "" {
18952			return nil
18953		}
18954		c.PageToken(x.NextPageToken)
18955	}
18956}
18957
18958// method id "displayvideo.advertisers.channels.sites.replace":
18959
18960type AdvertisersChannelsSitesReplaceCall struct {
18961	s                   *Service
18962	advertiserId        int64
18963	channelId           int64
18964	replacesitesrequest *ReplaceSitesRequest
18965	urlParams_          gensupport.URLParams
18966	ctx_                context.Context
18967	header_             http.Header
18968}
18969
18970// Replace: Replaces all of the sites under a single channel. The
18971// operation will replace the sites under a channel with the sites
18972// provided in ReplaceSitesRequest.new_sites.
18973//
18974// - advertiserId: The ID of the advertiser that owns the parent
18975//   channel.
18976// - channelId: The ID of the parent channel whose sites will be
18977//   replaced.
18978func (r *AdvertisersChannelsSitesService) Replace(advertiserId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *AdvertisersChannelsSitesReplaceCall {
18979	c := &AdvertisersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18980	c.advertiserId = advertiserId
18981	c.channelId = channelId
18982	c.replacesitesrequest = replacesitesrequest
18983	return c
18984}
18985
18986// Fields allows partial responses to be retrieved. See
18987// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18988// for more information.
18989func (c *AdvertisersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesReplaceCall {
18990	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18991	return c
18992}
18993
18994// Context sets the context to be used in this call's Do method. Any
18995// pending HTTP request will be aborted if the provided context is
18996// canceled.
18997func (c *AdvertisersChannelsSitesReplaceCall) Context(ctx context.Context) *AdvertisersChannelsSitesReplaceCall {
18998	c.ctx_ = ctx
18999	return c
19000}
19001
19002// Header returns an http.Header that can be modified by the caller to
19003// add HTTP headers to the request.
19004func (c *AdvertisersChannelsSitesReplaceCall) Header() http.Header {
19005	if c.header_ == nil {
19006		c.header_ = make(http.Header)
19007	}
19008	return c.header_
19009}
19010
19011func (c *AdvertisersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
19012	reqHeaders := make(http.Header)
19013	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19014	for k, v := range c.header_ {
19015		reqHeaders[k] = v
19016	}
19017	reqHeaders.Set("User-Agent", c.s.userAgent())
19018	var body io.Reader = nil
19019	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
19020	if err != nil {
19021		return nil, err
19022	}
19023	reqHeaders.Set("Content-Type", "application/json")
19024	c.urlParams_.Set("alt", alt)
19025	c.urlParams_.Set("prettyPrint", "false")
19026	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:replace")
19027	urls += "?" + c.urlParams_.Encode()
19028	req, err := http.NewRequest("POST", urls, body)
19029	if err != nil {
19030		return nil, err
19031	}
19032	req.Header = reqHeaders
19033	googleapi.Expand(req.URL, map[string]string{
19034		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19035		"channelId":    strconv.FormatInt(c.channelId, 10),
19036	})
19037	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19038}
19039
19040// Do executes the "displayvideo.advertisers.channels.sites.replace" call.
19041// Exactly one of *ReplaceSitesResponse or error will be non-nil. Any
19042// non-2xx status code is an error. Response headers are in either
19043// *ReplaceSitesResponse.ServerResponse.Header or (if a response was
19044// returned at all) in error.(*googleapi.Error).Header. Use
19045// googleapi.IsNotModified to check whether the returned error was
19046// because http.StatusNotModified was returned.
19047func (c *AdvertisersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) {
19048	gensupport.SetOptions(c.urlParams_, opts...)
19049	res, err := c.doRequest("json")
19050	if res != nil && res.StatusCode == http.StatusNotModified {
19051		if res.Body != nil {
19052			res.Body.Close()
19053		}
19054		return nil, &googleapi.Error{
19055			Code:   res.StatusCode,
19056			Header: res.Header,
19057		}
19058	}
19059	if err != nil {
19060		return nil, err
19061	}
19062	defer googleapi.CloseBody(res)
19063	if err := googleapi.CheckResponse(res); err != nil {
19064		return nil, err
19065	}
19066	ret := &ReplaceSitesResponse{
19067		ServerResponse: googleapi.ServerResponse{
19068			Header:         res.Header,
19069			HTTPStatusCode: res.StatusCode,
19070		},
19071	}
19072	target := &ret
19073	if err := gensupport.DecodeResponse(target, res); err != nil {
19074		return nil, err
19075	}
19076	return ret, nil
19077	// {
19078	//   "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites.",
19079	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites:replace",
19080	//   "httpMethod": "POST",
19081	//   "id": "displayvideo.advertisers.channels.sites.replace",
19082	//   "parameterOrder": [
19083	//     "advertiserId",
19084	//     "channelId"
19085	//   ],
19086	//   "parameters": {
19087	//     "advertiserId": {
19088	//       "description": "The ID of the advertiser that owns the parent channel.",
19089	//       "format": "int64",
19090	//       "location": "path",
19091	//       "required": true,
19092	//       "type": "string"
19093	//     },
19094	//     "channelId": {
19095	//       "description": "Required. The ID of the parent channel whose sites will be replaced.",
19096	//       "format": "int64",
19097	//       "location": "path",
19098	//       "pattern": "^[^/]+$",
19099	//       "required": true,
19100	//       "type": "string"
19101	//     }
19102	//   },
19103	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:replace",
19104	//   "request": {
19105	//     "$ref": "ReplaceSitesRequest"
19106	//   },
19107	//   "response": {
19108	//     "$ref": "ReplaceSitesResponse"
19109	//   },
19110	//   "scopes": [
19111	//     "https://www.googleapis.com/auth/display-video"
19112	//   ]
19113	// }
19114
19115}
19116
19117// method id "displayvideo.advertisers.creatives.create":
19118
19119type AdvertisersCreativesCreateCall struct {
19120	s            *Service
19121	advertiserId int64
19122	creative     *Creative
19123	urlParams_   gensupport.URLParams
19124	ctx_         context.Context
19125	header_      http.Header
19126}
19127
19128// Create: Creates a new creative. Returns the newly created creative if
19129// successful.
19130//
19131// - advertiserId: Output only. The unique ID of the advertiser the
19132//   creative belongs to.
19133func (r *AdvertisersCreativesService) Create(advertiserId int64, creative *Creative) *AdvertisersCreativesCreateCall {
19134	c := &AdvertisersCreativesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19135	c.advertiserId = advertiserId
19136	c.creative = creative
19137	return c
19138}
19139
19140// Fields allows partial responses to be retrieved. See
19141// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19142// for more information.
19143func (c *AdvertisersCreativesCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreativesCreateCall {
19144	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19145	return c
19146}
19147
19148// Context sets the context to be used in this call's Do method. Any
19149// pending HTTP request will be aborted if the provided context is
19150// canceled.
19151func (c *AdvertisersCreativesCreateCall) Context(ctx context.Context) *AdvertisersCreativesCreateCall {
19152	c.ctx_ = ctx
19153	return c
19154}
19155
19156// Header returns an http.Header that can be modified by the caller to
19157// add HTTP headers to the request.
19158func (c *AdvertisersCreativesCreateCall) Header() http.Header {
19159	if c.header_ == nil {
19160		c.header_ = make(http.Header)
19161	}
19162	return c.header_
19163}
19164
19165func (c *AdvertisersCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
19166	reqHeaders := make(http.Header)
19167	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19168	for k, v := range c.header_ {
19169		reqHeaders[k] = v
19170	}
19171	reqHeaders.Set("User-Agent", c.s.userAgent())
19172	var body io.Reader = nil
19173	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
19174	if err != nil {
19175		return nil, err
19176	}
19177	reqHeaders.Set("Content-Type", "application/json")
19178	c.urlParams_.Set("alt", alt)
19179	c.urlParams_.Set("prettyPrint", "false")
19180	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives")
19181	urls += "?" + c.urlParams_.Encode()
19182	req, err := http.NewRequest("POST", urls, body)
19183	if err != nil {
19184		return nil, err
19185	}
19186	req.Header = reqHeaders
19187	googleapi.Expand(req.URL, map[string]string{
19188		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19189	})
19190	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19191}
19192
19193// Do executes the "displayvideo.advertisers.creatives.create" call.
19194// Exactly one of *Creative or error will be non-nil. Any non-2xx status
19195// code is an error. Response headers are in either
19196// *Creative.ServerResponse.Header or (if a response was returned at
19197// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19198// to check whether the returned error was because
19199// http.StatusNotModified was returned.
19200func (c *AdvertisersCreativesCreateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
19201	gensupport.SetOptions(c.urlParams_, opts...)
19202	res, err := c.doRequest("json")
19203	if res != nil && res.StatusCode == http.StatusNotModified {
19204		if res.Body != nil {
19205			res.Body.Close()
19206		}
19207		return nil, &googleapi.Error{
19208			Code:   res.StatusCode,
19209			Header: res.Header,
19210		}
19211	}
19212	if err != nil {
19213		return nil, err
19214	}
19215	defer googleapi.CloseBody(res)
19216	if err := googleapi.CheckResponse(res); err != nil {
19217		return nil, err
19218	}
19219	ret := &Creative{
19220		ServerResponse: googleapi.ServerResponse{
19221			Header:         res.Header,
19222			HTTPStatusCode: res.StatusCode,
19223		},
19224	}
19225	target := &ret
19226	if err := gensupport.DecodeResponse(target, res); err != nil {
19227		return nil, err
19228	}
19229	return ret, nil
19230	// {
19231	//   "description": "Creates a new creative. Returns the newly created creative if successful.",
19232	//   "flatPath": "v1/advertisers/{advertisersId}/creatives",
19233	//   "httpMethod": "POST",
19234	//   "id": "displayvideo.advertisers.creatives.create",
19235	//   "parameterOrder": [
19236	//     "advertiserId"
19237	//   ],
19238	//   "parameters": {
19239	//     "advertiserId": {
19240	//       "description": "Output only. The unique ID of the advertiser the creative belongs to.",
19241	//       "format": "int64",
19242	//       "location": "path",
19243	//       "pattern": "^[^/]+$",
19244	//       "required": true,
19245	//       "type": "string"
19246	//     }
19247	//   },
19248	//   "path": "v1/advertisers/{+advertiserId}/creatives",
19249	//   "request": {
19250	//     "$ref": "Creative"
19251	//   },
19252	//   "response": {
19253	//     "$ref": "Creative"
19254	//   },
19255	//   "scopes": [
19256	//     "https://www.googleapis.com/auth/display-video"
19257	//   ]
19258	// }
19259
19260}
19261
19262// method id "displayvideo.advertisers.creatives.delete":
19263
19264type AdvertisersCreativesDeleteCall struct {
19265	s            *Service
19266	advertiserId int64
19267	creativeId   int64
19268	urlParams_   gensupport.URLParams
19269	ctx_         context.Context
19270	header_      http.Header
19271}
19272
19273// Delete: Deletes a creative. Returns error code `NOT_FOUND` if the
19274// creative does not exist. The creative should be archived first, i.e.
19275// set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be
19276// deleted.
19277//
19278// - advertiserId: The ID of the advertiser this creative belongs to.
19279// - creativeId: The ID of the creative to be deleted.
19280func (r *AdvertisersCreativesService) Delete(advertiserId int64, creativeId int64) *AdvertisersCreativesDeleteCall {
19281	c := &AdvertisersCreativesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19282	c.advertiserId = advertiserId
19283	c.creativeId = creativeId
19284	return c
19285}
19286
19287// Fields allows partial responses to be retrieved. See
19288// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19289// for more information.
19290func (c *AdvertisersCreativesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCreativesDeleteCall {
19291	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19292	return c
19293}
19294
19295// Context sets the context to be used in this call's Do method. Any
19296// pending HTTP request will be aborted if the provided context is
19297// canceled.
19298func (c *AdvertisersCreativesDeleteCall) Context(ctx context.Context) *AdvertisersCreativesDeleteCall {
19299	c.ctx_ = ctx
19300	return c
19301}
19302
19303// Header returns an http.Header that can be modified by the caller to
19304// add HTTP headers to the request.
19305func (c *AdvertisersCreativesDeleteCall) Header() http.Header {
19306	if c.header_ == nil {
19307		c.header_ = make(http.Header)
19308	}
19309	return c.header_
19310}
19311
19312func (c *AdvertisersCreativesDeleteCall) doRequest(alt string) (*http.Response, error) {
19313	reqHeaders := make(http.Header)
19314	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19315	for k, v := range c.header_ {
19316		reqHeaders[k] = v
19317	}
19318	reqHeaders.Set("User-Agent", c.s.userAgent())
19319	var body io.Reader = nil
19320	c.urlParams_.Set("alt", alt)
19321	c.urlParams_.Set("prettyPrint", "false")
19322	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
19323	urls += "?" + c.urlParams_.Encode()
19324	req, err := http.NewRequest("DELETE", urls, body)
19325	if err != nil {
19326		return nil, err
19327	}
19328	req.Header = reqHeaders
19329	googleapi.Expand(req.URL, map[string]string{
19330		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19331		"creativeId":   strconv.FormatInt(c.creativeId, 10),
19332	})
19333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19334}
19335
19336// Do executes the "displayvideo.advertisers.creatives.delete" call.
19337// Exactly one of *Empty or error will be non-nil. Any non-2xx status
19338// code is an error. Response headers are in either
19339// *Empty.ServerResponse.Header or (if a response was returned at all)
19340// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
19341// check whether the returned error was because http.StatusNotModified
19342// was returned.
19343func (c *AdvertisersCreativesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
19344	gensupport.SetOptions(c.urlParams_, opts...)
19345	res, err := c.doRequest("json")
19346	if res != nil && res.StatusCode == http.StatusNotModified {
19347		if res.Body != nil {
19348			res.Body.Close()
19349		}
19350		return nil, &googleapi.Error{
19351			Code:   res.StatusCode,
19352			Header: res.Header,
19353		}
19354	}
19355	if err != nil {
19356		return nil, err
19357	}
19358	defer googleapi.CloseBody(res)
19359	if err := googleapi.CheckResponse(res); err != nil {
19360		return nil, err
19361	}
19362	ret := &Empty{
19363		ServerResponse: googleapi.ServerResponse{
19364			Header:         res.Header,
19365			HTTPStatusCode: res.StatusCode,
19366		},
19367	}
19368	target := &ret
19369	if err := gensupport.DecodeResponse(target, res); err != nil {
19370		return nil, err
19371	}
19372	return ret, nil
19373	// {
19374	//   "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted.",
19375	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
19376	//   "httpMethod": "DELETE",
19377	//   "id": "displayvideo.advertisers.creatives.delete",
19378	//   "parameterOrder": [
19379	//     "advertiserId",
19380	//     "creativeId"
19381	//   ],
19382	//   "parameters": {
19383	//     "advertiserId": {
19384	//       "description": "The ID of the advertiser this creative belongs to.",
19385	//       "format": "int64",
19386	//       "location": "path",
19387	//       "pattern": "^[^/]+$",
19388	//       "required": true,
19389	//       "type": "string"
19390	//     },
19391	//     "creativeId": {
19392	//       "description": "The ID of the creative to be deleted.",
19393	//       "format": "int64",
19394	//       "location": "path",
19395	//       "pattern": "^[^/]+$",
19396	//       "required": true,
19397	//       "type": "string"
19398	//     }
19399	//   },
19400	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
19401	//   "response": {
19402	//     "$ref": "Empty"
19403	//   },
19404	//   "scopes": [
19405	//     "https://www.googleapis.com/auth/display-video"
19406	//   ]
19407	// }
19408
19409}
19410
19411// method id "displayvideo.advertisers.creatives.get":
19412
19413type AdvertisersCreativesGetCall struct {
19414	s            *Service
19415	advertiserId int64
19416	creativeId   int64
19417	urlParams_   gensupport.URLParams
19418	ifNoneMatch_ string
19419	ctx_         context.Context
19420	header_      http.Header
19421}
19422
19423// Get: Gets a creative.
19424//
19425// - advertiserId: The ID of the advertiser this creative belongs to.
19426// - creativeId: The ID of the creative to fetch.
19427func (r *AdvertisersCreativesService) Get(advertiserId int64, creativeId int64) *AdvertisersCreativesGetCall {
19428	c := &AdvertisersCreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19429	c.advertiserId = advertiserId
19430	c.creativeId = creativeId
19431	return c
19432}
19433
19434// Fields allows partial responses to be retrieved. See
19435// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19436// for more information.
19437func (c *AdvertisersCreativesGetCall) Fields(s ...googleapi.Field) *AdvertisersCreativesGetCall {
19438	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19439	return c
19440}
19441
19442// IfNoneMatch sets the optional parameter which makes the operation
19443// fail if the object's ETag matches the given value. This is useful for
19444// getting updates only after the object has changed since the last
19445// request. Use googleapi.IsNotModified to check whether the response
19446// error from Do is the result of In-None-Match.
19447func (c *AdvertisersCreativesGetCall) IfNoneMatch(entityTag string) *AdvertisersCreativesGetCall {
19448	c.ifNoneMatch_ = entityTag
19449	return c
19450}
19451
19452// Context sets the context to be used in this call's Do method. Any
19453// pending HTTP request will be aborted if the provided context is
19454// canceled.
19455func (c *AdvertisersCreativesGetCall) Context(ctx context.Context) *AdvertisersCreativesGetCall {
19456	c.ctx_ = ctx
19457	return c
19458}
19459
19460// Header returns an http.Header that can be modified by the caller to
19461// add HTTP headers to the request.
19462func (c *AdvertisersCreativesGetCall) Header() http.Header {
19463	if c.header_ == nil {
19464		c.header_ = make(http.Header)
19465	}
19466	return c.header_
19467}
19468
19469func (c *AdvertisersCreativesGetCall) doRequest(alt string) (*http.Response, error) {
19470	reqHeaders := make(http.Header)
19471	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19472	for k, v := range c.header_ {
19473		reqHeaders[k] = v
19474	}
19475	reqHeaders.Set("User-Agent", c.s.userAgent())
19476	if c.ifNoneMatch_ != "" {
19477		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19478	}
19479	var body io.Reader = nil
19480	c.urlParams_.Set("alt", alt)
19481	c.urlParams_.Set("prettyPrint", "false")
19482	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
19483	urls += "?" + c.urlParams_.Encode()
19484	req, err := http.NewRequest("GET", urls, body)
19485	if err != nil {
19486		return nil, err
19487	}
19488	req.Header = reqHeaders
19489	googleapi.Expand(req.URL, map[string]string{
19490		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19491		"creativeId":   strconv.FormatInt(c.creativeId, 10),
19492	})
19493	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19494}
19495
19496// Do executes the "displayvideo.advertisers.creatives.get" call.
19497// Exactly one of *Creative or error will be non-nil. Any non-2xx status
19498// code is an error. Response headers are in either
19499// *Creative.ServerResponse.Header or (if a response was returned at
19500// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19501// to check whether the returned error was because
19502// http.StatusNotModified was returned.
19503func (c *AdvertisersCreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
19504	gensupport.SetOptions(c.urlParams_, opts...)
19505	res, err := c.doRequest("json")
19506	if res != nil && res.StatusCode == http.StatusNotModified {
19507		if res.Body != nil {
19508			res.Body.Close()
19509		}
19510		return nil, &googleapi.Error{
19511			Code:   res.StatusCode,
19512			Header: res.Header,
19513		}
19514	}
19515	if err != nil {
19516		return nil, err
19517	}
19518	defer googleapi.CloseBody(res)
19519	if err := googleapi.CheckResponse(res); err != nil {
19520		return nil, err
19521	}
19522	ret := &Creative{
19523		ServerResponse: googleapi.ServerResponse{
19524			Header:         res.Header,
19525			HTTPStatusCode: res.StatusCode,
19526		},
19527	}
19528	target := &ret
19529	if err := gensupport.DecodeResponse(target, res); err != nil {
19530		return nil, err
19531	}
19532	return ret, nil
19533	// {
19534	//   "description": "Gets a creative.",
19535	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
19536	//   "httpMethod": "GET",
19537	//   "id": "displayvideo.advertisers.creatives.get",
19538	//   "parameterOrder": [
19539	//     "advertiserId",
19540	//     "creativeId"
19541	//   ],
19542	//   "parameters": {
19543	//     "advertiserId": {
19544	//       "description": "Required. The ID of the advertiser this creative belongs to.",
19545	//       "format": "int64",
19546	//       "location": "path",
19547	//       "pattern": "^[^/]+$",
19548	//       "required": true,
19549	//       "type": "string"
19550	//     },
19551	//     "creativeId": {
19552	//       "description": "Required. The ID of the creative to fetch.",
19553	//       "format": "int64",
19554	//       "location": "path",
19555	//       "pattern": "^[^/]+$",
19556	//       "required": true,
19557	//       "type": "string"
19558	//     }
19559	//   },
19560	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
19561	//   "response": {
19562	//     "$ref": "Creative"
19563	//   },
19564	//   "scopes": [
19565	//     "https://www.googleapis.com/auth/display-video"
19566	//   ]
19567	// }
19568
19569}
19570
19571// method id "displayvideo.advertisers.creatives.list":
19572
19573type AdvertisersCreativesListCall struct {
19574	s            *Service
19575	advertiserId int64
19576	urlParams_   gensupport.URLParams
19577	ifNoneMatch_ string
19578	ctx_         context.Context
19579	header_      http.Header
19580}
19581
19582// List: Lists creatives in an advertiser. The order is defined by the
19583// order_by parameter. If a filter by entity_status is not specified,
19584// creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the
19585// results.
19586//
19587// - advertiserId: The ID of the advertiser to list creatives for.
19588func (r *AdvertisersCreativesService) List(advertiserId int64) *AdvertisersCreativesListCall {
19589	c := &AdvertisersCreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19590	c.advertiserId = advertiserId
19591	return c
19592}
19593
19594// Filter sets the optional parameter "filter": Allows filtering by
19595// creative properties. Supported syntax: * Filter expressions are made
19596// up of one or more restrictions. * Restriction for the same field must
19597// be combined by `OR`. * Restriction for different fields must be
19598// combined by `AND`. * Between `(` and `)` there can only be
19599// restrictions combined by `OR` for the same field. * A restriction has
19600// the form of `{field} {operator} {value}`. * The operator must be
19601// `EQUALS (=)` for the following fields: - `entityStatus` -
19602// `creativeType`. - `dimensions` - `minDuration` - `maxDuration` -
19603// `approvalStatus` - `exchangeReviewStatus` - `dynamic` - `creativeId`
19604// * The operator must be `HAS (:)` for the following fields: -
19605// `lineItemIds` * For `entityStatus`, `minDuration`, `maxDuration`, and
19606// `dynamic` there may be at most one restriction. * For `dimensions`,
19607// the value is in the form of "{width}x{height}". * For
19608// `exchangeReviewStatus`, the value is in the form of
19609// `{exchange}-{reviewStatus}`. * For `minDuration` and `maxDuration`,
19610// the value is in the form of "{duration}s". Only seconds are
19611// supported with millisecond granularity. * There may be multiple
19612// `lineItemIds` restrictions in order to search against multiple
19613// possible line item IDs. * There may be multiple `creativeId`
19614// restrictions in order to search against multiple possible creative
19615// IDs. Examples: * All native creatives:
19616// `creativeType="CREATIVE_TYPE_NATIVE" * All active creatives with
19617// 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE"
19618// AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic
19619// creatives that are approved by AdX or AppNexus, with a minimum
19620// duration of 5 seconds and 200ms. `dynamic="true" AND
19621// minDuration="5.2s" AND
19622// (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROV
19623// ED" OR
19624// exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` *
19625// All video creatives that are associated with line item ID 1 or 2:
19626// `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR
19627// lineItemIds:2)` * Find creatives by multiple creative IDs:
19628// `creativeId=1 OR creativeId=2` The length of this field should be no
19629// more than 500 characters.
19630func (c *AdvertisersCreativesListCall) Filter(filter string) *AdvertisersCreativesListCall {
19631	c.urlParams_.Set("filter", filter)
19632	return c
19633}
19634
19635// OrderBy sets the optional parameter "orderBy": Field by which to sort
19636// the list. Acceptable values are: * `creativeId` (default) *
19637// `createTime` * `mediaDuration` * `dimensions` (sorts by width first,
19638// then by height) The default sorting order is ascending. To specify
19639// descending order for a field, a suffix "desc" should be added to the
19640// field name. Example: `createTime desc`.
19641func (c *AdvertisersCreativesListCall) OrderBy(orderBy string) *AdvertisersCreativesListCall {
19642	c.urlParams_.Set("orderBy", orderBy)
19643	return c
19644}
19645
19646// PageSize sets the optional parameter "pageSize": Requested page size.
19647// Must be between `1` and `100`. If unspecified will default to `100`.
19648// Returns error code `INVALID_ARGUMENT` if an invalid value is
19649// specified.
19650func (c *AdvertisersCreativesListCall) PageSize(pageSize int64) *AdvertisersCreativesListCall {
19651	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
19652	return c
19653}
19654
19655// PageToken sets the optional parameter "pageToken": A token
19656// identifying a page of results the server should return. Typically,
19657// this is the value of next_page_token returned from the previous call
19658// to `ListCreatives` method. If not specified, the first page of
19659// results will be returned.
19660func (c *AdvertisersCreativesListCall) PageToken(pageToken string) *AdvertisersCreativesListCall {
19661	c.urlParams_.Set("pageToken", pageToken)
19662	return c
19663}
19664
19665// Fields allows partial responses to be retrieved. See
19666// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19667// for more information.
19668func (c *AdvertisersCreativesListCall) Fields(s ...googleapi.Field) *AdvertisersCreativesListCall {
19669	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19670	return c
19671}
19672
19673// IfNoneMatch sets the optional parameter which makes the operation
19674// fail if the object's ETag matches the given value. This is useful for
19675// getting updates only after the object has changed since the last
19676// request. Use googleapi.IsNotModified to check whether the response
19677// error from Do is the result of In-None-Match.
19678func (c *AdvertisersCreativesListCall) IfNoneMatch(entityTag string) *AdvertisersCreativesListCall {
19679	c.ifNoneMatch_ = entityTag
19680	return c
19681}
19682
19683// Context sets the context to be used in this call's Do method. Any
19684// pending HTTP request will be aborted if the provided context is
19685// canceled.
19686func (c *AdvertisersCreativesListCall) Context(ctx context.Context) *AdvertisersCreativesListCall {
19687	c.ctx_ = ctx
19688	return c
19689}
19690
19691// Header returns an http.Header that can be modified by the caller to
19692// add HTTP headers to the request.
19693func (c *AdvertisersCreativesListCall) Header() http.Header {
19694	if c.header_ == nil {
19695		c.header_ = make(http.Header)
19696	}
19697	return c.header_
19698}
19699
19700func (c *AdvertisersCreativesListCall) doRequest(alt string) (*http.Response, error) {
19701	reqHeaders := make(http.Header)
19702	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19703	for k, v := range c.header_ {
19704		reqHeaders[k] = v
19705	}
19706	reqHeaders.Set("User-Agent", c.s.userAgent())
19707	if c.ifNoneMatch_ != "" {
19708		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19709	}
19710	var body io.Reader = nil
19711	c.urlParams_.Set("alt", alt)
19712	c.urlParams_.Set("prettyPrint", "false")
19713	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives")
19714	urls += "?" + c.urlParams_.Encode()
19715	req, err := http.NewRequest("GET", urls, body)
19716	if err != nil {
19717		return nil, err
19718	}
19719	req.Header = reqHeaders
19720	googleapi.Expand(req.URL, map[string]string{
19721		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19722	})
19723	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19724}
19725
19726// Do executes the "displayvideo.advertisers.creatives.list" call.
19727// Exactly one of *ListCreativesResponse or error will be non-nil. Any
19728// non-2xx status code is an error. Response headers are in either
19729// *ListCreativesResponse.ServerResponse.Header or (if a response was
19730// returned at all) in error.(*googleapi.Error).Header. Use
19731// googleapi.IsNotModified to check whether the returned error was
19732// because http.StatusNotModified was returned.
19733func (c *AdvertisersCreativesListCall) Do(opts ...googleapi.CallOption) (*ListCreativesResponse, error) {
19734	gensupport.SetOptions(c.urlParams_, opts...)
19735	res, err := c.doRequest("json")
19736	if res != nil && res.StatusCode == http.StatusNotModified {
19737		if res.Body != nil {
19738			res.Body.Close()
19739		}
19740		return nil, &googleapi.Error{
19741			Code:   res.StatusCode,
19742			Header: res.Header,
19743		}
19744	}
19745	if err != nil {
19746		return nil, err
19747	}
19748	defer googleapi.CloseBody(res)
19749	if err := googleapi.CheckResponse(res); err != nil {
19750		return nil, err
19751	}
19752	ret := &ListCreativesResponse{
19753		ServerResponse: googleapi.ServerResponse{
19754			Header:         res.Header,
19755			HTTPStatusCode: res.StatusCode,
19756		},
19757	}
19758	target := &ret
19759	if err := gensupport.DecodeResponse(target, res); err != nil {
19760		return nil, err
19761	}
19762	return ret, nil
19763	// {
19764	//   "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
19765	//   "flatPath": "v1/advertisers/{advertisersId}/creatives",
19766	//   "httpMethod": "GET",
19767	//   "id": "displayvideo.advertisers.creatives.list",
19768	//   "parameterOrder": [
19769	//     "advertiserId"
19770	//   ],
19771	//   "parameters": {
19772	//     "advertiserId": {
19773	//       "description": "Required. The ID of the advertiser to list creatives for.",
19774	//       "format": "int64",
19775	//       "location": "path",
19776	//       "pattern": "^[^/]+$",
19777	//       "required": true,
19778	//       "type": "string"
19779	//     },
19780	//     "filter": {
19781	//       "description": "Allows filtering by creative properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restriction for the same field must be combined by `OR`. * Restriction for different fields must be combined by `AND`. * Between `(` and `)` there can only be restrictions combined by `OR` for the same field. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)` for the following fields: - `entityStatus` - `creativeType`. - `dimensions` - `minDuration` - `maxDuration` - `approvalStatus` - `exchangeReviewStatus` - `dynamic` - `creativeId` * The operator must be `HAS (:)` for the following fields: - `lineItemIds` * For `entityStatus`, `minDuration`, `maxDuration`, and `dynamic` there may be at most one restriction. * For `dimensions`, the value is in the form of `\"{width}x{height}\"`. * For `exchangeReviewStatus`, the value is in the form of `{exchange}-{reviewStatus}`. * For `minDuration` and `maxDuration`, the value is in the form of `\"{duration}s\"`. Only seconds are supported with millisecond granularity. * There may be multiple `lineItemIds` restrictions in order to search against multiple possible line item IDs. * There may be multiple `creativeId` restrictions in order to search against multiple possible creative IDs. Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms. `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` The length of this field should be no more than 500 characters.",
19782	//       "location": "query",
19783	//       "type": "string"
19784	//     },
19785	//     "orderBy": {
19786	//       "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.",
19787	//       "location": "query",
19788	//       "type": "string"
19789	//     },
19790	//     "pageSize": {
19791	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
19792	//       "format": "int32",
19793	//       "location": "query",
19794	//       "type": "integer"
19795	//     },
19796	//     "pageToken": {
19797	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned.",
19798	//       "location": "query",
19799	//       "type": "string"
19800	//     }
19801	//   },
19802	//   "path": "v1/advertisers/{+advertiserId}/creatives",
19803	//   "response": {
19804	//     "$ref": "ListCreativesResponse"
19805	//   },
19806	//   "scopes": [
19807	//     "https://www.googleapis.com/auth/display-video"
19808	//   ]
19809	// }
19810
19811}
19812
19813// Pages invokes f for each page of results.
19814// A non-nil error returned from f will halt the iteration.
19815// The provided context supersedes any context provided to the Context method.
19816func (c *AdvertisersCreativesListCall) Pages(ctx context.Context, f func(*ListCreativesResponse) error) error {
19817	c.ctx_ = ctx
19818	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19819	for {
19820		x, err := c.Do()
19821		if err != nil {
19822			return err
19823		}
19824		if err := f(x); err != nil {
19825			return err
19826		}
19827		if x.NextPageToken == "" {
19828			return nil
19829		}
19830		c.PageToken(x.NextPageToken)
19831	}
19832}
19833
19834// method id "displayvideo.advertisers.creatives.patch":
19835
19836type AdvertisersCreativesPatchCall struct {
19837	s            *Service
19838	advertiserId int64
19839	creativeId   int64
19840	creative     *Creative
19841	urlParams_   gensupport.URLParams
19842	ctx_         context.Context
19843	header_      http.Header
19844}
19845
19846// Patch: Updates an existing creative. Returns the updated creative if
19847// successful.
19848//
19849// - advertiserId: Output only. The unique ID of the advertiser the
19850//   creative belongs to.
19851// - creativeId: Output only. The unique ID of the creative. Assigned by
19852//   the system.
19853func (r *AdvertisersCreativesService) Patch(advertiserId int64, creativeId int64, creative *Creative) *AdvertisersCreativesPatchCall {
19854	c := &AdvertisersCreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19855	c.advertiserId = advertiserId
19856	c.creativeId = creativeId
19857	c.creative = creative
19858	return c
19859}
19860
19861// UpdateMask sets the optional parameter "updateMask": Required. The
19862// mask to control which fields to update.
19863func (c *AdvertisersCreativesPatchCall) UpdateMask(updateMask string) *AdvertisersCreativesPatchCall {
19864	c.urlParams_.Set("updateMask", updateMask)
19865	return c
19866}
19867
19868// Fields allows partial responses to be retrieved. See
19869// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19870// for more information.
19871func (c *AdvertisersCreativesPatchCall) Fields(s ...googleapi.Field) *AdvertisersCreativesPatchCall {
19872	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19873	return c
19874}
19875
19876// Context sets the context to be used in this call's Do method. Any
19877// pending HTTP request will be aborted if the provided context is
19878// canceled.
19879func (c *AdvertisersCreativesPatchCall) Context(ctx context.Context) *AdvertisersCreativesPatchCall {
19880	c.ctx_ = ctx
19881	return c
19882}
19883
19884// Header returns an http.Header that can be modified by the caller to
19885// add HTTP headers to the request.
19886func (c *AdvertisersCreativesPatchCall) Header() http.Header {
19887	if c.header_ == nil {
19888		c.header_ = make(http.Header)
19889	}
19890	return c.header_
19891}
19892
19893func (c *AdvertisersCreativesPatchCall) doRequest(alt string) (*http.Response, error) {
19894	reqHeaders := make(http.Header)
19895	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
19896	for k, v := range c.header_ {
19897		reqHeaders[k] = v
19898	}
19899	reqHeaders.Set("User-Agent", c.s.userAgent())
19900	var body io.Reader = nil
19901	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
19902	if err != nil {
19903		return nil, err
19904	}
19905	reqHeaders.Set("Content-Type", "application/json")
19906	c.urlParams_.Set("alt", alt)
19907	c.urlParams_.Set("prettyPrint", "false")
19908	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
19909	urls += "?" + c.urlParams_.Encode()
19910	req, err := http.NewRequest("PATCH", urls, body)
19911	if err != nil {
19912		return nil, err
19913	}
19914	req.Header = reqHeaders
19915	googleapi.Expand(req.URL, map[string]string{
19916		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19917		"creativeId":   strconv.FormatInt(c.creativeId, 10),
19918	})
19919	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19920}
19921
19922// Do executes the "displayvideo.advertisers.creatives.patch" call.
19923// Exactly one of *Creative or error will be non-nil. Any non-2xx status
19924// code is an error. Response headers are in either
19925// *Creative.ServerResponse.Header or (if a response was returned at
19926// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19927// to check whether the returned error was because
19928// http.StatusNotModified was returned.
19929func (c *AdvertisersCreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
19930	gensupport.SetOptions(c.urlParams_, opts...)
19931	res, err := c.doRequest("json")
19932	if res != nil && res.StatusCode == http.StatusNotModified {
19933		if res.Body != nil {
19934			res.Body.Close()
19935		}
19936		return nil, &googleapi.Error{
19937			Code:   res.StatusCode,
19938			Header: res.Header,
19939		}
19940	}
19941	if err != nil {
19942		return nil, err
19943	}
19944	defer googleapi.CloseBody(res)
19945	if err := googleapi.CheckResponse(res); err != nil {
19946		return nil, err
19947	}
19948	ret := &Creative{
19949		ServerResponse: googleapi.ServerResponse{
19950			Header:         res.Header,
19951			HTTPStatusCode: res.StatusCode,
19952		},
19953	}
19954	target := &ret
19955	if err := gensupport.DecodeResponse(target, res); err != nil {
19956		return nil, err
19957	}
19958	return ret, nil
19959	// {
19960	//   "description": "Updates an existing creative. Returns the updated creative if successful.",
19961	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
19962	//   "httpMethod": "PATCH",
19963	//   "id": "displayvideo.advertisers.creatives.patch",
19964	//   "parameterOrder": [
19965	//     "advertiserId",
19966	//     "creativeId"
19967	//   ],
19968	//   "parameters": {
19969	//     "advertiserId": {
19970	//       "description": "Output only. The unique ID of the advertiser the creative belongs to.",
19971	//       "format": "int64",
19972	//       "location": "path",
19973	//       "pattern": "^[^/]+$",
19974	//       "required": true,
19975	//       "type": "string"
19976	//     },
19977	//     "creativeId": {
19978	//       "description": "Output only. The unique ID of the creative. Assigned by the system.",
19979	//       "format": "int64",
19980	//       "location": "path",
19981	//       "pattern": "^[^/]+$",
19982	//       "required": true,
19983	//       "type": "string"
19984	//     },
19985	//     "updateMask": {
19986	//       "description": "Required. The mask to control which fields to update.",
19987	//       "format": "google-fieldmask",
19988	//       "location": "query",
19989	//       "type": "string"
19990	//     }
19991	//   },
19992	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
19993	//   "request": {
19994	//     "$ref": "Creative"
19995	//   },
19996	//   "response": {
19997	//     "$ref": "Creative"
19998	//   },
19999	//   "scopes": [
20000	//     "https://www.googleapis.com/auth/display-video"
20001	//   ]
20002	// }
20003
20004}
20005
20006// method id "displayvideo.advertisers.insertionOrders.bulkListInsertionOrderAssignedTargetingOptions":
20007
20008type AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall struct {
20009	s                *Service
20010	advertiserId     int64
20011	insertionOrderId int64
20012	urlParams_       gensupport.URLParams
20013	ifNoneMatch_     string
20014	ctx_             context.Context
20015	header_          http.Header
20016}
20017
20018// BulkListInsertionOrderAssignedTargetingOptions: Lists assigned
20019// targeting options of an insertion order across targeting types.
20020//
20021// - advertiserId: The ID of the advertiser the insertion order belongs
20022//   to.
20023// - insertionOrderId: The ID of the insertion order to list assigned
20024//   targeting options for.
20025func (r *AdvertisersInsertionOrdersService) BulkListInsertionOrderAssignedTargetingOptions(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20026	c := &AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20027	c.advertiserId = advertiserId
20028	c.insertionOrderId = insertionOrderId
20029	return c
20030}
20031
20032// Filter sets the optional parameter "filter": Allows filtering by
20033// assigned targeting option properties. Supported syntax: * Filter
20034// expressions are made up of one or more restrictions. * Restrictions
20035// can be combined by the logical operator `OR` on the same field. * A
20036// restriction has the form of `{field} {operator} {value}`. * The
20037// operator must be `EQUALS (=)`. * Supported fields: - `targetingType`
20038// - `inheritance` Examples: * AssignedTargetingOptions of targeting
20039// type TARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL
20040// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
20041// targetingType="TARGETING_TYPE_CHANNEL" * AssignedTargetingOptions
20042// with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER
20043// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"
20044// The length of this field should be no more than 500 characters.
20045func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20046	c.urlParams_.Set("filter", filter)
20047	return c
20048}
20049
20050// OrderBy sets the optional parameter "orderBy": Field by which to sort
20051// the list. Acceptable values are: * `targetingType` (default) The
20052// default sorting order is ascending. To specify descending order for a
20053// field, a suffix "desc" should be added to the field name. Example:
20054// `targetingType desc`.
20055func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20056	c.urlParams_.Set("orderBy", orderBy)
20057	return c
20058}
20059
20060// PageSize sets the optional parameter "pageSize": Requested page size.
20061// The size must be an integer between `1` and `5000`. If unspecified,
20062// the default is `5000`. Returns error code `INVALID_ARGUMENT` if an
20063// invalid value is specified.
20064func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20065	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20066	return c
20067}
20068
20069// PageToken sets the optional parameter "pageToken": A token that lets
20070// the client fetch the next page of results. Typically, this is the
20071// value of next_page_token returned from the previous call to
20072// `BulkListInsertionOrderAssignedTargetingOptions` method. If not
20073// specified, the first page of results will be returned.
20074func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20075	c.urlParams_.Set("pageToken", pageToken)
20076	return c
20077}
20078
20079// Fields allows partial responses to be retrieved. See
20080// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20081// for more information.
20082func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20083	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20084	return c
20085}
20086
20087// IfNoneMatch sets the optional parameter which makes the operation
20088// fail if the object's ETag matches the given value. This is useful for
20089// getting updates only after the object has changed since the last
20090// request. Use googleapi.IsNotModified to check whether the response
20091// error from Do is the result of In-None-Match.
20092func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20093	c.ifNoneMatch_ = entityTag
20094	return c
20095}
20096
20097// Context sets the context to be used in this call's Do method. Any
20098// pending HTTP request will be aborted if the provided context is
20099// canceled.
20100func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20101	c.ctx_ = ctx
20102	return c
20103}
20104
20105// Header returns an http.Header that can be modified by the caller to
20106// add HTTP headers to the request.
20107func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Header() http.Header {
20108	if c.header_ == nil {
20109		c.header_ = make(http.Header)
20110	}
20111	return c.header_
20112}
20113
20114func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
20115	reqHeaders := make(http.Header)
20116	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20117	for k, v := range c.header_ {
20118		reqHeaders[k] = v
20119	}
20120	reqHeaders.Set("User-Agent", c.s.userAgent())
20121	if c.ifNoneMatch_ != "" {
20122		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20123	}
20124	var body io.Reader = nil
20125	c.urlParams_.Set("alt", alt)
20126	c.urlParams_.Set("prettyPrint", "false")
20127	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:bulkListInsertionOrderAssignedTargetingOptions")
20128	urls += "?" + c.urlParams_.Encode()
20129	req, err := http.NewRequest("GET", urls, body)
20130	if err != nil {
20131		return nil, err
20132	}
20133	req.Header = reqHeaders
20134	googleapi.Expand(req.URL, map[string]string{
20135		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
20136		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
20137	})
20138	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20139}
20140
20141// Do executes the "displayvideo.advertisers.insertionOrders.bulkListInsertionOrderAssignedTargetingOptions" call.
20142// Exactly one of
20143// *BulkListInsertionOrderAssignedTargetingOptionsResponse or error will
20144// be non-nil. Any non-2xx status code is an error. Response headers are
20145// in either
20146// *BulkListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse
20147// .Header or (if a response was returned at all) in
20148// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20149// whether the returned error was because http.StatusNotModified was
20150// returned.
20151func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListInsertionOrderAssignedTargetingOptionsResponse, error) {
20152	gensupport.SetOptions(c.urlParams_, opts...)
20153	res, err := c.doRequest("json")
20154	if res != nil && res.StatusCode == http.StatusNotModified {
20155		if res.Body != nil {
20156			res.Body.Close()
20157		}
20158		return nil, &googleapi.Error{
20159			Code:   res.StatusCode,
20160			Header: res.Header,
20161		}
20162	}
20163	if err != nil {
20164		return nil, err
20165	}
20166	defer googleapi.CloseBody(res)
20167	if err := googleapi.CheckResponse(res); err != nil {
20168		return nil, err
20169	}
20170	ret := &BulkListInsertionOrderAssignedTargetingOptionsResponse{
20171		ServerResponse: googleapi.ServerResponse{
20172			Header:         res.Header,
20173			HTTPStatusCode: res.StatusCode,
20174		},
20175	}
20176	target := &ret
20177	if err := gensupport.DecodeResponse(target, res); err != nil {
20178		return nil, err
20179	}
20180	return ret, nil
20181	// {
20182	//   "description": "Lists assigned targeting options of an insertion order across targeting types.",
20183	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}:bulkListInsertionOrderAssignedTargetingOptions",
20184	//   "httpMethod": "GET",
20185	//   "id": "displayvideo.advertisers.insertionOrders.bulkListInsertionOrderAssignedTargetingOptions",
20186	//   "parameterOrder": [
20187	//     "advertiserId",
20188	//     "insertionOrderId"
20189	//   ],
20190	//   "parameters": {
20191	//     "advertiserId": {
20192	//       "description": "Required. The ID of the advertiser the insertion order belongs to.",
20193	//       "format": "int64",
20194	//       "location": "path",
20195	//       "pattern": "^[^/]+$",
20196	//       "required": true,
20197	//       "type": "string"
20198	//     },
20199	//     "filter": {
20200	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR` on the same field. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `targetingType` - `inheritance` Examples: * AssignedTargetingOptions of targeting type TARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters.",
20201	//       "location": "query",
20202	//       "type": "string"
20203	//     },
20204	//     "insertionOrderId": {
20205	//       "description": "Required. The ID of the insertion order to list assigned targeting options for.",
20206	//       "format": "int64",
20207	//       "location": "path",
20208	//       "pattern": "^[^/]+$",
20209	//       "required": true,
20210	//       "type": "string"
20211	//     },
20212	//     "orderBy": {
20213	//       "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.",
20214	//       "location": "query",
20215	//       "type": "string"
20216	//     },
20217	//     "pageSize": {
20218	//       "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
20219	//       "format": "int32",
20220	//       "location": "query",
20221	//       "type": "integer"
20222	//     },
20223	//     "pageToken": {
20224	//       "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
20225	//       "location": "query",
20226	//       "type": "string"
20227	//     }
20228	//   },
20229	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:bulkListInsertionOrderAssignedTargetingOptions",
20230	//   "response": {
20231	//     "$ref": "BulkListInsertionOrderAssignedTargetingOptionsResponse"
20232	//   },
20233	//   "scopes": [
20234	//     "https://www.googleapis.com/auth/display-video"
20235	//   ]
20236	// }
20237
20238}
20239
20240// Pages invokes f for each page of results.
20241// A non-nil error returned from f will halt the iteration.
20242// The provided context supersedes any context provided to the Context method.
20243func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListInsertionOrderAssignedTargetingOptionsResponse) error) error {
20244	c.ctx_ = ctx
20245	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20246	for {
20247		x, err := c.Do()
20248		if err != nil {
20249			return err
20250		}
20251		if err := f(x); err != nil {
20252			return err
20253		}
20254		if x.NextPageToken == "" {
20255			return nil
20256		}
20257		c.PageToken(x.NextPageToken)
20258	}
20259}
20260
20261// method id "displayvideo.advertisers.insertionOrders.create":
20262
20263type AdvertisersInsertionOrdersCreateCall struct {
20264	s              *Service
20265	advertiserId   int64
20266	insertionorder *InsertionOrder
20267	urlParams_     gensupport.URLParams
20268	ctx_           context.Context
20269	header_        http.Header
20270}
20271
20272// Create: Creates a new insertion order. Returns the newly created
20273// insertion order if successful.
20274//
20275// - advertiserId: Output only. The unique ID of the advertiser the
20276//   insertion order belongs to.
20277func (r *AdvertisersInsertionOrdersService) Create(advertiserId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersCreateCall {
20278	c := &AdvertisersInsertionOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20279	c.advertiserId = advertiserId
20280	c.insertionorder = insertionorder
20281	return c
20282}
20283
20284// Fields allows partial responses to be retrieved. See
20285// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20286// for more information.
20287func (c *AdvertisersInsertionOrdersCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersCreateCall {
20288	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20289	return c
20290}
20291
20292// Context sets the context to be used in this call's Do method. Any
20293// pending HTTP request will be aborted if the provided context is
20294// canceled.
20295func (c *AdvertisersInsertionOrdersCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersCreateCall {
20296	c.ctx_ = ctx
20297	return c
20298}
20299
20300// Header returns an http.Header that can be modified by the caller to
20301// add HTTP headers to the request.
20302func (c *AdvertisersInsertionOrdersCreateCall) Header() http.Header {
20303	if c.header_ == nil {
20304		c.header_ = make(http.Header)
20305	}
20306	return c.header_
20307}
20308
20309func (c *AdvertisersInsertionOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
20310	reqHeaders := make(http.Header)
20311	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20312	for k, v := range c.header_ {
20313		reqHeaders[k] = v
20314	}
20315	reqHeaders.Set("User-Agent", c.s.userAgent())
20316	var body io.Reader = nil
20317	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
20318	if err != nil {
20319		return nil, err
20320	}
20321	reqHeaders.Set("Content-Type", "application/json")
20322	c.urlParams_.Set("alt", alt)
20323	c.urlParams_.Set("prettyPrint", "false")
20324	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders")
20325	urls += "?" + c.urlParams_.Encode()
20326	req, err := http.NewRequest("POST", urls, body)
20327	if err != nil {
20328		return nil, err
20329	}
20330	req.Header = reqHeaders
20331	googleapi.Expand(req.URL, map[string]string{
20332		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
20333	})
20334	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20335}
20336
20337// Do executes the "displayvideo.advertisers.insertionOrders.create" call.
20338// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
20339// status code is an error. Response headers are in either
20340// *InsertionOrder.ServerResponse.Header or (if a response was returned
20341// at all) in error.(*googleapi.Error).Header. Use
20342// googleapi.IsNotModified to check whether the returned error was
20343// because http.StatusNotModified was returned.
20344func (c *AdvertisersInsertionOrdersCreateCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
20345	gensupport.SetOptions(c.urlParams_, opts...)
20346	res, err := c.doRequest("json")
20347	if res != nil && res.StatusCode == http.StatusNotModified {
20348		if res.Body != nil {
20349			res.Body.Close()
20350		}
20351		return nil, &googleapi.Error{
20352			Code:   res.StatusCode,
20353			Header: res.Header,
20354		}
20355	}
20356	if err != nil {
20357		return nil, err
20358	}
20359	defer googleapi.CloseBody(res)
20360	if err := googleapi.CheckResponse(res); err != nil {
20361		return nil, err
20362	}
20363	ret := &InsertionOrder{
20364		ServerResponse: googleapi.ServerResponse{
20365			Header:         res.Header,
20366			HTTPStatusCode: res.StatusCode,
20367		},
20368	}
20369	target := &ret
20370	if err := gensupport.DecodeResponse(target, res); err != nil {
20371		return nil, err
20372	}
20373	return ret, nil
20374	// {
20375	//   "description": "Creates a new insertion order. Returns the newly created insertion order if successful.",
20376	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders",
20377	//   "httpMethod": "POST",
20378	//   "id": "displayvideo.advertisers.insertionOrders.create",
20379	//   "parameterOrder": [
20380	//     "advertiserId"
20381	//   ],
20382	//   "parameters": {
20383	//     "advertiserId": {
20384	//       "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
20385	//       "format": "int64",
20386	//       "location": "path",
20387	//       "pattern": "^[^/]+$",
20388	//       "required": true,
20389	//       "type": "string"
20390	//     }
20391	//   },
20392	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders",
20393	//   "request": {
20394	//     "$ref": "InsertionOrder"
20395	//   },
20396	//   "response": {
20397	//     "$ref": "InsertionOrder"
20398	//   },
20399	//   "scopes": [
20400	//     "https://www.googleapis.com/auth/display-video"
20401	//   ]
20402	// }
20403
20404}
20405
20406// method id "displayvideo.advertisers.insertionOrders.delete":
20407
20408type AdvertisersInsertionOrdersDeleteCall struct {
20409	s                *Service
20410	advertiserId     int64
20411	insertionOrderId int64
20412	urlParams_       gensupport.URLParams
20413	ctx_             context.Context
20414	header_          http.Header
20415}
20416
20417// Delete: Deletes an insertion order. Returns error code `NOT_FOUND` if
20418// the insertion order does not exist. The insertion order should be
20419// archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`,
20420// to be able to delete it.
20421//
20422// - advertiserId: The ID of the advertiser this insertion order belongs
20423//   to.
20424// - insertionOrderId: The ID of the insertion order we need to delete.
20425func (r *AdvertisersInsertionOrdersService) Delete(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersDeleteCall {
20426	c := &AdvertisersInsertionOrdersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20427	c.advertiserId = advertiserId
20428	c.insertionOrderId = insertionOrderId
20429	return c
20430}
20431
20432// Fields allows partial responses to be retrieved. See
20433// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20434// for more information.
20435func (c *AdvertisersInsertionOrdersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersDeleteCall {
20436	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20437	return c
20438}
20439
20440// Context sets the context to be used in this call's Do method. Any
20441// pending HTTP request will be aborted if the provided context is
20442// canceled.
20443func (c *AdvertisersInsertionOrdersDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersDeleteCall {
20444	c.ctx_ = ctx
20445	return c
20446}
20447
20448// Header returns an http.Header that can be modified by the caller to
20449// add HTTP headers to the request.
20450func (c *AdvertisersInsertionOrdersDeleteCall) Header() http.Header {
20451	if c.header_ == nil {
20452		c.header_ = make(http.Header)
20453	}
20454	return c.header_
20455}
20456
20457func (c *AdvertisersInsertionOrdersDeleteCall) doRequest(alt string) (*http.Response, error) {
20458	reqHeaders := make(http.Header)
20459	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20460	for k, v := range c.header_ {
20461		reqHeaders[k] = v
20462	}
20463	reqHeaders.Set("User-Agent", c.s.userAgent())
20464	var body io.Reader = nil
20465	c.urlParams_.Set("alt", alt)
20466	c.urlParams_.Set("prettyPrint", "false")
20467	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
20468	urls += "?" + c.urlParams_.Encode()
20469	req, err := http.NewRequest("DELETE", urls, body)
20470	if err != nil {
20471		return nil, err
20472	}
20473	req.Header = reqHeaders
20474	googleapi.Expand(req.URL, map[string]string{
20475		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
20476		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
20477	})
20478	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20479}
20480
20481// Do executes the "displayvideo.advertisers.insertionOrders.delete" call.
20482// Exactly one of *Empty or error will be non-nil. Any non-2xx status
20483// code is an error. Response headers are in either
20484// *Empty.ServerResponse.Header or (if a response was returned at all)
20485// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
20486// check whether the returned error was because http.StatusNotModified
20487// was returned.
20488func (c *AdvertisersInsertionOrdersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
20489	gensupport.SetOptions(c.urlParams_, opts...)
20490	res, err := c.doRequest("json")
20491	if res != nil && res.StatusCode == http.StatusNotModified {
20492		if res.Body != nil {
20493			res.Body.Close()
20494		}
20495		return nil, &googleapi.Error{
20496			Code:   res.StatusCode,
20497			Header: res.Header,
20498		}
20499	}
20500	if err != nil {
20501		return nil, err
20502	}
20503	defer googleapi.CloseBody(res)
20504	if err := googleapi.CheckResponse(res); err != nil {
20505		return nil, err
20506	}
20507	ret := &Empty{
20508		ServerResponse: googleapi.ServerResponse{
20509			Header:         res.Header,
20510			HTTPStatusCode: res.StatusCode,
20511		},
20512	}
20513	target := &ret
20514	if err := gensupport.DecodeResponse(target, res); err != nil {
20515		return nil, err
20516	}
20517	return ret, nil
20518	// {
20519	//   "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.",
20520	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
20521	//   "httpMethod": "DELETE",
20522	//   "id": "displayvideo.advertisers.insertionOrders.delete",
20523	//   "parameterOrder": [
20524	//     "advertiserId",
20525	//     "insertionOrderId"
20526	//   ],
20527	//   "parameters": {
20528	//     "advertiserId": {
20529	//       "description": "The ID of the advertiser this insertion order belongs to.",
20530	//       "format": "int64",
20531	//       "location": "path",
20532	//       "pattern": "^[^/]+$",
20533	//       "required": true,
20534	//       "type": "string"
20535	//     },
20536	//     "insertionOrderId": {
20537	//       "description": "The ID of the insertion order we need to delete.",
20538	//       "format": "int64",
20539	//       "location": "path",
20540	//       "pattern": "^[^/]+$",
20541	//       "required": true,
20542	//       "type": "string"
20543	//     }
20544	//   },
20545	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
20546	//   "response": {
20547	//     "$ref": "Empty"
20548	//   },
20549	//   "scopes": [
20550	//     "https://www.googleapis.com/auth/display-video"
20551	//   ]
20552	// }
20553
20554}
20555
20556// method id "displayvideo.advertisers.insertionOrders.get":
20557
20558type AdvertisersInsertionOrdersGetCall struct {
20559	s                *Service
20560	advertiserId     int64
20561	insertionOrderId int64
20562	urlParams_       gensupport.URLParams
20563	ifNoneMatch_     string
20564	ctx_             context.Context
20565	header_          http.Header
20566}
20567
20568// Get: Gets an insertion order. Returns error code `NOT_FOUND` if the
20569// insertion order does not exist.
20570//
20571// - advertiserId: The ID of the advertiser this insertion order belongs
20572//   to.
20573// - insertionOrderId: The ID of the insertion order to fetch.
20574func (r *AdvertisersInsertionOrdersService) Get(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersGetCall {
20575	c := &AdvertisersInsertionOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20576	c.advertiserId = advertiserId
20577	c.insertionOrderId = insertionOrderId
20578	return c
20579}
20580
20581// Fields allows partial responses to be retrieved. See
20582// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20583// for more information.
20584func (c *AdvertisersInsertionOrdersGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersGetCall {
20585	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20586	return c
20587}
20588
20589// IfNoneMatch sets the optional parameter which makes the operation
20590// fail if the object's ETag matches the given value. This is useful for
20591// getting updates only after the object has changed since the last
20592// request. Use googleapi.IsNotModified to check whether the response
20593// error from Do is the result of In-None-Match.
20594func (c *AdvertisersInsertionOrdersGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersGetCall {
20595	c.ifNoneMatch_ = entityTag
20596	return c
20597}
20598
20599// Context sets the context to be used in this call's Do method. Any
20600// pending HTTP request will be aborted if the provided context is
20601// canceled.
20602func (c *AdvertisersInsertionOrdersGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersGetCall {
20603	c.ctx_ = ctx
20604	return c
20605}
20606
20607// Header returns an http.Header that can be modified by the caller to
20608// add HTTP headers to the request.
20609func (c *AdvertisersInsertionOrdersGetCall) Header() http.Header {
20610	if c.header_ == nil {
20611		c.header_ = make(http.Header)
20612	}
20613	return c.header_
20614}
20615
20616func (c *AdvertisersInsertionOrdersGetCall) doRequest(alt string) (*http.Response, error) {
20617	reqHeaders := make(http.Header)
20618	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20619	for k, v := range c.header_ {
20620		reqHeaders[k] = v
20621	}
20622	reqHeaders.Set("User-Agent", c.s.userAgent())
20623	if c.ifNoneMatch_ != "" {
20624		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20625	}
20626	var body io.Reader = nil
20627	c.urlParams_.Set("alt", alt)
20628	c.urlParams_.Set("prettyPrint", "false")
20629	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
20630	urls += "?" + c.urlParams_.Encode()
20631	req, err := http.NewRequest("GET", urls, body)
20632	if err != nil {
20633		return nil, err
20634	}
20635	req.Header = reqHeaders
20636	googleapi.Expand(req.URL, map[string]string{
20637		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
20638		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
20639	})
20640	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20641}
20642
20643// Do executes the "displayvideo.advertisers.insertionOrders.get" call.
20644// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
20645// status code is an error. Response headers are in either
20646// *InsertionOrder.ServerResponse.Header or (if a response was returned
20647// at all) in error.(*googleapi.Error).Header. Use
20648// googleapi.IsNotModified to check whether the returned error was
20649// because http.StatusNotModified was returned.
20650func (c *AdvertisersInsertionOrdersGetCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
20651	gensupport.SetOptions(c.urlParams_, opts...)
20652	res, err := c.doRequest("json")
20653	if res != nil && res.StatusCode == http.StatusNotModified {
20654		if res.Body != nil {
20655			res.Body.Close()
20656		}
20657		return nil, &googleapi.Error{
20658			Code:   res.StatusCode,
20659			Header: res.Header,
20660		}
20661	}
20662	if err != nil {
20663		return nil, err
20664	}
20665	defer googleapi.CloseBody(res)
20666	if err := googleapi.CheckResponse(res); err != nil {
20667		return nil, err
20668	}
20669	ret := &InsertionOrder{
20670		ServerResponse: googleapi.ServerResponse{
20671			Header:         res.Header,
20672			HTTPStatusCode: res.StatusCode,
20673		},
20674	}
20675	target := &ret
20676	if err := gensupport.DecodeResponse(target, res); err != nil {
20677		return nil, err
20678	}
20679	return ret, nil
20680	// {
20681	//   "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.",
20682	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
20683	//   "httpMethod": "GET",
20684	//   "id": "displayvideo.advertisers.insertionOrders.get",
20685	//   "parameterOrder": [
20686	//     "advertiserId",
20687	//     "insertionOrderId"
20688	//   ],
20689	//   "parameters": {
20690	//     "advertiserId": {
20691	//       "description": "Required. The ID of the advertiser this insertion order belongs to.",
20692	//       "format": "int64",
20693	//       "location": "path",
20694	//       "pattern": "^[^/]+$",
20695	//       "required": true,
20696	//       "type": "string"
20697	//     },
20698	//     "insertionOrderId": {
20699	//       "description": "Required. The ID of the insertion order to fetch.",
20700	//       "format": "int64",
20701	//       "location": "path",
20702	//       "pattern": "^[^/]+$",
20703	//       "required": true,
20704	//       "type": "string"
20705	//     }
20706	//   },
20707	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
20708	//   "response": {
20709	//     "$ref": "InsertionOrder"
20710	//   },
20711	//   "scopes": [
20712	//     "https://www.googleapis.com/auth/display-video"
20713	//   ]
20714	// }
20715
20716}
20717
20718// method id "displayvideo.advertisers.insertionOrders.list":
20719
20720type AdvertisersInsertionOrdersListCall struct {
20721	s            *Service
20722	advertiserId int64
20723	urlParams_   gensupport.URLParams
20724	ifNoneMatch_ string
20725	ctx_         context.Context
20726	header_      http.Header
20727}
20728
20729// List: Lists insertion orders in an advertiser. The order is defined
20730// by the order_by parameter. If a filter by entity_status is not
20731// specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be
20732// included in the results.
20733//
20734// - advertiserId: The ID of the advertiser to list insertion orders
20735//   for.
20736func (r *AdvertisersInsertionOrdersService) List(advertiserId int64) *AdvertisersInsertionOrdersListCall {
20737	c := &AdvertisersInsertionOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20738	c.advertiserId = advertiserId
20739	return c
20740}
20741
20742// Filter sets the optional parameter "filter": Allows filtering by
20743// insertion order properties. Supported syntax: * Filter expressions
20744// are made up of one or more restrictions. * Restrictions can be
20745// combined by `AND` or `OR` logical operators. A sequence of
20746// restrictions implicitly uses `AND`. * A restriction has the form of
20747// `{field} {operator} {value}`. * The operator used on
20748// `budget.budget_segments.date_range.end_date` must be LESS THAN (<). *
20749// The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO
20750// (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operators used on all
20751// other fields must be `EQUALS (=)`. * Supported fields: - `campaignId`
20752// - `displayName` - `entityStatus` -
20753// `budget.budget_segments.date_range.end_date` (input as YYYY-MM-DD) -
20754// `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ)
20755// Examples: * All insertion orders under a campaign:
20756// `campaignId="1234" * All `ENTITY_STATUS_ACTIVE` or
20757// `ENTITY_STATUS_PAUSED` insertion orders under an advertiser:
20758// `(entityStatus="ENTITY_STATUS_ACTIVE" OR
20759// entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders whose
20760// budget segments' dates end before March 28, 2019:
20761// `budget.budget_segments.date_range.end_date<"2019-03-28" * All
20762// insertion orders with an update time less than or equal to
20763// `2020-11-04T18:54:47Z (format of ISO 8601)`:
20764// `updateTime<="2020-11-04T18:54:47Z" * All insertion orders with an
20765// update time greater than or equal to `2020-11-04T18:54:47Z (format of
20766// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this
20767// field should be no more than 500 characters.
20768func (c *AdvertisersInsertionOrdersListCall) Filter(filter string) *AdvertisersInsertionOrdersListCall {
20769	c.urlParams_.Set("filter", filter)
20770	return c
20771}
20772
20773// OrderBy sets the optional parameter "orderBy": Field by which to sort
20774// the list. Acceptable values are: * "displayName" (default) *
20775// "entityStatus" * "updateTime" The default sorting order is ascending.
20776// To specify descending order for a field, a suffix "desc" should be
20777// added to the field name. Example: `displayName desc`.
20778func (c *AdvertisersInsertionOrdersListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListCall {
20779	c.urlParams_.Set("orderBy", orderBy)
20780	return c
20781}
20782
20783// PageSize sets the optional parameter "pageSize": Requested page size.
20784// Must be between `1` and `100`. If unspecified will default to `100`.
20785// Returns error code `INVALID_ARGUMENT` if an invalid value is
20786// specified.
20787func (c *AdvertisersInsertionOrdersListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListCall {
20788	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20789	return c
20790}
20791
20792// PageToken sets the optional parameter "pageToken": A token
20793// identifying a page of results the server should return. Typically,
20794// this is the value of next_page_token returned from the previous call
20795// to `ListInsertionOrders` method. If not specified, the first page of
20796// results will be returned.
20797func (c *AdvertisersInsertionOrdersListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListCall {
20798	c.urlParams_.Set("pageToken", pageToken)
20799	return c
20800}
20801
20802// Fields allows partial responses to be retrieved. See
20803// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20804// for more information.
20805func (c *AdvertisersInsertionOrdersListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListCall {
20806	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20807	return c
20808}
20809
20810// IfNoneMatch sets the optional parameter which makes the operation
20811// fail if the object's ETag matches the given value. This is useful for
20812// getting updates only after the object has changed since the last
20813// request. Use googleapi.IsNotModified to check whether the response
20814// error from Do is the result of In-None-Match.
20815func (c *AdvertisersInsertionOrdersListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListCall {
20816	c.ifNoneMatch_ = entityTag
20817	return c
20818}
20819
20820// Context sets the context to be used in this call's Do method. Any
20821// pending HTTP request will be aborted if the provided context is
20822// canceled.
20823func (c *AdvertisersInsertionOrdersListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListCall {
20824	c.ctx_ = ctx
20825	return c
20826}
20827
20828// Header returns an http.Header that can be modified by the caller to
20829// add HTTP headers to the request.
20830func (c *AdvertisersInsertionOrdersListCall) Header() http.Header {
20831	if c.header_ == nil {
20832		c.header_ = make(http.Header)
20833	}
20834	return c.header_
20835}
20836
20837func (c *AdvertisersInsertionOrdersListCall) doRequest(alt string) (*http.Response, error) {
20838	reqHeaders := make(http.Header)
20839	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
20840	for k, v := range c.header_ {
20841		reqHeaders[k] = v
20842	}
20843	reqHeaders.Set("User-Agent", c.s.userAgent())
20844	if c.ifNoneMatch_ != "" {
20845		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20846	}
20847	var body io.Reader = nil
20848	c.urlParams_.Set("alt", alt)
20849	c.urlParams_.Set("prettyPrint", "false")
20850	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders")
20851	urls += "?" + c.urlParams_.Encode()
20852	req, err := http.NewRequest("GET", urls, body)
20853	if err != nil {
20854		return nil, err
20855	}
20856	req.Header = reqHeaders
20857	googleapi.Expand(req.URL, map[string]string{
20858		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
20859	})
20860	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20861}
20862
20863// Do executes the "displayvideo.advertisers.insertionOrders.list" call.
20864// Exactly one of *ListInsertionOrdersResponse or error will be non-nil.
20865// Any non-2xx status code is an error. Response headers are in either
20866// *ListInsertionOrdersResponse.ServerResponse.Header or (if a response
20867// was returned at all) in error.(*googleapi.Error).Header. Use
20868// googleapi.IsNotModified to check whether the returned error was
20869// because http.StatusNotModified was returned.
20870func (c *AdvertisersInsertionOrdersListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrdersResponse, error) {
20871	gensupport.SetOptions(c.urlParams_, opts...)
20872	res, err := c.doRequest("json")
20873	if res != nil && res.StatusCode == http.StatusNotModified {
20874		if res.Body != nil {
20875			res.Body.Close()
20876		}
20877		return nil, &googleapi.Error{
20878			Code:   res.StatusCode,
20879			Header: res.Header,
20880		}
20881	}
20882	if err != nil {
20883		return nil, err
20884	}
20885	defer googleapi.CloseBody(res)
20886	if err := googleapi.CheckResponse(res); err != nil {
20887		return nil, err
20888	}
20889	ret := &ListInsertionOrdersResponse{
20890		ServerResponse: googleapi.ServerResponse{
20891			Header:         res.Header,
20892			HTTPStatusCode: res.StatusCode,
20893		},
20894	}
20895	target := &ret
20896	if err := gensupport.DecodeResponse(target, res); err != nil {
20897		return nil, err
20898	}
20899	return ret, nil
20900	// {
20901	//   "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
20902	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders",
20903	//   "httpMethod": "GET",
20904	//   "id": "displayvideo.advertisers.insertionOrders.list",
20905	//   "parameterOrder": [
20906	//     "advertiserId"
20907	//   ],
20908	//   "parameters": {
20909	//     "advertiserId": {
20910	//       "description": "Required. The ID of the advertiser to list insertion orders for.",
20911	//       "format": "int64",
20912	//       "location": "path",
20913	//       "pattern": "^[^/]+$",
20914	//       "required": true,
20915	//       "type": "string"
20916	//     },
20917	//     "filter": {
20918	//       "description": "Allows filtering by insertion order properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `budget.budget_segments.date_range.end_date` must be LESS THAN (\u003c). * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)`. * The operators used on all other fields must be `EQUALS (=)`. * Supported fields: - `campaignId` - `displayName` - `entityStatus` - `budget.budget_segments.date_range.end_date` (input as YYYY-MM-DD) - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders whose budget segments' dates end before March 28, 2019: `budget.budget_segments.date_range.end_date\u003c\"2019-03-28\"` * All insertion orders with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All insertion orders with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003e=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters.",
20919	//       "location": "query",
20920	//       "type": "string"
20921	//     },
20922	//     "orderBy": {
20923	//       "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
20924	//       "location": "query",
20925	//       "type": "string"
20926	//     },
20927	//     "pageSize": {
20928	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
20929	//       "format": "int32",
20930	//       "location": "query",
20931	//       "type": "integer"
20932	//     },
20933	//     "pageToken": {
20934	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned.",
20935	//       "location": "query",
20936	//       "type": "string"
20937	//     }
20938	//   },
20939	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders",
20940	//   "response": {
20941	//     "$ref": "ListInsertionOrdersResponse"
20942	//   },
20943	//   "scopes": [
20944	//     "https://www.googleapis.com/auth/display-video"
20945	//   ]
20946	// }
20947
20948}
20949
20950// Pages invokes f for each page of results.
20951// A non-nil error returned from f will halt the iteration.
20952// The provided context supersedes any context provided to the Context method.
20953func (c *AdvertisersInsertionOrdersListCall) Pages(ctx context.Context, f func(*ListInsertionOrdersResponse) error) error {
20954	c.ctx_ = ctx
20955	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20956	for {
20957		x, err := c.Do()
20958		if err != nil {
20959			return err
20960		}
20961		if err := f(x); err != nil {
20962			return err
20963		}
20964		if x.NextPageToken == "" {
20965			return nil
20966		}
20967		c.PageToken(x.NextPageToken)
20968	}
20969}
20970
20971// method id "displayvideo.advertisers.insertionOrders.patch":
20972
20973type AdvertisersInsertionOrdersPatchCall struct {
20974	s                *Service
20975	advertiserId     int64
20976	insertionOrderId int64
20977	insertionorder   *InsertionOrder
20978	urlParams_       gensupport.URLParams
20979	ctx_             context.Context
20980	header_          http.Header
20981}
20982
20983// Patch: Updates an existing insertion order. Returns the updated
20984// insertion order if successful.
20985//
20986// - advertiserId: Output only. The unique ID of the advertiser the
20987//   insertion order belongs to.
20988// - insertionOrderId: Output only. The unique ID of the insertion
20989//   order. Assigned by the system.
20990func (r *AdvertisersInsertionOrdersService) Patch(advertiserId int64, insertionOrderId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersPatchCall {
20991	c := &AdvertisersInsertionOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20992	c.advertiserId = advertiserId
20993	c.insertionOrderId = insertionOrderId
20994	c.insertionorder = insertionorder
20995	return c
20996}
20997
20998// UpdateMask sets the optional parameter "updateMask": Required. The
20999// mask to control which fields to update.
21000func (c *AdvertisersInsertionOrdersPatchCall) UpdateMask(updateMask string) *AdvertisersInsertionOrdersPatchCall {
21001	c.urlParams_.Set("updateMask", updateMask)
21002	return c
21003}
21004
21005// Fields allows partial responses to be retrieved. See
21006// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21007// for more information.
21008func (c *AdvertisersInsertionOrdersPatchCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersPatchCall {
21009	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21010	return c
21011}
21012
21013// Context sets the context to be used in this call's Do method. Any
21014// pending HTTP request will be aborted if the provided context is
21015// canceled.
21016func (c *AdvertisersInsertionOrdersPatchCall) Context(ctx context.Context) *AdvertisersInsertionOrdersPatchCall {
21017	c.ctx_ = ctx
21018	return c
21019}
21020
21021// Header returns an http.Header that can be modified by the caller to
21022// add HTTP headers to the request.
21023func (c *AdvertisersInsertionOrdersPatchCall) Header() http.Header {
21024	if c.header_ == nil {
21025		c.header_ = make(http.Header)
21026	}
21027	return c.header_
21028}
21029
21030func (c *AdvertisersInsertionOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
21031	reqHeaders := make(http.Header)
21032	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21033	for k, v := range c.header_ {
21034		reqHeaders[k] = v
21035	}
21036	reqHeaders.Set("User-Agent", c.s.userAgent())
21037	var body io.Reader = nil
21038	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
21039	if err != nil {
21040		return nil, err
21041	}
21042	reqHeaders.Set("Content-Type", "application/json")
21043	c.urlParams_.Set("alt", alt)
21044	c.urlParams_.Set("prettyPrint", "false")
21045	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
21046	urls += "?" + c.urlParams_.Encode()
21047	req, err := http.NewRequest("PATCH", urls, body)
21048	if err != nil {
21049		return nil, err
21050	}
21051	req.Header = reqHeaders
21052	googleapi.Expand(req.URL, map[string]string{
21053		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
21054		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
21055	})
21056	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21057}
21058
21059// Do executes the "displayvideo.advertisers.insertionOrders.patch" call.
21060// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
21061// status code is an error. Response headers are in either
21062// *InsertionOrder.ServerResponse.Header or (if a response was returned
21063// at all) in error.(*googleapi.Error).Header. Use
21064// googleapi.IsNotModified to check whether the returned error was
21065// because http.StatusNotModified was returned.
21066func (c *AdvertisersInsertionOrdersPatchCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
21067	gensupport.SetOptions(c.urlParams_, opts...)
21068	res, err := c.doRequest("json")
21069	if res != nil && res.StatusCode == http.StatusNotModified {
21070		if res.Body != nil {
21071			res.Body.Close()
21072		}
21073		return nil, &googleapi.Error{
21074			Code:   res.StatusCode,
21075			Header: res.Header,
21076		}
21077	}
21078	if err != nil {
21079		return nil, err
21080	}
21081	defer googleapi.CloseBody(res)
21082	if err := googleapi.CheckResponse(res); err != nil {
21083		return nil, err
21084	}
21085	ret := &InsertionOrder{
21086		ServerResponse: googleapi.ServerResponse{
21087			Header:         res.Header,
21088			HTTPStatusCode: res.StatusCode,
21089		},
21090	}
21091	target := &ret
21092	if err := gensupport.DecodeResponse(target, res); err != nil {
21093		return nil, err
21094	}
21095	return ret, nil
21096	// {
21097	//   "description": "Updates an existing insertion order. Returns the updated insertion order if successful.",
21098	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
21099	//   "httpMethod": "PATCH",
21100	//   "id": "displayvideo.advertisers.insertionOrders.patch",
21101	//   "parameterOrder": [
21102	//     "advertiserId",
21103	//     "insertionOrderId"
21104	//   ],
21105	//   "parameters": {
21106	//     "advertiserId": {
21107	//       "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
21108	//       "format": "int64",
21109	//       "location": "path",
21110	//       "pattern": "^[^/]+$",
21111	//       "required": true,
21112	//       "type": "string"
21113	//     },
21114	//     "insertionOrderId": {
21115	//       "description": "Output only. The unique ID of the insertion order. Assigned by the system.",
21116	//       "format": "int64",
21117	//       "location": "path",
21118	//       "pattern": "^[^/]+$",
21119	//       "required": true,
21120	//       "type": "string"
21121	//     },
21122	//     "updateMask": {
21123	//       "description": "Required. The mask to control which fields to update.",
21124	//       "format": "google-fieldmask",
21125	//       "location": "query",
21126	//       "type": "string"
21127	//     }
21128	//   },
21129	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
21130	//   "request": {
21131	//     "$ref": "InsertionOrder"
21132	//   },
21133	//   "response": {
21134	//     "$ref": "InsertionOrder"
21135	//   },
21136	//   "scopes": [
21137	//     "https://www.googleapis.com/auth/display-video"
21138	//   ]
21139	// }
21140
21141}
21142
21143// method id "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get":
21144
21145type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall struct {
21146	s                         *Service
21147	advertiserId              int64
21148	insertionOrderId          int64
21149	targetingType             string
21150	assignedTargetingOptionId string
21151	urlParams_                gensupport.URLParams
21152	ifNoneMatch_              string
21153	ctx_                      context.Context
21154	header_                   http.Header
21155}
21156
21157// Get: Gets a single targeting option assigned to an insertion order.
21158//
21159// - advertiserId: The ID of the advertiser the insertion order belongs
21160//   to.
21161// - assignedTargetingOptionId: An identifier unique to the targeting
21162//   type in this insertion order that identifies the assigned targeting
21163//   option being requested.
21164// - insertionOrderId: The ID of the insertion order the assigned
21165//   targeting option belongs to.
21166// - targetingType: Identifies the type of this assigned targeting
21167//   option.
21168func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21169	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21170	c.advertiserId = advertiserId
21171	c.insertionOrderId = insertionOrderId
21172	c.targetingType = targetingType
21173	c.assignedTargetingOptionId = assignedTargetingOptionId
21174	return c
21175}
21176
21177// Fields allows partial responses to be retrieved. See
21178// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21179// for more information.
21180func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21181	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21182	return c
21183}
21184
21185// IfNoneMatch sets the optional parameter which makes the operation
21186// fail if the object's ETag matches the given value. This is useful for
21187// getting updates only after the object has changed since the last
21188// request. Use googleapi.IsNotModified to check whether the response
21189// error from Do is the result of In-None-Match.
21190func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21191	c.ifNoneMatch_ = entityTag
21192	return c
21193}
21194
21195// Context sets the context to be used in this call's Do method. Any
21196// pending HTTP request will be aborted if the provided context is
21197// canceled.
21198func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21199	c.ctx_ = ctx
21200	return c
21201}
21202
21203// Header returns an http.Header that can be modified by the caller to
21204// add HTTP headers to the request.
21205func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
21206	if c.header_ == nil {
21207		c.header_ = make(http.Header)
21208	}
21209	return c.header_
21210}
21211
21212func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
21213	reqHeaders := make(http.Header)
21214	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21215	for k, v := range c.header_ {
21216		reqHeaders[k] = v
21217	}
21218	reqHeaders.Set("User-Agent", c.s.userAgent())
21219	if c.ifNoneMatch_ != "" {
21220		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21221	}
21222	var body io.Reader = nil
21223	c.urlParams_.Set("alt", alt)
21224	c.urlParams_.Set("prettyPrint", "false")
21225	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
21226	urls += "?" + c.urlParams_.Encode()
21227	req, err := http.NewRequest("GET", urls, body)
21228	if err != nil {
21229		return nil, err
21230	}
21231	req.Header = reqHeaders
21232	googleapi.Expand(req.URL, map[string]string{
21233		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
21234		"insertionOrderId":          strconv.FormatInt(c.insertionOrderId, 10),
21235		"targetingType":             c.targetingType,
21236		"assignedTargetingOptionId": c.assignedTargetingOptionId,
21237	})
21238	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21239}
21240
21241// Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get" call.
21242// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
21243// non-2xx status code is an error. Response headers are in either
21244// *AssignedTargetingOption.ServerResponse.Header or (if a response was
21245// returned at all) in error.(*googleapi.Error).Header. Use
21246// googleapi.IsNotModified to check whether the returned error was
21247// because http.StatusNotModified was returned.
21248func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
21249	gensupport.SetOptions(c.urlParams_, opts...)
21250	res, err := c.doRequest("json")
21251	if res != nil && res.StatusCode == http.StatusNotModified {
21252		if res.Body != nil {
21253			res.Body.Close()
21254		}
21255		return nil, &googleapi.Error{
21256			Code:   res.StatusCode,
21257			Header: res.Header,
21258		}
21259	}
21260	if err != nil {
21261		return nil, err
21262	}
21263	defer googleapi.CloseBody(res)
21264	if err := googleapi.CheckResponse(res); err != nil {
21265		return nil, err
21266	}
21267	ret := &AssignedTargetingOption{
21268		ServerResponse: googleapi.ServerResponse{
21269			Header:         res.Header,
21270			HTTPStatusCode: res.StatusCode,
21271		},
21272	}
21273	target := &ret
21274	if err := gensupport.DecodeResponse(target, res); err != nil {
21275		return nil, err
21276	}
21277	return ret, nil
21278	// {
21279	//   "description": "Gets a single targeting option assigned to an insertion order.",
21280	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
21281	//   "httpMethod": "GET",
21282	//   "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get",
21283	//   "parameterOrder": [
21284	//     "advertiserId",
21285	//     "insertionOrderId",
21286	//     "targetingType",
21287	//     "assignedTargetingOptionId"
21288	//   ],
21289	//   "parameters": {
21290	//     "advertiserId": {
21291	//       "description": "Required. The ID of the advertiser the insertion order belongs to.",
21292	//       "format": "int64",
21293	//       "location": "path",
21294	//       "pattern": "^[^/]+$",
21295	//       "required": true,
21296	//       "type": "string"
21297	//     },
21298	//     "assignedTargetingOptionId": {
21299	//       "description": "Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested.",
21300	//       "location": "path",
21301	//       "pattern": "^[^/]+$",
21302	//       "required": true,
21303	//       "type": "string"
21304	//     },
21305	//     "insertionOrderId": {
21306	//       "description": "Required. The ID of the insertion order the assigned targeting option belongs to.",
21307	//       "format": "int64",
21308	//       "location": "path",
21309	//       "pattern": "^[^/]+$",
21310	//       "required": true,
21311	//       "type": "string"
21312	//     },
21313	//     "targetingType": {
21314	//       "description": "Required. Identifies the type of this assigned targeting option.",
21315	//       "enum": [
21316	//         "TARGETING_TYPE_UNSPECIFIED",
21317	//         "TARGETING_TYPE_CHANNEL",
21318	//         "TARGETING_TYPE_APP_CATEGORY",
21319	//         "TARGETING_TYPE_APP",
21320	//         "TARGETING_TYPE_URL",
21321	//         "TARGETING_TYPE_DAY_AND_TIME",
21322	//         "TARGETING_TYPE_AGE_RANGE",
21323	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
21324	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
21325	//         "TARGETING_TYPE_GENDER",
21326	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
21327	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
21328	//         "TARGETING_TYPE_PARENTAL_STATUS",
21329	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
21330	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
21331	//         "TARGETING_TYPE_DEVICE_TYPE",
21332	//         "TARGETING_TYPE_AUDIENCE_GROUP",
21333	//         "TARGETING_TYPE_BROWSER",
21334	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
21335	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
21336	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
21337	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
21338	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
21339	//         "TARGETING_TYPE_ENVIRONMENT",
21340	//         "TARGETING_TYPE_CARRIER_AND_ISP",
21341	//         "TARGETING_TYPE_OPERATING_SYSTEM",
21342	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
21343	//         "TARGETING_TYPE_KEYWORD",
21344	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
21345	//         "TARGETING_TYPE_VIEWABILITY",
21346	//         "TARGETING_TYPE_CATEGORY",
21347	//         "TARGETING_TYPE_INVENTORY_SOURCE",
21348	//         "TARGETING_TYPE_LANGUAGE",
21349	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
21350	//         "TARGETING_TYPE_GEO_REGION",
21351	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
21352	//         "TARGETING_TYPE_EXCHANGE",
21353	//         "TARGETING_TYPE_SUB_EXCHANGE",
21354	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
21355	//       ],
21356	//       "enumDescriptions": [
21357	//         "Default value when type is not specified or is unknown in this version.",
21358	//         "Target a channel (a custom group of related websites or apps).",
21359	//         "Target an app category (for example, education or puzzle games).",
21360	//         "Target a specific app (for example, Angry Birds).",
21361	//         "Target a specific url (for example, quora.com).",
21362	//         "Target ads during a chosen time period on a specific day.",
21363	//         "Target ads to a specific age range (for example, 18-24).",
21364	//         "Target ads to the specified regions on a regional location list.",
21365	//         "Target ads to the specified points of interest on a proximity location list.",
21366	//         "Target ads to a specific gender (for example, female or male).",
21367	//         "Target a specific video player size for video ads.",
21368	//         "Target user rewarded content for video ads.",
21369	//         "Target ads to a specific parental status (for example, parent or not a parent).",
21370	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
21371	//         "Target ads in a specific content outstream position.",
21372	//         "Target ads to a specific device type (for example, tablet or connected TV).",
21373	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
21374	//         "Target ads to specific web browsers (for example, Chrome).",
21375	//         "Target ads to a specific household income range (for example, top 10%).",
21376	//         "Target ads in a specific on screen position.",
21377	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
21378	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
21379	//         "Filter website content by sensitive categories (for example, adult).",
21380	//         "Target ads to a specific environment (for example, web or app).",
21381	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
21382	//         "Target ads to a specific operating system (for example, macOS).",
21383	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
21384	//         "Target ads to a specific keyword (for example, dog or retriever).",
21385	//         "Target ads to a specific negative keyword list.",
21386	//         "Target ads to a specific viewability (for example, 80% viewable).",
21387	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
21388	//         "Purchase impressions from specific deals and auction packages.",
21389	//         "Target ads to a specific language (for example, English or Japanese).",
21390	//         "Target ads to ads.txt authorized sellers.",
21391	//         "Target ads to a specific regional location (for example, a city or state).",
21392	//         "Purchase impressions from a group of deals and auction packages.",
21393	//         "Purchase impressions from specific exchanges.",
21394	//         "Purchase impressions from specific sub-exchanges.",
21395	//         "Target ads to a specific native content position."
21396	//       ],
21397	//       "location": "path",
21398	//       "pattern": "^[^/]+$",
21399	//       "required": true,
21400	//       "type": "string"
21401	//     }
21402	//   },
21403	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
21404	//   "response": {
21405	//     "$ref": "AssignedTargetingOption"
21406	//   },
21407	//   "scopes": [
21408	//     "https://www.googleapis.com/auth/display-video"
21409	//   ]
21410	// }
21411
21412}
21413
21414// method id "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list":
21415
21416type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall struct {
21417	s                *Service
21418	advertiserId     int64
21419	insertionOrderId int64
21420	targetingType    string
21421	urlParams_       gensupport.URLParams
21422	ifNoneMatch_     string
21423	ctx_             context.Context
21424	header_          http.Header
21425}
21426
21427// List: Lists the targeting options assigned to an insertion order.
21428//
21429// - advertiserId: The ID of the advertiser the insertion order belongs
21430//   to.
21431// - insertionOrderId: The ID of the insertion order to list assigned
21432//   targeting options for.
21433// - targetingType: Identifies the type of assigned targeting options to
21434//   list.
21435func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, insertionOrderId int64, targetingType string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21436	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21437	c.advertiserId = advertiserId
21438	c.insertionOrderId = insertionOrderId
21439	c.targetingType = targetingType
21440	return c
21441}
21442
21443// Filter sets the optional parameter "filter": Allows filtering by
21444// assigned targeting option properties. Supported syntax: * Filter
21445// expressions are made up of one or more restrictions. * Restrictions
21446// can be combined by the logical operator `OR`. * A restriction has the
21447// form of `{field} {operator} {value}`. * The operator must be `EQUALS
21448// (=)`. * Supported fields: - `assignedTargetingOptionId` -
21449// `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2
21450// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
21451// AssignedTargetingOptions with inheritance status of NOT_INHERITED or
21452// INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR
21453// inheritance="INHERITED_FROM_PARTNER" The length of this field should
21454// be no more than 500 characters.
21455func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21456	c.urlParams_.Set("filter", filter)
21457	return c
21458}
21459
21460// OrderBy sets the optional parameter "orderBy": Field by which to sort
21461// the list. Acceptable values are: * `assignedTargetingOptionId`
21462// (default) The default sorting order is ascending. To specify
21463// descending order for a field, a suffix "desc" should be added to the
21464// field name. Example: `assignedTargetingOptionId desc`.
21465func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21466	c.urlParams_.Set("orderBy", orderBy)
21467	return c
21468}
21469
21470// PageSize sets the optional parameter "pageSize": Requested page size.
21471// Must be between `1` and `100`. If unspecified will default to `100`.
21472// Returns error code `INVALID_ARGUMENT` if an invalid value is
21473// specified.
21474func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21475	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
21476	return c
21477}
21478
21479// PageToken sets the optional parameter "pageToken": A token
21480// identifying a page of results the server should return. Typically,
21481// this is the value of next_page_token returned from the previous call
21482// to `ListInsertionOrderAssignedTargetingOptions` method. If not
21483// specified, the first page of results will be returned.
21484func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21485	c.urlParams_.Set("pageToken", pageToken)
21486	return c
21487}
21488
21489// Fields allows partial responses to be retrieved. See
21490// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21491// for more information.
21492func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21493	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21494	return c
21495}
21496
21497// IfNoneMatch sets the optional parameter which makes the operation
21498// fail if the object's ETag matches the given value. This is useful for
21499// getting updates only after the object has changed since the last
21500// request. Use googleapi.IsNotModified to check whether the response
21501// error from Do is the result of In-None-Match.
21502func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21503	c.ifNoneMatch_ = entityTag
21504	return c
21505}
21506
21507// Context sets the context to be used in this call's Do method. Any
21508// pending HTTP request will be aborted if the provided context is
21509// canceled.
21510func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21511	c.ctx_ = ctx
21512	return c
21513}
21514
21515// Header returns an http.Header that can be modified by the caller to
21516// add HTTP headers to the request.
21517func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
21518	if c.header_ == nil {
21519		c.header_ = make(http.Header)
21520	}
21521	return c.header_
21522}
21523
21524func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
21525	reqHeaders := make(http.Header)
21526	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21527	for k, v := range c.header_ {
21528		reqHeaders[k] = v
21529	}
21530	reqHeaders.Set("User-Agent", c.s.userAgent())
21531	if c.ifNoneMatch_ != "" {
21532		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21533	}
21534	var body io.Reader = nil
21535	c.urlParams_.Set("alt", alt)
21536	c.urlParams_.Set("prettyPrint", "false")
21537	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
21538	urls += "?" + c.urlParams_.Encode()
21539	req, err := http.NewRequest("GET", urls, body)
21540	if err != nil {
21541		return nil, err
21542	}
21543	req.Header = reqHeaders
21544	googleapi.Expand(req.URL, map[string]string{
21545		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
21546		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
21547		"targetingType":    c.targetingType,
21548	})
21549	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21550}
21551
21552// Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list" call.
21553// Exactly one of *ListInsertionOrderAssignedTargetingOptionsResponse or
21554// error will be non-nil. Any non-2xx status code is an error. Response
21555// headers are in either
21556// *ListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Hea
21557// der or (if a response was returned at all) in
21558// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21559// whether the returned error was because http.StatusNotModified was
21560// returned.
21561func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrderAssignedTargetingOptionsResponse, error) {
21562	gensupport.SetOptions(c.urlParams_, opts...)
21563	res, err := c.doRequest("json")
21564	if res != nil && res.StatusCode == http.StatusNotModified {
21565		if res.Body != nil {
21566			res.Body.Close()
21567		}
21568		return nil, &googleapi.Error{
21569			Code:   res.StatusCode,
21570			Header: res.Header,
21571		}
21572	}
21573	if err != nil {
21574		return nil, err
21575	}
21576	defer googleapi.CloseBody(res)
21577	if err := googleapi.CheckResponse(res); err != nil {
21578		return nil, err
21579	}
21580	ret := &ListInsertionOrderAssignedTargetingOptionsResponse{
21581		ServerResponse: googleapi.ServerResponse{
21582			Header:         res.Header,
21583			HTTPStatusCode: res.StatusCode,
21584		},
21585	}
21586	target := &ret
21587	if err := gensupport.DecodeResponse(target, res); err != nil {
21588		return nil, err
21589	}
21590	return ret, nil
21591	// {
21592	//   "description": "Lists the targeting options assigned to an insertion order.",
21593	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
21594	//   "httpMethod": "GET",
21595	//   "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list",
21596	//   "parameterOrder": [
21597	//     "advertiserId",
21598	//     "insertionOrderId",
21599	//     "targetingType"
21600	//   ],
21601	//   "parameters": {
21602	//     "advertiserId": {
21603	//       "description": "Required. The ID of the advertiser the insertion order belongs to.",
21604	//       "format": "int64",
21605	//       "location": "path",
21606	//       "pattern": "^[^/]+$",
21607	//       "required": true,
21608	//       "type": "string"
21609	//     },
21610	//     "filter": {
21611	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters.",
21612	//       "location": "query",
21613	//       "type": "string"
21614	//     },
21615	//     "insertionOrderId": {
21616	//       "description": "Required. The ID of the insertion order to list assigned targeting options for.",
21617	//       "format": "int64",
21618	//       "location": "path",
21619	//       "pattern": "^[^/]+$",
21620	//       "required": true,
21621	//       "type": "string"
21622	//     },
21623	//     "orderBy": {
21624	//       "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.",
21625	//       "location": "query",
21626	//       "type": "string"
21627	//     },
21628	//     "pageSize": {
21629	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
21630	//       "format": "int32",
21631	//       "location": "query",
21632	//       "type": "integer"
21633	//     },
21634	//     "pageToken": {
21635	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
21636	//       "location": "query",
21637	//       "type": "string"
21638	//     },
21639	//     "targetingType": {
21640	//       "description": "Required. Identifies the type of assigned targeting options to list.",
21641	//       "enum": [
21642	//         "TARGETING_TYPE_UNSPECIFIED",
21643	//         "TARGETING_TYPE_CHANNEL",
21644	//         "TARGETING_TYPE_APP_CATEGORY",
21645	//         "TARGETING_TYPE_APP",
21646	//         "TARGETING_TYPE_URL",
21647	//         "TARGETING_TYPE_DAY_AND_TIME",
21648	//         "TARGETING_TYPE_AGE_RANGE",
21649	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
21650	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
21651	//         "TARGETING_TYPE_GENDER",
21652	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
21653	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
21654	//         "TARGETING_TYPE_PARENTAL_STATUS",
21655	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
21656	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
21657	//         "TARGETING_TYPE_DEVICE_TYPE",
21658	//         "TARGETING_TYPE_AUDIENCE_GROUP",
21659	//         "TARGETING_TYPE_BROWSER",
21660	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
21661	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
21662	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
21663	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
21664	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
21665	//         "TARGETING_TYPE_ENVIRONMENT",
21666	//         "TARGETING_TYPE_CARRIER_AND_ISP",
21667	//         "TARGETING_TYPE_OPERATING_SYSTEM",
21668	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
21669	//         "TARGETING_TYPE_KEYWORD",
21670	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
21671	//         "TARGETING_TYPE_VIEWABILITY",
21672	//         "TARGETING_TYPE_CATEGORY",
21673	//         "TARGETING_TYPE_INVENTORY_SOURCE",
21674	//         "TARGETING_TYPE_LANGUAGE",
21675	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
21676	//         "TARGETING_TYPE_GEO_REGION",
21677	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
21678	//         "TARGETING_TYPE_EXCHANGE",
21679	//         "TARGETING_TYPE_SUB_EXCHANGE",
21680	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
21681	//       ],
21682	//       "enumDescriptions": [
21683	//         "Default value when type is not specified or is unknown in this version.",
21684	//         "Target a channel (a custom group of related websites or apps).",
21685	//         "Target an app category (for example, education or puzzle games).",
21686	//         "Target a specific app (for example, Angry Birds).",
21687	//         "Target a specific url (for example, quora.com).",
21688	//         "Target ads during a chosen time period on a specific day.",
21689	//         "Target ads to a specific age range (for example, 18-24).",
21690	//         "Target ads to the specified regions on a regional location list.",
21691	//         "Target ads to the specified points of interest on a proximity location list.",
21692	//         "Target ads to a specific gender (for example, female or male).",
21693	//         "Target a specific video player size for video ads.",
21694	//         "Target user rewarded content for video ads.",
21695	//         "Target ads to a specific parental status (for example, parent or not a parent).",
21696	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
21697	//         "Target ads in a specific content outstream position.",
21698	//         "Target ads to a specific device type (for example, tablet or connected TV).",
21699	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
21700	//         "Target ads to specific web browsers (for example, Chrome).",
21701	//         "Target ads to a specific household income range (for example, top 10%).",
21702	//         "Target ads in a specific on screen position.",
21703	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
21704	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
21705	//         "Filter website content by sensitive categories (for example, adult).",
21706	//         "Target ads to a specific environment (for example, web or app).",
21707	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
21708	//         "Target ads to a specific operating system (for example, macOS).",
21709	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
21710	//         "Target ads to a specific keyword (for example, dog or retriever).",
21711	//         "Target ads to a specific negative keyword list.",
21712	//         "Target ads to a specific viewability (for example, 80% viewable).",
21713	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
21714	//         "Purchase impressions from specific deals and auction packages.",
21715	//         "Target ads to a specific language (for example, English or Japanese).",
21716	//         "Target ads to ads.txt authorized sellers.",
21717	//         "Target ads to a specific regional location (for example, a city or state).",
21718	//         "Purchase impressions from a group of deals and auction packages.",
21719	//         "Purchase impressions from specific exchanges.",
21720	//         "Purchase impressions from specific sub-exchanges.",
21721	//         "Target ads to a specific native content position."
21722	//       ],
21723	//       "location": "path",
21724	//       "pattern": "^[^/]+$",
21725	//       "required": true,
21726	//       "type": "string"
21727	//     }
21728	//   },
21729	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
21730	//   "response": {
21731	//     "$ref": "ListInsertionOrderAssignedTargetingOptionsResponse"
21732	//   },
21733	//   "scopes": [
21734	//     "https://www.googleapis.com/auth/display-video"
21735	//   ]
21736	// }
21737
21738}
21739
21740// Pages invokes f for each page of results.
21741// A non-nil error returned from f will halt the iteration.
21742// The provided context supersedes any context provided to the Context method.
21743func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListInsertionOrderAssignedTargetingOptionsResponse) error) error {
21744	c.ctx_ = ctx
21745	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21746	for {
21747		x, err := c.Do()
21748		if err != nil {
21749			return err
21750		}
21751		if err := f(x); err != nil {
21752			return err
21753		}
21754		if x.NextPageToken == "" {
21755			return nil
21756		}
21757		c.PageToken(x.NextPageToken)
21758	}
21759}
21760
21761// method id "displayvideo.advertisers.invoices.list":
21762
21763type AdvertisersInvoicesListCall struct {
21764	s            *Service
21765	advertiserId int64
21766	urlParams_   gensupport.URLParams
21767	ifNoneMatch_ string
21768	ctx_         context.Context
21769	header_      http.Header
21770}
21771
21772// List: Lists invoices posted for an advertiser in a given month.
21773// Invoices generated by billing profiles with a "Partner" invoice level
21774// are not retrievable through this method.
21775//
21776// - advertiserId: The ID of the advertiser to list invoices for.
21777func (r *AdvertisersInvoicesService) List(advertiserId int64) *AdvertisersInvoicesListCall {
21778	c := &AdvertisersInvoicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21779	c.advertiserId = advertiserId
21780	return c
21781}
21782
21783// IssueMonth sets the optional parameter "issueMonth": The month to
21784// list the invoices for. If not set, the request will retrieve invoices
21785// for the previous month. Must be in the format YYYYMM.
21786func (c *AdvertisersInvoicesListCall) IssueMonth(issueMonth string) *AdvertisersInvoicesListCall {
21787	c.urlParams_.Set("issueMonth", issueMonth)
21788	return c
21789}
21790
21791// LoiSapinInvoiceType sets the optional parameter
21792// "loiSapinInvoiceType": Select type of invoice to retrieve for Loi
21793// Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be
21794// ignored otherwise.
21795//
21796// Possible values:
21797//   "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED" - Value is not specified.
21798//   "LOI_SAPIN_INVOICE_TYPE_MEDIA" - Invoices with Media cost.
21799//   "LOI_SAPIN_INVOICE_TYPE_PLATFORM" - Invoices with Platform fee.
21800func (c *AdvertisersInvoicesListCall) LoiSapinInvoiceType(loiSapinInvoiceType string) *AdvertisersInvoicesListCall {
21801	c.urlParams_.Set("loiSapinInvoiceType", loiSapinInvoiceType)
21802	return c
21803}
21804
21805// PageSize sets the optional parameter "pageSize": Requested page size.
21806// Must be between `1` and `100`. If unspecified will default to `100`.
21807// Returns error code `INVALID_ARGUMENT` if an invalid value is
21808// specified.
21809func (c *AdvertisersInvoicesListCall) PageSize(pageSize int64) *AdvertisersInvoicesListCall {
21810	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
21811	return c
21812}
21813
21814// PageToken sets the optional parameter "pageToken": A token
21815// identifying a page of results the server should return. Typically,
21816// this is the value of next_page_token returned from the previous call
21817// to `ListInvoices` method. If not specified, the first page of results
21818// will be returned.
21819func (c *AdvertisersInvoicesListCall) PageToken(pageToken string) *AdvertisersInvoicesListCall {
21820	c.urlParams_.Set("pageToken", pageToken)
21821	return c
21822}
21823
21824// Fields allows partial responses to be retrieved. See
21825// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21826// for more information.
21827func (c *AdvertisersInvoicesListCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesListCall {
21828	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21829	return c
21830}
21831
21832// IfNoneMatch sets the optional parameter which makes the operation
21833// fail if the object's ETag matches the given value. This is useful for
21834// getting updates only after the object has changed since the last
21835// request. Use googleapi.IsNotModified to check whether the response
21836// error from Do is the result of In-None-Match.
21837func (c *AdvertisersInvoicesListCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesListCall {
21838	c.ifNoneMatch_ = entityTag
21839	return c
21840}
21841
21842// Context sets the context to be used in this call's Do method. Any
21843// pending HTTP request will be aborted if the provided context is
21844// canceled.
21845func (c *AdvertisersInvoicesListCall) Context(ctx context.Context) *AdvertisersInvoicesListCall {
21846	c.ctx_ = ctx
21847	return c
21848}
21849
21850// Header returns an http.Header that can be modified by the caller to
21851// add HTTP headers to the request.
21852func (c *AdvertisersInvoicesListCall) Header() http.Header {
21853	if c.header_ == nil {
21854		c.header_ = make(http.Header)
21855	}
21856	return c.header_
21857}
21858
21859func (c *AdvertisersInvoicesListCall) doRequest(alt string) (*http.Response, error) {
21860	reqHeaders := make(http.Header)
21861	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
21862	for k, v := range c.header_ {
21863		reqHeaders[k] = v
21864	}
21865	reqHeaders.Set("User-Agent", c.s.userAgent())
21866	if c.ifNoneMatch_ != "" {
21867		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21868	}
21869	var body io.Reader = nil
21870	c.urlParams_.Set("alt", alt)
21871	c.urlParams_.Set("prettyPrint", "false")
21872	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/invoices")
21873	urls += "?" + c.urlParams_.Encode()
21874	req, err := http.NewRequest("GET", urls, body)
21875	if err != nil {
21876		return nil, err
21877	}
21878	req.Header = reqHeaders
21879	googleapi.Expand(req.URL, map[string]string{
21880		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
21881	})
21882	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21883}
21884
21885// Do executes the "displayvideo.advertisers.invoices.list" call.
21886// Exactly one of *ListInvoicesResponse or error will be non-nil. Any
21887// non-2xx status code is an error. Response headers are in either
21888// *ListInvoicesResponse.ServerResponse.Header or (if a response was
21889// returned at all) in error.(*googleapi.Error).Header. Use
21890// googleapi.IsNotModified to check whether the returned error was
21891// because http.StatusNotModified was returned.
21892func (c *AdvertisersInvoicesListCall) Do(opts ...googleapi.CallOption) (*ListInvoicesResponse, error) {
21893	gensupport.SetOptions(c.urlParams_, opts...)
21894	res, err := c.doRequest("json")
21895	if res != nil && res.StatusCode == http.StatusNotModified {
21896		if res.Body != nil {
21897			res.Body.Close()
21898		}
21899		return nil, &googleapi.Error{
21900			Code:   res.StatusCode,
21901			Header: res.Header,
21902		}
21903	}
21904	if err != nil {
21905		return nil, err
21906	}
21907	defer googleapi.CloseBody(res)
21908	if err := googleapi.CheckResponse(res); err != nil {
21909		return nil, err
21910	}
21911	ret := &ListInvoicesResponse{
21912		ServerResponse: googleapi.ServerResponse{
21913			Header:         res.Header,
21914			HTTPStatusCode: res.StatusCode,
21915		},
21916	}
21917	target := &ret
21918	if err := gensupport.DecodeResponse(target, res); err != nil {
21919		return nil, err
21920	}
21921	return ret, nil
21922	// {
21923	//   "description": "Lists invoices posted for an advertiser in a given month. Invoices generated by billing profiles with a \"Partner\" invoice level are not retrievable through this method.",
21924	//   "flatPath": "v1/advertisers/{advertisersId}/invoices",
21925	//   "httpMethod": "GET",
21926	//   "id": "displayvideo.advertisers.invoices.list",
21927	//   "parameterOrder": [
21928	//     "advertiserId"
21929	//   ],
21930	//   "parameters": {
21931	//     "advertiserId": {
21932	//       "description": "Required. The ID of the advertiser to list invoices for.",
21933	//       "format": "int64",
21934	//       "location": "path",
21935	//       "pattern": "^[^/]+$",
21936	//       "required": true,
21937	//       "type": "string"
21938	//     },
21939	//     "issueMonth": {
21940	//       "description": "The month to list the invoices for. If not set, the request will retrieve invoices for the previous month. Must be in the format YYYYMM.",
21941	//       "location": "query",
21942	//       "type": "string"
21943	//     },
21944	//     "loiSapinInvoiceType": {
21945	//       "description": "Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be ignored otherwise.",
21946	//       "enum": [
21947	//         "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED",
21948	//         "LOI_SAPIN_INVOICE_TYPE_MEDIA",
21949	//         "LOI_SAPIN_INVOICE_TYPE_PLATFORM"
21950	//       ],
21951	//       "enumDescriptions": [
21952	//         "Value is not specified.",
21953	//         "Invoices with Media cost.",
21954	//         "Invoices with Platform fee."
21955	//       ],
21956	//       "location": "query",
21957	//       "type": "string"
21958	//     },
21959	//     "pageSize": {
21960	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
21961	//       "format": "int32",
21962	//       "location": "query",
21963	//       "type": "integer"
21964	//     },
21965	//     "pageToken": {
21966	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInvoices` method. If not specified, the first page of results will be returned.",
21967	//       "location": "query",
21968	//       "type": "string"
21969	//     }
21970	//   },
21971	//   "path": "v1/advertisers/{+advertiserId}/invoices",
21972	//   "response": {
21973	//     "$ref": "ListInvoicesResponse"
21974	//   },
21975	//   "scopes": [
21976	//     "https://www.googleapis.com/auth/display-video",
21977	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
21978	//   ]
21979	// }
21980
21981}
21982
21983// Pages invokes f for each page of results.
21984// A non-nil error returned from f will halt the iteration.
21985// The provided context supersedes any context provided to the Context method.
21986func (c *AdvertisersInvoicesListCall) Pages(ctx context.Context, f func(*ListInvoicesResponse) error) error {
21987	c.ctx_ = ctx
21988	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21989	for {
21990		x, err := c.Do()
21991		if err != nil {
21992			return err
21993		}
21994		if err := f(x); err != nil {
21995			return err
21996		}
21997		if x.NextPageToken == "" {
21998			return nil
21999		}
22000		c.PageToken(x.NextPageToken)
22001	}
22002}
22003
22004// method id "displayvideo.advertisers.invoices.lookupInvoiceCurrency":
22005
22006type AdvertisersInvoicesLookupInvoiceCurrencyCall struct {
22007	s            *Service
22008	advertiserId int64
22009	urlParams_   gensupport.URLParams
22010	ifNoneMatch_ string
22011	ctx_         context.Context
22012	header_      http.Header
22013}
22014
22015// LookupInvoiceCurrency: Retrieves the invoice currency used by an
22016// advertiser in a given month.
22017//
22018// - advertiserId: The ID of the advertiser to lookup currency for.
22019func (r *AdvertisersInvoicesService) LookupInvoiceCurrency(advertiserId int64) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22020	c := &AdvertisersInvoicesLookupInvoiceCurrencyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22021	c.advertiserId = advertiserId
22022	return c
22023}
22024
22025// InvoiceMonth sets the optional parameter "invoiceMonth": Month for
22026// which the currency is needed. If not set, the request will return
22027// existing currency settings for the advertiser. Must be in the format
22028// YYYYMM.
22029func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) InvoiceMonth(invoiceMonth string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22030	c.urlParams_.Set("invoiceMonth", invoiceMonth)
22031	return c
22032}
22033
22034// Fields allows partial responses to be retrieved. See
22035// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22036// for more information.
22037func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22038	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22039	return c
22040}
22041
22042// IfNoneMatch sets the optional parameter which makes the operation
22043// fail if the object's ETag matches the given value. This is useful for
22044// getting updates only after the object has changed since the last
22045// request. Use googleapi.IsNotModified to check whether the response
22046// error from Do is the result of In-None-Match.
22047func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22048	c.ifNoneMatch_ = entityTag
22049	return c
22050}
22051
22052// Context sets the context to be used in this call's Do method. Any
22053// pending HTTP request will be aborted if the provided context is
22054// canceled.
22055func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Context(ctx context.Context) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22056	c.ctx_ = ctx
22057	return c
22058}
22059
22060// Header returns an http.Header that can be modified by the caller to
22061// add HTTP headers to the request.
22062func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Header() http.Header {
22063	if c.header_ == nil {
22064		c.header_ = make(http.Header)
22065	}
22066	return c.header_
22067}
22068
22069func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) doRequest(alt string) (*http.Response, error) {
22070	reqHeaders := make(http.Header)
22071	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22072	for k, v := range c.header_ {
22073		reqHeaders[k] = v
22074	}
22075	reqHeaders.Set("User-Agent", c.s.userAgent())
22076	if c.ifNoneMatch_ != "" {
22077		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22078	}
22079	var body io.Reader = nil
22080	c.urlParams_.Set("alt", alt)
22081	c.urlParams_.Set("prettyPrint", "false")
22082	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency")
22083	urls += "?" + c.urlParams_.Encode()
22084	req, err := http.NewRequest("GET", urls, body)
22085	if err != nil {
22086		return nil, err
22087	}
22088	req.Header = reqHeaders
22089	googleapi.Expand(req.URL, map[string]string{
22090		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22091	})
22092	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22093}
22094
22095// Do executes the "displayvideo.advertisers.invoices.lookupInvoiceCurrency" call.
22096// Exactly one of *LookupInvoiceCurrencyResponse or error will be
22097// non-nil. Any non-2xx status code is an error. Response headers are in
22098// either *LookupInvoiceCurrencyResponse.ServerResponse.Header or (if a
22099// response was returned at all) in error.(*googleapi.Error).Header. Use
22100// googleapi.IsNotModified to check whether the returned error was
22101// because http.StatusNotModified was returned.
22102func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Do(opts ...googleapi.CallOption) (*LookupInvoiceCurrencyResponse, error) {
22103	gensupport.SetOptions(c.urlParams_, opts...)
22104	res, err := c.doRequest("json")
22105	if res != nil && res.StatusCode == http.StatusNotModified {
22106		if res.Body != nil {
22107			res.Body.Close()
22108		}
22109		return nil, &googleapi.Error{
22110			Code:   res.StatusCode,
22111			Header: res.Header,
22112		}
22113	}
22114	if err != nil {
22115		return nil, err
22116	}
22117	defer googleapi.CloseBody(res)
22118	if err := googleapi.CheckResponse(res); err != nil {
22119		return nil, err
22120	}
22121	ret := &LookupInvoiceCurrencyResponse{
22122		ServerResponse: googleapi.ServerResponse{
22123			Header:         res.Header,
22124			HTTPStatusCode: res.StatusCode,
22125		},
22126	}
22127	target := &ret
22128	if err := gensupport.DecodeResponse(target, res); err != nil {
22129		return nil, err
22130	}
22131	return ret, nil
22132	// {
22133	//   "description": "Retrieves the invoice currency used by an advertiser in a given month.",
22134	//   "flatPath": "v1/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency",
22135	//   "httpMethod": "GET",
22136	//   "id": "displayvideo.advertisers.invoices.lookupInvoiceCurrency",
22137	//   "parameterOrder": [
22138	//     "advertiserId"
22139	//   ],
22140	//   "parameters": {
22141	//     "advertiserId": {
22142	//       "description": "Required. The ID of the advertiser to lookup currency for.",
22143	//       "format": "int64",
22144	//       "location": "path",
22145	//       "pattern": "^[^/]+$",
22146	//       "required": true,
22147	//       "type": "string"
22148	//     },
22149	//     "invoiceMonth": {
22150	//       "description": "Month for which the currency is needed. If not set, the request will return existing currency settings for the advertiser. Must be in the format YYYYMM.",
22151	//       "location": "query",
22152	//       "type": "string"
22153	//     }
22154	//   },
22155	//   "path": "v1/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency",
22156	//   "response": {
22157	//     "$ref": "LookupInvoiceCurrencyResponse"
22158	//   },
22159	//   "scopes": [
22160	//     "https://www.googleapis.com/auth/display-video",
22161	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
22162	//   ]
22163	// }
22164
22165}
22166
22167// method id "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions":
22168
22169type AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall struct {
22170	s                                               *Service
22171	advertiserId                                    int64
22172	lineItemId                                      int64
22173	bulkeditlineitemassignedtargetingoptionsrequest *BulkEditLineItemAssignedTargetingOptionsRequest
22174	urlParams_                                      gensupport.URLParams
22175	ctx_                                            context.Context
22176	header_                                         http.Header
22177}
22178
22179// BulkEditLineItemAssignedTargetingOptions: Bulk edits targeting
22180// options under a single line item. The operation will delete the
22181// assigned targeting options provided in
22182// BulkEditLineItemAssignedTargetingOptionsRequest.delete_requests and
22183// then create the assigned targeting options provided in
22184// BulkEditLineItemAssignedTargetingOptionsRequest.create_requests .
22185//
22186// - advertiserId: The ID of the advertiser the line item belongs to.
22187// - lineItemId: The ID of the line item the assigned targeting option
22188//   will belong to.
22189func (r *AdvertisersLineItemsService) BulkEditLineItemAssignedTargetingOptions(advertiserId int64, lineItemId int64, bulkeditlineitemassignedtargetingoptionsrequest *BulkEditLineItemAssignedTargetingOptionsRequest) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
22190	c := &AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22191	c.advertiserId = advertiserId
22192	c.lineItemId = lineItemId
22193	c.bulkeditlineitemassignedtargetingoptionsrequest = bulkeditlineitemassignedtargetingoptionsrequest
22194	return c
22195}
22196
22197// Fields allows partial responses to be retrieved. See
22198// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22199// for more information.
22200func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
22201	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22202	return c
22203}
22204
22205// Context sets the context to be used in this call's Do method. Any
22206// pending HTTP request will be aborted if the provided context is
22207// canceled.
22208func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
22209	c.ctx_ = ctx
22210	return c
22211}
22212
22213// Header returns an http.Header that can be modified by the caller to
22214// add HTTP headers to the request.
22215func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Header() http.Header {
22216	if c.header_ == nil {
22217		c.header_ = make(http.Header)
22218	}
22219	return c.header_
22220}
22221
22222func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
22223	reqHeaders := make(http.Header)
22224	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22225	for k, v := range c.header_ {
22226		reqHeaders[k] = v
22227	}
22228	reqHeaders.Set("User-Agent", c.s.userAgent())
22229	var body io.Reader = nil
22230	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditlineitemassignedtargetingoptionsrequest)
22231	if err != nil {
22232		return nil, err
22233	}
22234	reqHeaders.Set("Content-Type", "application/json")
22235	c.urlParams_.Set("alt", alt)
22236	c.urlParams_.Set("prettyPrint", "false")
22237	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkEditLineItemAssignedTargetingOptions")
22238	urls += "?" + c.urlParams_.Encode()
22239	req, err := http.NewRequest("POST", urls, body)
22240	if err != nil {
22241		return nil, err
22242	}
22243	req.Header = reqHeaders
22244	googleapi.Expand(req.URL, map[string]string{
22245		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22246		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
22247	})
22248	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22249}
22250
22251// Do executes the "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions" call.
22252// Exactly one of *BulkEditLineItemAssignedTargetingOptionsResponse or
22253// error will be non-nil. Any non-2xx status code is an error. Response
22254// headers are in either
22255// *BulkEditLineItemAssignedTargetingOptionsResponse.ServerResponse.Heade
22256// r or (if a response was returned at all) in
22257// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22258// whether the returned error was because http.StatusNotModified was
22259// returned.
22260func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditLineItemAssignedTargetingOptionsResponse, error) {
22261	gensupport.SetOptions(c.urlParams_, opts...)
22262	res, err := c.doRequest("json")
22263	if res != nil && res.StatusCode == http.StatusNotModified {
22264		if res.Body != nil {
22265			res.Body.Close()
22266		}
22267		return nil, &googleapi.Error{
22268			Code:   res.StatusCode,
22269			Header: res.Header,
22270		}
22271	}
22272	if err != nil {
22273		return nil, err
22274	}
22275	defer googleapi.CloseBody(res)
22276	if err := googleapi.CheckResponse(res); err != nil {
22277		return nil, err
22278	}
22279	ret := &BulkEditLineItemAssignedTargetingOptionsResponse{
22280		ServerResponse: googleapi.ServerResponse{
22281			Header:         res.Header,
22282			HTTPStatusCode: res.StatusCode,
22283		},
22284	}
22285	target := &ret
22286	if err := gensupport.DecodeResponse(target, res); err != nil {
22287		return nil, err
22288	}
22289	return ret, nil
22290	// {
22291	//   "description": "Bulk edits targeting options under a single line item. The operation will delete the assigned targeting options provided in BulkEditLineItemAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditLineItemAssignedTargetingOptionsRequest.create_requests .",
22292	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkEditLineItemAssignedTargetingOptions",
22293	//   "httpMethod": "POST",
22294	//   "id": "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions",
22295	//   "parameterOrder": [
22296	//     "advertiserId",
22297	//     "lineItemId"
22298	//   ],
22299	//   "parameters": {
22300	//     "advertiserId": {
22301	//       "description": "Required. The ID of the advertiser the line item belongs to.",
22302	//       "format": "int64",
22303	//       "location": "path",
22304	//       "pattern": "^[^/]+$",
22305	//       "required": true,
22306	//       "type": "string"
22307	//     },
22308	//     "lineItemId": {
22309	//       "description": "Required. The ID of the line item the assigned targeting option will belong to.",
22310	//       "format": "int64",
22311	//       "location": "path",
22312	//       "pattern": "^[^/]+$",
22313	//       "required": true,
22314	//       "type": "string"
22315	//     }
22316	//   },
22317	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkEditLineItemAssignedTargetingOptions",
22318	//   "request": {
22319	//     "$ref": "BulkEditLineItemAssignedTargetingOptionsRequest"
22320	//   },
22321	//   "response": {
22322	//     "$ref": "BulkEditLineItemAssignedTargetingOptionsResponse"
22323	//   },
22324	//   "scopes": [
22325	//     "https://www.googleapis.com/auth/display-video"
22326	//   ]
22327	// }
22328
22329}
22330
22331// method id "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions":
22332
22333type AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall struct {
22334	s            *Service
22335	advertiserId int64
22336	lineItemId   int64
22337	urlParams_   gensupport.URLParams
22338	ifNoneMatch_ string
22339	ctx_         context.Context
22340	header_      http.Header
22341}
22342
22343// BulkListLineItemAssignedTargetingOptions: Lists assigned targeting
22344// options of a line item across targeting types.
22345//
22346// - advertiserId: The ID of the advertiser the line item belongs to.
22347// - lineItemId: The ID of the line item to list assigned targeting
22348//   options for.
22349func (r *AdvertisersLineItemsService) BulkListLineItemAssignedTargetingOptions(advertiserId int64, lineItemId int64) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22350	c := &AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22351	c.advertiserId = advertiserId
22352	c.lineItemId = lineItemId
22353	return c
22354}
22355
22356// Filter sets the optional parameter "filter": Allows filtering by
22357// assigned targeting option properties. Supported syntax: * Filter
22358// expressions are made up of one or more restrictions. * Restrictions
22359// can be combined by the logical operator `OR` on the same field. * A
22360// restriction has the form of `{field} {operator} {value}`. * The
22361// operator must be `EQUALS (=)`. * Supported fields: - `targetingType`
22362// - `inheritance` Examples: * AssignedTargetingOptions of targeting
22363// type TARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL
22364// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
22365// targetingType="TARGETING_TYPE_CHANNEL" * AssignedTargetingOptions
22366// with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER
22367// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"
22368// The length of this field should be no more than 500 characters.
22369func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22370	c.urlParams_.Set("filter", filter)
22371	return c
22372}
22373
22374// OrderBy sets the optional parameter "orderBy": Field by which to sort
22375// the list. Acceptable values are: * `targetingType` (default) The
22376// default sorting order is ascending. To specify descending order for a
22377// field, a suffix "desc" should be added to the field name. Example:
22378// `targetingType desc`.
22379func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22380	c.urlParams_.Set("orderBy", orderBy)
22381	return c
22382}
22383
22384// PageSize sets the optional parameter "pageSize": Requested page size.
22385// The size must be an integer between `1` and `5000`. If unspecified,
22386// the default is '5000'. Returns error code `INVALID_ARGUMENT` if an
22387// invalid value is specified.
22388func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22389	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22390	return c
22391}
22392
22393// PageToken sets the optional parameter "pageToken": A token that lets
22394// the client fetch the next page of results. Typically, this is the
22395// value of next_page_token returned from the previous call to
22396// `BulkListLineItemAssignedTargetingOptions` method. If not specified,
22397// the first page of results will be returned.
22398func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22399	c.urlParams_.Set("pageToken", pageToken)
22400	return c
22401}
22402
22403// Fields allows partial responses to be retrieved. See
22404// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22405// for more information.
22406func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22407	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22408	return c
22409}
22410
22411// IfNoneMatch sets the optional parameter which makes the operation
22412// fail if the object's ETag matches the given value. This is useful for
22413// getting updates only after the object has changed since the last
22414// request. Use googleapi.IsNotModified to check whether the response
22415// error from Do is the result of In-None-Match.
22416func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22417	c.ifNoneMatch_ = entityTag
22418	return c
22419}
22420
22421// Context sets the context to be used in this call's Do method. Any
22422// pending HTTP request will be aborted if the provided context is
22423// canceled.
22424func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22425	c.ctx_ = ctx
22426	return c
22427}
22428
22429// Header returns an http.Header that can be modified by the caller to
22430// add HTTP headers to the request.
22431func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Header() http.Header {
22432	if c.header_ == nil {
22433		c.header_ = make(http.Header)
22434	}
22435	return c.header_
22436}
22437
22438func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
22439	reqHeaders := make(http.Header)
22440	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22441	for k, v := range c.header_ {
22442		reqHeaders[k] = v
22443	}
22444	reqHeaders.Set("User-Agent", c.s.userAgent())
22445	if c.ifNoneMatch_ != "" {
22446		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22447	}
22448	var body io.Reader = nil
22449	c.urlParams_.Set("alt", alt)
22450	c.urlParams_.Set("prettyPrint", "false")
22451	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkListLineItemAssignedTargetingOptions")
22452	urls += "?" + c.urlParams_.Encode()
22453	req, err := http.NewRequest("GET", urls, body)
22454	if err != nil {
22455		return nil, err
22456	}
22457	req.Header = reqHeaders
22458	googleapi.Expand(req.URL, map[string]string{
22459		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22460		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
22461	})
22462	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22463}
22464
22465// Do executes the "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions" call.
22466// Exactly one of *BulkListLineItemAssignedTargetingOptionsResponse or
22467// error will be non-nil. Any non-2xx status code is an error. Response
22468// headers are in either
22469// *BulkListLineItemAssignedTargetingOptionsResponse.ServerResponse.Heade
22470// r or (if a response was returned at all) in
22471// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22472// whether the returned error was because http.StatusNotModified was
22473// returned.
22474func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListLineItemAssignedTargetingOptionsResponse, error) {
22475	gensupport.SetOptions(c.urlParams_, opts...)
22476	res, err := c.doRequest("json")
22477	if res != nil && res.StatusCode == http.StatusNotModified {
22478		if res.Body != nil {
22479			res.Body.Close()
22480		}
22481		return nil, &googleapi.Error{
22482			Code:   res.StatusCode,
22483			Header: res.Header,
22484		}
22485	}
22486	if err != nil {
22487		return nil, err
22488	}
22489	defer googleapi.CloseBody(res)
22490	if err := googleapi.CheckResponse(res); err != nil {
22491		return nil, err
22492	}
22493	ret := &BulkListLineItemAssignedTargetingOptionsResponse{
22494		ServerResponse: googleapi.ServerResponse{
22495			Header:         res.Header,
22496			HTTPStatusCode: res.StatusCode,
22497		},
22498	}
22499	target := &ret
22500	if err := gensupport.DecodeResponse(target, res); err != nil {
22501		return nil, err
22502	}
22503	return ret, nil
22504	// {
22505	//   "description": "Lists assigned targeting options of a line item across targeting types.",
22506	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkListLineItemAssignedTargetingOptions",
22507	//   "httpMethod": "GET",
22508	//   "id": "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions",
22509	//   "parameterOrder": [
22510	//     "advertiserId",
22511	//     "lineItemId"
22512	//   ],
22513	//   "parameters": {
22514	//     "advertiserId": {
22515	//       "description": "Required. The ID of the advertiser the line item belongs to.",
22516	//       "format": "int64",
22517	//       "location": "path",
22518	//       "pattern": "^[^/]+$",
22519	//       "required": true,
22520	//       "type": "string"
22521	//     },
22522	//     "filter": {
22523	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR` on the same field. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `targetingType` - `inheritance` Examples: * AssignedTargetingOptions of targeting type TARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters.",
22524	//       "location": "query",
22525	//       "type": "string"
22526	//     },
22527	//     "lineItemId": {
22528	//       "description": "Required. The ID of the line item to list assigned targeting options for.",
22529	//       "format": "int64",
22530	//       "location": "path",
22531	//       "pattern": "^[^/]+$",
22532	//       "required": true,
22533	//       "type": "string"
22534	//     },
22535	//     "orderBy": {
22536	//       "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.",
22537	//       "location": "query",
22538	//       "type": "string"
22539	//     },
22540	//     "pageSize": {
22541	//       "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
22542	//       "format": "int32",
22543	//       "location": "query",
22544	//       "type": "integer"
22545	//     },
22546	//     "pageToken": {
22547	//       "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListLineItemAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
22548	//       "location": "query",
22549	//       "type": "string"
22550	//     }
22551	//   },
22552	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkListLineItemAssignedTargetingOptions",
22553	//   "response": {
22554	//     "$ref": "BulkListLineItemAssignedTargetingOptionsResponse"
22555	//   },
22556	//   "scopes": [
22557	//     "https://www.googleapis.com/auth/display-video"
22558	//   ]
22559	// }
22560
22561}
22562
22563// Pages invokes f for each page of results.
22564// A non-nil error returned from f will halt the iteration.
22565// The provided context supersedes any context provided to the Context method.
22566func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListLineItemAssignedTargetingOptionsResponse) error) error {
22567	c.ctx_ = ctx
22568	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22569	for {
22570		x, err := c.Do()
22571		if err != nil {
22572			return err
22573		}
22574		if err := f(x); err != nil {
22575			return err
22576		}
22577		if x.NextPageToken == "" {
22578			return nil
22579		}
22580		c.PageToken(x.NextPageToken)
22581	}
22582}
22583
22584// method id "displayvideo.advertisers.lineItems.create":
22585
22586type AdvertisersLineItemsCreateCall struct {
22587	s            *Service
22588	advertiserId int64
22589	lineitem     *LineItem
22590	urlParams_   gensupport.URLParams
22591	ctx_         context.Context
22592	header_      http.Header
22593}
22594
22595// Create: Creates a new line item. Returns the newly created line item
22596// if successful.
22597//
22598// - advertiserId: Output only. The unique ID of the advertiser the line
22599//   item belongs to.
22600func (r *AdvertisersLineItemsService) Create(advertiserId int64, lineitem *LineItem) *AdvertisersLineItemsCreateCall {
22601	c := &AdvertisersLineItemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22602	c.advertiserId = advertiserId
22603	c.lineitem = lineitem
22604	return c
22605}
22606
22607// Fields allows partial responses to be retrieved. See
22608// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22609// for more information.
22610func (c *AdvertisersLineItemsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsCreateCall {
22611	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22612	return c
22613}
22614
22615// Context sets the context to be used in this call's Do method. Any
22616// pending HTTP request will be aborted if the provided context is
22617// canceled.
22618func (c *AdvertisersLineItemsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsCreateCall {
22619	c.ctx_ = ctx
22620	return c
22621}
22622
22623// Header returns an http.Header that can be modified by the caller to
22624// add HTTP headers to the request.
22625func (c *AdvertisersLineItemsCreateCall) Header() http.Header {
22626	if c.header_ == nil {
22627		c.header_ = make(http.Header)
22628	}
22629	return c.header_
22630}
22631
22632func (c *AdvertisersLineItemsCreateCall) doRequest(alt string) (*http.Response, error) {
22633	reqHeaders := make(http.Header)
22634	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22635	for k, v := range c.header_ {
22636		reqHeaders[k] = v
22637	}
22638	reqHeaders.Set("User-Agent", c.s.userAgent())
22639	var body io.Reader = nil
22640	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
22641	if err != nil {
22642		return nil, err
22643	}
22644	reqHeaders.Set("Content-Type", "application/json")
22645	c.urlParams_.Set("alt", alt)
22646	c.urlParams_.Set("prettyPrint", "false")
22647	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems")
22648	urls += "?" + c.urlParams_.Encode()
22649	req, err := http.NewRequest("POST", urls, body)
22650	if err != nil {
22651		return nil, err
22652	}
22653	req.Header = reqHeaders
22654	googleapi.Expand(req.URL, map[string]string{
22655		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22656	})
22657	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22658}
22659
22660// Do executes the "displayvideo.advertisers.lineItems.create" call.
22661// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
22662// code is an error. Response headers are in either
22663// *LineItem.ServerResponse.Header or (if a response was returned at
22664// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22665// to check whether the returned error was because
22666// http.StatusNotModified was returned.
22667func (c *AdvertisersLineItemsCreateCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
22668	gensupport.SetOptions(c.urlParams_, opts...)
22669	res, err := c.doRequest("json")
22670	if res != nil && res.StatusCode == http.StatusNotModified {
22671		if res.Body != nil {
22672			res.Body.Close()
22673		}
22674		return nil, &googleapi.Error{
22675			Code:   res.StatusCode,
22676			Header: res.Header,
22677		}
22678	}
22679	if err != nil {
22680		return nil, err
22681	}
22682	defer googleapi.CloseBody(res)
22683	if err := googleapi.CheckResponse(res); err != nil {
22684		return nil, err
22685	}
22686	ret := &LineItem{
22687		ServerResponse: googleapi.ServerResponse{
22688			Header:         res.Header,
22689			HTTPStatusCode: res.StatusCode,
22690		},
22691	}
22692	target := &ret
22693	if err := gensupport.DecodeResponse(target, res); err != nil {
22694		return nil, err
22695	}
22696	return ret, nil
22697	// {
22698	//   "description": "Creates a new line item. Returns the newly created line item if successful.",
22699	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems",
22700	//   "httpMethod": "POST",
22701	//   "id": "displayvideo.advertisers.lineItems.create",
22702	//   "parameterOrder": [
22703	//     "advertiserId"
22704	//   ],
22705	//   "parameters": {
22706	//     "advertiserId": {
22707	//       "description": "Output only. The unique ID of the advertiser the line item belongs to.",
22708	//       "format": "int64",
22709	//       "location": "path",
22710	//       "pattern": "^[^/]+$",
22711	//       "required": true,
22712	//       "type": "string"
22713	//     }
22714	//   },
22715	//   "path": "v1/advertisers/{+advertiserId}/lineItems",
22716	//   "request": {
22717	//     "$ref": "LineItem"
22718	//   },
22719	//   "response": {
22720	//     "$ref": "LineItem"
22721	//   },
22722	//   "scopes": [
22723	//     "https://www.googleapis.com/auth/display-video"
22724	//   ]
22725	// }
22726
22727}
22728
22729// method id "displayvideo.advertisers.lineItems.delete":
22730
22731type AdvertisersLineItemsDeleteCall struct {
22732	s            *Service
22733	advertiserId int64
22734	lineItemId   int64
22735	urlParams_   gensupport.URLParams
22736	ctx_         context.Context
22737	header_      http.Header
22738}
22739
22740// Delete: Deletes a line item. Returns error code `NOT_FOUND` if the
22741// line item does not exist. The line item should be archived first,
22742// i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to
22743// delete it.
22744//
22745// - advertiserId: The ID of the advertiser this line item belongs to.
22746// - lineItemId: The ID of the line item we need to fetch.
22747func (r *AdvertisersLineItemsService) Delete(advertiserId int64, lineItemId int64) *AdvertisersLineItemsDeleteCall {
22748	c := &AdvertisersLineItemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22749	c.advertiserId = advertiserId
22750	c.lineItemId = lineItemId
22751	return c
22752}
22753
22754// Fields allows partial responses to be retrieved. See
22755// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22756// for more information.
22757func (c *AdvertisersLineItemsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDeleteCall {
22758	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22759	return c
22760}
22761
22762// Context sets the context to be used in this call's Do method. Any
22763// pending HTTP request will be aborted if the provided context is
22764// canceled.
22765func (c *AdvertisersLineItemsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsDeleteCall {
22766	c.ctx_ = ctx
22767	return c
22768}
22769
22770// Header returns an http.Header that can be modified by the caller to
22771// add HTTP headers to the request.
22772func (c *AdvertisersLineItemsDeleteCall) Header() http.Header {
22773	if c.header_ == nil {
22774		c.header_ = make(http.Header)
22775	}
22776	return c.header_
22777}
22778
22779func (c *AdvertisersLineItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
22780	reqHeaders := make(http.Header)
22781	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22782	for k, v := range c.header_ {
22783		reqHeaders[k] = v
22784	}
22785	reqHeaders.Set("User-Agent", c.s.userAgent())
22786	var body io.Reader = nil
22787	c.urlParams_.Set("alt", alt)
22788	c.urlParams_.Set("prettyPrint", "false")
22789	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
22790	urls += "?" + c.urlParams_.Encode()
22791	req, err := http.NewRequest("DELETE", urls, body)
22792	if err != nil {
22793		return nil, err
22794	}
22795	req.Header = reqHeaders
22796	googleapi.Expand(req.URL, map[string]string{
22797		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22798		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
22799	})
22800	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22801}
22802
22803// Do executes the "displayvideo.advertisers.lineItems.delete" call.
22804// Exactly one of *Empty or error will be non-nil. Any non-2xx status
22805// code is an error. Response headers are in either
22806// *Empty.ServerResponse.Header or (if a response was returned at all)
22807// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
22808// check whether the returned error was because http.StatusNotModified
22809// was returned.
22810func (c *AdvertisersLineItemsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
22811	gensupport.SetOptions(c.urlParams_, opts...)
22812	res, err := c.doRequest("json")
22813	if res != nil && res.StatusCode == http.StatusNotModified {
22814		if res.Body != nil {
22815			res.Body.Close()
22816		}
22817		return nil, &googleapi.Error{
22818			Code:   res.StatusCode,
22819			Header: res.Header,
22820		}
22821	}
22822	if err != nil {
22823		return nil, err
22824	}
22825	defer googleapi.CloseBody(res)
22826	if err := googleapi.CheckResponse(res); err != nil {
22827		return nil, err
22828	}
22829	ret := &Empty{
22830		ServerResponse: googleapi.ServerResponse{
22831			Header:         res.Header,
22832			HTTPStatusCode: res.StatusCode,
22833		},
22834	}
22835	target := &ret
22836	if err := gensupport.DecodeResponse(target, res); err != nil {
22837		return nil, err
22838	}
22839	return ret, nil
22840	// {
22841	//   "description": "Deletes a line item. Returns error code `NOT_FOUND` if the line item does not exist. The line item should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.",
22842	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
22843	//   "httpMethod": "DELETE",
22844	//   "id": "displayvideo.advertisers.lineItems.delete",
22845	//   "parameterOrder": [
22846	//     "advertiserId",
22847	//     "lineItemId"
22848	//   ],
22849	//   "parameters": {
22850	//     "advertiserId": {
22851	//       "description": "The ID of the advertiser this line item belongs to.",
22852	//       "format": "int64",
22853	//       "location": "path",
22854	//       "pattern": "^[^/]+$",
22855	//       "required": true,
22856	//       "type": "string"
22857	//     },
22858	//     "lineItemId": {
22859	//       "description": "The ID of the line item we need to fetch.",
22860	//       "format": "int64",
22861	//       "location": "path",
22862	//       "pattern": "^[^/]+$",
22863	//       "required": true,
22864	//       "type": "string"
22865	//     }
22866	//   },
22867	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
22868	//   "response": {
22869	//     "$ref": "Empty"
22870	//   },
22871	//   "scopes": [
22872	//     "https://www.googleapis.com/auth/display-video"
22873	//   ]
22874	// }
22875
22876}
22877
22878// method id "displayvideo.advertisers.lineItems.generateDefault":
22879
22880type AdvertisersLineItemsGenerateDefaultCall struct {
22881	s                              *Service
22882	advertiserId                   int64
22883	generatedefaultlineitemrequest *GenerateDefaultLineItemRequest
22884	urlParams_                     gensupport.URLParams
22885	ctx_                           context.Context
22886	header_                        http.Header
22887}
22888
22889// GenerateDefault: Creates a new line item with settings (including
22890// targeting) inherited from the insertion order and an
22891// `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line
22892// item if successful. There are default values based on the three
22893// fields: * The insertion order's insertion_order_type * The insertion
22894// order's automation_type * The given line_item_type
22895//
22896// - advertiserId: The ID of the advertiser this line item belongs to.
22897func (r *AdvertisersLineItemsService) GenerateDefault(advertiserId int64, generatedefaultlineitemrequest *GenerateDefaultLineItemRequest) *AdvertisersLineItemsGenerateDefaultCall {
22898	c := &AdvertisersLineItemsGenerateDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22899	c.advertiserId = advertiserId
22900	c.generatedefaultlineitemrequest = generatedefaultlineitemrequest
22901	return c
22902}
22903
22904// Fields allows partial responses to be retrieved. See
22905// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22906// for more information.
22907func (c *AdvertisersLineItemsGenerateDefaultCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGenerateDefaultCall {
22908	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22909	return c
22910}
22911
22912// Context sets the context to be used in this call's Do method. Any
22913// pending HTTP request will be aborted if the provided context is
22914// canceled.
22915func (c *AdvertisersLineItemsGenerateDefaultCall) Context(ctx context.Context) *AdvertisersLineItemsGenerateDefaultCall {
22916	c.ctx_ = ctx
22917	return c
22918}
22919
22920// Header returns an http.Header that can be modified by the caller to
22921// add HTTP headers to the request.
22922func (c *AdvertisersLineItemsGenerateDefaultCall) Header() http.Header {
22923	if c.header_ == nil {
22924		c.header_ = make(http.Header)
22925	}
22926	return c.header_
22927}
22928
22929func (c *AdvertisersLineItemsGenerateDefaultCall) doRequest(alt string) (*http.Response, error) {
22930	reqHeaders := make(http.Header)
22931	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
22932	for k, v := range c.header_ {
22933		reqHeaders[k] = v
22934	}
22935	reqHeaders.Set("User-Agent", c.s.userAgent())
22936	var body io.Reader = nil
22937	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatedefaultlineitemrequest)
22938	if err != nil {
22939		return nil, err
22940	}
22941	reqHeaders.Set("Content-Type", "application/json")
22942	c.urlParams_.Set("alt", alt)
22943	c.urlParams_.Set("prettyPrint", "false")
22944	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems:generateDefault")
22945	urls += "?" + c.urlParams_.Encode()
22946	req, err := http.NewRequest("POST", urls, body)
22947	if err != nil {
22948		return nil, err
22949	}
22950	req.Header = reqHeaders
22951	googleapi.Expand(req.URL, map[string]string{
22952		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22953	})
22954	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22955}
22956
22957// Do executes the "displayvideo.advertisers.lineItems.generateDefault" call.
22958// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
22959// code is an error. Response headers are in either
22960// *LineItem.ServerResponse.Header or (if a response was returned at
22961// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22962// to check whether the returned error was because
22963// http.StatusNotModified was returned.
22964func (c *AdvertisersLineItemsGenerateDefaultCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
22965	gensupport.SetOptions(c.urlParams_, opts...)
22966	res, err := c.doRequest("json")
22967	if res != nil && res.StatusCode == http.StatusNotModified {
22968		if res.Body != nil {
22969			res.Body.Close()
22970		}
22971		return nil, &googleapi.Error{
22972			Code:   res.StatusCode,
22973			Header: res.Header,
22974		}
22975	}
22976	if err != nil {
22977		return nil, err
22978	}
22979	defer googleapi.CloseBody(res)
22980	if err := googleapi.CheckResponse(res); err != nil {
22981		return nil, err
22982	}
22983	ret := &LineItem{
22984		ServerResponse: googleapi.ServerResponse{
22985			Header:         res.Header,
22986			HTTPStatusCode: res.StatusCode,
22987		},
22988	}
22989	target := &ret
22990	if err := gensupport.DecodeResponse(target, res); err != nil {
22991		return nil, err
22992	}
22993	return ret, nil
22994	// {
22995	//   "description": "Creates a new line item with settings (including targeting) inherited from the insertion order and an `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line item if successful. There are default values based on the three fields: * The insertion order's insertion_order_type * The insertion order's automation_type * The given line_item_type",
22996	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems:generateDefault",
22997	//   "httpMethod": "POST",
22998	//   "id": "displayvideo.advertisers.lineItems.generateDefault",
22999	//   "parameterOrder": [
23000	//     "advertiserId"
23001	//   ],
23002	//   "parameters": {
23003	//     "advertiserId": {
23004	//       "description": "Required. The ID of the advertiser this line item belongs to.",
23005	//       "format": "int64",
23006	//       "location": "path",
23007	//       "pattern": "^[^/]+$",
23008	//       "required": true,
23009	//       "type": "string"
23010	//     }
23011	//   },
23012	//   "path": "v1/advertisers/{+advertiserId}/lineItems:generateDefault",
23013	//   "request": {
23014	//     "$ref": "GenerateDefaultLineItemRequest"
23015	//   },
23016	//   "response": {
23017	//     "$ref": "LineItem"
23018	//   },
23019	//   "scopes": [
23020	//     "https://www.googleapis.com/auth/display-video"
23021	//   ]
23022	// }
23023
23024}
23025
23026// method id "displayvideo.advertisers.lineItems.get":
23027
23028type AdvertisersLineItemsGetCall struct {
23029	s            *Service
23030	advertiserId int64
23031	lineItemId   int64
23032	urlParams_   gensupport.URLParams
23033	ifNoneMatch_ string
23034	ctx_         context.Context
23035	header_      http.Header
23036}
23037
23038// Get: Gets a line item.
23039//
23040// - advertiserId: The ID of the advertiser this line item belongs to.
23041// - lineItemId: The ID of the line item to fetch.
23042func (r *AdvertisersLineItemsService) Get(advertiserId int64, lineItemId int64) *AdvertisersLineItemsGetCall {
23043	c := &AdvertisersLineItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23044	c.advertiserId = advertiserId
23045	c.lineItemId = lineItemId
23046	return c
23047}
23048
23049// Fields allows partial responses to be retrieved. See
23050// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23051// for more information.
23052func (c *AdvertisersLineItemsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGetCall {
23053	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23054	return c
23055}
23056
23057// IfNoneMatch sets the optional parameter which makes the operation
23058// fail if the object's ETag matches the given value. This is useful for
23059// getting updates only after the object has changed since the last
23060// request. Use googleapi.IsNotModified to check whether the response
23061// error from Do is the result of In-None-Match.
23062func (c *AdvertisersLineItemsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsGetCall {
23063	c.ifNoneMatch_ = entityTag
23064	return c
23065}
23066
23067// Context sets the context to be used in this call's Do method. Any
23068// pending HTTP request will be aborted if the provided context is
23069// canceled.
23070func (c *AdvertisersLineItemsGetCall) Context(ctx context.Context) *AdvertisersLineItemsGetCall {
23071	c.ctx_ = ctx
23072	return c
23073}
23074
23075// Header returns an http.Header that can be modified by the caller to
23076// add HTTP headers to the request.
23077func (c *AdvertisersLineItemsGetCall) Header() http.Header {
23078	if c.header_ == nil {
23079		c.header_ = make(http.Header)
23080	}
23081	return c.header_
23082}
23083
23084func (c *AdvertisersLineItemsGetCall) doRequest(alt string) (*http.Response, error) {
23085	reqHeaders := make(http.Header)
23086	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23087	for k, v := range c.header_ {
23088		reqHeaders[k] = v
23089	}
23090	reqHeaders.Set("User-Agent", c.s.userAgent())
23091	if c.ifNoneMatch_ != "" {
23092		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23093	}
23094	var body io.Reader = nil
23095	c.urlParams_.Set("alt", alt)
23096	c.urlParams_.Set("prettyPrint", "false")
23097	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
23098	urls += "?" + c.urlParams_.Encode()
23099	req, err := http.NewRequest("GET", urls, body)
23100	if err != nil {
23101		return nil, err
23102	}
23103	req.Header = reqHeaders
23104	googleapi.Expand(req.URL, map[string]string{
23105		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23106		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
23107	})
23108	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23109}
23110
23111// Do executes the "displayvideo.advertisers.lineItems.get" call.
23112// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
23113// code is an error. Response headers are in either
23114// *LineItem.ServerResponse.Header or (if a response was returned at
23115// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23116// to check whether the returned error was because
23117// http.StatusNotModified was returned.
23118func (c *AdvertisersLineItemsGetCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
23119	gensupport.SetOptions(c.urlParams_, opts...)
23120	res, err := c.doRequest("json")
23121	if res != nil && res.StatusCode == http.StatusNotModified {
23122		if res.Body != nil {
23123			res.Body.Close()
23124		}
23125		return nil, &googleapi.Error{
23126			Code:   res.StatusCode,
23127			Header: res.Header,
23128		}
23129	}
23130	if err != nil {
23131		return nil, err
23132	}
23133	defer googleapi.CloseBody(res)
23134	if err := googleapi.CheckResponse(res); err != nil {
23135		return nil, err
23136	}
23137	ret := &LineItem{
23138		ServerResponse: googleapi.ServerResponse{
23139			Header:         res.Header,
23140			HTTPStatusCode: res.StatusCode,
23141		},
23142	}
23143	target := &ret
23144	if err := gensupport.DecodeResponse(target, res); err != nil {
23145		return nil, err
23146	}
23147	return ret, nil
23148	// {
23149	//   "description": "Gets a line item.",
23150	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
23151	//   "httpMethod": "GET",
23152	//   "id": "displayvideo.advertisers.lineItems.get",
23153	//   "parameterOrder": [
23154	//     "advertiserId",
23155	//     "lineItemId"
23156	//   ],
23157	//   "parameters": {
23158	//     "advertiserId": {
23159	//       "description": "Required. The ID of the advertiser this line item belongs to.",
23160	//       "format": "int64",
23161	//       "location": "path",
23162	//       "pattern": "^[^/]+$",
23163	//       "required": true,
23164	//       "type": "string"
23165	//     },
23166	//     "lineItemId": {
23167	//       "description": "Required. The ID of the line item to fetch.",
23168	//       "format": "int64",
23169	//       "location": "path",
23170	//       "pattern": "^[^/]+$",
23171	//       "required": true,
23172	//       "type": "string"
23173	//     }
23174	//   },
23175	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
23176	//   "response": {
23177	//     "$ref": "LineItem"
23178	//   },
23179	//   "scopes": [
23180	//     "https://www.googleapis.com/auth/display-video"
23181	//   ]
23182	// }
23183
23184}
23185
23186// method id "displayvideo.advertisers.lineItems.list":
23187
23188type AdvertisersLineItemsListCall struct {
23189	s            *Service
23190	advertiserId int64
23191	urlParams_   gensupport.URLParams
23192	ifNoneMatch_ string
23193	ctx_         context.Context
23194	header_      http.Header
23195}
23196
23197// List: Lists line items in an advertiser. The order is defined by the
23198// order_by parameter. If a filter by entity_status is not specified,
23199// line items with `ENTITY_STATUS_ARCHIVED` will not be included in the
23200// results.
23201//
23202// - advertiserId: The ID of the advertiser to list line items for.
23203func (r *AdvertisersLineItemsService) List(advertiserId int64) *AdvertisersLineItemsListCall {
23204	c := &AdvertisersLineItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23205	c.advertiserId = advertiserId
23206	return c
23207}
23208
23209// Filter sets the optional parameter "filter": Allows filtering by line
23210// item properties. Supported syntax: * Filter expressions are made up
23211// of one or more restrictions. * Restrictions can be combined by `AND`
23212// or `OR` logical operators. A sequence of restrictions implicitly uses
23213// `AND`. * A restriction has the form of `{field} {operator} {value}`.
23214// * The operator used on `flight.dateRange.endDate` must be LESS THAN
23215// (<). * The operator used on `updateTime` must be `GREATER THAN OR
23216// EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operator used
23217// on `warningMessages` must be `HAS (:)`. * The operators used on all
23218// other fields must be `EQUALS (=)`. * Supported properties: -
23219// `campaignId` - `displayName` - `insertionOrderId` - `entityStatus` -
23220// `lineItemId` - `lineItemType` - `flight.dateRange.endDate` (input
23221// formatted as YYYY-MM-DD) - `warningMessages` - `flight.triggerId` -
23222// `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) -
23223// `targetedChannelId` - `targetedNegativeKeywordListId` Examples: * All
23224// line items under an insertion order: `insertionOrderId="1234" * All
23225// `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and
23226// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser:
23227// `(entityStatus="ENTITY_STATUS_ACTIVE" OR
23228// entityStatus="ENTITY_STATUS_PAUSED") AND
23229// lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" * All line items whose
23230// flight dates end before March 28, 2019:
23231// `flight.dateRange.endDate<"2019-03-28" * All line items that have
23232// `NO_VALID_CREATIVE` in `warningMessages`:
23233// `warningMessages:"NO_VALID_CREATIVE" * All line items with an update
23234// time less than or equal to `2020-11-04T18:54:47Z (format of ISO
23235// 8601)`: `updateTime<="2020-11-04T18:54:47Z" * All line items with an
23236// update time greater than or equal to `2020-11-04T18:54:47Z (format of
23237// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" * All line items
23238// that are using both the specified channel and specified negative
23239// keyword list in their targeting: `targetedNegativeKeywordListId=789
23240// AND targetedChannelId=12345` The length of this field should be no
23241// more than 500 characters.
23242func (c *AdvertisersLineItemsListCall) Filter(filter string) *AdvertisersLineItemsListCall {
23243	c.urlParams_.Set("filter", filter)
23244	return c
23245}
23246
23247// OrderBy sets the optional parameter "orderBy": Field by which to sort
23248// the list. Acceptable values are: * "displayName" (default) *
23249// "entityStatus" * “flight.dateRange.endDate” * "updateTime" The
23250// default sorting order is ascending. To specify descending order for a
23251// field, a suffix "desc" should be added to the field name. Example:
23252// `displayName desc`.
23253func (c *AdvertisersLineItemsListCall) OrderBy(orderBy string) *AdvertisersLineItemsListCall {
23254	c.urlParams_.Set("orderBy", orderBy)
23255	return c
23256}
23257
23258// PageSize sets the optional parameter "pageSize": Requested page size.
23259// Must be between `1` and `100`. If unspecified will default to `100`.
23260// Returns error code `INVALID_ARGUMENT` if an invalid value is
23261// specified.
23262func (c *AdvertisersLineItemsListCall) PageSize(pageSize int64) *AdvertisersLineItemsListCall {
23263	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
23264	return c
23265}
23266
23267// PageToken sets the optional parameter "pageToken": A token
23268// identifying a page of results the server should return. Typically,
23269// this is the value of next_page_token returned from the previous call
23270// to `ListLineItems` method. If not specified, the first page of
23271// results will be returned.
23272func (c *AdvertisersLineItemsListCall) PageToken(pageToken string) *AdvertisersLineItemsListCall {
23273	c.urlParams_.Set("pageToken", pageToken)
23274	return c
23275}
23276
23277// Fields allows partial responses to be retrieved. See
23278// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23279// for more information.
23280func (c *AdvertisersLineItemsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsListCall {
23281	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23282	return c
23283}
23284
23285// IfNoneMatch sets the optional parameter which makes the operation
23286// fail if the object's ETag matches the given value. This is useful for
23287// getting updates only after the object has changed since the last
23288// request. Use googleapi.IsNotModified to check whether the response
23289// error from Do is the result of In-None-Match.
23290func (c *AdvertisersLineItemsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsListCall {
23291	c.ifNoneMatch_ = entityTag
23292	return c
23293}
23294
23295// Context sets the context to be used in this call's Do method. Any
23296// pending HTTP request will be aborted if the provided context is
23297// canceled.
23298func (c *AdvertisersLineItemsListCall) Context(ctx context.Context) *AdvertisersLineItemsListCall {
23299	c.ctx_ = ctx
23300	return c
23301}
23302
23303// Header returns an http.Header that can be modified by the caller to
23304// add HTTP headers to the request.
23305func (c *AdvertisersLineItemsListCall) Header() http.Header {
23306	if c.header_ == nil {
23307		c.header_ = make(http.Header)
23308	}
23309	return c.header_
23310}
23311
23312func (c *AdvertisersLineItemsListCall) doRequest(alt string) (*http.Response, error) {
23313	reqHeaders := make(http.Header)
23314	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23315	for k, v := range c.header_ {
23316		reqHeaders[k] = v
23317	}
23318	reqHeaders.Set("User-Agent", c.s.userAgent())
23319	if c.ifNoneMatch_ != "" {
23320		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23321	}
23322	var body io.Reader = nil
23323	c.urlParams_.Set("alt", alt)
23324	c.urlParams_.Set("prettyPrint", "false")
23325	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems")
23326	urls += "?" + c.urlParams_.Encode()
23327	req, err := http.NewRequest("GET", urls, body)
23328	if err != nil {
23329		return nil, err
23330	}
23331	req.Header = reqHeaders
23332	googleapi.Expand(req.URL, map[string]string{
23333		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23334	})
23335	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23336}
23337
23338// Do executes the "displayvideo.advertisers.lineItems.list" call.
23339// Exactly one of *ListLineItemsResponse or error will be non-nil. Any
23340// non-2xx status code is an error. Response headers are in either
23341// *ListLineItemsResponse.ServerResponse.Header or (if a response was
23342// returned at all) in error.(*googleapi.Error).Header. Use
23343// googleapi.IsNotModified to check whether the returned error was
23344// because http.StatusNotModified was returned.
23345func (c *AdvertisersLineItemsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemsResponse, error) {
23346	gensupport.SetOptions(c.urlParams_, opts...)
23347	res, err := c.doRequest("json")
23348	if res != nil && res.StatusCode == http.StatusNotModified {
23349		if res.Body != nil {
23350			res.Body.Close()
23351		}
23352		return nil, &googleapi.Error{
23353			Code:   res.StatusCode,
23354			Header: res.Header,
23355		}
23356	}
23357	if err != nil {
23358		return nil, err
23359	}
23360	defer googleapi.CloseBody(res)
23361	if err := googleapi.CheckResponse(res); err != nil {
23362		return nil, err
23363	}
23364	ret := &ListLineItemsResponse{
23365		ServerResponse: googleapi.ServerResponse{
23366			Header:         res.Header,
23367			HTTPStatusCode: res.StatusCode,
23368		},
23369	}
23370	target := &ret
23371	if err := gensupport.DecodeResponse(target, res); err != nil {
23372		return nil, err
23373	}
23374	return ret, nil
23375	// {
23376	//   "description": "Lists line items in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, line items with `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
23377	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems",
23378	//   "httpMethod": "GET",
23379	//   "id": "displayvideo.advertisers.lineItems.list",
23380	//   "parameterOrder": [
23381	//     "advertiserId"
23382	//   ],
23383	//   "parameters": {
23384	//     "advertiserId": {
23385	//       "description": "Required. The ID of the advertiser to list line items for.",
23386	//       "format": "int64",
23387	//       "location": "path",
23388	//       "pattern": "^[^/]+$",
23389	//       "required": true,
23390	//       "type": "string"
23391	//     },
23392	//     "filter": {
23393	//       "description": "Allows filtering by line item properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator used on `flight.dateRange.endDate` must be LESS THAN (\u003c). * The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO (\u003e=)` or `LESS THAN OR EQUAL TO (\u003c=)`. * The operator used on `warningMessages` must be `HAS (:)`. * The operators used on all other fields must be `EQUALS (=)`. * Supported properties: - `campaignId` - `displayName` - `insertionOrderId` - `entityStatus` - `lineItemId` - `lineItemType` - `flight.dateRange.endDate` (input formatted as YYYY-MM-DD) - `warningMessages` - `flight.triggerId` - `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) - `targetedChannelId` - `targetedNegativeKeywordListId` Examples: * All line items under an insertion order: `insertionOrderId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND lineItemType=\"LINE_ITEM_TYPE_DISPLAY_DEFAULT\"` * All line items whose flight dates end before March 28, 2019: `flight.dateRange.endDate\u003c\"2019-03-28\"` * All line items that have `NO_VALID_CREATIVE` in `warningMessages`: `warningMessages:\"NO_VALID_CREATIVE\"` * All line items with an update time less than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003c=\"2020-11-04T18:54:47Z\"` * All line items with an update time greater than or equal to `2020-11-04T18:54:47Z (format of ISO 8601)`: `updateTime\u003e=\"2020-11-04T18:54:47Z\"` * All line items that are using both the specified channel and specified negative keyword list in their targeting: `targetedNegativeKeywordListId=789 AND targetedChannelId=12345` The length of this field should be no more than 500 characters.",
23394	//       "location": "query",
23395	//       "type": "string"
23396	//     },
23397	//     "orderBy": {
23398	//       "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * “flight.dateRange.endDate” * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
23399	//       "location": "query",
23400	//       "type": "string"
23401	//     },
23402	//     "pageSize": {
23403	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
23404	//       "format": "int32",
23405	//       "location": "query",
23406	//       "type": "integer"
23407	//     },
23408	//     "pageToken": {
23409	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLineItems` method. If not specified, the first page of results will be returned.",
23410	//       "location": "query",
23411	//       "type": "string"
23412	//     }
23413	//   },
23414	//   "path": "v1/advertisers/{+advertiserId}/lineItems",
23415	//   "response": {
23416	//     "$ref": "ListLineItemsResponse"
23417	//   },
23418	//   "scopes": [
23419	//     "https://www.googleapis.com/auth/display-video"
23420	//   ]
23421	// }
23422
23423}
23424
23425// Pages invokes f for each page of results.
23426// A non-nil error returned from f will halt the iteration.
23427// The provided context supersedes any context provided to the Context method.
23428func (c *AdvertisersLineItemsListCall) Pages(ctx context.Context, f func(*ListLineItemsResponse) error) error {
23429	c.ctx_ = ctx
23430	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23431	for {
23432		x, err := c.Do()
23433		if err != nil {
23434			return err
23435		}
23436		if err := f(x); err != nil {
23437			return err
23438		}
23439		if x.NextPageToken == "" {
23440			return nil
23441		}
23442		c.PageToken(x.NextPageToken)
23443	}
23444}
23445
23446// method id "displayvideo.advertisers.lineItems.patch":
23447
23448type AdvertisersLineItemsPatchCall struct {
23449	s            *Service
23450	advertiserId int64
23451	lineItemId   int64
23452	lineitem     *LineItem
23453	urlParams_   gensupport.URLParams
23454	ctx_         context.Context
23455	header_      http.Header
23456}
23457
23458// Patch: Updates an existing line item. Returns the updated line item
23459// if successful.
23460//
23461// - advertiserId: Output only. The unique ID of the advertiser the line
23462//   item belongs to.
23463// - lineItemId: Output only. The unique ID of the line item. Assigned
23464//   by the system.
23465func (r *AdvertisersLineItemsService) Patch(advertiserId int64, lineItemId int64, lineitem *LineItem) *AdvertisersLineItemsPatchCall {
23466	c := &AdvertisersLineItemsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23467	c.advertiserId = advertiserId
23468	c.lineItemId = lineItemId
23469	c.lineitem = lineitem
23470	return c
23471}
23472
23473// UpdateMask sets the optional parameter "updateMask": Required. The
23474// mask to control which fields to update.
23475func (c *AdvertisersLineItemsPatchCall) UpdateMask(updateMask string) *AdvertisersLineItemsPatchCall {
23476	c.urlParams_.Set("updateMask", updateMask)
23477	return c
23478}
23479
23480// Fields allows partial responses to be retrieved. See
23481// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23482// for more information.
23483func (c *AdvertisersLineItemsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsPatchCall {
23484	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23485	return c
23486}
23487
23488// Context sets the context to be used in this call's Do method. Any
23489// pending HTTP request will be aborted if the provided context is
23490// canceled.
23491func (c *AdvertisersLineItemsPatchCall) Context(ctx context.Context) *AdvertisersLineItemsPatchCall {
23492	c.ctx_ = ctx
23493	return c
23494}
23495
23496// Header returns an http.Header that can be modified by the caller to
23497// add HTTP headers to the request.
23498func (c *AdvertisersLineItemsPatchCall) Header() http.Header {
23499	if c.header_ == nil {
23500		c.header_ = make(http.Header)
23501	}
23502	return c.header_
23503}
23504
23505func (c *AdvertisersLineItemsPatchCall) doRequest(alt string) (*http.Response, error) {
23506	reqHeaders := make(http.Header)
23507	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23508	for k, v := range c.header_ {
23509		reqHeaders[k] = v
23510	}
23511	reqHeaders.Set("User-Agent", c.s.userAgent())
23512	var body io.Reader = nil
23513	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
23514	if err != nil {
23515		return nil, err
23516	}
23517	reqHeaders.Set("Content-Type", "application/json")
23518	c.urlParams_.Set("alt", alt)
23519	c.urlParams_.Set("prettyPrint", "false")
23520	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
23521	urls += "?" + c.urlParams_.Encode()
23522	req, err := http.NewRequest("PATCH", urls, body)
23523	if err != nil {
23524		return nil, err
23525	}
23526	req.Header = reqHeaders
23527	googleapi.Expand(req.URL, map[string]string{
23528		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23529		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
23530	})
23531	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23532}
23533
23534// Do executes the "displayvideo.advertisers.lineItems.patch" call.
23535// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
23536// code is an error. Response headers are in either
23537// *LineItem.ServerResponse.Header or (if a response was returned at
23538// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23539// to check whether the returned error was because
23540// http.StatusNotModified was returned.
23541func (c *AdvertisersLineItemsPatchCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
23542	gensupport.SetOptions(c.urlParams_, opts...)
23543	res, err := c.doRequest("json")
23544	if res != nil && res.StatusCode == http.StatusNotModified {
23545		if res.Body != nil {
23546			res.Body.Close()
23547		}
23548		return nil, &googleapi.Error{
23549			Code:   res.StatusCode,
23550			Header: res.Header,
23551		}
23552	}
23553	if err != nil {
23554		return nil, err
23555	}
23556	defer googleapi.CloseBody(res)
23557	if err := googleapi.CheckResponse(res); err != nil {
23558		return nil, err
23559	}
23560	ret := &LineItem{
23561		ServerResponse: googleapi.ServerResponse{
23562			Header:         res.Header,
23563			HTTPStatusCode: res.StatusCode,
23564		},
23565	}
23566	target := &ret
23567	if err := gensupport.DecodeResponse(target, res); err != nil {
23568		return nil, err
23569	}
23570	return ret, nil
23571	// {
23572	//   "description": "Updates an existing line item. Returns the updated line item if successful.",
23573	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
23574	//   "httpMethod": "PATCH",
23575	//   "id": "displayvideo.advertisers.lineItems.patch",
23576	//   "parameterOrder": [
23577	//     "advertiserId",
23578	//     "lineItemId"
23579	//   ],
23580	//   "parameters": {
23581	//     "advertiserId": {
23582	//       "description": "Output only. The unique ID of the advertiser the line item belongs to.",
23583	//       "format": "int64",
23584	//       "location": "path",
23585	//       "pattern": "^[^/]+$",
23586	//       "required": true,
23587	//       "type": "string"
23588	//     },
23589	//     "lineItemId": {
23590	//       "description": "Output only. The unique ID of the line item. Assigned by the system.",
23591	//       "format": "int64",
23592	//       "location": "path",
23593	//       "pattern": "^[^/]+$",
23594	//       "required": true,
23595	//       "type": "string"
23596	//     },
23597	//     "updateMask": {
23598	//       "description": "Required. The mask to control which fields to update.",
23599	//       "format": "google-fieldmask",
23600	//       "location": "query",
23601	//       "type": "string"
23602	//     }
23603	//   },
23604	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
23605	//   "request": {
23606	//     "$ref": "LineItem"
23607	//   },
23608	//   "response": {
23609	//     "$ref": "LineItem"
23610	//   },
23611	//   "scopes": [
23612	//     "https://www.googleapis.com/auth/display-video"
23613	//   ]
23614	// }
23615
23616}
23617
23618// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create":
23619
23620type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall struct {
23621	s                       *Service
23622	advertiserId            int64
23623	lineItemId              int64
23624	targetingType           string
23625	assignedtargetingoption *AssignedTargetingOption
23626	urlParams_              gensupport.URLParams
23627	ctx_                    context.Context
23628	header_                 http.Header
23629}
23630
23631// Create: Assigns a targeting option to a line item. Returns the
23632// assigned targeting option if successful.
23633//
23634// - advertiserId: The ID of the advertiser the line item belongs to.
23635// - lineItemId: The ID of the line item the assigned targeting option
23636//   will belong to.
23637// - targetingType: Identifies the type of this assigned targeting
23638//   option.
23639func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, lineItemId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
23640	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23641	c.advertiserId = advertiserId
23642	c.lineItemId = lineItemId
23643	c.targetingType = targetingType
23644	c.assignedtargetingoption = assignedtargetingoption
23645	return c
23646}
23647
23648// Fields allows partial responses to be retrieved. See
23649// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23650// for more information.
23651func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
23652	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23653	return c
23654}
23655
23656// Context sets the context to be used in this call's Do method. Any
23657// pending HTTP request will be aborted if the provided context is
23658// canceled.
23659func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
23660	c.ctx_ = ctx
23661	return c
23662}
23663
23664// Header returns an http.Header that can be modified by the caller to
23665// add HTTP headers to the request.
23666func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
23667	if c.header_ == nil {
23668		c.header_ = make(http.Header)
23669	}
23670	return c.header_
23671}
23672
23673func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
23674	reqHeaders := make(http.Header)
23675	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23676	for k, v := range c.header_ {
23677		reqHeaders[k] = v
23678	}
23679	reqHeaders.Set("User-Agent", c.s.userAgent())
23680	var body io.Reader = nil
23681	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
23682	if err != nil {
23683		return nil, err
23684	}
23685	reqHeaders.Set("Content-Type", "application/json")
23686	c.urlParams_.Set("alt", alt)
23687	c.urlParams_.Set("prettyPrint", "false")
23688	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
23689	urls += "?" + c.urlParams_.Encode()
23690	req, err := http.NewRequest("POST", urls, body)
23691	if err != nil {
23692		return nil, err
23693	}
23694	req.Header = reqHeaders
23695	googleapi.Expand(req.URL, map[string]string{
23696		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
23697		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
23698		"targetingType": c.targetingType,
23699	})
23700	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23701}
23702
23703// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create" call.
23704// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
23705// non-2xx status code is an error. Response headers are in either
23706// *AssignedTargetingOption.ServerResponse.Header or (if a response was
23707// returned at all) in error.(*googleapi.Error).Header. Use
23708// googleapi.IsNotModified to check whether the returned error was
23709// because http.StatusNotModified was returned.
23710func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
23711	gensupport.SetOptions(c.urlParams_, opts...)
23712	res, err := c.doRequest("json")
23713	if res != nil && res.StatusCode == http.StatusNotModified {
23714		if res.Body != nil {
23715			res.Body.Close()
23716		}
23717		return nil, &googleapi.Error{
23718			Code:   res.StatusCode,
23719			Header: res.Header,
23720		}
23721	}
23722	if err != nil {
23723		return nil, err
23724	}
23725	defer googleapi.CloseBody(res)
23726	if err := googleapi.CheckResponse(res); err != nil {
23727		return nil, err
23728	}
23729	ret := &AssignedTargetingOption{
23730		ServerResponse: googleapi.ServerResponse{
23731			Header:         res.Header,
23732			HTTPStatusCode: res.StatusCode,
23733		},
23734	}
23735	target := &ret
23736	if err := gensupport.DecodeResponse(target, res); err != nil {
23737		return nil, err
23738	}
23739	return ret, nil
23740	// {
23741	//   "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful.",
23742	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
23743	//   "httpMethod": "POST",
23744	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create",
23745	//   "parameterOrder": [
23746	//     "advertiserId",
23747	//     "lineItemId",
23748	//     "targetingType"
23749	//   ],
23750	//   "parameters": {
23751	//     "advertiserId": {
23752	//       "description": "Required. The ID of the advertiser the line item belongs to.",
23753	//       "format": "int64",
23754	//       "location": "path",
23755	//       "pattern": "^[^/]+$",
23756	//       "required": true,
23757	//       "type": "string"
23758	//     },
23759	//     "lineItemId": {
23760	//       "description": "Required. The ID of the line item the assigned targeting option will belong to.",
23761	//       "format": "int64",
23762	//       "location": "path",
23763	//       "pattern": "^[^/]+$",
23764	//       "required": true,
23765	//       "type": "string"
23766	//     },
23767	//     "targetingType": {
23768	//       "description": "Required. Identifies the type of this assigned targeting option.",
23769	//       "enum": [
23770	//         "TARGETING_TYPE_UNSPECIFIED",
23771	//         "TARGETING_TYPE_CHANNEL",
23772	//         "TARGETING_TYPE_APP_CATEGORY",
23773	//         "TARGETING_TYPE_APP",
23774	//         "TARGETING_TYPE_URL",
23775	//         "TARGETING_TYPE_DAY_AND_TIME",
23776	//         "TARGETING_TYPE_AGE_RANGE",
23777	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
23778	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
23779	//         "TARGETING_TYPE_GENDER",
23780	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
23781	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
23782	//         "TARGETING_TYPE_PARENTAL_STATUS",
23783	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
23784	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
23785	//         "TARGETING_TYPE_DEVICE_TYPE",
23786	//         "TARGETING_TYPE_AUDIENCE_GROUP",
23787	//         "TARGETING_TYPE_BROWSER",
23788	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
23789	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
23790	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
23791	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
23792	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
23793	//         "TARGETING_TYPE_ENVIRONMENT",
23794	//         "TARGETING_TYPE_CARRIER_AND_ISP",
23795	//         "TARGETING_TYPE_OPERATING_SYSTEM",
23796	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
23797	//         "TARGETING_TYPE_KEYWORD",
23798	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
23799	//         "TARGETING_TYPE_VIEWABILITY",
23800	//         "TARGETING_TYPE_CATEGORY",
23801	//         "TARGETING_TYPE_INVENTORY_SOURCE",
23802	//         "TARGETING_TYPE_LANGUAGE",
23803	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
23804	//         "TARGETING_TYPE_GEO_REGION",
23805	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
23806	//         "TARGETING_TYPE_EXCHANGE",
23807	//         "TARGETING_TYPE_SUB_EXCHANGE",
23808	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
23809	//       ],
23810	//       "enumDescriptions": [
23811	//         "Default value when type is not specified or is unknown in this version.",
23812	//         "Target a channel (a custom group of related websites or apps).",
23813	//         "Target an app category (for example, education or puzzle games).",
23814	//         "Target a specific app (for example, Angry Birds).",
23815	//         "Target a specific url (for example, quora.com).",
23816	//         "Target ads during a chosen time period on a specific day.",
23817	//         "Target ads to a specific age range (for example, 18-24).",
23818	//         "Target ads to the specified regions on a regional location list.",
23819	//         "Target ads to the specified points of interest on a proximity location list.",
23820	//         "Target ads to a specific gender (for example, female or male).",
23821	//         "Target a specific video player size for video ads.",
23822	//         "Target user rewarded content for video ads.",
23823	//         "Target ads to a specific parental status (for example, parent or not a parent).",
23824	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
23825	//         "Target ads in a specific content outstream position.",
23826	//         "Target ads to a specific device type (for example, tablet or connected TV).",
23827	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
23828	//         "Target ads to specific web browsers (for example, Chrome).",
23829	//         "Target ads to a specific household income range (for example, top 10%).",
23830	//         "Target ads in a specific on screen position.",
23831	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
23832	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
23833	//         "Filter website content by sensitive categories (for example, adult).",
23834	//         "Target ads to a specific environment (for example, web or app).",
23835	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
23836	//         "Target ads to a specific operating system (for example, macOS).",
23837	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
23838	//         "Target ads to a specific keyword (for example, dog or retriever).",
23839	//         "Target ads to a specific negative keyword list.",
23840	//         "Target ads to a specific viewability (for example, 80% viewable).",
23841	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
23842	//         "Purchase impressions from specific deals and auction packages.",
23843	//         "Target ads to a specific language (for example, English or Japanese).",
23844	//         "Target ads to ads.txt authorized sellers.",
23845	//         "Target ads to a specific regional location (for example, a city or state).",
23846	//         "Purchase impressions from a group of deals and auction packages.",
23847	//         "Purchase impressions from specific exchanges.",
23848	//         "Purchase impressions from specific sub-exchanges.",
23849	//         "Target ads to a specific native content position."
23850	//       ],
23851	//       "location": "path",
23852	//       "pattern": "^[^/]+$",
23853	//       "required": true,
23854	//       "type": "string"
23855	//     }
23856	//   },
23857	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
23858	//   "request": {
23859	//     "$ref": "AssignedTargetingOption"
23860	//   },
23861	//   "response": {
23862	//     "$ref": "AssignedTargetingOption"
23863	//   },
23864	//   "scopes": [
23865	//     "https://www.googleapis.com/auth/display-video"
23866	//   ]
23867	// }
23868
23869}
23870
23871// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete":
23872
23873type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall struct {
23874	s                         *Service
23875	advertiserId              int64
23876	lineItemId                int64
23877	targetingType             string
23878	assignedTargetingOptionId string
23879	urlParams_                gensupport.URLParams
23880	ctx_                      context.Context
23881	header_                   http.Header
23882}
23883
23884// Delete: Deletes an assigned targeting option from a line item.
23885//
23886// - advertiserId: The ID of the advertiser the line item belongs to.
23887// - assignedTargetingOptionId: The ID of the assigned targeting option
23888//   to delete.
23889// - lineItemId: The ID of the line item the assigned targeting option
23890//   belongs to.
23891// - targetingType: Identifies the type of this assigned targeting
23892//   option.
23893func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
23894	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23895	c.advertiserId = advertiserId
23896	c.lineItemId = lineItemId
23897	c.targetingType = targetingType
23898	c.assignedTargetingOptionId = assignedTargetingOptionId
23899	return c
23900}
23901
23902// Fields allows partial responses to be retrieved. See
23903// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23904// for more information.
23905func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
23906	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23907	return c
23908}
23909
23910// Context sets the context to be used in this call's Do method. Any
23911// pending HTTP request will be aborted if the provided context is
23912// canceled.
23913func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
23914	c.ctx_ = ctx
23915	return c
23916}
23917
23918// Header returns an http.Header that can be modified by the caller to
23919// add HTTP headers to the request.
23920func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
23921	if c.header_ == nil {
23922		c.header_ = make(http.Header)
23923	}
23924	return c.header_
23925}
23926
23927func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
23928	reqHeaders := make(http.Header)
23929	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
23930	for k, v := range c.header_ {
23931		reqHeaders[k] = v
23932	}
23933	reqHeaders.Set("User-Agent", c.s.userAgent())
23934	var body io.Reader = nil
23935	c.urlParams_.Set("alt", alt)
23936	c.urlParams_.Set("prettyPrint", "false")
23937	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
23938	urls += "?" + c.urlParams_.Encode()
23939	req, err := http.NewRequest("DELETE", urls, body)
23940	if err != nil {
23941		return nil, err
23942	}
23943	req.Header = reqHeaders
23944	googleapi.Expand(req.URL, map[string]string{
23945		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
23946		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
23947		"targetingType":             c.targetingType,
23948		"assignedTargetingOptionId": c.assignedTargetingOptionId,
23949	})
23950	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23951}
23952
23953// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete" call.
23954// Exactly one of *Empty or error will be non-nil. Any non-2xx status
23955// code is an error. Response headers are in either
23956// *Empty.ServerResponse.Header or (if a response was returned at all)
23957// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23958// check whether the returned error was because http.StatusNotModified
23959// was returned.
23960func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
23961	gensupport.SetOptions(c.urlParams_, opts...)
23962	res, err := c.doRequest("json")
23963	if res != nil && res.StatusCode == http.StatusNotModified {
23964		if res.Body != nil {
23965			res.Body.Close()
23966		}
23967		return nil, &googleapi.Error{
23968			Code:   res.StatusCode,
23969			Header: res.Header,
23970		}
23971	}
23972	if err != nil {
23973		return nil, err
23974	}
23975	defer googleapi.CloseBody(res)
23976	if err := googleapi.CheckResponse(res); err != nil {
23977		return nil, err
23978	}
23979	ret := &Empty{
23980		ServerResponse: googleapi.ServerResponse{
23981			Header:         res.Header,
23982			HTTPStatusCode: res.StatusCode,
23983		},
23984	}
23985	target := &ret
23986	if err := gensupport.DecodeResponse(target, res); err != nil {
23987		return nil, err
23988	}
23989	return ret, nil
23990	// {
23991	//   "description": "Deletes an assigned targeting option from a line item.",
23992	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
23993	//   "httpMethod": "DELETE",
23994	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete",
23995	//   "parameterOrder": [
23996	//     "advertiserId",
23997	//     "lineItemId",
23998	//     "targetingType",
23999	//     "assignedTargetingOptionId"
24000	//   ],
24001	//   "parameters": {
24002	//     "advertiserId": {
24003	//       "description": "Required. The ID of the advertiser the line item belongs to.",
24004	//       "format": "int64",
24005	//       "location": "path",
24006	//       "pattern": "^[^/]+$",
24007	//       "required": true,
24008	//       "type": "string"
24009	//     },
24010	//     "assignedTargetingOptionId": {
24011	//       "description": "Required. The ID of the assigned targeting option to delete.",
24012	//       "location": "path",
24013	//       "pattern": "^[^/]+$",
24014	//       "required": true,
24015	//       "type": "string"
24016	//     },
24017	//     "lineItemId": {
24018	//       "description": "Required. The ID of the line item the assigned targeting option belongs to.",
24019	//       "format": "int64",
24020	//       "location": "path",
24021	//       "pattern": "^[^/]+$",
24022	//       "required": true,
24023	//       "type": "string"
24024	//     },
24025	//     "targetingType": {
24026	//       "description": "Required. Identifies the type of this assigned targeting option.",
24027	//       "enum": [
24028	//         "TARGETING_TYPE_UNSPECIFIED",
24029	//         "TARGETING_TYPE_CHANNEL",
24030	//         "TARGETING_TYPE_APP_CATEGORY",
24031	//         "TARGETING_TYPE_APP",
24032	//         "TARGETING_TYPE_URL",
24033	//         "TARGETING_TYPE_DAY_AND_TIME",
24034	//         "TARGETING_TYPE_AGE_RANGE",
24035	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
24036	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
24037	//         "TARGETING_TYPE_GENDER",
24038	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
24039	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
24040	//         "TARGETING_TYPE_PARENTAL_STATUS",
24041	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
24042	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
24043	//         "TARGETING_TYPE_DEVICE_TYPE",
24044	//         "TARGETING_TYPE_AUDIENCE_GROUP",
24045	//         "TARGETING_TYPE_BROWSER",
24046	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
24047	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
24048	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
24049	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
24050	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
24051	//         "TARGETING_TYPE_ENVIRONMENT",
24052	//         "TARGETING_TYPE_CARRIER_AND_ISP",
24053	//         "TARGETING_TYPE_OPERATING_SYSTEM",
24054	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
24055	//         "TARGETING_TYPE_KEYWORD",
24056	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
24057	//         "TARGETING_TYPE_VIEWABILITY",
24058	//         "TARGETING_TYPE_CATEGORY",
24059	//         "TARGETING_TYPE_INVENTORY_SOURCE",
24060	//         "TARGETING_TYPE_LANGUAGE",
24061	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
24062	//         "TARGETING_TYPE_GEO_REGION",
24063	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
24064	//         "TARGETING_TYPE_EXCHANGE",
24065	//         "TARGETING_TYPE_SUB_EXCHANGE",
24066	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
24067	//       ],
24068	//       "enumDescriptions": [
24069	//         "Default value when type is not specified or is unknown in this version.",
24070	//         "Target a channel (a custom group of related websites or apps).",
24071	//         "Target an app category (for example, education or puzzle games).",
24072	//         "Target a specific app (for example, Angry Birds).",
24073	//         "Target a specific url (for example, quora.com).",
24074	//         "Target ads during a chosen time period on a specific day.",
24075	//         "Target ads to a specific age range (for example, 18-24).",
24076	//         "Target ads to the specified regions on a regional location list.",
24077	//         "Target ads to the specified points of interest on a proximity location list.",
24078	//         "Target ads to a specific gender (for example, female or male).",
24079	//         "Target a specific video player size for video ads.",
24080	//         "Target user rewarded content for video ads.",
24081	//         "Target ads to a specific parental status (for example, parent or not a parent).",
24082	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
24083	//         "Target ads in a specific content outstream position.",
24084	//         "Target ads to a specific device type (for example, tablet or connected TV).",
24085	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
24086	//         "Target ads to specific web browsers (for example, Chrome).",
24087	//         "Target ads to a specific household income range (for example, top 10%).",
24088	//         "Target ads in a specific on screen position.",
24089	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
24090	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
24091	//         "Filter website content by sensitive categories (for example, adult).",
24092	//         "Target ads to a specific environment (for example, web or app).",
24093	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
24094	//         "Target ads to a specific operating system (for example, macOS).",
24095	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
24096	//         "Target ads to a specific keyword (for example, dog or retriever).",
24097	//         "Target ads to a specific negative keyword list.",
24098	//         "Target ads to a specific viewability (for example, 80% viewable).",
24099	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
24100	//         "Purchase impressions from specific deals and auction packages.",
24101	//         "Target ads to a specific language (for example, English or Japanese).",
24102	//         "Target ads to ads.txt authorized sellers.",
24103	//         "Target ads to a specific regional location (for example, a city or state).",
24104	//         "Purchase impressions from a group of deals and auction packages.",
24105	//         "Purchase impressions from specific exchanges.",
24106	//         "Purchase impressions from specific sub-exchanges.",
24107	//         "Target ads to a specific native content position."
24108	//       ],
24109	//       "location": "path",
24110	//       "pattern": "^[^/]+$",
24111	//       "required": true,
24112	//       "type": "string"
24113	//     }
24114	//   },
24115	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
24116	//   "response": {
24117	//     "$ref": "Empty"
24118	//   },
24119	//   "scopes": [
24120	//     "https://www.googleapis.com/auth/display-video"
24121	//   ]
24122	// }
24123
24124}
24125
24126// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get":
24127
24128type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall struct {
24129	s                         *Service
24130	advertiserId              int64
24131	lineItemId                int64
24132	targetingType             string
24133	assignedTargetingOptionId string
24134	urlParams_                gensupport.URLParams
24135	ifNoneMatch_              string
24136	ctx_                      context.Context
24137	header_                   http.Header
24138}
24139
24140// Get: Gets a single targeting option assigned to a line item.
24141//
24142// - advertiserId: The ID of the advertiser the line item belongs to.
24143// - assignedTargetingOptionId: An identifier unique to the targeting
24144//   type in this line item that identifies the assigned targeting
24145//   option being requested.
24146// - lineItemId: The ID of the line item the assigned targeting option
24147//   belongs to.
24148// - targetingType: Identifies the type of this assigned targeting
24149//   option.
24150func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24151	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24152	c.advertiserId = advertiserId
24153	c.lineItemId = lineItemId
24154	c.targetingType = targetingType
24155	c.assignedTargetingOptionId = assignedTargetingOptionId
24156	return c
24157}
24158
24159// Fields allows partial responses to be retrieved. See
24160// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24161// for more information.
24162func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24163	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24164	return c
24165}
24166
24167// IfNoneMatch sets the optional parameter which makes the operation
24168// fail if the object's ETag matches the given value. This is useful for
24169// getting updates only after the object has changed since the last
24170// request. Use googleapi.IsNotModified to check whether the response
24171// error from Do is the result of In-None-Match.
24172func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24173	c.ifNoneMatch_ = entityTag
24174	return c
24175}
24176
24177// Context sets the context to be used in this call's Do method. Any
24178// pending HTTP request will be aborted if the provided context is
24179// canceled.
24180func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24181	c.ctx_ = ctx
24182	return c
24183}
24184
24185// Header returns an http.Header that can be modified by the caller to
24186// add HTTP headers to the request.
24187func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
24188	if c.header_ == nil {
24189		c.header_ = make(http.Header)
24190	}
24191	return c.header_
24192}
24193
24194func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
24195	reqHeaders := make(http.Header)
24196	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24197	for k, v := range c.header_ {
24198		reqHeaders[k] = v
24199	}
24200	reqHeaders.Set("User-Agent", c.s.userAgent())
24201	if c.ifNoneMatch_ != "" {
24202		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24203	}
24204	var body io.Reader = nil
24205	c.urlParams_.Set("alt", alt)
24206	c.urlParams_.Set("prettyPrint", "false")
24207	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
24208	urls += "?" + c.urlParams_.Encode()
24209	req, err := http.NewRequest("GET", urls, body)
24210	if err != nil {
24211		return nil, err
24212	}
24213	req.Header = reqHeaders
24214	googleapi.Expand(req.URL, map[string]string{
24215		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
24216		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
24217		"targetingType":             c.targetingType,
24218		"assignedTargetingOptionId": c.assignedTargetingOptionId,
24219	})
24220	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24221}
24222
24223// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get" call.
24224// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
24225// non-2xx status code is an error. Response headers are in either
24226// *AssignedTargetingOption.ServerResponse.Header or (if a response was
24227// returned at all) in error.(*googleapi.Error).Header. Use
24228// googleapi.IsNotModified to check whether the returned error was
24229// because http.StatusNotModified was returned.
24230func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
24231	gensupport.SetOptions(c.urlParams_, opts...)
24232	res, err := c.doRequest("json")
24233	if res != nil && res.StatusCode == http.StatusNotModified {
24234		if res.Body != nil {
24235			res.Body.Close()
24236		}
24237		return nil, &googleapi.Error{
24238			Code:   res.StatusCode,
24239			Header: res.Header,
24240		}
24241	}
24242	if err != nil {
24243		return nil, err
24244	}
24245	defer googleapi.CloseBody(res)
24246	if err := googleapi.CheckResponse(res); err != nil {
24247		return nil, err
24248	}
24249	ret := &AssignedTargetingOption{
24250		ServerResponse: googleapi.ServerResponse{
24251			Header:         res.Header,
24252			HTTPStatusCode: res.StatusCode,
24253		},
24254	}
24255	target := &ret
24256	if err := gensupport.DecodeResponse(target, res); err != nil {
24257		return nil, err
24258	}
24259	return ret, nil
24260	// {
24261	//   "description": "Gets a single targeting option assigned to a line item.",
24262	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
24263	//   "httpMethod": "GET",
24264	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get",
24265	//   "parameterOrder": [
24266	//     "advertiserId",
24267	//     "lineItemId",
24268	//     "targetingType",
24269	//     "assignedTargetingOptionId"
24270	//   ],
24271	//   "parameters": {
24272	//     "advertiserId": {
24273	//       "description": "Required. The ID of the advertiser the line item belongs to.",
24274	//       "format": "int64",
24275	//       "location": "path",
24276	//       "pattern": "^[^/]+$",
24277	//       "required": true,
24278	//       "type": "string"
24279	//     },
24280	//     "assignedTargetingOptionId": {
24281	//       "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.",
24282	//       "location": "path",
24283	//       "pattern": "^[^/]+$",
24284	//       "required": true,
24285	//       "type": "string"
24286	//     },
24287	//     "lineItemId": {
24288	//       "description": "Required. The ID of the line item the assigned targeting option belongs to.",
24289	//       "format": "int64",
24290	//       "location": "path",
24291	//       "pattern": "^[^/]+$",
24292	//       "required": true,
24293	//       "type": "string"
24294	//     },
24295	//     "targetingType": {
24296	//       "description": "Required. Identifies the type of this assigned targeting option.",
24297	//       "enum": [
24298	//         "TARGETING_TYPE_UNSPECIFIED",
24299	//         "TARGETING_TYPE_CHANNEL",
24300	//         "TARGETING_TYPE_APP_CATEGORY",
24301	//         "TARGETING_TYPE_APP",
24302	//         "TARGETING_TYPE_URL",
24303	//         "TARGETING_TYPE_DAY_AND_TIME",
24304	//         "TARGETING_TYPE_AGE_RANGE",
24305	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
24306	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
24307	//         "TARGETING_TYPE_GENDER",
24308	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
24309	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
24310	//         "TARGETING_TYPE_PARENTAL_STATUS",
24311	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
24312	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
24313	//         "TARGETING_TYPE_DEVICE_TYPE",
24314	//         "TARGETING_TYPE_AUDIENCE_GROUP",
24315	//         "TARGETING_TYPE_BROWSER",
24316	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
24317	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
24318	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
24319	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
24320	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
24321	//         "TARGETING_TYPE_ENVIRONMENT",
24322	//         "TARGETING_TYPE_CARRIER_AND_ISP",
24323	//         "TARGETING_TYPE_OPERATING_SYSTEM",
24324	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
24325	//         "TARGETING_TYPE_KEYWORD",
24326	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
24327	//         "TARGETING_TYPE_VIEWABILITY",
24328	//         "TARGETING_TYPE_CATEGORY",
24329	//         "TARGETING_TYPE_INVENTORY_SOURCE",
24330	//         "TARGETING_TYPE_LANGUAGE",
24331	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
24332	//         "TARGETING_TYPE_GEO_REGION",
24333	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
24334	//         "TARGETING_TYPE_EXCHANGE",
24335	//         "TARGETING_TYPE_SUB_EXCHANGE",
24336	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
24337	//       ],
24338	//       "enumDescriptions": [
24339	//         "Default value when type is not specified or is unknown in this version.",
24340	//         "Target a channel (a custom group of related websites or apps).",
24341	//         "Target an app category (for example, education or puzzle games).",
24342	//         "Target a specific app (for example, Angry Birds).",
24343	//         "Target a specific url (for example, quora.com).",
24344	//         "Target ads during a chosen time period on a specific day.",
24345	//         "Target ads to a specific age range (for example, 18-24).",
24346	//         "Target ads to the specified regions on a regional location list.",
24347	//         "Target ads to the specified points of interest on a proximity location list.",
24348	//         "Target ads to a specific gender (for example, female or male).",
24349	//         "Target a specific video player size for video ads.",
24350	//         "Target user rewarded content for video ads.",
24351	//         "Target ads to a specific parental status (for example, parent or not a parent).",
24352	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
24353	//         "Target ads in a specific content outstream position.",
24354	//         "Target ads to a specific device type (for example, tablet or connected TV).",
24355	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
24356	//         "Target ads to specific web browsers (for example, Chrome).",
24357	//         "Target ads to a specific household income range (for example, top 10%).",
24358	//         "Target ads in a specific on screen position.",
24359	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
24360	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
24361	//         "Filter website content by sensitive categories (for example, adult).",
24362	//         "Target ads to a specific environment (for example, web or app).",
24363	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
24364	//         "Target ads to a specific operating system (for example, macOS).",
24365	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
24366	//         "Target ads to a specific keyword (for example, dog or retriever).",
24367	//         "Target ads to a specific negative keyword list.",
24368	//         "Target ads to a specific viewability (for example, 80% viewable).",
24369	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
24370	//         "Purchase impressions from specific deals and auction packages.",
24371	//         "Target ads to a specific language (for example, English or Japanese).",
24372	//         "Target ads to ads.txt authorized sellers.",
24373	//         "Target ads to a specific regional location (for example, a city or state).",
24374	//         "Purchase impressions from a group of deals and auction packages.",
24375	//         "Purchase impressions from specific exchanges.",
24376	//         "Purchase impressions from specific sub-exchanges.",
24377	//         "Target ads to a specific native content position."
24378	//       ],
24379	//       "location": "path",
24380	//       "pattern": "^[^/]+$",
24381	//       "required": true,
24382	//       "type": "string"
24383	//     }
24384	//   },
24385	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
24386	//   "response": {
24387	//     "$ref": "AssignedTargetingOption"
24388	//   },
24389	//   "scopes": [
24390	//     "https://www.googleapis.com/auth/display-video"
24391	//   ]
24392	// }
24393
24394}
24395
24396// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list":
24397
24398type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall struct {
24399	s             *Service
24400	advertiserId  int64
24401	lineItemId    int64
24402	targetingType string
24403	urlParams_    gensupport.URLParams
24404	ifNoneMatch_  string
24405	ctx_          context.Context
24406	header_       http.Header
24407}
24408
24409// List: Lists the targeting options assigned to a line item.
24410//
24411// - advertiserId: The ID of the advertiser the line item belongs to.
24412// - lineItemId: The ID of the line item to list assigned targeting
24413//   options for.
24414// - targetingType: Identifies the type of assigned targeting options to
24415//   list.
24416func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, lineItemId int64, targetingType string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24417	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24418	c.advertiserId = advertiserId
24419	c.lineItemId = lineItemId
24420	c.targetingType = targetingType
24421	return c
24422}
24423
24424// Filter sets the optional parameter "filter": Allows filtering by
24425// assigned targeting option properties. Supported syntax: * Filter
24426// expressions are made up of one or more restrictions. * Restrictions
24427// can be combined by the logical operator `OR`. * A restriction has the
24428// form of `{field} {operator} {value}`. * The operator must be `EQUALS
24429// (=)`. * Supported fields: - `assignedTargetingOptionId` -
24430// `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2
24431// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
24432// AssignedTargetingOptions with inheritance status of NOT_INHERITED or
24433// INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR
24434// inheritance="INHERITED_FROM_PARTNER" The length of this field should
24435// be no more than 500 characters.
24436func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24437	c.urlParams_.Set("filter", filter)
24438	return c
24439}
24440
24441// OrderBy sets the optional parameter "orderBy": Field by which to sort
24442// the list. Acceptable values are: * `assignedTargetingOptionId`
24443// (default) The default sorting order is ascending. To specify
24444// descending order for a field, a suffix "desc" should be added to the
24445// field name. Example: `assignedTargetingOptionId desc`.
24446func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24447	c.urlParams_.Set("orderBy", orderBy)
24448	return c
24449}
24450
24451// PageSize sets the optional parameter "pageSize": Requested page size.
24452// Must be between `1` and `100`. If unspecified will default to `100`.
24453// Returns error code `INVALID_ARGUMENT` if an invalid value is
24454// specified.
24455func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24456	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
24457	return c
24458}
24459
24460// PageToken sets the optional parameter "pageToken": A token
24461// identifying a page of results the server should return. Typically,
24462// this is the value of next_page_token returned from the previous call
24463// to `ListLineItemAssignedTargetingOptions` method. If not specified,
24464// the first page of results will be returned.
24465func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24466	c.urlParams_.Set("pageToken", pageToken)
24467	return c
24468}
24469
24470// Fields allows partial responses to be retrieved. See
24471// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24472// for more information.
24473func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24474	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24475	return c
24476}
24477
24478// IfNoneMatch sets the optional parameter which makes the operation
24479// fail if the object's ETag matches the given value. This is useful for
24480// getting updates only after the object has changed since the last
24481// request. Use googleapi.IsNotModified to check whether the response
24482// error from Do is the result of In-None-Match.
24483func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24484	c.ifNoneMatch_ = entityTag
24485	return c
24486}
24487
24488// Context sets the context to be used in this call's Do method. Any
24489// pending HTTP request will be aborted if the provided context is
24490// canceled.
24491func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24492	c.ctx_ = ctx
24493	return c
24494}
24495
24496// Header returns an http.Header that can be modified by the caller to
24497// add HTTP headers to the request.
24498func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
24499	if c.header_ == nil {
24500		c.header_ = make(http.Header)
24501	}
24502	return c.header_
24503}
24504
24505func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
24506	reqHeaders := make(http.Header)
24507	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24508	for k, v := range c.header_ {
24509		reqHeaders[k] = v
24510	}
24511	reqHeaders.Set("User-Agent", c.s.userAgent())
24512	if c.ifNoneMatch_ != "" {
24513		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24514	}
24515	var body io.Reader = nil
24516	c.urlParams_.Set("alt", alt)
24517	c.urlParams_.Set("prettyPrint", "false")
24518	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
24519	urls += "?" + c.urlParams_.Encode()
24520	req, err := http.NewRequest("GET", urls, body)
24521	if err != nil {
24522		return nil, err
24523	}
24524	req.Header = reqHeaders
24525	googleapi.Expand(req.URL, map[string]string{
24526		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
24527		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
24528		"targetingType": c.targetingType,
24529	})
24530	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24531}
24532
24533// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list" call.
24534// Exactly one of *ListLineItemAssignedTargetingOptionsResponse or error
24535// will be non-nil. Any non-2xx status code is an error. Response
24536// headers are in either
24537// *ListLineItemAssignedTargetingOptionsResponse.ServerResponse.Header
24538// or (if a response was returned at all) in
24539// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
24540// whether the returned error was because http.StatusNotModified was
24541// returned.
24542func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemAssignedTargetingOptionsResponse, error) {
24543	gensupport.SetOptions(c.urlParams_, opts...)
24544	res, err := c.doRequest("json")
24545	if res != nil && res.StatusCode == http.StatusNotModified {
24546		if res.Body != nil {
24547			res.Body.Close()
24548		}
24549		return nil, &googleapi.Error{
24550			Code:   res.StatusCode,
24551			Header: res.Header,
24552		}
24553	}
24554	if err != nil {
24555		return nil, err
24556	}
24557	defer googleapi.CloseBody(res)
24558	if err := googleapi.CheckResponse(res); err != nil {
24559		return nil, err
24560	}
24561	ret := &ListLineItemAssignedTargetingOptionsResponse{
24562		ServerResponse: googleapi.ServerResponse{
24563			Header:         res.Header,
24564			HTTPStatusCode: res.StatusCode,
24565		},
24566	}
24567	target := &ret
24568	if err := gensupport.DecodeResponse(target, res); err != nil {
24569		return nil, err
24570	}
24571	return ret, nil
24572	// {
24573	//   "description": "Lists the targeting options assigned to a line item.",
24574	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
24575	//   "httpMethod": "GET",
24576	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list",
24577	//   "parameterOrder": [
24578	//     "advertiserId",
24579	//     "lineItemId",
24580	//     "targetingType"
24581	//   ],
24582	//   "parameters": {
24583	//     "advertiserId": {
24584	//       "description": "Required. The ID of the advertiser the line item belongs to.",
24585	//       "format": "int64",
24586	//       "location": "path",
24587	//       "pattern": "^[^/]+$",
24588	//       "required": true,
24589	//       "type": "string"
24590	//     },
24591	//     "filter": {
24592	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` - `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2 `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * AssignedTargetingOptions with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters.",
24593	//       "location": "query",
24594	//       "type": "string"
24595	//     },
24596	//     "lineItemId": {
24597	//       "description": "Required. The ID of the line item to list assigned targeting options for.",
24598	//       "format": "int64",
24599	//       "location": "path",
24600	//       "pattern": "^[^/]+$",
24601	//       "required": true,
24602	//       "type": "string"
24603	//     },
24604	//     "orderBy": {
24605	//       "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.",
24606	//       "location": "query",
24607	//       "type": "string"
24608	//     },
24609	//     "pageSize": {
24610	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
24611	//       "format": "int32",
24612	//       "location": "query",
24613	//       "type": "integer"
24614	//     },
24615	//     "pageToken": {
24616	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLineItemAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
24617	//       "location": "query",
24618	//       "type": "string"
24619	//     },
24620	//     "targetingType": {
24621	//       "description": "Required. Identifies the type of assigned targeting options to list.",
24622	//       "enum": [
24623	//         "TARGETING_TYPE_UNSPECIFIED",
24624	//         "TARGETING_TYPE_CHANNEL",
24625	//         "TARGETING_TYPE_APP_CATEGORY",
24626	//         "TARGETING_TYPE_APP",
24627	//         "TARGETING_TYPE_URL",
24628	//         "TARGETING_TYPE_DAY_AND_TIME",
24629	//         "TARGETING_TYPE_AGE_RANGE",
24630	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
24631	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
24632	//         "TARGETING_TYPE_GENDER",
24633	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
24634	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
24635	//         "TARGETING_TYPE_PARENTAL_STATUS",
24636	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
24637	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
24638	//         "TARGETING_TYPE_DEVICE_TYPE",
24639	//         "TARGETING_TYPE_AUDIENCE_GROUP",
24640	//         "TARGETING_TYPE_BROWSER",
24641	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
24642	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
24643	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
24644	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
24645	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
24646	//         "TARGETING_TYPE_ENVIRONMENT",
24647	//         "TARGETING_TYPE_CARRIER_AND_ISP",
24648	//         "TARGETING_TYPE_OPERATING_SYSTEM",
24649	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
24650	//         "TARGETING_TYPE_KEYWORD",
24651	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
24652	//         "TARGETING_TYPE_VIEWABILITY",
24653	//         "TARGETING_TYPE_CATEGORY",
24654	//         "TARGETING_TYPE_INVENTORY_SOURCE",
24655	//         "TARGETING_TYPE_LANGUAGE",
24656	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
24657	//         "TARGETING_TYPE_GEO_REGION",
24658	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
24659	//         "TARGETING_TYPE_EXCHANGE",
24660	//         "TARGETING_TYPE_SUB_EXCHANGE",
24661	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
24662	//       ],
24663	//       "enumDescriptions": [
24664	//         "Default value when type is not specified or is unknown in this version.",
24665	//         "Target a channel (a custom group of related websites or apps).",
24666	//         "Target an app category (for example, education or puzzle games).",
24667	//         "Target a specific app (for example, Angry Birds).",
24668	//         "Target a specific url (for example, quora.com).",
24669	//         "Target ads during a chosen time period on a specific day.",
24670	//         "Target ads to a specific age range (for example, 18-24).",
24671	//         "Target ads to the specified regions on a regional location list.",
24672	//         "Target ads to the specified points of interest on a proximity location list.",
24673	//         "Target ads to a specific gender (for example, female or male).",
24674	//         "Target a specific video player size for video ads.",
24675	//         "Target user rewarded content for video ads.",
24676	//         "Target ads to a specific parental status (for example, parent or not a parent).",
24677	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
24678	//         "Target ads in a specific content outstream position.",
24679	//         "Target ads to a specific device type (for example, tablet or connected TV).",
24680	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
24681	//         "Target ads to specific web browsers (for example, Chrome).",
24682	//         "Target ads to a specific household income range (for example, top 10%).",
24683	//         "Target ads in a specific on screen position.",
24684	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
24685	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
24686	//         "Filter website content by sensitive categories (for example, adult).",
24687	//         "Target ads to a specific environment (for example, web or app).",
24688	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
24689	//         "Target ads to a specific operating system (for example, macOS).",
24690	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
24691	//         "Target ads to a specific keyword (for example, dog or retriever).",
24692	//         "Target ads to a specific negative keyword list.",
24693	//         "Target ads to a specific viewability (for example, 80% viewable).",
24694	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
24695	//         "Purchase impressions from specific deals and auction packages.",
24696	//         "Target ads to a specific language (for example, English or Japanese).",
24697	//         "Target ads to ads.txt authorized sellers.",
24698	//         "Target ads to a specific regional location (for example, a city or state).",
24699	//         "Purchase impressions from a group of deals and auction packages.",
24700	//         "Purchase impressions from specific exchanges.",
24701	//         "Purchase impressions from specific sub-exchanges.",
24702	//         "Target ads to a specific native content position."
24703	//       ],
24704	//       "location": "path",
24705	//       "pattern": "^[^/]+$",
24706	//       "required": true,
24707	//       "type": "string"
24708	//     }
24709	//   },
24710	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
24711	//   "response": {
24712	//     "$ref": "ListLineItemAssignedTargetingOptionsResponse"
24713	//   },
24714	//   "scopes": [
24715	//     "https://www.googleapis.com/auth/display-video"
24716	//   ]
24717	// }
24718
24719}
24720
24721// Pages invokes f for each page of results.
24722// A non-nil error returned from f will halt the iteration.
24723// The provided context supersedes any context provided to the Context method.
24724func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListLineItemAssignedTargetingOptionsResponse) error) error {
24725	c.ctx_ = ctx
24726	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
24727	for {
24728		x, err := c.Do()
24729		if err != nil {
24730			return err
24731		}
24732		if err := f(x); err != nil {
24733			return err
24734		}
24735		if x.NextPageToken == "" {
24736			return nil
24737		}
24738		c.PageToken(x.NextPageToken)
24739	}
24740}
24741
24742// method id "displayvideo.advertisers.locationLists.create":
24743
24744type AdvertisersLocationListsCreateCall struct {
24745	s            *Service
24746	advertiserId int64
24747	locationlist *LocationList
24748	urlParams_   gensupport.URLParams
24749	ctx_         context.Context
24750	header_      http.Header
24751}
24752
24753// Create: Creates a new location list. Returns the newly created
24754// location list if successful.
24755//
24756// - advertiserId: The ID of the DV360 advertiser to which the location
24757//   list belongs.
24758func (r *AdvertisersLocationListsService) Create(advertiserId int64, locationlist *LocationList) *AdvertisersLocationListsCreateCall {
24759	c := &AdvertisersLocationListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24760	c.advertiserId = advertiserId
24761	c.locationlist = locationlist
24762	return c
24763}
24764
24765// Fields allows partial responses to be retrieved. See
24766// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24767// for more information.
24768func (c *AdvertisersLocationListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsCreateCall {
24769	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24770	return c
24771}
24772
24773// Context sets the context to be used in this call's Do method. Any
24774// pending HTTP request will be aborted if the provided context is
24775// canceled.
24776func (c *AdvertisersLocationListsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsCreateCall {
24777	c.ctx_ = ctx
24778	return c
24779}
24780
24781// Header returns an http.Header that can be modified by the caller to
24782// add HTTP headers to the request.
24783func (c *AdvertisersLocationListsCreateCall) Header() http.Header {
24784	if c.header_ == nil {
24785		c.header_ = make(http.Header)
24786	}
24787	return c.header_
24788}
24789
24790func (c *AdvertisersLocationListsCreateCall) doRequest(alt string) (*http.Response, error) {
24791	reqHeaders := make(http.Header)
24792	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24793	for k, v := range c.header_ {
24794		reqHeaders[k] = v
24795	}
24796	reqHeaders.Set("User-Agent", c.s.userAgent())
24797	var body io.Reader = nil
24798	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
24799	if err != nil {
24800		return nil, err
24801	}
24802	reqHeaders.Set("Content-Type", "application/json")
24803	c.urlParams_.Set("alt", alt)
24804	c.urlParams_.Set("prettyPrint", "false")
24805	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists")
24806	urls += "?" + c.urlParams_.Encode()
24807	req, err := http.NewRequest("POST", urls, body)
24808	if err != nil {
24809		return nil, err
24810	}
24811	req.Header = reqHeaders
24812	googleapi.Expand(req.URL, map[string]string{
24813		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
24814	})
24815	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24816}
24817
24818// Do executes the "displayvideo.advertisers.locationLists.create" call.
24819// Exactly one of *LocationList or error will be non-nil. Any non-2xx
24820// status code is an error. Response headers are in either
24821// *LocationList.ServerResponse.Header or (if a response was returned at
24822// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
24823// to check whether the returned error was because
24824// http.StatusNotModified was returned.
24825func (c *AdvertisersLocationListsCreateCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
24826	gensupport.SetOptions(c.urlParams_, opts...)
24827	res, err := c.doRequest("json")
24828	if res != nil && res.StatusCode == http.StatusNotModified {
24829		if res.Body != nil {
24830			res.Body.Close()
24831		}
24832		return nil, &googleapi.Error{
24833			Code:   res.StatusCode,
24834			Header: res.Header,
24835		}
24836	}
24837	if err != nil {
24838		return nil, err
24839	}
24840	defer googleapi.CloseBody(res)
24841	if err := googleapi.CheckResponse(res); err != nil {
24842		return nil, err
24843	}
24844	ret := &LocationList{
24845		ServerResponse: googleapi.ServerResponse{
24846			Header:         res.Header,
24847			HTTPStatusCode: res.StatusCode,
24848		},
24849	}
24850	target := &ret
24851	if err := gensupport.DecodeResponse(target, res); err != nil {
24852		return nil, err
24853	}
24854	return ret, nil
24855	// {
24856	//   "description": "Creates a new location list. Returns the newly created location list if successful.",
24857	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists",
24858	//   "httpMethod": "POST",
24859	//   "id": "displayvideo.advertisers.locationLists.create",
24860	//   "parameterOrder": [
24861	//     "advertiserId"
24862	//   ],
24863	//   "parameters": {
24864	//     "advertiserId": {
24865	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
24866	//       "format": "int64",
24867	//       "location": "path",
24868	//       "pattern": "^[^/]+$",
24869	//       "required": true,
24870	//       "type": "string"
24871	//     }
24872	//   },
24873	//   "path": "v1/advertisers/{+advertiserId}/locationLists",
24874	//   "request": {
24875	//     "$ref": "LocationList"
24876	//   },
24877	//   "response": {
24878	//     "$ref": "LocationList"
24879	//   },
24880	//   "scopes": [
24881	//     "https://www.googleapis.com/auth/display-video"
24882	//   ]
24883	// }
24884
24885}
24886
24887// method id "displayvideo.advertisers.locationLists.get":
24888
24889type AdvertisersLocationListsGetCall struct {
24890	s              *Service
24891	advertiserId   int64
24892	locationListId int64
24893	urlParams_     gensupport.URLParams
24894	ifNoneMatch_   string
24895	ctx_           context.Context
24896	header_        http.Header
24897}
24898
24899// Get: Gets a location list.
24900//
24901// - advertiserId: The ID of the DV360 advertiser to which the fetched
24902//   location list belongs.
24903// - locationListId: The ID of the location list to fetch.
24904func (r *AdvertisersLocationListsService) Get(advertiserId int64, locationListId int64) *AdvertisersLocationListsGetCall {
24905	c := &AdvertisersLocationListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24906	c.advertiserId = advertiserId
24907	c.locationListId = locationListId
24908	return c
24909}
24910
24911// Fields allows partial responses to be retrieved. See
24912// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24913// for more information.
24914func (c *AdvertisersLocationListsGetCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsGetCall {
24915	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24916	return c
24917}
24918
24919// IfNoneMatch sets the optional parameter which makes the operation
24920// fail if the object's ETag matches the given value. This is useful for
24921// getting updates only after the object has changed since the last
24922// request. Use googleapi.IsNotModified to check whether the response
24923// error from Do is the result of In-None-Match.
24924func (c *AdvertisersLocationListsGetCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsGetCall {
24925	c.ifNoneMatch_ = entityTag
24926	return c
24927}
24928
24929// Context sets the context to be used in this call's Do method. Any
24930// pending HTTP request will be aborted if the provided context is
24931// canceled.
24932func (c *AdvertisersLocationListsGetCall) Context(ctx context.Context) *AdvertisersLocationListsGetCall {
24933	c.ctx_ = ctx
24934	return c
24935}
24936
24937// Header returns an http.Header that can be modified by the caller to
24938// add HTTP headers to the request.
24939func (c *AdvertisersLocationListsGetCall) Header() http.Header {
24940	if c.header_ == nil {
24941		c.header_ = make(http.Header)
24942	}
24943	return c.header_
24944}
24945
24946func (c *AdvertisersLocationListsGetCall) doRequest(alt string) (*http.Response, error) {
24947	reqHeaders := make(http.Header)
24948	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
24949	for k, v := range c.header_ {
24950		reqHeaders[k] = v
24951	}
24952	reqHeaders.Set("User-Agent", c.s.userAgent())
24953	if c.ifNoneMatch_ != "" {
24954		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24955	}
24956	var body io.Reader = nil
24957	c.urlParams_.Set("alt", alt)
24958	c.urlParams_.Set("prettyPrint", "false")
24959	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists/{+locationListId}")
24960	urls += "?" + c.urlParams_.Encode()
24961	req, err := http.NewRequest("GET", urls, body)
24962	if err != nil {
24963		return nil, err
24964	}
24965	req.Header = reqHeaders
24966	googleapi.Expand(req.URL, map[string]string{
24967		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
24968		"locationListId": strconv.FormatInt(c.locationListId, 10),
24969	})
24970	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24971}
24972
24973// Do executes the "displayvideo.advertisers.locationLists.get" call.
24974// Exactly one of *LocationList or error will be non-nil. Any non-2xx
24975// status code is an error. Response headers are in either
24976// *LocationList.ServerResponse.Header or (if a response was returned at
24977// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
24978// to check whether the returned error was because
24979// http.StatusNotModified was returned.
24980func (c *AdvertisersLocationListsGetCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
24981	gensupport.SetOptions(c.urlParams_, opts...)
24982	res, err := c.doRequest("json")
24983	if res != nil && res.StatusCode == http.StatusNotModified {
24984		if res.Body != nil {
24985			res.Body.Close()
24986		}
24987		return nil, &googleapi.Error{
24988			Code:   res.StatusCode,
24989			Header: res.Header,
24990		}
24991	}
24992	if err != nil {
24993		return nil, err
24994	}
24995	defer googleapi.CloseBody(res)
24996	if err := googleapi.CheckResponse(res); err != nil {
24997		return nil, err
24998	}
24999	ret := &LocationList{
25000		ServerResponse: googleapi.ServerResponse{
25001			Header:         res.Header,
25002			HTTPStatusCode: res.StatusCode,
25003		},
25004	}
25005	target := &ret
25006	if err := gensupport.DecodeResponse(target, res); err != nil {
25007		return nil, err
25008	}
25009	return ret, nil
25010	// {
25011	//   "description": "Gets a location list.",
25012	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListsId}",
25013	//   "httpMethod": "GET",
25014	//   "id": "displayvideo.advertisers.locationLists.get",
25015	//   "parameterOrder": [
25016	//     "advertiserId",
25017	//     "locationListId"
25018	//   ],
25019	//   "parameters": {
25020	//     "advertiserId": {
25021	//       "description": "Required. The ID of the DV360 advertiser to which the fetched location list belongs.",
25022	//       "format": "int64",
25023	//       "location": "path",
25024	//       "pattern": "^[^/]+$",
25025	//       "required": true,
25026	//       "type": "string"
25027	//     },
25028	//     "locationListId": {
25029	//       "description": "Required. The ID of the location list to fetch.",
25030	//       "format": "int64",
25031	//       "location": "path",
25032	//       "pattern": "^[^/]+$",
25033	//       "required": true,
25034	//       "type": "string"
25035	//     }
25036	//   },
25037	//   "path": "v1/advertisers/{+advertiserId}/locationLists/{+locationListId}",
25038	//   "response": {
25039	//     "$ref": "LocationList"
25040	//   },
25041	//   "scopes": [
25042	//     "https://www.googleapis.com/auth/display-video"
25043	//   ]
25044	// }
25045
25046}
25047
25048// method id "displayvideo.advertisers.locationLists.list":
25049
25050type AdvertisersLocationListsListCall struct {
25051	s            *Service
25052	advertiserId int64
25053	urlParams_   gensupport.URLParams
25054	ifNoneMatch_ string
25055	ctx_         context.Context
25056	header_      http.Header
25057}
25058
25059// List: Lists location lists based on a given advertiser id.
25060//
25061// - advertiserId: The ID of the DV360 advertiser to which the fetched
25062//   location lists belong.
25063func (r *AdvertisersLocationListsService) List(advertiserId int64) *AdvertisersLocationListsListCall {
25064	c := &AdvertisersLocationListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25065	c.advertiserId = advertiserId
25066	return c
25067}
25068
25069// Filter sets the optional parameter "filter": Allows filtering by
25070// location list fields. Supported syntax: * Filter expressions are made
25071// up of one or more restrictions. * Restrictions can be combined by
25072// `AND` or `OR` logical operators. A sequence of restrictions
25073// implicitly uses `AND`. * A restriction has the form of `{field}
25074// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
25075// fields: - `locationType` Examples: * All regional location list:
25076// `locationType="TARGETING_LOCATION_TYPE_REGIONAL" * All proximity
25077// location list: `locationType="TARGETING_LOCATION_TYPE_PROXIMITY"
25078func (c *AdvertisersLocationListsListCall) Filter(filter string) *AdvertisersLocationListsListCall {
25079	c.urlParams_.Set("filter", filter)
25080	return c
25081}
25082
25083// OrderBy sets the optional parameter "orderBy": Field by which to sort
25084// the list. Acceptable values are: * `locationListId` (default) *
25085// `displayName` The default sorting order is ascending. To specify
25086// descending order for a field, a suffix "desc" should be added to the
25087// field name. Example: `displayName desc`.
25088func (c *AdvertisersLocationListsListCall) OrderBy(orderBy string) *AdvertisersLocationListsListCall {
25089	c.urlParams_.Set("orderBy", orderBy)
25090	return c
25091}
25092
25093// PageSize sets the optional parameter "pageSize": Requested page size.
25094// Must be between `1` and `100`. Defaults to `100` if not set. Returns
25095// error code `INVALID_ARGUMENT` if an invalid value is specified.
25096func (c *AdvertisersLocationListsListCall) PageSize(pageSize int64) *AdvertisersLocationListsListCall {
25097	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
25098	return c
25099}
25100
25101// PageToken sets the optional parameter "pageToken": A token
25102// identifying a page of results the server should return. Typically,
25103// this is the value of next_page_token returned from the previous call
25104// to `ListLocationLists` method. If not specified, the first page of
25105// results will be returned.
25106func (c *AdvertisersLocationListsListCall) PageToken(pageToken string) *AdvertisersLocationListsListCall {
25107	c.urlParams_.Set("pageToken", pageToken)
25108	return c
25109}
25110
25111// Fields allows partial responses to be retrieved. See
25112// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25113// for more information.
25114func (c *AdvertisersLocationListsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsListCall {
25115	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25116	return c
25117}
25118
25119// IfNoneMatch sets the optional parameter which makes the operation
25120// fail if the object's ETag matches the given value. This is useful for
25121// getting updates only after the object has changed since the last
25122// request. Use googleapi.IsNotModified to check whether the response
25123// error from Do is the result of In-None-Match.
25124func (c *AdvertisersLocationListsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsListCall {
25125	c.ifNoneMatch_ = entityTag
25126	return c
25127}
25128
25129// Context sets the context to be used in this call's Do method. Any
25130// pending HTTP request will be aborted if the provided context is
25131// canceled.
25132func (c *AdvertisersLocationListsListCall) Context(ctx context.Context) *AdvertisersLocationListsListCall {
25133	c.ctx_ = ctx
25134	return c
25135}
25136
25137// Header returns an http.Header that can be modified by the caller to
25138// add HTTP headers to the request.
25139func (c *AdvertisersLocationListsListCall) Header() http.Header {
25140	if c.header_ == nil {
25141		c.header_ = make(http.Header)
25142	}
25143	return c.header_
25144}
25145
25146func (c *AdvertisersLocationListsListCall) doRequest(alt string) (*http.Response, error) {
25147	reqHeaders := make(http.Header)
25148	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25149	for k, v := range c.header_ {
25150		reqHeaders[k] = v
25151	}
25152	reqHeaders.Set("User-Agent", c.s.userAgent())
25153	if c.ifNoneMatch_ != "" {
25154		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25155	}
25156	var body io.Reader = nil
25157	c.urlParams_.Set("alt", alt)
25158	c.urlParams_.Set("prettyPrint", "false")
25159	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists")
25160	urls += "?" + c.urlParams_.Encode()
25161	req, err := http.NewRequest("GET", urls, body)
25162	if err != nil {
25163		return nil, err
25164	}
25165	req.Header = reqHeaders
25166	googleapi.Expand(req.URL, map[string]string{
25167		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
25168	})
25169	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25170}
25171
25172// Do executes the "displayvideo.advertisers.locationLists.list" call.
25173// Exactly one of *ListLocationListsResponse or error will be non-nil.
25174// Any non-2xx status code is an error. Response headers are in either
25175// *ListLocationListsResponse.ServerResponse.Header or (if a response
25176// was returned at all) in error.(*googleapi.Error).Header. Use
25177// googleapi.IsNotModified to check whether the returned error was
25178// because http.StatusNotModified was returned.
25179func (c *AdvertisersLocationListsListCall) Do(opts ...googleapi.CallOption) (*ListLocationListsResponse, error) {
25180	gensupport.SetOptions(c.urlParams_, opts...)
25181	res, err := c.doRequest("json")
25182	if res != nil && res.StatusCode == http.StatusNotModified {
25183		if res.Body != nil {
25184			res.Body.Close()
25185		}
25186		return nil, &googleapi.Error{
25187			Code:   res.StatusCode,
25188			Header: res.Header,
25189		}
25190	}
25191	if err != nil {
25192		return nil, err
25193	}
25194	defer googleapi.CloseBody(res)
25195	if err := googleapi.CheckResponse(res); err != nil {
25196		return nil, err
25197	}
25198	ret := &ListLocationListsResponse{
25199		ServerResponse: googleapi.ServerResponse{
25200			Header:         res.Header,
25201			HTTPStatusCode: res.StatusCode,
25202		},
25203	}
25204	target := &ret
25205	if err := gensupport.DecodeResponse(target, res); err != nil {
25206		return nil, err
25207	}
25208	return ret, nil
25209	// {
25210	//   "description": "Lists location lists based on a given advertiser id.",
25211	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists",
25212	//   "httpMethod": "GET",
25213	//   "id": "displayvideo.advertisers.locationLists.list",
25214	//   "parameterOrder": [
25215	//     "advertiserId"
25216	//   ],
25217	//   "parameters": {
25218	//     "advertiserId": {
25219	//       "description": "Required. The ID of the DV360 advertiser to which the fetched location lists belong.",
25220	//       "format": "int64",
25221	//       "location": "path",
25222	//       "pattern": "^[^/]+$",
25223	//       "required": true,
25224	//       "type": "string"
25225	//     },
25226	//     "filter": {
25227	//       "description": "Allows filtering by location list fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `locationType` Examples: * All regional location list: `locationType=\"TARGETING_LOCATION_TYPE_REGIONAL\"` * All proximity location list: `locationType=\"TARGETING_LOCATION_TYPE_PROXIMITY\"`",
25228	//       "location": "query",
25229	//       "type": "string"
25230	//     },
25231	//     "orderBy": {
25232	//       "description": "Field by which to sort the list. Acceptable values are: * `locationListId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
25233	//       "location": "query",
25234	//       "type": "string"
25235	//     },
25236	//     "pageSize": {
25237	//       "description": "Requested page size. Must be between `1` and `100`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
25238	//       "format": "int32",
25239	//       "location": "query",
25240	//       "type": "integer"
25241	//     },
25242	//     "pageToken": {
25243	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLocationLists` method. If not specified, the first page of results will be returned.",
25244	//       "location": "query",
25245	//       "type": "string"
25246	//     }
25247	//   },
25248	//   "path": "v1/advertisers/{+advertiserId}/locationLists",
25249	//   "response": {
25250	//     "$ref": "ListLocationListsResponse"
25251	//   },
25252	//   "scopes": [
25253	//     "https://www.googleapis.com/auth/display-video"
25254	//   ]
25255	// }
25256
25257}
25258
25259// Pages invokes f for each page of results.
25260// A non-nil error returned from f will halt the iteration.
25261// The provided context supersedes any context provided to the Context method.
25262func (c *AdvertisersLocationListsListCall) Pages(ctx context.Context, f func(*ListLocationListsResponse) error) error {
25263	c.ctx_ = ctx
25264	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25265	for {
25266		x, err := c.Do()
25267		if err != nil {
25268			return err
25269		}
25270		if err := f(x); err != nil {
25271			return err
25272		}
25273		if x.NextPageToken == "" {
25274			return nil
25275		}
25276		c.PageToken(x.NextPageToken)
25277	}
25278}
25279
25280// method id "displayvideo.advertisers.locationLists.patch":
25281
25282type AdvertisersLocationListsPatchCall struct {
25283	s              *Service
25284	advertiserId   int64
25285	locationListId int64
25286	locationlist   *LocationList
25287	urlParams_     gensupport.URLParams
25288	ctx_           context.Context
25289	header_        http.Header
25290}
25291
25292// Patch: Updates a location list. Returns the updated location list if
25293// successful.
25294//
25295// - advertiserId: The ID of the DV360 advertiser to which the location
25296//   lists belongs.
25297// - locationListId: Output only. The unique ID of the location list.
25298//   Assigned by the system.
25299func (r *AdvertisersLocationListsService) Patch(advertiserId int64, locationListId int64, locationlist *LocationList) *AdvertisersLocationListsPatchCall {
25300	c := &AdvertisersLocationListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25301	c.advertiserId = advertiserId
25302	c.locationListId = locationListId
25303	c.locationlist = locationlist
25304	return c
25305}
25306
25307// UpdateMask sets the optional parameter "updateMask": Required. The
25308// mask to control which fields to update.
25309func (c *AdvertisersLocationListsPatchCall) UpdateMask(updateMask string) *AdvertisersLocationListsPatchCall {
25310	c.urlParams_.Set("updateMask", updateMask)
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 *AdvertisersLocationListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsPatchCall {
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 *AdvertisersLocationListsPatchCall) Context(ctx context.Context) *AdvertisersLocationListsPatchCall {
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 *AdvertisersLocationListsPatchCall) Header() http.Header {
25333	if c.header_ == nil {
25334		c.header_ = make(http.Header)
25335	}
25336	return c.header_
25337}
25338
25339func (c *AdvertisersLocationListsPatchCall) doRequest(alt string) (*http.Response, error) {
25340	reqHeaders := make(http.Header)
25341	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
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.locationlist)
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, "v1/advertisers/{+advertiserId}/locationLists/{locationListId}")
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		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
25363		"locationListId": strconv.FormatInt(c.locationListId, 10),
25364	})
25365	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25366}
25367
25368// Do executes the "displayvideo.advertisers.locationLists.patch" call.
25369// Exactly one of *LocationList or error will be non-nil. Any non-2xx
25370// status code is an error. Response headers are in either
25371// *LocationList.ServerResponse.Header or (if a response was returned at
25372// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
25373// to check whether the returned error was because
25374// http.StatusNotModified was returned.
25375func (c *AdvertisersLocationListsPatchCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
25376	gensupport.SetOptions(c.urlParams_, opts...)
25377	res, err := c.doRequest("json")
25378	if res != nil && res.StatusCode == http.StatusNotModified {
25379		if res.Body != nil {
25380			res.Body.Close()
25381		}
25382		return nil, &googleapi.Error{
25383			Code:   res.StatusCode,
25384			Header: res.Header,
25385		}
25386	}
25387	if err != nil {
25388		return nil, err
25389	}
25390	defer googleapi.CloseBody(res)
25391	if err := googleapi.CheckResponse(res); err != nil {
25392		return nil, err
25393	}
25394	ret := &LocationList{
25395		ServerResponse: googleapi.ServerResponse{
25396			Header:         res.Header,
25397			HTTPStatusCode: res.StatusCode,
25398		},
25399	}
25400	target := &ret
25401	if err := gensupport.DecodeResponse(target, res); err != nil {
25402		return nil, err
25403	}
25404	return ret, nil
25405	// {
25406	//   "description": "Updates a location list. Returns the updated location list if successful.",
25407	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListId}",
25408	//   "httpMethod": "PATCH",
25409	//   "id": "displayvideo.advertisers.locationLists.patch",
25410	//   "parameterOrder": [
25411	//     "advertiserId",
25412	//     "locationListId"
25413	//   ],
25414	//   "parameters": {
25415	//     "advertiserId": {
25416	//       "description": "Required. The ID of the DV360 advertiser to which the location lists belongs.",
25417	//       "format": "int64",
25418	//       "location": "path",
25419	//       "pattern": "^[^/]+$",
25420	//       "required": true,
25421	//       "type": "string"
25422	//     },
25423	//     "locationListId": {
25424	//       "description": "Output only. The unique ID of the location list. Assigned by the system.",
25425	//       "format": "int64",
25426	//       "location": "path",
25427	//       "required": true,
25428	//       "type": "string"
25429	//     },
25430	//     "updateMask": {
25431	//       "description": "Required. The mask to control which fields to update.",
25432	//       "format": "google-fieldmask",
25433	//       "location": "query",
25434	//       "type": "string"
25435	//     }
25436	//   },
25437	//   "path": "v1/advertisers/{+advertiserId}/locationLists/{locationListId}",
25438	//   "request": {
25439	//     "$ref": "LocationList"
25440	//   },
25441	//   "response": {
25442	//     "$ref": "LocationList"
25443	//   },
25444	//   "scopes": [
25445	//     "https://www.googleapis.com/auth/display-video"
25446	//   ]
25447	// }
25448
25449}
25450
25451// method id "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit":
25452
25453type AdvertisersLocationListsAssignedLocationsBulkEditCall struct {
25454	s                                *Service
25455	advertiserId                     int64
25456	locationListId                   int64
25457	bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest
25458	urlParams_                       gensupport.URLParams
25459	ctx_                             context.Context
25460	header_                          http.Header
25461}
25462
25463// BulkEdit: Bulk edits multiple assignments between locations and a
25464// single location list. The operation will delete the assigned
25465// locations provided in
25466// BulkEditAssignedLocationsRequest.deleted_assigned_locations and then
25467// create the assigned locations provided in
25468// BulkEditAssignedLocationsRequest.created_assigned_locations.
25469//
25470// - advertiserId: The ID of the DV360 advertiser to which the location
25471//   list belongs.
25472// - locationListId: The ID of the location list to which these
25473//   assignments are assigned.
25474func (r *AdvertisersLocationListsAssignedLocationsService) BulkEdit(advertiserId int64, locationListId int64, bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
25475	c := &AdvertisersLocationListsAssignedLocationsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25476	c.advertiserId = advertiserId
25477	c.locationListId = locationListId
25478	c.bulkeditassignedlocationsrequest = bulkeditassignedlocationsrequest
25479	return c
25480}
25481
25482// Fields allows partial responses to be retrieved. See
25483// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25484// for more information.
25485func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
25486	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25487	return c
25488}
25489
25490// Context sets the context to be used in this call's Do method. Any
25491// pending HTTP request will be aborted if the provided context is
25492// canceled.
25493func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
25494	c.ctx_ = ctx
25495	return c
25496}
25497
25498// Header returns an http.Header that can be modified by the caller to
25499// add HTTP headers to the request.
25500func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Header() http.Header {
25501	if c.header_ == nil {
25502		c.header_ = make(http.Header)
25503	}
25504	return c.header_
25505}
25506
25507func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) doRequest(alt string) (*http.Response, error) {
25508	reqHeaders := make(http.Header)
25509	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25510	for k, v := range c.header_ {
25511		reqHeaders[k] = v
25512	}
25513	reqHeaders.Set("User-Agent", c.s.userAgent())
25514	var body io.Reader = nil
25515	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedlocationsrequest)
25516	if err != nil {
25517		return nil, err
25518	}
25519	reqHeaders.Set("Content-Type", "application/json")
25520	c.urlParams_.Set("alt", alt)
25521	c.urlParams_.Set("prettyPrint", "false")
25522	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit")
25523	urls += "?" + c.urlParams_.Encode()
25524	req, err := http.NewRequest("POST", urls, body)
25525	if err != nil {
25526		return nil, err
25527	}
25528	req.Header = reqHeaders
25529	googleapi.Expand(req.URL, map[string]string{
25530		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
25531		"locationListId": strconv.FormatInt(c.locationListId, 10),
25532	})
25533	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25534}
25535
25536// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit" call.
25537// Exactly one of *BulkEditAssignedLocationsResponse or error will be
25538// non-nil. Any non-2xx status code is an error. Response headers are in
25539// either *BulkEditAssignedLocationsResponse.ServerResponse.Header or
25540// (if a response was returned at all) in
25541// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25542// whether the returned error was because http.StatusNotModified was
25543// returned.
25544func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedLocationsResponse, error) {
25545	gensupport.SetOptions(c.urlParams_, opts...)
25546	res, err := c.doRequest("json")
25547	if res != nil && res.StatusCode == http.StatusNotModified {
25548		if res.Body != nil {
25549			res.Body.Close()
25550		}
25551		return nil, &googleapi.Error{
25552			Code:   res.StatusCode,
25553			Header: res.Header,
25554		}
25555	}
25556	if err != nil {
25557		return nil, err
25558	}
25559	defer googleapi.CloseBody(res)
25560	if err := googleapi.CheckResponse(res); err != nil {
25561		return nil, err
25562	}
25563	ret := &BulkEditAssignedLocationsResponse{
25564		ServerResponse: googleapi.ServerResponse{
25565			Header:         res.Header,
25566			HTTPStatusCode: res.StatusCode,
25567		},
25568	}
25569	target := &ret
25570	if err := gensupport.DecodeResponse(target, res); err != nil {
25571		return nil, err
25572	}
25573	return ret, nil
25574	// {
25575	//   "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in BulkEditAssignedLocationsRequest.deleted_assigned_locations and then create the assigned locations provided in BulkEditAssignedLocationsRequest.created_assigned_locations.",
25576	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit",
25577	//   "httpMethod": "POST",
25578	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit",
25579	//   "parameterOrder": [
25580	//     "advertiserId",
25581	//     "locationListId"
25582	//   ],
25583	//   "parameters": {
25584	//     "advertiserId": {
25585	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
25586	//       "format": "int64",
25587	//       "location": "path",
25588	//       "required": true,
25589	//       "type": "string"
25590	//     },
25591	//     "locationListId": {
25592	//       "description": "Required. The ID of the location list to which these assignments are assigned.",
25593	//       "format": "int64",
25594	//       "location": "path",
25595	//       "pattern": "^[^/]+$",
25596	//       "required": true,
25597	//       "type": "string"
25598	//     }
25599	//   },
25600	//   "path": "v1/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit",
25601	//   "request": {
25602	//     "$ref": "BulkEditAssignedLocationsRequest"
25603	//   },
25604	//   "response": {
25605	//     "$ref": "BulkEditAssignedLocationsResponse"
25606	//   },
25607	//   "scopes": [
25608	//     "https://www.googleapis.com/auth/display-video"
25609	//   ]
25610	// }
25611
25612}
25613
25614// method id "displayvideo.advertisers.locationLists.assignedLocations.create":
25615
25616type AdvertisersLocationListsAssignedLocationsCreateCall struct {
25617	s                *Service
25618	advertiserId     int64
25619	locationListId   int64
25620	assignedlocation *AssignedLocation
25621	urlParams_       gensupport.URLParams
25622	ctx_             context.Context
25623	header_          http.Header
25624}
25625
25626// Create: Creates an assignment between a location and a location list.
25627//
25628// - advertiserId: The ID of the DV360 advertiser to which the location
25629//   list belongs.
25630// - locationListId: The ID of the location list for which the
25631//   assignment will be created.
25632func (r *AdvertisersLocationListsAssignedLocationsService) Create(advertiserId int64, locationListId int64, assignedlocation *AssignedLocation) *AdvertisersLocationListsAssignedLocationsCreateCall {
25633	c := &AdvertisersLocationListsAssignedLocationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25634	c.advertiserId = advertiserId
25635	c.locationListId = locationListId
25636	c.assignedlocation = assignedlocation
25637	return c
25638}
25639
25640// Fields allows partial responses to be retrieved. See
25641// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25642// for more information.
25643func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsCreateCall {
25644	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25645	return c
25646}
25647
25648// Context sets the context to be used in this call's Do method. Any
25649// pending HTTP request will be aborted if the provided context is
25650// canceled.
25651func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsCreateCall {
25652	c.ctx_ = ctx
25653	return c
25654}
25655
25656// Header returns an http.Header that can be modified by the caller to
25657// add HTTP headers to the request.
25658func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Header() http.Header {
25659	if c.header_ == nil {
25660		c.header_ = make(http.Header)
25661	}
25662	return c.header_
25663}
25664
25665func (c *AdvertisersLocationListsAssignedLocationsCreateCall) doRequest(alt string) (*http.Response, error) {
25666	reqHeaders := make(http.Header)
25667	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25668	for k, v := range c.header_ {
25669		reqHeaders[k] = v
25670	}
25671	reqHeaders.Set("User-Agent", c.s.userAgent())
25672	var body io.Reader = nil
25673	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedlocation)
25674	if err != nil {
25675		return nil, err
25676	}
25677	reqHeaders.Set("Content-Type", "application/json")
25678	c.urlParams_.Set("alt", alt)
25679	c.urlParams_.Set("prettyPrint", "false")
25680	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
25681	urls += "?" + c.urlParams_.Encode()
25682	req, err := http.NewRequest("POST", urls, body)
25683	if err != nil {
25684		return nil, err
25685	}
25686	req.Header = reqHeaders
25687	googleapi.Expand(req.URL, map[string]string{
25688		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
25689		"locationListId": strconv.FormatInt(c.locationListId, 10),
25690	})
25691	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25692}
25693
25694// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.create" call.
25695// Exactly one of *AssignedLocation or error will be non-nil. Any
25696// non-2xx status code is an error. Response headers are in either
25697// *AssignedLocation.ServerResponse.Header or (if a response was
25698// returned at all) in error.(*googleapi.Error).Header. Use
25699// googleapi.IsNotModified to check whether the returned error was
25700// because http.StatusNotModified was returned.
25701func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedLocation, error) {
25702	gensupport.SetOptions(c.urlParams_, opts...)
25703	res, err := c.doRequest("json")
25704	if res != nil && res.StatusCode == http.StatusNotModified {
25705		if res.Body != nil {
25706			res.Body.Close()
25707		}
25708		return nil, &googleapi.Error{
25709			Code:   res.StatusCode,
25710			Header: res.Header,
25711		}
25712	}
25713	if err != nil {
25714		return nil, err
25715	}
25716	defer googleapi.CloseBody(res)
25717	if err := googleapi.CheckResponse(res); err != nil {
25718		return nil, err
25719	}
25720	ret := &AssignedLocation{
25721		ServerResponse: googleapi.ServerResponse{
25722			Header:         res.Header,
25723			HTTPStatusCode: res.StatusCode,
25724		},
25725	}
25726	target := &ret
25727	if err := gensupport.DecodeResponse(target, res); err != nil {
25728		return nil, err
25729	}
25730	return ret, nil
25731	// {
25732	//   "description": "Creates an assignment between a location and a location list.",
25733	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
25734	//   "httpMethod": "POST",
25735	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.create",
25736	//   "parameterOrder": [
25737	//     "advertiserId",
25738	//     "locationListId"
25739	//   ],
25740	//   "parameters": {
25741	//     "advertiserId": {
25742	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
25743	//       "format": "int64",
25744	//       "location": "path",
25745	//       "required": true,
25746	//       "type": "string"
25747	//     },
25748	//     "locationListId": {
25749	//       "description": "Required. The ID of the location list for which the assignment will be created.",
25750	//       "format": "int64",
25751	//       "location": "path",
25752	//       "required": true,
25753	//       "type": "string"
25754	//     }
25755	//   },
25756	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
25757	//   "request": {
25758	//     "$ref": "AssignedLocation"
25759	//   },
25760	//   "response": {
25761	//     "$ref": "AssignedLocation"
25762	//   },
25763	//   "scopes": [
25764	//     "https://www.googleapis.com/auth/display-video"
25765	//   ]
25766	// }
25767
25768}
25769
25770// method id "displayvideo.advertisers.locationLists.assignedLocations.delete":
25771
25772type AdvertisersLocationListsAssignedLocationsDeleteCall struct {
25773	s                  *Service
25774	advertiserId       int64
25775	locationListId     int64
25776	assignedLocationId int64
25777	urlParams_         gensupport.URLParams
25778	ctx_               context.Context
25779	header_            http.Header
25780}
25781
25782// Delete: Deletes the assignment between a location and a location
25783// list.
25784//
25785// - advertiserId: The ID of the DV360 advertiser to which the location
25786//   list belongs.
25787// - assignedLocationId: The ID of the assigned location to delete.
25788// - locationListId: The ID of the location list to which this
25789//   assignment is assigned.
25790func (r *AdvertisersLocationListsAssignedLocationsService) Delete(advertiserId int64, locationListId int64, assignedLocationId int64) *AdvertisersLocationListsAssignedLocationsDeleteCall {
25791	c := &AdvertisersLocationListsAssignedLocationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25792	c.advertiserId = advertiserId
25793	c.locationListId = locationListId
25794	c.assignedLocationId = assignedLocationId
25795	return c
25796}
25797
25798// Fields allows partial responses to be retrieved. See
25799// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25800// for more information.
25801func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsDeleteCall {
25802	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25803	return c
25804}
25805
25806// Context sets the context to be used in this call's Do method. Any
25807// pending HTTP request will be aborted if the provided context is
25808// canceled.
25809func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsDeleteCall {
25810	c.ctx_ = ctx
25811	return c
25812}
25813
25814// Header returns an http.Header that can be modified by the caller to
25815// add HTTP headers to the request.
25816func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Header() http.Header {
25817	if c.header_ == nil {
25818		c.header_ = make(http.Header)
25819	}
25820	return c.header_
25821}
25822
25823func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) doRequest(alt string) (*http.Response, error) {
25824	reqHeaders := make(http.Header)
25825	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
25826	for k, v := range c.header_ {
25827		reqHeaders[k] = v
25828	}
25829	reqHeaders.Set("User-Agent", c.s.userAgent())
25830	var body io.Reader = nil
25831	c.urlParams_.Set("alt", alt)
25832	c.urlParams_.Set("prettyPrint", "false")
25833	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}")
25834	urls += "?" + c.urlParams_.Encode()
25835	req, err := http.NewRequest("DELETE", urls, body)
25836	if err != nil {
25837		return nil, err
25838	}
25839	req.Header = reqHeaders
25840	googleapi.Expand(req.URL, map[string]string{
25841		"advertiserId":       strconv.FormatInt(c.advertiserId, 10),
25842		"locationListId":     strconv.FormatInt(c.locationListId, 10),
25843		"assignedLocationId": strconv.FormatInt(c.assignedLocationId, 10),
25844	})
25845	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25846}
25847
25848// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.delete" call.
25849// Exactly one of *Empty or error will be non-nil. Any non-2xx status
25850// code is an error. Response headers are in either
25851// *Empty.ServerResponse.Header or (if a response was returned at all)
25852// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
25853// check whether the returned error was because http.StatusNotModified
25854// was returned.
25855func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
25856	gensupport.SetOptions(c.urlParams_, opts...)
25857	res, err := c.doRequest("json")
25858	if res != nil && res.StatusCode == http.StatusNotModified {
25859		if res.Body != nil {
25860			res.Body.Close()
25861		}
25862		return nil, &googleapi.Error{
25863			Code:   res.StatusCode,
25864			Header: res.Header,
25865		}
25866	}
25867	if err != nil {
25868		return nil, err
25869	}
25870	defer googleapi.CloseBody(res)
25871	if err := googleapi.CheckResponse(res); err != nil {
25872		return nil, err
25873	}
25874	ret := &Empty{
25875		ServerResponse: googleapi.ServerResponse{
25876			Header:         res.Header,
25877			HTTPStatusCode: res.StatusCode,
25878		},
25879	}
25880	target := &ret
25881	if err := gensupport.DecodeResponse(target, res); err != nil {
25882		return nil, err
25883	}
25884	return ret, nil
25885	// {
25886	//   "description": "Deletes the assignment between a location and a location list.",
25887	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId}",
25888	//   "httpMethod": "DELETE",
25889	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.delete",
25890	//   "parameterOrder": [
25891	//     "advertiserId",
25892	//     "locationListId",
25893	//     "assignedLocationId"
25894	//   ],
25895	//   "parameters": {
25896	//     "advertiserId": {
25897	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
25898	//       "format": "int64",
25899	//       "location": "path",
25900	//       "required": true,
25901	//       "type": "string"
25902	//     },
25903	//     "assignedLocationId": {
25904	//       "description": "Required. The ID of the assigned location to delete.",
25905	//       "format": "int64",
25906	//       "location": "path",
25907	//       "pattern": "^[^/]+$",
25908	//       "required": true,
25909	//       "type": "string"
25910	//     },
25911	//     "locationListId": {
25912	//       "description": "Required. The ID of the location list to which this assignment is assigned.",
25913	//       "format": "int64",
25914	//       "location": "path",
25915	//       "required": true,
25916	//       "type": "string"
25917	//     }
25918	//   },
25919	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}",
25920	//   "response": {
25921	//     "$ref": "Empty"
25922	//   },
25923	//   "scopes": [
25924	//     "https://www.googleapis.com/auth/display-video"
25925	//   ]
25926	// }
25927
25928}
25929
25930// method id "displayvideo.advertisers.locationLists.assignedLocations.list":
25931
25932type AdvertisersLocationListsAssignedLocationsListCall struct {
25933	s              *Service
25934	advertiserId   int64
25935	locationListId int64
25936	urlParams_     gensupport.URLParams
25937	ifNoneMatch_   string
25938	ctx_           context.Context
25939	header_        http.Header
25940}
25941
25942// List: Lists locations assigned to a location list.
25943//
25944// - advertiserId: The ID of the DV360 advertiser to which the location
25945//   list belongs.
25946// - locationListId: The ID of the location list to which these
25947//   assignments are assigned.
25948func (r *AdvertisersLocationListsAssignedLocationsService) List(advertiserId int64, locationListId int64) *AdvertisersLocationListsAssignedLocationsListCall {
25949	c := &AdvertisersLocationListsAssignedLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25950	c.advertiserId = advertiserId
25951	c.locationListId = locationListId
25952	return c
25953}
25954
25955// Filter sets the optional parameter "filter": Allows filtering by
25956// location list assignment fields. Supported syntax: * Filter
25957// expressions are made up of one or more restrictions. * Restrictions
25958// can be combined by the logical operator `OR`. * A restriction has the
25959// form of `{field} {operator} {value}`. * The operator must be `EQUALS
25960// (=)`. * Supported fields: - `assignedLocationId` The length of this
25961// field should be no more than 500 characters.
25962func (c *AdvertisersLocationListsAssignedLocationsListCall) Filter(filter string) *AdvertisersLocationListsAssignedLocationsListCall {
25963	c.urlParams_.Set("filter", filter)
25964	return c
25965}
25966
25967// OrderBy sets the optional parameter "orderBy": Field by which to sort
25968// the list. Acceptable values are: * `assignedLocationId` (default) The
25969// default sorting order is ascending. To specify descending order for a
25970// field, a suffix " desc" should be added to the field name. Example:
25971// `assignedLocationId desc`.
25972func (c *AdvertisersLocationListsAssignedLocationsListCall) OrderBy(orderBy string) *AdvertisersLocationListsAssignedLocationsListCall {
25973	c.urlParams_.Set("orderBy", orderBy)
25974	return c
25975}
25976
25977// PageSize sets the optional parameter "pageSize": Requested page size.
25978// Must be between `1` and `100`. If unspecified will default to `100`.
25979// Returns error code `INVALID_ARGUMENT` if an invalid value is
25980// specified.
25981func (c *AdvertisersLocationListsAssignedLocationsListCall) PageSize(pageSize int64) *AdvertisersLocationListsAssignedLocationsListCall {
25982	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
25983	return c
25984}
25985
25986// PageToken sets the optional parameter "pageToken": A token
25987// identifying a page of results the server should return. Typically,
25988// this is the value of next_page_token returned from the previous call
25989// to `ListAssignedLocations` method. If not specified, the first page
25990// of results will be returned.
25991func (c *AdvertisersLocationListsAssignedLocationsListCall) PageToken(pageToken string) *AdvertisersLocationListsAssignedLocationsListCall {
25992	c.urlParams_.Set("pageToken", pageToken)
25993	return c
25994}
25995
25996// Fields allows partial responses to be retrieved. See
25997// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25998// for more information.
25999func (c *AdvertisersLocationListsAssignedLocationsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsListCall {
26000	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26001	return c
26002}
26003
26004// IfNoneMatch sets the optional parameter which makes the operation
26005// fail if the object's ETag matches the given value. This is useful for
26006// getting updates only after the object has changed since the last
26007// request. Use googleapi.IsNotModified to check whether the response
26008// error from Do is the result of In-None-Match.
26009func (c *AdvertisersLocationListsAssignedLocationsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsAssignedLocationsListCall {
26010	c.ifNoneMatch_ = entityTag
26011	return c
26012}
26013
26014// Context sets the context to be used in this call's Do method. Any
26015// pending HTTP request will be aborted if the provided context is
26016// canceled.
26017func (c *AdvertisersLocationListsAssignedLocationsListCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsListCall {
26018	c.ctx_ = ctx
26019	return c
26020}
26021
26022// Header returns an http.Header that can be modified by the caller to
26023// add HTTP headers to the request.
26024func (c *AdvertisersLocationListsAssignedLocationsListCall) Header() http.Header {
26025	if c.header_ == nil {
26026		c.header_ = make(http.Header)
26027	}
26028	return c.header_
26029}
26030
26031func (c *AdvertisersLocationListsAssignedLocationsListCall) doRequest(alt string) (*http.Response, error) {
26032	reqHeaders := make(http.Header)
26033	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26034	for k, v := range c.header_ {
26035		reqHeaders[k] = v
26036	}
26037	reqHeaders.Set("User-Agent", c.s.userAgent())
26038	if c.ifNoneMatch_ != "" {
26039		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26040	}
26041	var body io.Reader = nil
26042	c.urlParams_.Set("alt", alt)
26043	c.urlParams_.Set("prettyPrint", "false")
26044	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
26045	urls += "?" + c.urlParams_.Encode()
26046	req, err := http.NewRequest("GET", urls, body)
26047	if err != nil {
26048		return nil, err
26049	}
26050	req.Header = reqHeaders
26051	googleapi.Expand(req.URL, map[string]string{
26052		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
26053		"locationListId": strconv.FormatInt(c.locationListId, 10),
26054	})
26055	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26056}
26057
26058// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.list" call.
26059// Exactly one of *ListAssignedLocationsResponse or error will be
26060// non-nil. Any non-2xx status code is an error. Response headers are in
26061// either *ListAssignedLocationsResponse.ServerResponse.Header or (if a
26062// response was returned at all) in error.(*googleapi.Error).Header. Use
26063// googleapi.IsNotModified to check whether the returned error was
26064// because http.StatusNotModified was returned.
26065func (c *AdvertisersLocationListsAssignedLocationsListCall) Do(opts ...googleapi.CallOption) (*ListAssignedLocationsResponse, error) {
26066	gensupport.SetOptions(c.urlParams_, opts...)
26067	res, err := c.doRequest("json")
26068	if res != nil && res.StatusCode == http.StatusNotModified {
26069		if res.Body != nil {
26070			res.Body.Close()
26071		}
26072		return nil, &googleapi.Error{
26073			Code:   res.StatusCode,
26074			Header: res.Header,
26075		}
26076	}
26077	if err != nil {
26078		return nil, err
26079	}
26080	defer googleapi.CloseBody(res)
26081	if err := googleapi.CheckResponse(res); err != nil {
26082		return nil, err
26083	}
26084	ret := &ListAssignedLocationsResponse{
26085		ServerResponse: googleapi.ServerResponse{
26086			Header:         res.Header,
26087			HTTPStatusCode: res.StatusCode,
26088		},
26089	}
26090	target := &ret
26091	if err := gensupport.DecodeResponse(target, res); err != nil {
26092		return nil, err
26093	}
26094	return ret, nil
26095	// {
26096	//   "description": "Lists locations assigned to a location list.",
26097	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
26098	//   "httpMethod": "GET",
26099	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.list",
26100	//   "parameterOrder": [
26101	//     "advertiserId",
26102	//     "locationListId"
26103	//   ],
26104	//   "parameters": {
26105	//     "advertiserId": {
26106	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
26107	//       "format": "int64",
26108	//       "location": "path",
26109	//       "required": true,
26110	//       "type": "string"
26111	//     },
26112	//     "filter": {
26113	//       "description": "Allows filtering by location list assignment fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedLocationId` The length of this field should be no more than 500 characters.",
26114	//       "location": "query",
26115	//       "type": "string"
26116	//     },
26117	//     "locationListId": {
26118	//       "description": "Required. The ID of the location list to which these assignments are assigned.",
26119	//       "format": "int64",
26120	//       "location": "path",
26121	//       "required": true,
26122	//       "type": "string"
26123	//     },
26124	//     "orderBy": {
26125	//       "description": "Field by which to sort the list. Acceptable values are: * `assignedLocationId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `assignedLocationId desc`.",
26126	//       "location": "query",
26127	//       "type": "string"
26128	//     },
26129	//     "pageSize": {
26130	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
26131	//       "format": "int32",
26132	//       "location": "query",
26133	//       "type": "integer"
26134	//     },
26135	//     "pageToken": {
26136	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAssignedLocations` method. If not specified, the first page of results will be returned.",
26137	//       "location": "query",
26138	//       "type": "string"
26139	//     }
26140	//   },
26141	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
26142	//   "response": {
26143	//     "$ref": "ListAssignedLocationsResponse"
26144	//   },
26145	//   "scopes": [
26146	//     "https://www.googleapis.com/auth/display-video"
26147	//   ]
26148	// }
26149
26150}
26151
26152// Pages invokes f for each page of results.
26153// A non-nil error returned from f will halt the iteration.
26154// The provided context supersedes any context provided to the Context method.
26155func (c *AdvertisersLocationListsAssignedLocationsListCall) Pages(ctx context.Context, f func(*ListAssignedLocationsResponse) error) error {
26156	c.ctx_ = ctx
26157	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26158	for {
26159		x, err := c.Do()
26160		if err != nil {
26161			return err
26162		}
26163		if err := f(x); err != nil {
26164			return err
26165		}
26166		if x.NextPageToken == "" {
26167			return nil
26168		}
26169		c.PageToken(x.NextPageToken)
26170	}
26171}
26172
26173// method id "displayvideo.advertisers.manualTriggers.activate":
26174
26175type AdvertisersManualTriggersActivateCall struct {
26176	s                            *Service
26177	advertiserId                 int64
26178	triggerId                    int64
26179	activatemanualtriggerrequest *ActivateManualTriggerRequest
26180	urlParams_                   gensupport.URLParams
26181	ctx_                         context.Context
26182	header_                      http.Header
26183}
26184
26185// Activate: Activates a manual trigger. Each activation of the manual
26186// trigger must be at least 5 minutes apart, otherwise an error will be
26187// returned.
26188//
26189// - advertiserId: The ID of the advertiser that the manual trigger
26190//   belongs.
26191// - triggerId: The ID of the manual trigger to activate.
26192func (r *AdvertisersManualTriggersService) Activate(advertiserId int64, triggerId int64, activatemanualtriggerrequest *ActivateManualTriggerRequest) *AdvertisersManualTriggersActivateCall {
26193	c := &AdvertisersManualTriggersActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26194	c.advertiserId = advertiserId
26195	c.triggerId = triggerId
26196	c.activatemanualtriggerrequest = activatemanualtriggerrequest
26197	return c
26198}
26199
26200// Fields allows partial responses to be retrieved. See
26201// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26202// for more information.
26203func (c *AdvertisersManualTriggersActivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersActivateCall {
26204	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26205	return c
26206}
26207
26208// Context sets the context to be used in this call's Do method. Any
26209// pending HTTP request will be aborted if the provided context is
26210// canceled.
26211func (c *AdvertisersManualTriggersActivateCall) Context(ctx context.Context) *AdvertisersManualTriggersActivateCall {
26212	c.ctx_ = ctx
26213	return c
26214}
26215
26216// Header returns an http.Header that can be modified by the caller to
26217// add HTTP headers to the request.
26218func (c *AdvertisersManualTriggersActivateCall) Header() http.Header {
26219	if c.header_ == nil {
26220		c.header_ = make(http.Header)
26221	}
26222	return c.header_
26223}
26224
26225func (c *AdvertisersManualTriggersActivateCall) doRequest(alt string) (*http.Response, error) {
26226	reqHeaders := make(http.Header)
26227	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26228	for k, v := range c.header_ {
26229		reqHeaders[k] = v
26230	}
26231	reqHeaders.Set("User-Agent", c.s.userAgent())
26232	var body io.Reader = nil
26233	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activatemanualtriggerrequest)
26234	if err != nil {
26235		return nil, err
26236	}
26237	reqHeaders.Set("Content-Type", "application/json")
26238	c.urlParams_.Set("alt", alt)
26239	c.urlParams_.Set("prettyPrint", "false")
26240	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate")
26241	urls += "?" + c.urlParams_.Encode()
26242	req, err := http.NewRequest("POST", urls, body)
26243	if err != nil {
26244		return nil, err
26245	}
26246	req.Header = reqHeaders
26247	googleapi.Expand(req.URL, map[string]string{
26248		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
26249		"triggerId":    strconv.FormatInt(c.triggerId, 10),
26250	})
26251	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26252}
26253
26254// Do executes the "displayvideo.advertisers.manualTriggers.activate" call.
26255// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
26256// status code is an error. Response headers are in either
26257// *ManualTrigger.ServerResponse.Header or (if a response was returned
26258// at all) in error.(*googleapi.Error).Header. Use
26259// googleapi.IsNotModified to check whether the returned error was
26260// because http.StatusNotModified was returned.
26261func (c *AdvertisersManualTriggersActivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
26262	gensupport.SetOptions(c.urlParams_, opts...)
26263	res, err := c.doRequest("json")
26264	if res != nil && res.StatusCode == http.StatusNotModified {
26265		if res.Body != nil {
26266			res.Body.Close()
26267		}
26268		return nil, &googleapi.Error{
26269			Code:   res.StatusCode,
26270			Header: res.Header,
26271		}
26272	}
26273	if err != nil {
26274		return nil, err
26275	}
26276	defer googleapi.CloseBody(res)
26277	if err := googleapi.CheckResponse(res); err != nil {
26278		return nil, err
26279	}
26280	ret := &ManualTrigger{
26281		ServerResponse: googleapi.ServerResponse{
26282			Header:         res.Header,
26283			HTTPStatusCode: res.StatusCode,
26284		},
26285	}
26286	target := &ret
26287	if err := gensupport.DecodeResponse(target, res); err != nil {
26288		return nil, err
26289	}
26290	return ret, nil
26291	// {
26292	//   "description": "Activates a manual trigger. Each activation of the manual trigger must be at least 5 minutes apart, otherwise an error will be returned.",
26293	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:activate",
26294	//   "httpMethod": "POST",
26295	//   "id": "displayvideo.advertisers.manualTriggers.activate",
26296	//   "parameterOrder": [
26297	//     "advertiserId",
26298	//     "triggerId"
26299	//   ],
26300	//   "parameters": {
26301	//     "advertiserId": {
26302	//       "description": "Required. The ID of the advertiser that the manual trigger belongs.",
26303	//       "format": "int64",
26304	//       "location": "path",
26305	//       "pattern": "^[^/]+$",
26306	//       "required": true,
26307	//       "type": "string"
26308	//     },
26309	//     "triggerId": {
26310	//       "description": "Required. The ID of the manual trigger to activate.",
26311	//       "format": "int64",
26312	//       "location": "path",
26313	//       "pattern": "^[^/]+$",
26314	//       "required": true,
26315	//       "type": "string"
26316	//     }
26317	//   },
26318	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate",
26319	//   "request": {
26320	//     "$ref": "ActivateManualTriggerRequest"
26321	//   },
26322	//   "response": {
26323	//     "$ref": "ManualTrigger"
26324	//   },
26325	//   "scopes": [
26326	//     "https://www.googleapis.com/auth/display-video"
26327	//   ]
26328	// }
26329
26330}
26331
26332// method id "displayvideo.advertisers.manualTriggers.create":
26333
26334type AdvertisersManualTriggersCreateCall struct {
26335	s             *Service
26336	advertiserId  int64
26337	manualtrigger *ManualTrigger
26338	urlParams_    gensupport.URLParams
26339	ctx_          context.Context
26340	header_       http.Header
26341}
26342
26343// Create: Creates a new manual trigger. Returns the newly created
26344// manual trigger if successful.
26345//
26346// - advertiserId: Immutable. The unique ID of the advertiser that the
26347//   manual trigger belongs to.
26348func (r *AdvertisersManualTriggersService) Create(advertiserId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersCreateCall {
26349	c := &AdvertisersManualTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26350	c.advertiserId = advertiserId
26351	c.manualtrigger = manualtrigger
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 *AdvertisersManualTriggersCreateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersCreateCall {
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 *AdvertisersManualTriggersCreateCall) Context(ctx context.Context) *AdvertisersManualTriggersCreateCall {
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 *AdvertisersManualTriggersCreateCall) Header() http.Header {
26374	if c.header_ == nil {
26375		c.header_ = make(http.Header)
26376	}
26377	return c.header_
26378}
26379
26380func (c *AdvertisersManualTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
26381	reqHeaders := make(http.Header)
26382	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
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.manualtrigger)
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, "v1/advertisers/{+advertiserId}/manualTriggers")
26396	urls += "?" + c.urlParams_.Encode()
26397	req, err := http.NewRequest("POST", urls, body)
26398	if err != nil {
26399		return nil, err
26400	}
26401	req.Header = reqHeaders
26402	googleapi.Expand(req.URL, map[string]string{
26403		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
26404	})
26405	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26406}
26407
26408// Do executes the "displayvideo.advertisers.manualTriggers.create" call.
26409// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
26410// status code is an error. Response headers are in either
26411// *ManualTrigger.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 *AdvertisersManualTriggersCreateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, 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 := &ManualTrigger{
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": "Creates a new manual trigger. Returns the newly created manual trigger if successful.",
26447	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers",
26448	//   "httpMethod": "POST",
26449	//   "id": "displayvideo.advertisers.manualTriggers.create",
26450	//   "parameterOrder": [
26451	//     "advertiserId"
26452	//   ],
26453	//   "parameters": {
26454	//     "advertiserId": {
26455	//       "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
26456	//       "format": "int64",
26457	//       "location": "path",
26458	//       "pattern": "^[^/]+$",
26459	//       "required": true,
26460	//       "type": "string"
26461	//     }
26462	//   },
26463	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers",
26464	//   "request": {
26465	//     "$ref": "ManualTrigger"
26466	//   },
26467	//   "response": {
26468	//     "$ref": "ManualTrigger"
26469	//   },
26470	//   "scopes": [
26471	//     "https://www.googleapis.com/auth/display-video"
26472	//   ]
26473	// }
26474
26475}
26476
26477// method id "displayvideo.advertisers.manualTriggers.deactivate":
26478
26479type AdvertisersManualTriggersDeactivateCall struct {
26480	s                              *Service
26481	advertiserId                   int64
26482	triggerId                      int64
26483	deactivatemanualtriggerrequest *DeactivateManualTriggerRequest
26484	urlParams_                     gensupport.URLParams
26485	ctx_                           context.Context
26486	header_                        http.Header
26487}
26488
26489// Deactivate: Deactivates a manual trigger.
26490//
26491// - advertiserId: The ID of the advertiser that the manual trigger
26492//   belongs.
26493// - triggerId: The ID of the manual trigger to deactivate.
26494func (r *AdvertisersManualTriggersService) Deactivate(advertiserId int64, triggerId int64, deactivatemanualtriggerrequest *DeactivateManualTriggerRequest) *AdvertisersManualTriggersDeactivateCall {
26495	c := &AdvertisersManualTriggersDeactivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26496	c.advertiserId = advertiserId
26497	c.triggerId = triggerId
26498	c.deactivatemanualtriggerrequest = deactivatemanualtriggerrequest
26499	return c
26500}
26501
26502// Fields allows partial responses to be retrieved. See
26503// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26504// for more information.
26505func (c *AdvertisersManualTriggersDeactivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersDeactivateCall {
26506	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26507	return c
26508}
26509
26510// Context sets the context to be used in this call's Do method. Any
26511// pending HTTP request will be aborted if the provided context is
26512// canceled.
26513func (c *AdvertisersManualTriggersDeactivateCall) Context(ctx context.Context) *AdvertisersManualTriggersDeactivateCall {
26514	c.ctx_ = ctx
26515	return c
26516}
26517
26518// Header returns an http.Header that can be modified by the caller to
26519// add HTTP headers to the request.
26520func (c *AdvertisersManualTriggersDeactivateCall) Header() http.Header {
26521	if c.header_ == nil {
26522		c.header_ = make(http.Header)
26523	}
26524	return c.header_
26525}
26526
26527func (c *AdvertisersManualTriggersDeactivateCall) doRequest(alt string) (*http.Response, error) {
26528	reqHeaders := make(http.Header)
26529	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26530	for k, v := range c.header_ {
26531		reqHeaders[k] = v
26532	}
26533	reqHeaders.Set("User-Agent", c.s.userAgent())
26534	var body io.Reader = nil
26535	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deactivatemanualtriggerrequest)
26536	if err != nil {
26537		return nil, err
26538	}
26539	reqHeaders.Set("Content-Type", "application/json")
26540	c.urlParams_.Set("alt", alt)
26541	c.urlParams_.Set("prettyPrint", "false")
26542	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate")
26543	urls += "?" + c.urlParams_.Encode()
26544	req, err := http.NewRequest("POST", urls, body)
26545	if err != nil {
26546		return nil, err
26547	}
26548	req.Header = reqHeaders
26549	googleapi.Expand(req.URL, map[string]string{
26550		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
26551		"triggerId":    strconv.FormatInt(c.triggerId, 10),
26552	})
26553	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26554}
26555
26556// Do executes the "displayvideo.advertisers.manualTriggers.deactivate" call.
26557// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
26558// status code is an error. Response headers are in either
26559// *ManualTrigger.ServerResponse.Header or (if a response was returned
26560// at all) in error.(*googleapi.Error).Header. Use
26561// googleapi.IsNotModified to check whether the returned error was
26562// because http.StatusNotModified was returned.
26563func (c *AdvertisersManualTriggersDeactivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
26564	gensupport.SetOptions(c.urlParams_, opts...)
26565	res, err := c.doRequest("json")
26566	if res != nil && res.StatusCode == http.StatusNotModified {
26567		if res.Body != nil {
26568			res.Body.Close()
26569		}
26570		return nil, &googleapi.Error{
26571			Code:   res.StatusCode,
26572			Header: res.Header,
26573		}
26574	}
26575	if err != nil {
26576		return nil, err
26577	}
26578	defer googleapi.CloseBody(res)
26579	if err := googleapi.CheckResponse(res); err != nil {
26580		return nil, err
26581	}
26582	ret := &ManualTrigger{
26583		ServerResponse: googleapi.ServerResponse{
26584			Header:         res.Header,
26585			HTTPStatusCode: res.StatusCode,
26586		},
26587	}
26588	target := &ret
26589	if err := gensupport.DecodeResponse(target, res); err != nil {
26590		return nil, err
26591	}
26592	return ret, nil
26593	// {
26594	//   "description": "Deactivates a manual trigger.",
26595	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:deactivate",
26596	//   "httpMethod": "POST",
26597	//   "id": "displayvideo.advertisers.manualTriggers.deactivate",
26598	//   "parameterOrder": [
26599	//     "advertiserId",
26600	//     "triggerId"
26601	//   ],
26602	//   "parameters": {
26603	//     "advertiserId": {
26604	//       "description": "Required. The ID of the advertiser that the manual trigger belongs.",
26605	//       "format": "int64",
26606	//       "location": "path",
26607	//       "pattern": "^[^/]+$",
26608	//       "required": true,
26609	//       "type": "string"
26610	//     },
26611	//     "triggerId": {
26612	//       "description": "Required. The ID of the manual trigger to deactivate.",
26613	//       "format": "int64",
26614	//       "location": "path",
26615	//       "pattern": "^[^/]+$",
26616	//       "required": true,
26617	//       "type": "string"
26618	//     }
26619	//   },
26620	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate",
26621	//   "request": {
26622	//     "$ref": "DeactivateManualTriggerRequest"
26623	//   },
26624	//   "response": {
26625	//     "$ref": "ManualTrigger"
26626	//   },
26627	//   "scopes": [
26628	//     "https://www.googleapis.com/auth/display-video"
26629	//   ]
26630	// }
26631
26632}
26633
26634// method id "displayvideo.advertisers.manualTriggers.get":
26635
26636type AdvertisersManualTriggersGetCall struct {
26637	s            *Service
26638	advertiserId int64
26639	triggerId    int64
26640	urlParams_   gensupport.URLParams
26641	ifNoneMatch_ string
26642	ctx_         context.Context
26643	header_      http.Header
26644}
26645
26646// Get: Gets a manual trigger.
26647//
26648// - advertiserId: The ID of the advertiser this manual trigger belongs
26649//   to.
26650// - triggerId: The ID of the manual trigger to fetch.
26651func (r *AdvertisersManualTriggersService) Get(advertiserId int64, triggerId int64) *AdvertisersManualTriggersGetCall {
26652	c := &AdvertisersManualTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26653	c.advertiserId = advertiserId
26654	c.triggerId = triggerId
26655	return c
26656}
26657
26658// Fields allows partial responses to be retrieved. See
26659// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26660// for more information.
26661func (c *AdvertisersManualTriggersGetCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersGetCall {
26662	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26663	return c
26664}
26665
26666// IfNoneMatch sets the optional parameter which makes the operation
26667// fail if the object's ETag matches the given value. This is useful for
26668// getting updates only after the object has changed since the last
26669// request. Use googleapi.IsNotModified to check whether the response
26670// error from Do is the result of In-None-Match.
26671func (c *AdvertisersManualTriggersGetCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersGetCall {
26672	c.ifNoneMatch_ = entityTag
26673	return c
26674}
26675
26676// Context sets the context to be used in this call's Do method. Any
26677// pending HTTP request will be aborted if the provided context is
26678// canceled.
26679func (c *AdvertisersManualTriggersGetCall) Context(ctx context.Context) *AdvertisersManualTriggersGetCall {
26680	c.ctx_ = ctx
26681	return c
26682}
26683
26684// Header returns an http.Header that can be modified by the caller to
26685// add HTTP headers to the request.
26686func (c *AdvertisersManualTriggersGetCall) Header() http.Header {
26687	if c.header_ == nil {
26688		c.header_ = make(http.Header)
26689	}
26690	return c.header_
26691}
26692
26693func (c *AdvertisersManualTriggersGetCall) doRequest(alt string) (*http.Response, error) {
26694	reqHeaders := make(http.Header)
26695	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26696	for k, v := range c.header_ {
26697		reqHeaders[k] = v
26698	}
26699	reqHeaders.Set("User-Agent", c.s.userAgent())
26700	if c.ifNoneMatch_ != "" {
26701		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26702	}
26703	var body io.Reader = nil
26704	c.urlParams_.Set("alt", alt)
26705	c.urlParams_.Set("prettyPrint", "false")
26706	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
26707	urls += "?" + c.urlParams_.Encode()
26708	req, err := http.NewRequest("GET", urls, body)
26709	if err != nil {
26710		return nil, err
26711	}
26712	req.Header = reqHeaders
26713	googleapi.Expand(req.URL, map[string]string{
26714		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
26715		"triggerId":    strconv.FormatInt(c.triggerId, 10),
26716	})
26717	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26718}
26719
26720// Do executes the "displayvideo.advertisers.manualTriggers.get" call.
26721// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
26722// status code is an error. Response headers are in either
26723// *ManualTrigger.ServerResponse.Header or (if a response was returned
26724// at all) in error.(*googleapi.Error).Header. Use
26725// googleapi.IsNotModified to check whether the returned error was
26726// because http.StatusNotModified was returned.
26727func (c *AdvertisersManualTriggersGetCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
26728	gensupport.SetOptions(c.urlParams_, opts...)
26729	res, err := c.doRequest("json")
26730	if res != nil && res.StatusCode == http.StatusNotModified {
26731		if res.Body != nil {
26732			res.Body.Close()
26733		}
26734		return nil, &googleapi.Error{
26735			Code:   res.StatusCode,
26736			Header: res.Header,
26737		}
26738	}
26739	if err != nil {
26740		return nil, err
26741	}
26742	defer googleapi.CloseBody(res)
26743	if err := googleapi.CheckResponse(res); err != nil {
26744		return nil, err
26745	}
26746	ret := &ManualTrigger{
26747		ServerResponse: googleapi.ServerResponse{
26748			Header:         res.Header,
26749			HTTPStatusCode: res.StatusCode,
26750		},
26751	}
26752	target := &ret
26753	if err := gensupport.DecodeResponse(target, res); err != nil {
26754		return nil, err
26755	}
26756	return ret, nil
26757	// {
26758	//   "description": "Gets a manual trigger.",
26759	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
26760	//   "httpMethod": "GET",
26761	//   "id": "displayvideo.advertisers.manualTriggers.get",
26762	//   "parameterOrder": [
26763	//     "advertiserId",
26764	//     "triggerId"
26765	//   ],
26766	//   "parameters": {
26767	//     "advertiserId": {
26768	//       "description": "Required. The ID of the advertiser this manual trigger belongs to.",
26769	//       "format": "int64",
26770	//       "location": "path",
26771	//       "pattern": "^[^/]+$",
26772	//       "required": true,
26773	//       "type": "string"
26774	//     },
26775	//     "triggerId": {
26776	//       "description": "Required. The ID of the manual trigger to fetch.",
26777	//       "format": "int64",
26778	//       "location": "path",
26779	//       "pattern": "^[^/]+$",
26780	//       "required": true,
26781	//       "type": "string"
26782	//     }
26783	//   },
26784	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
26785	//   "response": {
26786	//     "$ref": "ManualTrigger"
26787	//   },
26788	//   "scopes": [
26789	//     "https://www.googleapis.com/auth/display-video"
26790	//   ]
26791	// }
26792
26793}
26794
26795// method id "displayvideo.advertisers.manualTriggers.list":
26796
26797type AdvertisersManualTriggersListCall struct {
26798	s            *Service
26799	advertiserId int64
26800	urlParams_   gensupport.URLParams
26801	ifNoneMatch_ string
26802	ctx_         context.Context
26803	header_      http.Header
26804}
26805
26806// List: Lists manual triggers that are accessible to the current user
26807// for a given advertiser ID. The order is defined by the order_by
26808// parameter. A single advertiser_id is required.
26809//
26810// - advertiserId: The ID of the advertiser that the fetched manual
26811//   triggers belong to.
26812func (r *AdvertisersManualTriggersService) List(advertiserId int64) *AdvertisersManualTriggersListCall {
26813	c := &AdvertisersManualTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26814	c.advertiserId = advertiserId
26815	return c
26816}
26817
26818// Filter sets the optional parameter "filter": Allows filtering by
26819// manual trigger properties. Supported syntax: * Filter expressions are
26820// made up of one or more restrictions. * Restrictions can be combined
26821// by `AND` or `OR` logical operators. A sequence of restrictions
26822// implicitly uses `AND`. * A restriction has the form of `{field}
26823// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
26824// fields: - `displayName` - `state` Examples: * All active manual
26825// triggers under an advertiser: `state="ACTIVE" The length of this
26826// field should be no more than 500 characters.
26827func (c *AdvertisersManualTriggersListCall) Filter(filter string) *AdvertisersManualTriggersListCall {
26828	c.urlParams_.Set("filter", filter)
26829	return c
26830}
26831
26832// OrderBy sets the optional parameter "orderBy": Field by which to sort
26833// the list. Acceptable values are: * `displayName` (default) * `state`
26834// The default sorting order is ascending. To specify descending order
26835// for a field, a suffix "desc" should be added to the field name. For
26836// example, `displayName desc`.
26837func (c *AdvertisersManualTriggersListCall) OrderBy(orderBy string) *AdvertisersManualTriggersListCall {
26838	c.urlParams_.Set("orderBy", orderBy)
26839	return c
26840}
26841
26842// PageSize sets the optional parameter "pageSize": Requested page size.
26843// Must be between `1` and `100`. If unspecified will default to `100`.
26844func (c *AdvertisersManualTriggersListCall) PageSize(pageSize int64) *AdvertisersManualTriggersListCall {
26845	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26846	return c
26847}
26848
26849// PageToken sets the optional parameter "pageToken": A token
26850// identifying a page of results the server should return. Typically,
26851// this is the value of next_page_token returned from the previous call
26852// to `ListManualTriggers` method. If not specified, the first page of
26853// results will be returned.
26854func (c *AdvertisersManualTriggersListCall) PageToken(pageToken string) *AdvertisersManualTriggersListCall {
26855	c.urlParams_.Set("pageToken", pageToken)
26856	return c
26857}
26858
26859// Fields allows partial responses to be retrieved. See
26860// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26861// for more information.
26862func (c *AdvertisersManualTriggersListCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersListCall {
26863	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26864	return c
26865}
26866
26867// IfNoneMatch sets the optional parameter which makes the operation
26868// fail if the object's ETag matches the given value. This is useful for
26869// getting updates only after the object has changed since the last
26870// request. Use googleapi.IsNotModified to check whether the response
26871// error from Do is the result of In-None-Match.
26872func (c *AdvertisersManualTriggersListCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersListCall {
26873	c.ifNoneMatch_ = entityTag
26874	return c
26875}
26876
26877// Context sets the context to be used in this call's Do method. Any
26878// pending HTTP request will be aborted if the provided context is
26879// canceled.
26880func (c *AdvertisersManualTriggersListCall) Context(ctx context.Context) *AdvertisersManualTriggersListCall {
26881	c.ctx_ = ctx
26882	return c
26883}
26884
26885// Header returns an http.Header that can be modified by the caller to
26886// add HTTP headers to the request.
26887func (c *AdvertisersManualTriggersListCall) Header() http.Header {
26888	if c.header_ == nil {
26889		c.header_ = make(http.Header)
26890	}
26891	return c.header_
26892}
26893
26894func (c *AdvertisersManualTriggersListCall) doRequest(alt string) (*http.Response, error) {
26895	reqHeaders := make(http.Header)
26896	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
26897	for k, v := range c.header_ {
26898		reqHeaders[k] = v
26899	}
26900	reqHeaders.Set("User-Agent", c.s.userAgent())
26901	if c.ifNoneMatch_ != "" {
26902		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26903	}
26904	var body io.Reader = nil
26905	c.urlParams_.Set("alt", alt)
26906	c.urlParams_.Set("prettyPrint", "false")
26907	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers")
26908	urls += "?" + c.urlParams_.Encode()
26909	req, err := http.NewRequest("GET", urls, body)
26910	if err != nil {
26911		return nil, err
26912	}
26913	req.Header = reqHeaders
26914	googleapi.Expand(req.URL, map[string]string{
26915		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
26916	})
26917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26918}
26919
26920// Do executes the "displayvideo.advertisers.manualTriggers.list" call.
26921// Exactly one of *ListManualTriggersResponse or error will be non-nil.
26922// Any non-2xx status code is an error. Response headers are in either
26923// *ListManualTriggersResponse.ServerResponse.Header or (if a response
26924// was returned at all) in error.(*googleapi.Error).Header. Use
26925// googleapi.IsNotModified to check whether the returned error was
26926// because http.StatusNotModified was returned.
26927func (c *AdvertisersManualTriggersListCall) Do(opts ...googleapi.CallOption) (*ListManualTriggersResponse, error) {
26928	gensupport.SetOptions(c.urlParams_, opts...)
26929	res, err := c.doRequest("json")
26930	if res != nil && res.StatusCode == http.StatusNotModified {
26931		if res.Body != nil {
26932			res.Body.Close()
26933		}
26934		return nil, &googleapi.Error{
26935			Code:   res.StatusCode,
26936			Header: res.Header,
26937		}
26938	}
26939	if err != nil {
26940		return nil, err
26941	}
26942	defer googleapi.CloseBody(res)
26943	if err := googleapi.CheckResponse(res); err != nil {
26944		return nil, err
26945	}
26946	ret := &ListManualTriggersResponse{
26947		ServerResponse: googleapi.ServerResponse{
26948			Header:         res.Header,
26949			HTTPStatusCode: res.StatusCode,
26950		},
26951	}
26952	target := &ret
26953	if err := gensupport.DecodeResponse(target, res); err != nil {
26954		return nil, err
26955	}
26956	return ret, nil
26957	// {
26958	//   "description": "Lists manual triggers that are accessible to the current user for a given advertiser ID. The order is defined by the order_by parameter. A single advertiser_id is required.",
26959	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers",
26960	//   "httpMethod": "GET",
26961	//   "id": "displayvideo.advertisers.manualTriggers.list",
26962	//   "parameterOrder": [
26963	//     "advertiserId"
26964	//   ],
26965	//   "parameters": {
26966	//     "advertiserId": {
26967	//       "description": "Required. The ID of the advertiser that the fetched manual triggers belong to.",
26968	//       "format": "int64",
26969	//       "location": "path",
26970	//       "pattern": "^[^/]+$",
26971	//       "required": true,
26972	//       "type": "string"
26973	//     },
26974	//     "filter": {
26975	//       "description": "Allows filtering by manual trigger properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `displayName` - `state` Examples: * All active manual triggers under an advertiser: `state=\"ACTIVE\"` The length of this field should be no more than 500 characters.",
26976	//       "location": "query",
26977	//       "type": "string"
26978	//     },
26979	//     "orderBy": {
26980	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `state` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
26981	//       "location": "query",
26982	//       "type": "string"
26983	//     },
26984	//     "pageSize": {
26985	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
26986	//       "format": "int32",
26987	//       "location": "query",
26988	//       "type": "integer"
26989	//     },
26990	//     "pageToken": {
26991	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListManualTriggers` method. If not specified, the first page of results will be returned.",
26992	//       "location": "query",
26993	//       "type": "string"
26994	//     }
26995	//   },
26996	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers",
26997	//   "response": {
26998	//     "$ref": "ListManualTriggersResponse"
26999	//   },
27000	//   "scopes": [
27001	//     "https://www.googleapis.com/auth/display-video"
27002	//   ]
27003	// }
27004
27005}
27006
27007// Pages invokes f for each page of results.
27008// A non-nil error returned from f will halt the iteration.
27009// The provided context supersedes any context provided to the Context method.
27010func (c *AdvertisersManualTriggersListCall) Pages(ctx context.Context, f func(*ListManualTriggersResponse) error) error {
27011	c.ctx_ = ctx
27012	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27013	for {
27014		x, err := c.Do()
27015		if err != nil {
27016			return err
27017		}
27018		if err := f(x); err != nil {
27019			return err
27020		}
27021		if x.NextPageToken == "" {
27022			return nil
27023		}
27024		c.PageToken(x.NextPageToken)
27025	}
27026}
27027
27028// method id "displayvideo.advertisers.manualTriggers.patch":
27029
27030type AdvertisersManualTriggersPatchCall struct {
27031	s             *Service
27032	advertiserId  int64
27033	triggerId     int64
27034	manualtrigger *ManualTrigger
27035	urlParams_    gensupport.URLParams
27036	ctx_          context.Context
27037	header_       http.Header
27038}
27039
27040// Patch: Updates a manual trigger. Returns the updated manual trigger
27041// if successful.
27042//
27043// - advertiserId: Immutable. The unique ID of the advertiser that the
27044//   manual trigger belongs to.
27045// - triggerId: Output only. The unique ID of the manual trigger.
27046func (r *AdvertisersManualTriggersService) Patch(advertiserId int64, triggerId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersPatchCall {
27047	c := &AdvertisersManualTriggersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27048	c.advertiserId = advertiserId
27049	c.triggerId = triggerId
27050	c.manualtrigger = manualtrigger
27051	return c
27052}
27053
27054// UpdateMask sets the optional parameter "updateMask": Required. The
27055// mask to control which fields to update.
27056func (c *AdvertisersManualTriggersPatchCall) UpdateMask(updateMask string) *AdvertisersManualTriggersPatchCall {
27057	c.urlParams_.Set("updateMask", updateMask)
27058	return c
27059}
27060
27061// Fields allows partial responses to be retrieved. See
27062// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27063// for more information.
27064func (c *AdvertisersManualTriggersPatchCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersPatchCall {
27065	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27066	return c
27067}
27068
27069// Context sets the context to be used in this call's Do method. Any
27070// pending HTTP request will be aborted if the provided context is
27071// canceled.
27072func (c *AdvertisersManualTriggersPatchCall) Context(ctx context.Context) *AdvertisersManualTriggersPatchCall {
27073	c.ctx_ = ctx
27074	return c
27075}
27076
27077// Header returns an http.Header that can be modified by the caller to
27078// add HTTP headers to the request.
27079func (c *AdvertisersManualTriggersPatchCall) Header() http.Header {
27080	if c.header_ == nil {
27081		c.header_ = make(http.Header)
27082	}
27083	return c.header_
27084}
27085
27086func (c *AdvertisersManualTriggersPatchCall) doRequest(alt string) (*http.Response, error) {
27087	reqHeaders := make(http.Header)
27088	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27089	for k, v := range c.header_ {
27090		reqHeaders[k] = v
27091	}
27092	reqHeaders.Set("User-Agent", c.s.userAgent())
27093	var body io.Reader = nil
27094	body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger)
27095	if err != nil {
27096		return nil, err
27097	}
27098	reqHeaders.Set("Content-Type", "application/json")
27099	c.urlParams_.Set("alt", alt)
27100	c.urlParams_.Set("prettyPrint", "false")
27101	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
27102	urls += "?" + c.urlParams_.Encode()
27103	req, err := http.NewRequest("PATCH", urls, body)
27104	if err != nil {
27105		return nil, err
27106	}
27107	req.Header = reqHeaders
27108	googleapi.Expand(req.URL, map[string]string{
27109		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27110		"triggerId":    strconv.FormatInt(c.triggerId, 10),
27111	})
27112	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27113}
27114
27115// Do executes the "displayvideo.advertisers.manualTriggers.patch" call.
27116// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
27117// status code is an error. Response headers are in either
27118// *ManualTrigger.ServerResponse.Header or (if a response was returned
27119// at all) in error.(*googleapi.Error).Header. Use
27120// googleapi.IsNotModified to check whether the returned error was
27121// because http.StatusNotModified was returned.
27122func (c *AdvertisersManualTriggersPatchCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
27123	gensupport.SetOptions(c.urlParams_, opts...)
27124	res, err := c.doRequest("json")
27125	if res != nil && res.StatusCode == http.StatusNotModified {
27126		if res.Body != nil {
27127			res.Body.Close()
27128		}
27129		return nil, &googleapi.Error{
27130			Code:   res.StatusCode,
27131			Header: res.Header,
27132		}
27133	}
27134	if err != nil {
27135		return nil, err
27136	}
27137	defer googleapi.CloseBody(res)
27138	if err := googleapi.CheckResponse(res); err != nil {
27139		return nil, err
27140	}
27141	ret := &ManualTrigger{
27142		ServerResponse: googleapi.ServerResponse{
27143			Header:         res.Header,
27144			HTTPStatusCode: res.StatusCode,
27145		},
27146	}
27147	target := &ret
27148	if err := gensupport.DecodeResponse(target, res); err != nil {
27149		return nil, err
27150	}
27151	return ret, nil
27152	// {
27153	//   "description": "Updates a manual trigger. Returns the updated manual trigger if successful.",
27154	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
27155	//   "httpMethod": "PATCH",
27156	//   "id": "displayvideo.advertisers.manualTriggers.patch",
27157	//   "parameterOrder": [
27158	//     "advertiserId",
27159	//     "triggerId"
27160	//   ],
27161	//   "parameters": {
27162	//     "advertiserId": {
27163	//       "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
27164	//       "format": "int64",
27165	//       "location": "path",
27166	//       "pattern": "^[^/]+$",
27167	//       "required": true,
27168	//       "type": "string"
27169	//     },
27170	//     "triggerId": {
27171	//       "description": "Output only. The unique ID of the manual trigger.",
27172	//       "format": "int64",
27173	//       "location": "path",
27174	//       "pattern": "^[^/]+$",
27175	//       "required": true,
27176	//       "type": "string"
27177	//     },
27178	//     "updateMask": {
27179	//       "description": "Required. The mask to control which fields to update.",
27180	//       "format": "google-fieldmask",
27181	//       "location": "query",
27182	//       "type": "string"
27183	//     }
27184	//   },
27185	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
27186	//   "request": {
27187	//     "$ref": "ManualTrigger"
27188	//   },
27189	//   "response": {
27190	//     "$ref": "ManualTrigger"
27191	//   },
27192	//   "scopes": [
27193	//     "https://www.googleapis.com/auth/display-video"
27194	//   ]
27195	// }
27196
27197}
27198
27199// method id "displayvideo.advertisers.negativeKeywordLists.create":
27200
27201type AdvertisersNegativeKeywordListsCreateCall struct {
27202	s                   *Service
27203	advertiserId        int64
27204	negativekeywordlist *NegativeKeywordList
27205	urlParams_          gensupport.URLParams
27206	ctx_                context.Context
27207	header_             http.Header
27208}
27209
27210// Create: Creates a new negative keyword list. Returns the newly
27211// created negative keyword list if successful.
27212//
27213// - advertiserId: The ID of the DV360 advertiser to which the negative
27214//   keyword list will belong.
27215func (r *AdvertisersNegativeKeywordListsService) Create(advertiserId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsCreateCall {
27216	c := &AdvertisersNegativeKeywordListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27217	c.advertiserId = advertiserId
27218	c.negativekeywordlist = negativekeywordlist
27219	return c
27220}
27221
27222// Fields allows partial responses to be retrieved. See
27223// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27224// for more information.
27225func (c *AdvertisersNegativeKeywordListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsCreateCall {
27226	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27227	return c
27228}
27229
27230// Context sets the context to be used in this call's Do method. Any
27231// pending HTTP request will be aborted if the provided context is
27232// canceled.
27233func (c *AdvertisersNegativeKeywordListsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsCreateCall {
27234	c.ctx_ = ctx
27235	return c
27236}
27237
27238// Header returns an http.Header that can be modified by the caller to
27239// add HTTP headers to the request.
27240func (c *AdvertisersNegativeKeywordListsCreateCall) Header() http.Header {
27241	if c.header_ == nil {
27242		c.header_ = make(http.Header)
27243	}
27244	return c.header_
27245}
27246
27247func (c *AdvertisersNegativeKeywordListsCreateCall) doRequest(alt string) (*http.Response, error) {
27248	reqHeaders := make(http.Header)
27249	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27250	for k, v := range c.header_ {
27251		reqHeaders[k] = v
27252	}
27253	reqHeaders.Set("User-Agent", c.s.userAgent())
27254	var body io.Reader = nil
27255	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
27256	if err != nil {
27257		return nil, err
27258	}
27259	reqHeaders.Set("Content-Type", "application/json")
27260	c.urlParams_.Set("alt", alt)
27261	c.urlParams_.Set("prettyPrint", "false")
27262	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists")
27263	urls += "?" + c.urlParams_.Encode()
27264	req, err := http.NewRequest("POST", urls, body)
27265	if err != nil {
27266		return nil, err
27267	}
27268	req.Header = reqHeaders
27269	googleapi.Expand(req.URL, map[string]string{
27270		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27271	})
27272	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27273}
27274
27275// Do executes the "displayvideo.advertisers.negativeKeywordLists.create" call.
27276// Exactly one of *NegativeKeywordList or error will be non-nil. Any
27277// non-2xx status code is an error. Response headers are in either
27278// *NegativeKeywordList.ServerResponse.Header or (if a response was
27279// returned at all) in error.(*googleapi.Error).Header. Use
27280// googleapi.IsNotModified to check whether the returned error was
27281// because http.StatusNotModified was returned.
27282func (c *AdvertisersNegativeKeywordListsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
27283	gensupport.SetOptions(c.urlParams_, opts...)
27284	res, err := c.doRequest("json")
27285	if res != nil && res.StatusCode == http.StatusNotModified {
27286		if res.Body != nil {
27287			res.Body.Close()
27288		}
27289		return nil, &googleapi.Error{
27290			Code:   res.StatusCode,
27291			Header: res.Header,
27292		}
27293	}
27294	if err != nil {
27295		return nil, err
27296	}
27297	defer googleapi.CloseBody(res)
27298	if err := googleapi.CheckResponse(res); err != nil {
27299		return nil, err
27300	}
27301	ret := &NegativeKeywordList{
27302		ServerResponse: googleapi.ServerResponse{
27303			Header:         res.Header,
27304			HTTPStatusCode: res.StatusCode,
27305		},
27306	}
27307	target := &ret
27308	if err := gensupport.DecodeResponse(target, res); err != nil {
27309		return nil, err
27310	}
27311	return ret, nil
27312	// {
27313	//   "description": "Creates a new negative keyword list. Returns the newly created negative keyword list if successful.",
27314	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists",
27315	//   "httpMethod": "POST",
27316	//   "id": "displayvideo.advertisers.negativeKeywordLists.create",
27317	//   "parameterOrder": [
27318	//     "advertiserId"
27319	//   ],
27320	//   "parameters": {
27321	//     "advertiserId": {
27322	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list will belong.",
27323	//       "format": "int64",
27324	//       "location": "path",
27325	//       "pattern": "^[^/]+$",
27326	//       "required": true,
27327	//       "type": "string"
27328	//     }
27329	//   },
27330	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists",
27331	//   "request": {
27332	//     "$ref": "NegativeKeywordList"
27333	//   },
27334	//   "response": {
27335	//     "$ref": "NegativeKeywordList"
27336	//   },
27337	//   "scopes": [
27338	//     "https://www.googleapis.com/auth/display-video"
27339	//   ]
27340	// }
27341
27342}
27343
27344// method id "displayvideo.advertisers.negativeKeywordLists.delete":
27345
27346type AdvertisersNegativeKeywordListsDeleteCall struct {
27347	s                     *Service
27348	advertiserId          int64
27349	negativeKeywordListId int64
27350	urlParams_            gensupport.URLParams
27351	ctx_                  context.Context
27352	header_               http.Header
27353}
27354
27355// Delete: Deletes a negative keyword list given an advertiser ID and a
27356// negative keyword list ID.
27357//
27358// - advertiserId: The ID of the DV360 advertiser to which the negative
27359//   keyword list belongs.
27360// - negativeKeywordListId: The ID of the negative keyword list to
27361//   delete.
27362func (r *AdvertisersNegativeKeywordListsService) Delete(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsDeleteCall {
27363	c := &AdvertisersNegativeKeywordListsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27364	c.advertiserId = advertiserId
27365	c.negativeKeywordListId = negativeKeywordListId
27366	return c
27367}
27368
27369// Fields allows partial responses to be retrieved. See
27370// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27371// for more information.
27372func (c *AdvertisersNegativeKeywordListsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsDeleteCall {
27373	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27374	return c
27375}
27376
27377// Context sets the context to be used in this call's Do method. Any
27378// pending HTTP request will be aborted if the provided context is
27379// canceled.
27380func (c *AdvertisersNegativeKeywordListsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsDeleteCall {
27381	c.ctx_ = ctx
27382	return c
27383}
27384
27385// Header returns an http.Header that can be modified by the caller to
27386// add HTTP headers to the request.
27387func (c *AdvertisersNegativeKeywordListsDeleteCall) Header() http.Header {
27388	if c.header_ == nil {
27389		c.header_ = make(http.Header)
27390	}
27391	return c.header_
27392}
27393
27394func (c *AdvertisersNegativeKeywordListsDeleteCall) doRequest(alt string) (*http.Response, error) {
27395	reqHeaders := make(http.Header)
27396	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27397	for k, v := range c.header_ {
27398		reqHeaders[k] = v
27399	}
27400	reqHeaders.Set("User-Agent", c.s.userAgent())
27401	var body io.Reader = nil
27402	c.urlParams_.Set("alt", alt)
27403	c.urlParams_.Set("prettyPrint", "false")
27404	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
27405	urls += "?" + c.urlParams_.Encode()
27406	req, err := http.NewRequest("DELETE", urls, body)
27407	if err != nil {
27408		return nil, err
27409	}
27410	req.Header = reqHeaders
27411	googleapi.Expand(req.URL, map[string]string{
27412		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
27413		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
27414	})
27415	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27416}
27417
27418// Do executes the "displayvideo.advertisers.negativeKeywordLists.delete" call.
27419// Exactly one of *Empty or error will be non-nil. Any non-2xx status
27420// code is an error. Response headers are in either
27421// *Empty.ServerResponse.Header or (if a response was returned at all)
27422// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27423// check whether the returned error was because http.StatusNotModified
27424// was returned.
27425func (c *AdvertisersNegativeKeywordListsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
27426	gensupport.SetOptions(c.urlParams_, opts...)
27427	res, err := c.doRequest("json")
27428	if res != nil && res.StatusCode == http.StatusNotModified {
27429		if res.Body != nil {
27430			res.Body.Close()
27431		}
27432		return nil, &googleapi.Error{
27433			Code:   res.StatusCode,
27434			Header: res.Header,
27435		}
27436	}
27437	if err != nil {
27438		return nil, err
27439	}
27440	defer googleapi.CloseBody(res)
27441	if err := googleapi.CheckResponse(res); err != nil {
27442		return nil, err
27443	}
27444	ret := &Empty{
27445		ServerResponse: googleapi.ServerResponse{
27446			Header:         res.Header,
27447			HTTPStatusCode: res.StatusCode,
27448		},
27449	}
27450	target := &ret
27451	if err := gensupport.DecodeResponse(target, res); err != nil {
27452		return nil, err
27453	}
27454	return ret, nil
27455	// {
27456	//   "description": "Deletes a negative keyword list given an advertiser ID and a negative keyword list ID.",
27457	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
27458	//   "httpMethod": "DELETE",
27459	//   "id": "displayvideo.advertisers.negativeKeywordLists.delete",
27460	//   "parameterOrder": [
27461	//     "advertiserId",
27462	//     "negativeKeywordListId"
27463	//   ],
27464	//   "parameters": {
27465	//     "advertiserId": {
27466	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
27467	//       "format": "int64",
27468	//       "location": "path",
27469	//       "pattern": "^[^/]+$",
27470	//       "required": true,
27471	//       "type": "string"
27472	//     },
27473	//     "negativeKeywordListId": {
27474	//       "description": "Required. The ID of the negative keyword list to delete.",
27475	//       "format": "int64",
27476	//       "location": "path",
27477	//       "pattern": "^[^/]+$",
27478	//       "required": true,
27479	//       "type": "string"
27480	//     }
27481	//   },
27482	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
27483	//   "response": {
27484	//     "$ref": "Empty"
27485	//   },
27486	//   "scopes": [
27487	//     "https://www.googleapis.com/auth/display-video"
27488	//   ]
27489	// }
27490
27491}
27492
27493// method id "displayvideo.advertisers.negativeKeywordLists.get":
27494
27495type AdvertisersNegativeKeywordListsGetCall struct {
27496	s                     *Service
27497	advertiserId          int64
27498	negativeKeywordListId int64
27499	urlParams_            gensupport.URLParams
27500	ifNoneMatch_          string
27501	ctx_                  context.Context
27502	header_               http.Header
27503}
27504
27505// Get: Gets a negative keyword list given an advertiser ID and a
27506// negative keyword list ID.
27507//
27508// - advertiserId: The ID of the DV360 advertiser to which the fetched
27509//   negative keyword list belongs.
27510// - negativeKeywordListId: The ID of the negative keyword list to
27511//   fetch.
27512func (r *AdvertisersNegativeKeywordListsService) Get(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsGetCall {
27513	c := &AdvertisersNegativeKeywordListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27514	c.advertiserId = advertiserId
27515	c.negativeKeywordListId = negativeKeywordListId
27516	return c
27517}
27518
27519// Fields allows partial responses to be retrieved. See
27520// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27521// for more information.
27522func (c *AdvertisersNegativeKeywordListsGetCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsGetCall {
27523	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27524	return c
27525}
27526
27527// IfNoneMatch sets the optional parameter which makes the operation
27528// fail if the object's ETag matches the given value. This is useful for
27529// getting updates only after the object has changed since the last
27530// request. Use googleapi.IsNotModified to check whether the response
27531// error from Do is the result of In-None-Match.
27532func (c *AdvertisersNegativeKeywordListsGetCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsGetCall {
27533	c.ifNoneMatch_ = entityTag
27534	return c
27535}
27536
27537// Context sets the context to be used in this call's Do method. Any
27538// pending HTTP request will be aborted if the provided context is
27539// canceled.
27540func (c *AdvertisersNegativeKeywordListsGetCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsGetCall {
27541	c.ctx_ = ctx
27542	return c
27543}
27544
27545// Header returns an http.Header that can be modified by the caller to
27546// add HTTP headers to the request.
27547func (c *AdvertisersNegativeKeywordListsGetCall) Header() http.Header {
27548	if c.header_ == nil {
27549		c.header_ = make(http.Header)
27550	}
27551	return c.header_
27552}
27553
27554func (c *AdvertisersNegativeKeywordListsGetCall) doRequest(alt string) (*http.Response, error) {
27555	reqHeaders := make(http.Header)
27556	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27557	for k, v := range c.header_ {
27558		reqHeaders[k] = v
27559	}
27560	reqHeaders.Set("User-Agent", c.s.userAgent())
27561	if c.ifNoneMatch_ != "" {
27562		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27563	}
27564	var body io.Reader = nil
27565	c.urlParams_.Set("alt", alt)
27566	c.urlParams_.Set("prettyPrint", "false")
27567	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
27568	urls += "?" + c.urlParams_.Encode()
27569	req, err := http.NewRequest("GET", urls, body)
27570	if err != nil {
27571		return nil, err
27572	}
27573	req.Header = reqHeaders
27574	googleapi.Expand(req.URL, map[string]string{
27575		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
27576		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
27577	})
27578	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27579}
27580
27581// Do executes the "displayvideo.advertisers.negativeKeywordLists.get" call.
27582// Exactly one of *NegativeKeywordList or error will be non-nil. Any
27583// non-2xx status code is an error. Response headers are in either
27584// *NegativeKeywordList.ServerResponse.Header or (if a response was
27585// returned at all) in error.(*googleapi.Error).Header. Use
27586// googleapi.IsNotModified to check whether the returned error was
27587// because http.StatusNotModified was returned.
27588func (c *AdvertisersNegativeKeywordListsGetCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
27589	gensupport.SetOptions(c.urlParams_, opts...)
27590	res, err := c.doRequest("json")
27591	if res != nil && res.StatusCode == http.StatusNotModified {
27592		if res.Body != nil {
27593			res.Body.Close()
27594		}
27595		return nil, &googleapi.Error{
27596			Code:   res.StatusCode,
27597			Header: res.Header,
27598		}
27599	}
27600	if err != nil {
27601		return nil, err
27602	}
27603	defer googleapi.CloseBody(res)
27604	if err := googleapi.CheckResponse(res); err != nil {
27605		return nil, err
27606	}
27607	ret := &NegativeKeywordList{
27608		ServerResponse: googleapi.ServerResponse{
27609			Header:         res.Header,
27610			HTTPStatusCode: res.StatusCode,
27611		},
27612	}
27613	target := &ret
27614	if err := gensupport.DecodeResponse(target, res); err != nil {
27615		return nil, err
27616	}
27617	return ret, nil
27618	// {
27619	//   "description": "Gets a negative keyword list given an advertiser ID and a negative keyword list ID.",
27620	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
27621	//   "httpMethod": "GET",
27622	//   "id": "displayvideo.advertisers.negativeKeywordLists.get",
27623	//   "parameterOrder": [
27624	//     "advertiserId",
27625	//     "negativeKeywordListId"
27626	//   ],
27627	//   "parameters": {
27628	//     "advertiserId": {
27629	//       "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs.",
27630	//       "format": "int64",
27631	//       "location": "path",
27632	//       "pattern": "^[^/]+$",
27633	//       "required": true,
27634	//       "type": "string"
27635	//     },
27636	//     "negativeKeywordListId": {
27637	//       "description": "Required. The ID of the negative keyword list to fetch.",
27638	//       "format": "int64",
27639	//       "location": "path",
27640	//       "pattern": "^[^/]+$",
27641	//       "required": true,
27642	//       "type": "string"
27643	//     }
27644	//   },
27645	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
27646	//   "response": {
27647	//     "$ref": "NegativeKeywordList"
27648	//   },
27649	//   "scopes": [
27650	//     "https://www.googleapis.com/auth/display-video"
27651	//   ]
27652	// }
27653
27654}
27655
27656// method id "displayvideo.advertisers.negativeKeywordLists.list":
27657
27658type AdvertisersNegativeKeywordListsListCall struct {
27659	s            *Service
27660	advertiserId int64
27661	urlParams_   gensupport.URLParams
27662	ifNoneMatch_ string
27663	ctx_         context.Context
27664	header_      http.Header
27665}
27666
27667// List: Lists negative keyword lists based on a given advertiser id.
27668//
27669// - advertiserId: The ID of the DV360 advertiser to which the fetched
27670//   negative keyword lists belong.
27671func (r *AdvertisersNegativeKeywordListsService) List(advertiserId int64) *AdvertisersNegativeKeywordListsListCall {
27672	c := &AdvertisersNegativeKeywordListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27673	c.advertiserId = advertiserId
27674	return c
27675}
27676
27677// PageSize sets the optional parameter "pageSize": Requested page size.
27678// Must be between `1` and `100`. Defaults to `100` if not set. Returns
27679// error code `INVALID_ARGUMENT` if an invalid value is specified.
27680func (c *AdvertisersNegativeKeywordListsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsListCall {
27681	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27682	return c
27683}
27684
27685// PageToken sets the optional parameter "pageToken": A token
27686// identifying a page of results the server should return. Typically,
27687// this is the value of next_page_token returned from the previous call
27688// to `ListNegativeKeywordLists` method. If not specified, the first
27689// page of results will be returned.
27690func (c *AdvertisersNegativeKeywordListsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsListCall {
27691	c.urlParams_.Set("pageToken", pageToken)
27692	return c
27693}
27694
27695// Fields allows partial responses to be retrieved. See
27696// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27697// for more information.
27698func (c *AdvertisersNegativeKeywordListsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsListCall {
27699	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27700	return c
27701}
27702
27703// IfNoneMatch sets the optional parameter which makes the operation
27704// fail if the object's ETag matches the given value. This is useful for
27705// getting updates only after the object has changed since the last
27706// request. Use googleapi.IsNotModified to check whether the response
27707// error from Do is the result of In-None-Match.
27708func (c *AdvertisersNegativeKeywordListsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsListCall {
27709	c.ifNoneMatch_ = entityTag
27710	return c
27711}
27712
27713// Context sets the context to be used in this call's Do method. Any
27714// pending HTTP request will be aborted if the provided context is
27715// canceled.
27716func (c *AdvertisersNegativeKeywordListsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsListCall {
27717	c.ctx_ = ctx
27718	return c
27719}
27720
27721// Header returns an http.Header that can be modified by the caller to
27722// add HTTP headers to the request.
27723func (c *AdvertisersNegativeKeywordListsListCall) Header() http.Header {
27724	if c.header_ == nil {
27725		c.header_ = make(http.Header)
27726	}
27727	return c.header_
27728}
27729
27730func (c *AdvertisersNegativeKeywordListsListCall) doRequest(alt string) (*http.Response, error) {
27731	reqHeaders := make(http.Header)
27732	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27733	for k, v := range c.header_ {
27734		reqHeaders[k] = v
27735	}
27736	reqHeaders.Set("User-Agent", c.s.userAgent())
27737	if c.ifNoneMatch_ != "" {
27738		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27739	}
27740	var body io.Reader = nil
27741	c.urlParams_.Set("alt", alt)
27742	c.urlParams_.Set("prettyPrint", "false")
27743	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists")
27744	urls += "?" + c.urlParams_.Encode()
27745	req, err := http.NewRequest("GET", urls, body)
27746	if err != nil {
27747		return nil, err
27748	}
27749	req.Header = reqHeaders
27750	googleapi.Expand(req.URL, map[string]string{
27751		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27752	})
27753	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27754}
27755
27756// Do executes the "displayvideo.advertisers.negativeKeywordLists.list" call.
27757// Exactly one of *ListNegativeKeywordListsResponse or error will be
27758// non-nil. Any non-2xx status code is an error. Response headers are in
27759// either *ListNegativeKeywordListsResponse.ServerResponse.Header or (if
27760// a response was returned at all) in error.(*googleapi.Error).Header.
27761// Use googleapi.IsNotModified to check whether the returned error was
27762// because http.StatusNotModified was returned.
27763func (c *AdvertisersNegativeKeywordListsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordListsResponse, error) {
27764	gensupport.SetOptions(c.urlParams_, opts...)
27765	res, err := c.doRequest("json")
27766	if res != nil && res.StatusCode == http.StatusNotModified {
27767		if res.Body != nil {
27768			res.Body.Close()
27769		}
27770		return nil, &googleapi.Error{
27771			Code:   res.StatusCode,
27772			Header: res.Header,
27773		}
27774	}
27775	if err != nil {
27776		return nil, err
27777	}
27778	defer googleapi.CloseBody(res)
27779	if err := googleapi.CheckResponse(res); err != nil {
27780		return nil, err
27781	}
27782	ret := &ListNegativeKeywordListsResponse{
27783		ServerResponse: googleapi.ServerResponse{
27784			Header:         res.Header,
27785			HTTPStatusCode: res.StatusCode,
27786		},
27787	}
27788	target := &ret
27789	if err := gensupport.DecodeResponse(target, res); err != nil {
27790		return nil, err
27791	}
27792	return ret, nil
27793	// {
27794	//   "description": "Lists negative keyword lists based on a given advertiser id.",
27795	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists",
27796	//   "httpMethod": "GET",
27797	//   "id": "displayvideo.advertisers.negativeKeywordLists.list",
27798	//   "parameterOrder": [
27799	//     "advertiserId"
27800	//   ],
27801	//   "parameters": {
27802	//     "advertiserId": {
27803	//       "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong.",
27804	//       "format": "int64",
27805	//       "location": "path",
27806	//       "pattern": "^[^/]+$",
27807	//       "required": true,
27808	//       "type": "string"
27809	//     },
27810	//     "pageSize": {
27811	//       "description": "Requested page size. Must be between `1` and `100`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
27812	//       "format": "int32",
27813	//       "location": "query",
27814	//       "type": "integer"
27815	//     },
27816	//     "pageToken": {
27817	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListNegativeKeywordLists` method. If not specified, the first page of results will be returned.",
27818	//       "location": "query",
27819	//       "type": "string"
27820	//     }
27821	//   },
27822	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists",
27823	//   "response": {
27824	//     "$ref": "ListNegativeKeywordListsResponse"
27825	//   },
27826	//   "scopes": [
27827	//     "https://www.googleapis.com/auth/display-video"
27828	//   ]
27829	// }
27830
27831}
27832
27833// Pages invokes f for each page of results.
27834// A non-nil error returned from f will halt the iteration.
27835// The provided context supersedes any context provided to the Context method.
27836func (c *AdvertisersNegativeKeywordListsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordListsResponse) error) error {
27837	c.ctx_ = ctx
27838	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27839	for {
27840		x, err := c.Do()
27841		if err != nil {
27842			return err
27843		}
27844		if err := f(x); err != nil {
27845			return err
27846		}
27847		if x.NextPageToken == "" {
27848			return nil
27849		}
27850		c.PageToken(x.NextPageToken)
27851	}
27852}
27853
27854// method id "displayvideo.advertisers.negativeKeywordLists.patch":
27855
27856type AdvertisersNegativeKeywordListsPatchCall struct {
27857	s                     *Service
27858	advertiserId          int64
27859	negativeKeywordListId int64
27860	negativekeywordlist   *NegativeKeywordList
27861	urlParams_            gensupport.URLParams
27862	ctx_                  context.Context
27863	header_               http.Header
27864}
27865
27866// Patch: Updates a negative keyword list. Returns the updated negative
27867// keyword list if successful.
27868//
27869// - advertiserId: The ID of the DV360 advertiser to which the negative
27870//   keyword list belongs.
27871// - negativeKeywordListId: Output only. The unique ID of the negative
27872//   keyword list. Assigned by the system.
27873func (r *AdvertisersNegativeKeywordListsService) Patch(advertiserId int64, negativeKeywordListId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsPatchCall {
27874	c := &AdvertisersNegativeKeywordListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27875	c.advertiserId = advertiserId
27876	c.negativeKeywordListId = negativeKeywordListId
27877	c.negativekeywordlist = negativekeywordlist
27878	return c
27879}
27880
27881// UpdateMask sets the optional parameter "updateMask": Required. The
27882// mask to control which fields to update.
27883func (c *AdvertisersNegativeKeywordListsPatchCall) UpdateMask(updateMask string) *AdvertisersNegativeKeywordListsPatchCall {
27884	c.urlParams_.Set("updateMask", updateMask)
27885	return c
27886}
27887
27888// Fields allows partial responses to be retrieved. See
27889// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27890// for more information.
27891func (c *AdvertisersNegativeKeywordListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsPatchCall {
27892	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27893	return c
27894}
27895
27896// Context sets the context to be used in this call's Do method. Any
27897// pending HTTP request will be aborted if the provided context is
27898// canceled.
27899func (c *AdvertisersNegativeKeywordListsPatchCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsPatchCall {
27900	c.ctx_ = ctx
27901	return c
27902}
27903
27904// Header returns an http.Header that can be modified by the caller to
27905// add HTTP headers to the request.
27906func (c *AdvertisersNegativeKeywordListsPatchCall) Header() http.Header {
27907	if c.header_ == nil {
27908		c.header_ = make(http.Header)
27909	}
27910	return c.header_
27911}
27912
27913func (c *AdvertisersNegativeKeywordListsPatchCall) doRequest(alt string) (*http.Response, error) {
27914	reqHeaders := make(http.Header)
27915	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
27916	for k, v := range c.header_ {
27917		reqHeaders[k] = v
27918	}
27919	reqHeaders.Set("User-Agent", c.s.userAgent())
27920	var body io.Reader = nil
27921	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
27922	if err != nil {
27923		return nil, err
27924	}
27925	reqHeaders.Set("Content-Type", "application/json")
27926	c.urlParams_.Set("alt", alt)
27927	c.urlParams_.Set("prettyPrint", "false")
27928	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}")
27929	urls += "?" + c.urlParams_.Encode()
27930	req, err := http.NewRequest("PATCH", urls, body)
27931	if err != nil {
27932		return nil, err
27933	}
27934	req.Header = reqHeaders
27935	googleapi.Expand(req.URL, map[string]string{
27936		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
27937		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
27938	})
27939	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27940}
27941
27942// Do executes the "displayvideo.advertisers.negativeKeywordLists.patch" call.
27943// Exactly one of *NegativeKeywordList or error will be non-nil. Any
27944// non-2xx status code is an error. Response headers are in either
27945// *NegativeKeywordList.ServerResponse.Header or (if a response was
27946// returned at all) in error.(*googleapi.Error).Header. Use
27947// googleapi.IsNotModified to check whether the returned error was
27948// because http.StatusNotModified was returned.
27949func (c *AdvertisersNegativeKeywordListsPatchCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
27950	gensupport.SetOptions(c.urlParams_, opts...)
27951	res, err := c.doRequest("json")
27952	if res != nil && res.StatusCode == http.StatusNotModified {
27953		if res.Body != nil {
27954			res.Body.Close()
27955		}
27956		return nil, &googleapi.Error{
27957			Code:   res.StatusCode,
27958			Header: res.Header,
27959		}
27960	}
27961	if err != nil {
27962		return nil, err
27963	}
27964	defer googleapi.CloseBody(res)
27965	if err := googleapi.CheckResponse(res); err != nil {
27966		return nil, err
27967	}
27968	ret := &NegativeKeywordList{
27969		ServerResponse: googleapi.ServerResponse{
27970			Header:         res.Header,
27971			HTTPStatusCode: res.StatusCode,
27972		},
27973	}
27974	target := &ret
27975	if err := gensupport.DecodeResponse(target, res); err != nil {
27976		return nil, err
27977	}
27978	return ret, nil
27979	// {
27980	//   "description": "Updates a negative keyword list. Returns the updated negative keyword list if successful.",
27981	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId}",
27982	//   "httpMethod": "PATCH",
27983	//   "id": "displayvideo.advertisers.negativeKeywordLists.patch",
27984	//   "parameterOrder": [
27985	//     "advertiserId",
27986	//     "negativeKeywordListId"
27987	//   ],
27988	//   "parameters": {
27989	//     "advertiserId": {
27990	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
27991	//       "format": "int64",
27992	//       "location": "path",
27993	//       "pattern": "^[^/]+$",
27994	//       "required": true,
27995	//       "type": "string"
27996	//     },
27997	//     "negativeKeywordListId": {
27998	//       "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.",
27999	//       "format": "int64",
28000	//       "location": "path",
28001	//       "required": true,
28002	//       "type": "string"
28003	//     },
28004	//     "updateMask": {
28005	//       "description": "Required. The mask to control which fields to update.",
28006	//       "format": "google-fieldmask",
28007	//       "location": "query",
28008	//       "type": "string"
28009	//     }
28010	//   },
28011	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}",
28012	//   "request": {
28013	//     "$ref": "NegativeKeywordList"
28014	//   },
28015	//   "response": {
28016	//     "$ref": "NegativeKeywordList"
28017	//   },
28018	//   "scopes": [
28019	//     "https://www.googleapis.com/auth/display-video"
28020	//   ]
28021	// }
28022
28023}
28024
28025// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit":
28026
28027type AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall struct {
28028	s                               *Service
28029	advertiserId                    int64
28030	negativeKeywordListId           int64
28031	bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest
28032	urlParams_                      gensupport.URLParams
28033	ctx_                            context.Context
28034	header_                         http.Header
28035}
28036
28037// BulkEdit: Bulk edits negative keywords in a single negative keyword
28038// list. The operation will delete the negative keywords provided in
28039// BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then
28040// create the negative keywords provided in
28041// BulkEditNegativeKeywordsRequest.created_negative_keywords. This
28042// operation is guaranteed to be atomic and will never result in a
28043// partial success or partial failure.
28044//
28045// - advertiserId: The ID of the DV360 advertiser to which the parent
28046//   negative keyword list belongs.
28047// - negativeKeywordListId: The ID of the parent negative keyword list
28048//   to which the negative keywords belong.
28049func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) BulkEdit(advertiserId int64, negativeKeywordListId int64, bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
28050	c := &AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28051	c.advertiserId = advertiserId
28052	c.negativeKeywordListId = negativeKeywordListId
28053	c.bulkeditnegativekeywordsrequest = bulkeditnegativekeywordsrequest
28054	return c
28055}
28056
28057// Fields allows partial responses to be retrieved. See
28058// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28059// for more information.
28060func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
28061	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28062	return c
28063}
28064
28065// Context sets the context to be used in this call's Do method. Any
28066// pending HTTP request will be aborted if the provided context is
28067// canceled.
28068func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
28069	c.ctx_ = ctx
28070	return c
28071}
28072
28073// Header returns an http.Header that can be modified by the caller to
28074// add HTTP headers to the request.
28075func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Header() http.Header {
28076	if c.header_ == nil {
28077		c.header_ = make(http.Header)
28078	}
28079	return c.header_
28080}
28081
28082func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) doRequest(alt string) (*http.Response, error) {
28083	reqHeaders := make(http.Header)
28084	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28085	for k, v := range c.header_ {
28086		reqHeaders[k] = v
28087	}
28088	reqHeaders.Set("User-Agent", c.s.userAgent())
28089	var body io.Reader = nil
28090	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditnegativekeywordsrequest)
28091	if err != nil {
28092		return nil, err
28093	}
28094	reqHeaders.Set("Content-Type", "application/json")
28095	c.urlParams_.Set("alt", alt)
28096	c.urlParams_.Set("prettyPrint", "false")
28097	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit")
28098	urls += "?" + c.urlParams_.Encode()
28099	req, err := http.NewRequest("POST", urls, body)
28100	if err != nil {
28101		return nil, err
28102	}
28103	req.Header = reqHeaders
28104	googleapi.Expand(req.URL, map[string]string{
28105		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28106		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28107	})
28108	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28109}
28110
28111// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit" call.
28112// Exactly one of *BulkEditNegativeKeywordsResponse or error will be
28113// non-nil. Any non-2xx status code is an error. Response headers are in
28114// either *BulkEditNegativeKeywordsResponse.ServerResponse.Header or (if
28115// a response was returned at all) in error.(*googleapi.Error).Header.
28116// Use googleapi.IsNotModified to check whether the returned error was
28117// because http.StatusNotModified was returned.
28118func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditNegativeKeywordsResponse, error) {
28119	gensupport.SetOptions(c.urlParams_, opts...)
28120	res, err := c.doRequest("json")
28121	if res != nil && res.StatusCode == http.StatusNotModified {
28122		if res.Body != nil {
28123			res.Body.Close()
28124		}
28125		return nil, &googleapi.Error{
28126			Code:   res.StatusCode,
28127			Header: res.Header,
28128		}
28129	}
28130	if err != nil {
28131		return nil, err
28132	}
28133	defer googleapi.CloseBody(res)
28134	if err := googleapi.CheckResponse(res); err != nil {
28135		return nil, err
28136	}
28137	ret := &BulkEditNegativeKeywordsResponse{
28138		ServerResponse: googleapi.ServerResponse{
28139			Header:         res.Header,
28140			HTTPStatusCode: res.StatusCode,
28141		},
28142	}
28143	target := &ret
28144	if err := gensupport.DecodeResponse(target, res); err != nil {
28145		return nil, err
28146	}
28147	return ret, nil
28148	// {
28149	//   "description": "Bulk edits negative keywords in a single negative keyword list. The operation will delete the negative keywords provided in BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create the negative keywords provided in BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation is guaranteed to be atomic and will never result in a partial success or partial failure.",
28150	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit",
28151	//   "httpMethod": "POST",
28152	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit",
28153	//   "parameterOrder": [
28154	//     "advertiserId",
28155	//     "negativeKeywordListId"
28156	//   ],
28157	//   "parameters": {
28158	//     "advertiserId": {
28159	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
28160	//       "format": "int64",
28161	//       "location": "path",
28162	//       "required": true,
28163	//       "type": "string"
28164	//     },
28165	//     "negativeKeywordListId": {
28166	//       "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.",
28167	//       "format": "int64",
28168	//       "location": "path",
28169	//       "pattern": "^[^/]+$",
28170	//       "required": true,
28171	//       "type": "string"
28172	//     }
28173	//   },
28174	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit",
28175	//   "request": {
28176	//     "$ref": "BulkEditNegativeKeywordsRequest"
28177	//   },
28178	//   "response": {
28179	//     "$ref": "BulkEditNegativeKeywordsResponse"
28180	//   },
28181	//   "scopes": [
28182	//     "https://www.googleapis.com/auth/display-video"
28183	//   ]
28184	// }
28185
28186}
28187
28188// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create":
28189
28190type AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall struct {
28191	s                     *Service
28192	advertiserId          int64
28193	negativeKeywordListId int64
28194	negativekeyword       *NegativeKeyword
28195	urlParams_            gensupport.URLParams
28196	ctx_                  context.Context
28197	header_               http.Header
28198}
28199
28200// Create: Creates a negative keyword in a negative keyword list.
28201//
28202// - advertiserId: The ID of the DV360 advertiser to which the parent
28203//   negative keyword list belongs.
28204// - negativeKeywordListId: The ID of the parent negative keyword list
28205//   in which the negative keyword will be created.
28206func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Create(advertiserId int64, negativeKeywordListId int64, negativekeyword *NegativeKeyword) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
28207	c := &AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28208	c.advertiserId = advertiserId
28209	c.negativeKeywordListId = negativeKeywordListId
28210	c.negativekeyword = negativekeyword
28211	return c
28212}
28213
28214// Fields allows partial responses to be retrieved. See
28215// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28216// for more information.
28217func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
28218	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28219	return c
28220}
28221
28222// Context sets the context to be used in this call's Do method. Any
28223// pending HTTP request will be aborted if the provided context is
28224// canceled.
28225func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
28226	c.ctx_ = ctx
28227	return c
28228}
28229
28230// Header returns an http.Header that can be modified by the caller to
28231// add HTTP headers to the request.
28232func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Header() http.Header {
28233	if c.header_ == nil {
28234		c.header_ = make(http.Header)
28235	}
28236	return c.header_
28237}
28238
28239func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) doRequest(alt string) (*http.Response, error) {
28240	reqHeaders := make(http.Header)
28241	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28242	for k, v := range c.header_ {
28243		reqHeaders[k] = v
28244	}
28245	reqHeaders.Set("User-Agent", c.s.userAgent())
28246	var body io.Reader = nil
28247	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeyword)
28248	if err != nil {
28249		return nil, err
28250	}
28251	reqHeaders.Set("Content-Type", "application/json")
28252	c.urlParams_.Set("alt", alt)
28253	c.urlParams_.Set("prettyPrint", "false")
28254	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
28255	urls += "?" + c.urlParams_.Encode()
28256	req, err := http.NewRequest("POST", urls, body)
28257	if err != nil {
28258		return nil, err
28259	}
28260	req.Header = reqHeaders
28261	googleapi.Expand(req.URL, map[string]string{
28262		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28263		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28264	})
28265	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28266}
28267
28268// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create" call.
28269// Exactly one of *NegativeKeyword or error will be non-nil. Any non-2xx
28270// status code is an error. Response headers are in either
28271// *NegativeKeyword.ServerResponse.Header or (if a response was returned
28272// at all) in error.(*googleapi.Error).Header. Use
28273// googleapi.IsNotModified to check whether the returned error was
28274// because http.StatusNotModified was returned.
28275func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeyword, error) {
28276	gensupport.SetOptions(c.urlParams_, opts...)
28277	res, err := c.doRequest("json")
28278	if res != nil && res.StatusCode == http.StatusNotModified {
28279		if res.Body != nil {
28280			res.Body.Close()
28281		}
28282		return nil, &googleapi.Error{
28283			Code:   res.StatusCode,
28284			Header: res.Header,
28285		}
28286	}
28287	if err != nil {
28288		return nil, err
28289	}
28290	defer googleapi.CloseBody(res)
28291	if err := googleapi.CheckResponse(res); err != nil {
28292		return nil, err
28293	}
28294	ret := &NegativeKeyword{
28295		ServerResponse: googleapi.ServerResponse{
28296			Header:         res.Header,
28297			HTTPStatusCode: res.StatusCode,
28298		},
28299	}
28300	target := &ret
28301	if err := gensupport.DecodeResponse(target, res); err != nil {
28302		return nil, err
28303	}
28304	return ret, nil
28305	// {
28306	//   "description": "Creates a negative keyword in a negative keyword list.",
28307	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords",
28308	//   "httpMethod": "POST",
28309	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create",
28310	//   "parameterOrder": [
28311	//     "advertiserId",
28312	//     "negativeKeywordListId"
28313	//   ],
28314	//   "parameters": {
28315	//     "advertiserId": {
28316	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
28317	//       "format": "int64",
28318	//       "location": "path",
28319	//       "required": true,
28320	//       "type": "string"
28321	//     },
28322	//     "negativeKeywordListId": {
28323	//       "description": "Required. The ID of the parent negative keyword list in which the negative keyword will be created.",
28324	//       "format": "int64",
28325	//       "location": "path",
28326	//       "pattern": "^[^/]+$",
28327	//       "required": true,
28328	//       "type": "string"
28329	//     }
28330	//   },
28331	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
28332	//   "request": {
28333	//     "$ref": "NegativeKeyword"
28334	//   },
28335	//   "response": {
28336	//     "$ref": "NegativeKeyword"
28337	//   },
28338	//   "scopes": [
28339	//     "https://www.googleapis.com/auth/display-video"
28340	//   ]
28341	// }
28342
28343}
28344
28345// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete":
28346
28347type AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall struct {
28348	s                     *Service
28349	advertiserId          int64
28350	negativeKeywordListId int64
28351	keywordValue          string
28352	urlParams_            gensupport.URLParams
28353	ctx_                  context.Context
28354	header_               http.Header
28355}
28356
28357// Delete: Deletes a negative keyword from a negative keyword list.
28358//
28359// - advertiserId: The ID of the DV360 advertiser to which the parent
28360//   negative keyword list belongs.
28361// - keywordValue: The keyword value of the negative keyword to delete.
28362// - negativeKeywordListId: The ID of the parent negative keyword list
28363//   to which the negative keyword belongs.
28364func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Delete(advertiserId int64, negativeKeywordListId int64, keywordValue string) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
28365	c := &AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28366	c.advertiserId = advertiserId
28367	c.negativeKeywordListId = negativeKeywordListId
28368	c.keywordValue = keywordValue
28369	return c
28370}
28371
28372// Fields allows partial responses to be retrieved. See
28373// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28374// for more information.
28375func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
28376	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28377	return c
28378}
28379
28380// Context sets the context to be used in this call's Do method. Any
28381// pending HTTP request will be aborted if the provided context is
28382// canceled.
28383func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
28384	c.ctx_ = ctx
28385	return c
28386}
28387
28388// Header returns an http.Header that can be modified by the caller to
28389// add HTTP headers to the request.
28390func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Header() http.Header {
28391	if c.header_ == nil {
28392		c.header_ = make(http.Header)
28393	}
28394	return c.header_
28395}
28396
28397func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) doRequest(alt string) (*http.Response, error) {
28398	reqHeaders := make(http.Header)
28399	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28400	for k, v := range c.header_ {
28401		reqHeaders[k] = v
28402	}
28403	reqHeaders.Set("User-Agent", c.s.userAgent())
28404	var body io.Reader = nil
28405	c.urlParams_.Set("alt", alt)
28406	c.urlParams_.Set("prettyPrint", "false")
28407	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}")
28408	urls += "?" + c.urlParams_.Encode()
28409	req, err := http.NewRequest("DELETE", urls, body)
28410	if err != nil {
28411		return nil, err
28412	}
28413	req.Header = reqHeaders
28414	googleapi.Expand(req.URL, map[string]string{
28415		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28416		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28417		"keywordValue":          c.keywordValue,
28418	})
28419	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28420}
28421
28422// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete" call.
28423// Exactly one of *Empty or error will be non-nil. Any non-2xx status
28424// code is an error. Response headers are in either
28425// *Empty.ServerResponse.Header or (if a response was returned at all)
28426// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28427// check whether the returned error was because http.StatusNotModified
28428// was returned.
28429func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
28430	gensupport.SetOptions(c.urlParams_, opts...)
28431	res, err := c.doRequest("json")
28432	if res != nil && res.StatusCode == http.StatusNotModified {
28433		if res.Body != nil {
28434			res.Body.Close()
28435		}
28436		return nil, &googleapi.Error{
28437			Code:   res.StatusCode,
28438			Header: res.Header,
28439		}
28440	}
28441	if err != nil {
28442		return nil, err
28443	}
28444	defer googleapi.CloseBody(res)
28445	if err := googleapi.CheckResponse(res); err != nil {
28446		return nil, err
28447	}
28448	ret := &Empty{
28449		ServerResponse: googleapi.ServerResponse{
28450			Header:         res.Header,
28451			HTTPStatusCode: res.StatusCode,
28452		},
28453	}
28454	target := &ret
28455	if err := gensupport.DecodeResponse(target, res); err != nil {
28456		return nil, err
28457	}
28458	return ret, nil
28459	// {
28460	//   "description": "Deletes a negative keyword from a negative keyword list.",
28461	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId}",
28462	//   "httpMethod": "DELETE",
28463	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete",
28464	//   "parameterOrder": [
28465	//     "advertiserId",
28466	//     "negativeKeywordListId",
28467	//     "keywordValue"
28468	//   ],
28469	//   "parameters": {
28470	//     "advertiserId": {
28471	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
28472	//       "format": "int64",
28473	//       "location": "path",
28474	//       "required": true,
28475	//       "type": "string"
28476	//     },
28477	//     "keywordValue": {
28478	//       "description": "Required. The keyword value of the negative keyword to delete.",
28479	//       "location": "path",
28480	//       "pattern": "^[^/]+$",
28481	//       "required": true,
28482	//       "type": "string"
28483	//     },
28484	//     "negativeKeywordListId": {
28485	//       "description": "Required. The ID of the parent negative keyword list to which the negative keyword belongs.",
28486	//       "format": "int64",
28487	//       "location": "path",
28488	//       "pattern": "^[^/]+$",
28489	//       "required": true,
28490	//       "type": "string"
28491	//     }
28492	//   },
28493	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}",
28494	//   "response": {
28495	//     "$ref": "Empty"
28496	//   },
28497	//   "scopes": [
28498	//     "https://www.googleapis.com/auth/display-video"
28499	//   ]
28500	// }
28501
28502}
28503
28504// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list":
28505
28506type AdvertisersNegativeKeywordListsNegativeKeywordsListCall struct {
28507	s                     *Service
28508	advertiserId          int64
28509	negativeKeywordListId int64
28510	urlParams_            gensupport.URLParams
28511	ifNoneMatch_          string
28512	ctx_                  context.Context
28513	header_               http.Header
28514}
28515
28516// List: Lists negative keywords in a negative keyword list.
28517//
28518// - advertiserId: The ID of the DV360 advertiser to which the parent
28519//   negative keyword list belongs.
28520// - negativeKeywordListId: The ID of the parent negative keyword list
28521//   to which the requested negative keywords belong.
28522func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) List(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28523	c := &AdvertisersNegativeKeywordListsNegativeKeywordsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28524	c.advertiserId = advertiserId
28525	c.negativeKeywordListId = negativeKeywordListId
28526	return c
28527}
28528
28529// Filter sets the optional parameter "filter": Allows filtering by
28530// negative keyword fields. Supported syntax: * Filter expressions for
28531// negative keyword currently can only contain at most one *
28532// restriction. * A restriction has the form of `{field} {operator}
28533// {value}`. * The operator must be `CONTAINS (:)`. * Supported fields:
28534// - `keywordValue` Examples: * All negative keywords for which the
28535// keyword value contains "google": `keywordValue : "google"
28536func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Filter(filter string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28537	c.urlParams_.Set("filter", filter)
28538	return c
28539}
28540
28541// OrderBy sets the optional parameter "orderBy": Field by which to sort
28542// the list. Acceptable values are: * `keywordValue` (default) The
28543// default sorting order is ascending. To specify descending order for a
28544// field, a suffix " desc" should be added to the field name. Example:
28545// `keywordValue desc`.
28546func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) OrderBy(orderBy string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28547	c.urlParams_.Set("orderBy", orderBy)
28548	return c
28549}
28550
28551// PageSize sets the optional parameter "pageSize": Requested page size.
28552// Must be between `1` and `1000`. If unspecified will default to `100`.
28553// Returns error code `INVALID_ARGUMENT` if an invalid value is
28554// specified.
28555func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28556	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28557	return c
28558}
28559
28560// PageToken sets the optional parameter "pageToken": A token
28561// identifying a page of results the server should return. Typically,
28562// this is the value of next_page_token returned from the previous call
28563// to `ListNegativeKeywords` method. If not specified, the first page of
28564// results will be returned.
28565func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28566	c.urlParams_.Set("pageToken", pageToken)
28567	return c
28568}
28569
28570// Fields allows partial responses to be retrieved. See
28571// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28572// for more information.
28573func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28574	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28575	return c
28576}
28577
28578// IfNoneMatch sets the optional parameter which makes the operation
28579// fail if the object's ETag matches the given value. This is useful for
28580// getting updates only after the object has changed since the last
28581// request. Use googleapi.IsNotModified to check whether the response
28582// error from Do is the result of In-None-Match.
28583func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28584	c.ifNoneMatch_ = entityTag
28585	return c
28586}
28587
28588// Context sets the context to be used in this call's Do method. Any
28589// pending HTTP request will be aborted if the provided context is
28590// canceled.
28591func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
28592	c.ctx_ = ctx
28593	return c
28594}
28595
28596// Header returns an http.Header that can be modified by the caller to
28597// add HTTP headers to the request.
28598func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Header() http.Header {
28599	if c.header_ == nil {
28600		c.header_ = make(http.Header)
28601	}
28602	return c.header_
28603}
28604
28605func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) doRequest(alt string) (*http.Response, error) {
28606	reqHeaders := make(http.Header)
28607	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28608	for k, v := range c.header_ {
28609		reqHeaders[k] = v
28610	}
28611	reqHeaders.Set("User-Agent", c.s.userAgent())
28612	if c.ifNoneMatch_ != "" {
28613		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28614	}
28615	var body io.Reader = nil
28616	c.urlParams_.Set("alt", alt)
28617	c.urlParams_.Set("prettyPrint", "false")
28618	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
28619	urls += "?" + c.urlParams_.Encode()
28620	req, err := http.NewRequest("GET", urls, body)
28621	if err != nil {
28622		return nil, err
28623	}
28624	req.Header = reqHeaders
28625	googleapi.Expand(req.URL, map[string]string{
28626		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28627		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28628	})
28629	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28630}
28631
28632// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list" call.
28633// Exactly one of *ListNegativeKeywordsResponse or error will be
28634// non-nil. Any non-2xx status code is an error. Response headers are in
28635// either *ListNegativeKeywordsResponse.ServerResponse.Header or (if a
28636// response was returned at all) in error.(*googleapi.Error).Header. Use
28637// googleapi.IsNotModified to check whether the returned error was
28638// because http.StatusNotModified was returned.
28639func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordsResponse, error) {
28640	gensupport.SetOptions(c.urlParams_, opts...)
28641	res, err := c.doRequest("json")
28642	if res != nil && res.StatusCode == http.StatusNotModified {
28643		if res.Body != nil {
28644			res.Body.Close()
28645		}
28646		return nil, &googleapi.Error{
28647			Code:   res.StatusCode,
28648			Header: res.Header,
28649		}
28650	}
28651	if err != nil {
28652		return nil, err
28653	}
28654	defer googleapi.CloseBody(res)
28655	if err := googleapi.CheckResponse(res); err != nil {
28656		return nil, err
28657	}
28658	ret := &ListNegativeKeywordsResponse{
28659		ServerResponse: googleapi.ServerResponse{
28660			Header:         res.Header,
28661			HTTPStatusCode: res.StatusCode,
28662		},
28663	}
28664	target := &ret
28665	if err := gensupport.DecodeResponse(target, res); err != nil {
28666		return nil, err
28667	}
28668	return ret, nil
28669	// {
28670	//   "description": "Lists negative keywords in a negative keyword list.",
28671	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords",
28672	//   "httpMethod": "GET",
28673	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list",
28674	//   "parameterOrder": [
28675	//     "advertiserId",
28676	//     "negativeKeywordListId"
28677	//   ],
28678	//   "parameters": {
28679	//     "advertiserId": {
28680	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
28681	//       "format": "int64",
28682	//       "location": "path",
28683	//       "pattern": "^[^/]+$",
28684	//       "required": true,
28685	//       "type": "string"
28686	//     },
28687	//     "filter": {
28688	//       "description": "Allows filtering by negative keyword fields. Supported syntax: * Filter expressions for negative keyword currently can only contain at most one * restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `keywordValue` Examples: * All negative keywords for which the keyword value contains \"google\": `keywordValue : \"google\"`",
28689	//       "location": "query",
28690	//       "type": "string"
28691	//     },
28692	//     "negativeKeywordListId": {
28693	//       "description": "Required. The ID of the parent negative keyword list to which the requested negative keywords belong.",
28694	//       "format": "int64",
28695	//       "location": "path",
28696	//       "pattern": "^[^/]+$",
28697	//       "required": true,
28698	//       "type": "string"
28699	//     },
28700	//     "orderBy": {
28701	//       "description": "Field by which to sort the list. Acceptable values are: * `keywordValue` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `keywordValue desc`.",
28702	//       "location": "query",
28703	//       "type": "string"
28704	//     },
28705	//     "pageSize": {
28706	//       "description": "Requested page size. Must be between `1` and `1000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
28707	//       "format": "int32",
28708	//       "location": "query",
28709	//       "type": "integer"
28710	//     },
28711	//     "pageToken": {
28712	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListNegativeKeywords` method. If not specified, the first page of results will be returned.",
28713	//       "location": "query",
28714	//       "type": "string"
28715	//     }
28716	//   },
28717	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
28718	//   "response": {
28719	//     "$ref": "ListNegativeKeywordsResponse"
28720	//   },
28721	//   "scopes": [
28722	//     "https://www.googleapis.com/auth/display-video"
28723	//   ]
28724	// }
28725
28726}
28727
28728// Pages invokes f for each page of results.
28729// A non-nil error returned from f will halt the iteration.
28730// The provided context supersedes any context provided to the Context method.
28731func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordsResponse) error) error {
28732	c.ctx_ = ctx
28733	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28734	for {
28735		x, err := c.Do()
28736		if err != nil {
28737			return err
28738		}
28739		if err := f(x); err != nil {
28740			return err
28741		}
28742		if x.NextPageToken == "" {
28743			return nil
28744		}
28745		c.PageToken(x.NextPageToken)
28746	}
28747}
28748
28749// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace":
28750
28751type AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall struct {
28752	s                              *Service
28753	advertiserId                   int64
28754	negativeKeywordListId          int64
28755	replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest
28756	urlParams_                     gensupport.URLParams
28757	ctx_                           context.Context
28758	header_                        http.Header
28759}
28760
28761// Replace: Replaces all negative keywords in a single negative keyword
28762// list. The operation will replace the keywords in a negative keyword
28763// list with keywords provided in
28764// ReplaceNegativeKeywordsRequest.new_negative_keywords.
28765//
28766// - advertiserId: The ID of the DV360 advertiser to which the parent
28767//   negative keyword list belongs.
28768// - negativeKeywordListId: The ID of the parent negative keyword list
28769//   to which the negative keywords belong.
28770func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Replace(advertiserId int64, negativeKeywordListId int64, replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
28771	c := &AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28772	c.advertiserId = advertiserId
28773	c.negativeKeywordListId = negativeKeywordListId
28774	c.replacenegativekeywordsrequest = replacenegativekeywordsrequest
28775	return c
28776}
28777
28778// Fields allows partial responses to be retrieved. See
28779// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28780// for more information.
28781func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
28782	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28783	return c
28784}
28785
28786// Context sets the context to be used in this call's Do method. Any
28787// pending HTTP request will be aborted if the provided context is
28788// canceled.
28789func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
28790	c.ctx_ = ctx
28791	return c
28792}
28793
28794// Header returns an http.Header that can be modified by the caller to
28795// add HTTP headers to the request.
28796func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Header() http.Header {
28797	if c.header_ == nil {
28798		c.header_ = make(http.Header)
28799	}
28800	return c.header_
28801}
28802
28803func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) doRequest(alt string) (*http.Response, error) {
28804	reqHeaders := make(http.Header)
28805	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28806	for k, v := range c.header_ {
28807		reqHeaders[k] = v
28808	}
28809	reqHeaders.Set("User-Agent", c.s.userAgent())
28810	var body io.Reader = nil
28811	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacenegativekeywordsrequest)
28812	if err != nil {
28813		return nil, err
28814	}
28815	reqHeaders.Set("Content-Type", "application/json")
28816	c.urlParams_.Set("alt", alt)
28817	c.urlParams_.Set("prettyPrint", "false")
28818	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace")
28819	urls += "?" + c.urlParams_.Encode()
28820	req, err := http.NewRequest("POST", urls, body)
28821	if err != nil {
28822		return nil, err
28823	}
28824	req.Header = reqHeaders
28825	googleapi.Expand(req.URL, map[string]string{
28826		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28827		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28828	})
28829	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28830}
28831
28832// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace" call.
28833// Exactly one of *ReplaceNegativeKeywordsResponse or error will be
28834// non-nil. Any non-2xx status code is an error. Response headers are in
28835// either *ReplaceNegativeKeywordsResponse.ServerResponse.Header or (if
28836// a response was returned at all) in error.(*googleapi.Error).Header.
28837// Use googleapi.IsNotModified to check whether the returned error was
28838// because http.StatusNotModified was returned.
28839func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceNegativeKeywordsResponse, error) {
28840	gensupport.SetOptions(c.urlParams_, opts...)
28841	res, err := c.doRequest("json")
28842	if res != nil && res.StatusCode == http.StatusNotModified {
28843		if res.Body != nil {
28844			res.Body.Close()
28845		}
28846		return nil, &googleapi.Error{
28847			Code:   res.StatusCode,
28848			Header: res.Header,
28849		}
28850	}
28851	if err != nil {
28852		return nil, err
28853	}
28854	defer googleapi.CloseBody(res)
28855	if err := googleapi.CheckResponse(res); err != nil {
28856		return nil, err
28857	}
28858	ret := &ReplaceNegativeKeywordsResponse{
28859		ServerResponse: googleapi.ServerResponse{
28860			Header:         res.Header,
28861			HTTPStatusCode: res.StatusCode,
28862		},
28863	}
28864	target := &ret
28865	if err := gensupport.DecodeResponse(target, res); err != nil {
28866		return nil, err
28867	}
28868	return ret, nil
28869	// {
28870	//   "description": "Replaces all negative keywords in a single negative keyword list. The operation will replace the keywords in a negative keyword list with keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords.",
28871	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:replace",
28872	//   "httpMethod": "POST",
28873	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace",
28874	//   "parameterOrder": [
28875	//     "advertiserId",
28876	//     "negativeKeywordListId"
28877	//   ],
28878	//   "parameters": {
28879	//     "advertiserId": {
28880	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
28881	//       "format": "int64",
28882	//       "location": "path",
28883	//       "required": true,
28884	//       "type": "string"
28885	//     },
28886	//     "negativeKeywordListId": {
28887	//       "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.",
28888	//       "format": "int64",
28889	//       "location": "path",
28890	//       "pattern": "^[^/]+$",
28891	//       "required": true,
28892	//       "type": "string"
28893	//     }
28894	//   },
28895	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace",
28896	//   "request": {
28897	//     "$ref": "ReplaceNegativeKeywordsRequest"
28898	//   },
28899	//   "response": {
28900	//     "$ref": "ReplaceNegativeKeywordsResponse"
28901	//   },
28902	//   "scopes": [
28903	//     "https://www.googleapis.com/auth/display-video"
28904	//   ]
28905	// }
28906
28907}
28908
28909// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create":
28910
28911type AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall struct {
28912	s                       *Service
28913	advertiserId            int64
28914	targetingType           string
28915	assignedtargetingoption *AssignedTargetingOption
28916	urlParams_              gensupport.URLParams
28917	ctx_                    context.Context
28918	header_                 http.Header
28919}
28920
28921// Create: Assigns a targeting option to an advertiser. Returns the
28922// assigned targeting option if successful.
28923//
28924// - advertiserId: The ID of the advertiser.
28925// - targetingType: Identifies the type of this assigned targeting
28926//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
28927//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
28928//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
28929func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
28930	c := &AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28931	c.advertiserId = advertiserId
28932	c.targetingType = targetingType
28933	c.assignedtargetingoption = assignedtargetingoption
28934	return c
28935}
28936
28937// Fields allows partial responses to be retrieved. See
28938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28939// for more information.
28940func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
28941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28942	return c
28943}
28944
28945// Context sets the context to be used in this call's Do method. Any
28946// pending HTTP request will be aborted if the provided context is
28947// canceled.
28948func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
28949	c.ctx_ = ctx
28950	return c
28951}
28952
28953// Header returns an http.Header that can be modified by the caller to
28954// add HTTP headers to the request.
28955func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
28956	if c.header_ == nil {
28957		c.header_ = make(http.Header)
28958	}
28959	return c.header_
28960}
28961
28962func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
28963	reqHeaders := make(http.Header)
28964	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
28965	for k, v := range c.header_ {
28966		reqHeaders[k] = v
28967	}
28968	reqHeaders.Set("User-Agent", c.s.userAgent())
28969	var body io.Reader = nil
28970	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
28971	if err != nil {
28972		return nil, err
28973	}
28974	reqHeaders.Set("Content-Type", "application/json")
28975	c.urlParams_.Set("alt", alt)
28976	c.urlParams_.Set("prettyPrint", "false")
28977	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
28978	urls += "?" + c.urlParams_.Encode()
28979	req, err := http.NewRequest("POST", urls, body)
28980	if err != nil {
28981		return nil, err
28982	}
28983	req.Header = reqHeaders
28984	googleapi.Expand(req.URL, map[string]string{
28985		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
28986		"targetingType": c.targetingType,
28987	})
28988	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28989}
28990
28991// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create" call.
28992// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
28993// non-2xx status code is an error. Response headers are in either
28994// *AssignedTargetingOption.ServerResponse.Header or (if a response was
28995// returned at all) in error.(*googleapi.Error).Header. Use
28996// googleapi.IsNotModified to check whether the returned error was
28997// because http.StatusNotModified was returned.
28998func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
28999	gensupport.SetOptions(c.urlParams_, opts...)
29000	res, err := c.doRequest("json")
29001	if res != nil && res.StatusCode == http.StatusNotModified {
29002		if res.Body != nil {
29003			res.Body.Close()
29004		}
29005		return nil, &googleapi.Error{
29006			Code:   res.StatusCode,
29007			Header: res.Header,
29008		}
29009	}
29010	if err != nil {
29011		return nil, err
29012	}
29013	defer googleapi.CloseBody(res)
29014	if err := googleapi.CheckResponse(res); err != nil {
29015		return nil, err
29016	}
29017	ret := &AssignedTargetingOption{
29018		ServerResponse: googleapi.ServerResponse{
29019			Header:         res.Header,
29020			HTTPStatusCode: res.StatusCode,
29021		},
29022	}
29023	target := &ret
29024	if err := gensupport.DecodeResponse(target, res); err != nil {
29025		return nil, err
29026	}
29027	return ret, nil
29028	// {
29029	//   "description": "Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful.",
29030	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
29031	//   "httpMethod": "POST",
29032	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create",
29033	//   "parameterOrder": [
29034	//     "advertiserId",
29035	//     "targetingType"
29036	//   ],
29037	//   "parameters": {
29038	//     "advertiserId": {
29039	//       "description": "Required. The ID of the advertiser.",
29040	//       "format": "int64",
29041	//       "location": "path",
29042	//       "pattern": "^[^/]+$",
29043	//       "required": true,
29044	//       "type": "string"
29045	//     },
29046	//     "targetingType": {
29047	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
29048	//       "enum": [
29049	//         "TARGETING_TYPE_UNSPECIFIED",
29050	//         "TARGETING_TYPE_CHANNEL",
29051	//         "TARGETING_TYPE_APP_CATEGORY",
29052	//         "TARGETING_TYPE_APP",
29053	//         "TARGETING_TYPE_URL",
29054	//         "TARGETING_TYPE_DAY_AND_TIME",
29055	//         "TARGETING_TYPE_AGE_RANGE",
29056	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
29057	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
29058	//         "TARGETING_TYPE_GENDER",
29059	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
29060	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
29061	//         "TARGETING_TYPE_PARENTAL_STATUS",
29062	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
29063	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
29064	//         "TARGETING_TYPE_DEVICE_TYPE",
29065	//         "TARGETING_TYPE_AUDIENCE_GROUP",
29066	//         "TARGETING_TYPE_BROWSER",
29067	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
29068	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
29069	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
29070	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
29071	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
29072	//         "TARGETING_TYPE_ENVIRONMENT",
29073	//         "TARGETING_TYPE_CARRIER_AND_ISP",
29074	//         "TARGETING_TYPE_OPERATING_SYSTEM",
29075	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
29076	//         "TARGETING_TYPE_KEYWORD",
29077	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
29078	//         "TARGETING_TYPE_VIEWABILITY",
29079	//         "TARGETING_TYPE_CATEGORY",
29080	//         "TARGETING_TYPE_INVENTORY_SOURCE",
29081	//         "TARGETING_TYPE_LANGUAGE",
29082	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
29083	//         "TARGETING_TYPE_GEO_REGION",
29084	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
29085	//         "TARGETING_TYPE_EXCHANGE",
29086	//         "TARGETING_TYPE_SUB_EXCHANGE",
29087	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
29088	//       ],
29089	//       "enumDescriptions": [
29090	//         "Default value when type is not specified or is unknown in this version.",
29091	//         "Target a channel (a custom group of related websites or apps).",
29092	//         "Target an app category (for example, education or puzzle games).",
29093	//         "Target a specific app (for example, Angry Birds).",
29094	//         "Target a specific url (for example, quora.com).",
29095	//         "Target ads during a chosen time period on a specific day.",
29096	//         "Target ads to a specific age range (for example, 18-24).",
29097	//         "Target ads to the specified regions on a regional location list.",
29098	//         "Target ads to the specified points of interest on a proximity location list.",
29099	//         "Target ads to a specific gender (for example, female or male).",
29100	//         "Target a specific video player size for video ads.",
29101	//         "Target user rewarded content for video ads.",
29102	//         "Target ads to a specific parental status (for example, parent or not a parent).",
29103	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
29104	//         "Target ads in a specific content outstream position.",
29105	//         "Target ads to a specific device type (for example, tablet or connected TV).",
29106	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
29107	//         "Target ads to specific web browsers (for example, Chrome).",
29108	//         "Target ads to a specific household income range (for example, top 10%).",
29109	//         "Target ads in a specific on screen position.",
29110	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
29111	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
29112	//         "Filter website content by sensitive categories (for example, adult).",
29113	//         "Target ads to a specific environment (for example, web or app).",
29114	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
29115	//         "Target ads to a specific operating system (for example, macOS).",
29116	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
29117	//         "Target ads to a specific keyword (for example, dog or retriever).",
29118	//         "Target ads to a specific negative keyword list.",
29119	//         "Target ads to a specific viewability (for example, 80% viewable).",
29120	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
29121	//         "Purchase impressions from specific deals and auction packages.",
29122	//         "Target ads to a specific language (for example, English or Japanese).",
29123	//         "Target ads to ads.txt authorized sellers.",
29124	//         "Target ads to a specific regional location (for example, a city or state).",
29125	//         "Purchase impressions from a group of deals and auction packages.",
29126	//         "Purchase impressions from specific exchanges.",
29127	//         "Purchase impressions from specific sub-exchanges.",
29128	//         "Target ads to a specific native content position."
29129	//       ],
29130	//       "location": "path",
29131	//       "pattern": "^[^/]+$",
29132	//       "required": true,
29133	//       "type": "string"
29134	//     }
29135	//   },
29136	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
29137	//   "request": {
29138	//     "$ref": "AssignedTargetingOption"
29139	//   },
29140	//   "response": {
29141	//     "$ref": "AssignedTargetingOption"
29142	//   },
29143	//   "scopes": [
29144	//     "https://www.googleapis.com/auth/display-video"
29145	//   ]
29146	// }
29147
29148}
29149
29150// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete":
29151
29152type AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
29153	s                         *Service
29154	advertiserId              int64
29155	targetingType             string
29156	assignedTargetingOptionId string
29157	urlParams_                gensupport.URLParams
29158	ctx_                      context.Context
29159	header_                   http.Header
29160}
29161
29162// Delete: Deletes an assigned targeting option from an advertiser.
29163//
29164// - advertiserId: The ID of the advertiser.
29165// - assignedTargetingOptionId: The ID of the assigned targeting option
29166//   to delete.
29167// - targetingType: Identifies the type of this assigned targeting
29168//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
29169//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
29170//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
29171func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
29172	c := &AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29173	c.advertiserId = advertiserId
29174	c.targetingType = targetingType
29175	c.assignedTargetingOptionId = assignedTargetingOptionId
29176	return c
29177}
29178
29179// Fields allows partial responses to be retrieved. See
29180// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29181// for more information.
29182func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
29183	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29184	return c
29185}
29186
29187// Context sets the context to be used in this call's Do method. Any
29188// pending HTTP request will be aborted if the provided context is
29189// canceled.
29190func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
29191	c.ctx_ = ctx
29192	return c
29193}
29194
29195// Header returns an http.Header that can be modified by the caller to
29196// add HTTP headers to the request.
29197func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
29198	if c.header_ == nil {
29199		c.header_ = make(http.Header)
29200	}
29201	return c.header_
29202}
29203
29204func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
29205	reqHeaders := make(http.Header)
29206	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29207	for k, v := range c.header_ {
29208		reqHeaders[k] = v
29209	}
29210	reqHeaders.Set("User-Agent", c.s.userAgent())
29211	var body io.Reader = nil
29212	c.urlParams_.Set("alt", alt)
29213	c.urlParams_.Set("prettyPrint", "false")
29214	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
29215	urls += "?" + c.urlParams_.Encode()
29216	req, err := http.NewRequest("DELETE", urls, body)
29217	if err != nil {
29218		return nil, err
29219	}
29220	req.Header = reqHeaders
29221	googleapi.Expand(req.URL, map[string]string{
29222		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
29223		"targetingType":             c.targetingType,
29224		"assignedTargetingOptionId": c.assignedTargetingOptionId,
29225	})
29226	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29227}
29228
29229// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete" call.
29230// Exactly one of *Empty or error will be non-nil. Any non-2xx status
29231// code is an error. Response headers are in either
29232// *Empty.ServerResponse.Header or (if a response was returned at all)
29233// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29234// check whether the returned error was because http.StatusNotModified
29235// was returned.
29236func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
29237	gensupport.SetOptions(c.urlParams_, opts...)
29238	res, err := c.doRequest("json")
29239	if res != nil && res.StatusCode == http.StatusNotModified {
29240		if res.Body != nil {
29241			res.Body.Close()
29242		}
29243		return nil, &googleapi.Error{
29244			Code:   res.StatusCode,
29245			Header: res.Header,
29246		}
29247	}
29248	if err != nil {
29249		return nil, err
29250	}
29251	defer googleapi.CloseBody(res)
29252	if err := googleapi.CheckResponse(res); err != nil {
29253		return nil, err
29254	}
29255	ret := &Empty{
29256		ServerResponse: googleapi.ServerResponse{
29257			Header:         res.Header,
29258			HTTPStatusCode: res.StatusCode,
29259		},
29260	}
29261	target := &ret
29262	if err := gensupport.DecodeResponse(target, res); err != nil {
29263		return nil, err
29264	}
29265	return ret, nil
29266	// {
29267	//   "description": "Deletes an assigned targeting option from an advertiser.",
29268	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
29269	//   "httpMethod": "DELETE",
29270	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete",
29271	//   "parameterOrder": [
29272	//     "advertiserId",
29273	//     "targetingType",
29274	//     "assignedTargetingOptionId"
29275	//   ],
29276	//   "parameters": {
29277	//     "advertiserId": {
29278	//       "description": "Required. The ID of the advertiser.",
29279	//       "format": "int64",
29280	//       "location": "path",
29281	//       "pattern": "^[^/]+$",
29282	//       "required": true,
29283	//       "type": "string"
29284	//     },
29285	//     "assignedTargetingOptionId": {
29286	//       "description": "Required. The ID of the assigned targeting option to delete.",
29287	//       "location": "path",
29288	//       "pattern": "^[^/]+$",
29289	//       "required": true,
29290	//       "type": "string"
29291	//     },
29292	//     "targetingType": {
29293	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
29294	//       "enum": [
29295	//         "TARGETING_TYPE_UNSPECIFIED",
29296	//         "TARGETING_TYPE_CHANNEL",
29297	//         "TARGETING_TYPE_APP_CATEGORY",
29298	//         "TARGETING_TYPE_APP",
29299	//         "TARGETING_TYPE_URL",
29300	//         "TARGETING_TYPE_DAY_AND_TIME",
29301	//         "TARGETING_TYPE_AGE_RANGE",
29302	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
29303	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
29304	//         "TARGETING_TYPE_GENDER",
29305	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
29306	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
29307	//         "TARGETING_TYPE_PARENTAL_STATUS",
29308	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
29309	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
29310	//         "TARGETING_TYPE_DEVICE_TYPE",
29311	//         "TARGETING_TYPE_AUDIENCE_GROUP",
29312	//         "TARGETING_TYPE_BROWSER",
29313	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
29314	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
29315	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
29316	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
29317	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
29318	//         "TARGETING_TYPE_ENVIRONMENT",
29319	//         "TARGETING_TYPE_CARRIER_AND_ISP",
29320	//         "TARGETING_TYPE_OPERATING_SYSTEM",
29321	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
29322	//         "TARGETING_TYPE_KEYWORD",
29323	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
29324	//         "TARGETING_TYPE_VIEWABILITY",
29325	//         "TARGETING_TYPE_CATEGORY",
29326	//         "TARGETING_TYPE_INVENTORY_SOURCE",
29327	//         "TARGETING_TYPE_LANGUAGE",
29328	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
29329	//         "TARGETING_TYPE_GEO_REGION",
29330	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
29331	//         "TARGETING_TYPE_EXCHANGE",
29332	//         "TARGETING_TYPE_SUB_EXCHANGE",
29333	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
29334	//       ],
29335	//       "enumDescriptions": [
29336	//         "Default value when type is not specified or is unknown in this version.",
29337	//         "Target a channel (a custom group of related websites or apps).",
29338	//         "Target an app category (for example, education or puzzle games).",
29339	//         "Target a specific app (for example, Angry Birds).",
29340	//         "Target a specific url (for example, quora.com).",
29341	//         "Target ads during a chosen time period on a specific day.",
29342	//         "Target ads to a specific age range (for example, 18-24).",
29343	//         "Target ads to the specified regions on a regional location list.",
29344	//         "Target ads to the specified points of interest on a proximity location list.",
29345	//         "Target ads to a specific gender (for example, female or male).",
29346	//         "Target a specific video player size for video ads.",
29347	//         "Target user rewarded content for video ads.",
29348	//         "Target ads to a specific parental status (for example, parent or not a parent).",
29349	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
29350	//         "Target ads in a specific content outstream position.",
29351	//         "Target ads to a specific device type (for example, tablet or connected TV).",
29352	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
29353	//         "Target ads to specific web browsers (for example, Chrome).",
29354	//         "Target ads to a specific household income range (for example, top 10%).",
29355	//         "Target ads in a specific on screen position.",
29356	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
29357	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
29358	//         "Filter website content by sensitive categories (for example, adult).",
29359	//         "Target ads to a specific environment (for example, web or app).",
29360	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
29361	//         "Target ads to a specific operating system (for example, macOS).",
29362	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
29363	//         "Target ads to a specific keyword (for example, dog or retriever).",
29364	//         "Target ads to a specific negative keyword list.",
29365	//         "Target ads to a specific viewability (for example, 80% viewable).",
29366	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
29367	//         "Purchase impressions from specific deals and auction packages.",
29368	//         "Target ads to a specific language (for example, English or Japanese).",
29369	//         "Target ads to ads.txt authorized sellers.",
29370	//         "Target ads to a specific regional location (for example, a city or state).",
29371	//         "Purchase impressions from a group of deals and auction packages.",
29372	//         "Purchase impressions from specific exchanges.",
29373	//         "Purchase impressions from specific sub-exchanges.",
29374	//         "Target ads to a specific native content position."
29375	//       ],
29376	//       "location": "path",
29377	//       "pattern": "^[^/]+$",
29378	//       "required": true,
29379	//       "type": "string"
29380	//     }
29381	//   },
29382	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
29383	//   "response": {
29384	//     "$ref": "Empty"
29385	//   },
29386	//   "scopes": [
29387	//     "https://www.googleapis.com/auth/display-video"
29388	//   ]
29389	// }
29390
29391}
29392
29393// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get":
29394
29395type AdvertisersTargetingTypesAssignedTargetingOptionsGetCall struct {
29396	s                         *Service
29397	advertiserId              int64
29398	targetingType             string
29399	assignedTargetingOptionId string
29400	urlParams_                gensupport.URLParams
29401	ifNoneMatch_              string
29402	ctx_                      context.Context
29403	header_                   http.Header
29404}
29405
29406// Get: Gets a single targeting option assigned to an advertiser.
29407//
29408// - advertiserId: The ID of the advertiser.
29409// - assignedTargetingOptionId: An identifier unique to the targeting
29410//   type in this advertiser that identifies the assigned targeting
29411//   option being requested.
29412// - targetingType: Identifies the type of this assigned targeting
29413//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
29414//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
29415//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
29416func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
29417	c := &AdvertisersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29418	c.advertiserId = advertiserId
29419	c.targetingType = targetingType
29420	c.assignedTargetingOptionId = assignedTargetingOptionId
29421	return c
29422}
29423
29424// Fields allows partial responses to be retrieved. See
29425// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29426// for more information.
29427func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
29428	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29429	return c
29430}
29431
29432// IfNoneMatch sets the optional parameter which makes the operation
29433// fail if the object's ETag matches the given value. This is useful for
29434// getting updates only after the object has changed since the last
29435// request. Use googleapi.IsNotModified to check whether the response
29436// error from Do is the result of In-None-Match.
29437func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
29438	c.ifNoneMatch_ = entityTag
29439	return c
29440}
29441
29442// Context sets the context to be used in this call's Do method. Any
29443// pending HTTP request will be aborted if the provided context is
29444// canceled.
29445func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
29446	c.ctx_ = ctx
29447	return c
29448}
29449
29450// Header returns an http.Header that can be modified by the caller to
29451// add HTTP headers to the request.
29452func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
29453	if c.header_ == nil {
29454		c.header_ = make(http.Header)
29455	}
29456	return c.header_
29457}
29458
29459func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
29460	reqHeaders := make(http.Header)
29461	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29462	for k, v := range c.header_ {
29463		reqHeaders[k] = v
29464	}
29465	reqHeaders.Set("User-Agent", c.s.userAgent())
29466	if c.ifNoneMatch_ != "" {
29467		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29468	}
29469	var body io.Reader = nil
29470	c.urlParams_.Set("alt", alt)
29471	c.urlParams_.Set("prettyPrint", "false")
29472	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
29473	urls += "?" + c.urlParams_.Encode()
29474	req, err := http.NewRequest("GET", urls, body)
29475	if err != nil {
29476		return nil, err
29477	}
29478	req.Header = reqHeaders
29479	googleapi.Expand(req.URL, map[string]string{
29480		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
29481		"targetingType":             c.targetingType,
29482		"assignedTargetingOptionId": c.assignedTargetingOptionId,
29483	})
29484	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29485}
29486
29487// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get" call.
29488// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
29489// non-2xx status code is an error. Response headers are in either
29490// *AssignedTargetingOption.ServerResponse.Header or (if a response was
29491// returned at all) in error.(*googleapi.Error).Header. Use
29492// googleapi.IsNotModified to check whether the returned error was
29493// because http.StatusNotModified was returned.
29494func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
29495	gensupport.SetOptions(c.urlParams_, opts...)
29496	res, err := c.doRequest("json")
29497	if res != nil && res.StatusCode == http.StatusNotModified {
29498		if res.Body != nil {
29499			res.Body.Close()
29500		}
29501		return nil, &googleapi.Error{
29502			Code:   res.StatusCode,
29503			Header: res.Header,
29504		}
29505	}
29506	if err != nil {
29507		return nil, err
29508	}
29509	defer googleapi.CloseBody(res)
29510	if err := googleapi.CheckResponse(res); err != nil {
29511		return nil, err
29512	}
29513	ret := &AssignedTargetingOption{
29514		ServerResponse: googleapi.ServerResponse{
29515			Header:         res.Header,
29516			HTTPStatusCode: res.StatusCode,
29517		},
29518	}
29519	target := &ret
29520	if err := gensupport.DecodeResponse(target, res); err != nil {
29521		return nil, err
29522	}
29523	return ret, nil
29524	// {
29525	//   "description": "Gets a single targeting option assigned to an advertiser.",
29526	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
29527	//   "httpMethod": "GET",
29528	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get",
29529	//   "parameterOrder": [
29530	//     "advertiserId",
29531	//     "targetingType",
29532	//     "assignedTargetingOptionId"
29533	//   ],
29534	//   "parameters": {
29535	//     "advertiserId": {
29536	//       "description": "Required. The ID of the advertiser.",
29537	//       "format": "int64",
29538	//       "location": "path",
29539	//       "pattern": "^[^/]+$",
29540	//       "required": true,
29541	//       "type": "string"
29542	//     },
29543	//     "assignedTargetingOptionId": {
29544	//       "description": "Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested.",
29545	//       "location": "path",
29546	//       "pattern": "^[^/]+$",
29547	//       "required": true,
29548	//       "type": "string"
29549	//     },
29550	//     "targetingType": {
29551	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
29552	//       "enum": [
29553	//         "TARGETING_TYPE_UNSPECIFIED",
29554	//         "TARGETING_TYPE_CHANNEL",
29555	//         "TARGETING_TYPE_APP_CATEGORY",
29556	//         "TARGETING_TYPE_APP",
29557	//         "TARGETING_TYPE_URL",
29558	//         "TARGETING_TYPE_DAY_AND_TIME",
29559	//         "TARGETING_TYPE_AGE_RANGE",
29560	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
29561	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
29562	//         "TARGETING_TYPE_GENDER",
29563	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
29564	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
29565	//         "TARGETING_TYPE_PARENTAL_STATUS",
29566	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
29567	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
29568	//         "TARGETING_TYPE_DEVICE_TYPE",
29569	//         "TARGETING_TYPE_AUDIENCE_GROUP",
29570	//         "TARGETING_TYPE_BROWSER",
29571	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
29572	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
29573	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
29574	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
29575	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
29576	//         "TARGETING_TYPE_ENVIRONMENT",
29577	//         "TARGETING_TYPE_CARRIER_AND_ISP",
29578	//         "TARGETING_TYPE_OPERATING_SYSTEM",
29579	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
29580	//         "TARGETING_TYPE_KEYWORD",
29581	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
29582	//         "TARGETING_TYPE_VIEWABILITY",
29583	//         "TARGETING_TYPE_CATEGORY",
29584	//         "TARGETING_TYPE_INVENTORY_SOURCE",
29585	//         "TARGETING_TYPE_LANGUAGE",
29586	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
29587	//         "TARGETING_TYPE_GEO_REGION",
29588	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
29589	//         "TARGETING_TYPE_EXCHANGE",
29590	//         "TARGETING_TYPE_SUB_EXCHANGE",
29591	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
29592	//       ],
29593	//       "enumDescriptions": [
29594	//         "Default value when type is not specified or is unknown in this version.",
29595	//         "Target a channel (a custom group of related websites or apps).",
29596	//         "Target an app category (for example, education or puzzle games).",
29597	//         "Target a specific app (for example, Angry Birds).",
29598	//         "Target a specific url (for example, quora.com).",
29599	//         "Target ads during a chosen time period on a specific day.",
29600	//         "Target ads to a specific age range (for example, 18-24).",
29601	//         "Target ads to the specified regions on a regional location list.",
29602	//         "Target ads to the specified points of interest on a proximity location list.",
29603	//         "Target ads to a specific gender (for example, female or male).",
29604	//         "Target a specific video player size for video ads.",
29605	//         "Target user rewarded content for video ads.",
29606	//         "Target ads to a specific parental status (for example, parent or not a parent).",
29607	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
29608	//         "Target ads in a specific content outstream position.",
29609	//         "Target ads to a specific device type (for example, tablet or connected TV).",
29610	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
29611	//         "Target ads to specific web browsers (for example, Chrome).",
29612	//         "Target ads to a specific household income range (for example, top 10%).",
29613	//         "Target ads in a specific on screen position.",
29614	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
29615	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
29616	//         "Filter website content by sensitive categories (for example, adult).",
29617	//         "Target ads to a specific environment (for example, web or app).",
29618	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
29619	//         "Target ads to a specific operating system (for example, macOS).",
29620	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
29621	//         "Target ads to a specific keyword (for example, dog or retriever).",
29622	//         "Target ads to a specific negative keyword list.",
29623	//         "Target ads to a specific viewability (for example, 80% viewable).",
29624	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
29625	//         "Purchase impressions from specific deals and auction packages.",
29626	//         "Target ads to a specific language (for example, English or Japanese).",
29627	//         "Target ads to ads.txt authorized sellers.",
29628	//         "Target ads to a specific regional location (for example, a city or state).",
29629	//         "Purchase impressions from a group of deals and auction packages.",
29630	//         "Purchase impressions from specific exchanges.",
29631	//         "Purchase impressions from specific sub-exchanges.",
29632	//         "Target ads to a specific native content position."
29633	//       ],
29634	//       "location": "path",
29635	//       "pattern": "^[^/]+$",
29636	//       "required": true,
29637	//       "type": "string"
29638	//     }
29639	//   },
29640	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
29641	//   "response": {
29642	//     "$ref": "AssignedTargetingOption"
29643	//   },
29644	//   "scopes": [
29645	//     "https://www.googleapis.com/auth/display-video"
29646	//   ]
29647	// }
29648
29649}
29650
29651// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list":
29652
29653type AdvertisersTargetingTypesAssignedTargetingOptionsListCall struct {
29654	s             *Service
29655	advertiserId  int64
29656	targetingType string
29657	urlParams_    gensupport.URLParams
29658	ifNoneMatch_  string
29659	ctx_          context.Context
29660	header_       http.Header
29661}
29662
29663// List: Lists the targeting options assigned to an advertiser.
29664//
29665// - advertiserId: The ID of the advertiser.
29666// - targetingType: Identifies the type of assigned targeting options to
29667//   list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
29668//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
29669//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
29670func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, targetingType string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29671	c := &AdvertisersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29672	c.advertiserId = advertiserId
29673	c.targetingType = targetingType
29674	return c
29675}
29676
29677// Filter sets the optional parameter "filter": Allows filtering by
29678// assigned targeting option properties. Supported syntax: * Filter
29679// expressions are made up of one or more restrictions. * Restrictions
29680// can be combined by the logical operator `OR`. * A restriction has the
29681// form of `{field} {operator} {value}`. * The operator must be `EQUALS
29682// (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: *
29683// AssignedTargetingOption with ID 123456
29684// `assignedTargetingOptionId="123456" The length of this field should
29685// be no more than 500 characters.
29686func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29687	c.urlParams_.Set("filter", filter)
29688	return c
29689}
29690
29691// OrderBy sets the optional parameter "orderBy": Field by which to sort
29692// the list. Acceptable values are: * `assignedTargetingOptionId`
29693// (default) The default sorting order is ascending. To specify
29694// descending order for a field, a suffix "desc" should be added to the
29695// field name. Example: `assignedTargetingOptionId desc`.
29696func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29697	c.urlParams_.Set("orderBy", orderBy)
29698	return c
29699}
29700
29701// PageSize sets the optional parameter "pageSize": Requested page size.
29702// Must be between `1` and `100`. If unspecified will default to `100`.
29703// Returns error code `INVALID_ARGUMENT` if an invalid value is
29704// specified.
29705func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29706	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29707	return c
29708}
29709
29710// PageToken sets the optional parameter "pageToken": A token
29711// identifying a page of results the server should return. Typically,
29712// this is the value of next_page_token returned from the previous call
29713// to `ListAdvertiserAssignedTargetingOptions` method. If not specified,
29714// the first page of results will be returned.
29715func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29716	c.urlParams_.Set("pageToken", pageToken)
29717	return c
29718}
29719
29720// Fields allows partial responses to be retrieved. See
29721// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29722// for more information.
29723func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29724	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29725	return c
29726}
29727
29728// IfNoneMatch sets the optional parameter which makes the operation
29729// fail if the object's ETag matches the given value. This is useful for
29730// getting updates only after the object has changed since the last
29731// request. Use googleapi.IsNotModified to check whether the response
29732// error from Do is the result of In-None-Match.
29733func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29734	c.ifNoneMatch_ = entityTag
29735	return c
29736}
29737
29738// Context sets the context to be used in this call's Do method. Any
29739// pending HTTP request will be aborted if the provided context is
29740// canceled.
29741func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
29742	c.ctx_ = ctx
29743	return c
29744}
29745
29746// Header returns an http.Header that can be modified by the caller to
29747// add HTTP headers to the request.
29748func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
29749	if c.header_ == nil {
29750		c.header_ = make(http.Header)
29751	}
29752	return c.header_
29753}
29754
29755func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
29756	reqHeaders := make(http.Header)
29757	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
29758	for k, v := range c.header_ {
29759		reqHeaders[k] = v
29760	}
29761	reqHeaders.Set("User-Agent", c.s.userAgent())
29762	if c.ifNoneMatch_ != "" {
29763		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29764	}
29765	var body io.Reader = nil
29766	c.urlParams_.Set("alt", alt)
29767	c.urlParams_.Set("prettyPrint", "false")
29768	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
29769	urls += "?" + c.urlParams_.Encode()
29770	req, err := http.NewRequest("GET", urls, body)
29771	if err != nil {
29772		return nil, err
29773	}
29774	req.Header = reqHeaders
29775	googleapi.Expand(req.URL, map[string]string{
29776		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
29777		"targetingType": c.targetingType,
29778	})
29779	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29780}
29781
29782// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list" call.
29783// Exactly one of *ListAdvertiserAssignedTargetingOptionsResponse or
29784// error will be non-nil. Any non-2xx status code is an error. Response
29785// headers are in either
29786// *ListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header
29787// or (if a response was returned at all) in
29788// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29789// whether the returned error was because http.StatusNotModified was
29790// returned.
29791func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListAdvertiserAssignedTargetingOptionsResponse, error) {
29792	gensupport.SetOptions(c.urlParams_, opts...)
29793	res, err := c.doRequest("json")
29794	if res != nil && res.StatusCode == http.StatusNotModified {
29795		if res.Body != nil {
29796			res.Body.Close()
29797		}
29798		return nil, &googleapi.Error{
29799			Code:   res.StatusCode,
29800			Header: res.Header,
29801		}
29802	}
29803	if err != nil {
29804		return nil, err
29805	}
29806	defer googleapi.CloseBody(res)
29807	if err := googleapi.CheckResponse(res); err != nil {
29808		return nil, err
29809	}
29810	ret := &ListAdvertiserAssignedTargetingOptionsResponse{
29811		ServerResponse: googleapi.ServerResponse{
29812			Header:         res.Header,
29813			HTTPStatusCode: res.StatusCode,
29814		},
29815	}
29816	target := &ret
29817	if err := gensupport.DecodeResponse(target, res); err != nil {
29818		return nil, err
29819	}
29820	return ret, nil
29821	// {
29822	//   "description": "Lists the targeting options assigned to an advertiser.",
29823	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
29824	//   "httpMethod": "GET",
29825	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list",
29826	//   "parameterOrder": [
29827	//     "advertiserId",
29828	//     "targetingType"
29829	//   ],
29830	//   "parameters": {
29831	//     "advertiserId": {
29832	//       "description": "Required. The ID of the advertiser.",
29833	//       "format": "int64",
29834	//       "location": "path",
29835	//       "pattern": "^[^/]+$",
29836	//       "required": true,
29837	//       "type": "string"
29838	//     },
29839	//     "filter": {
29840	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: * AssignedTargetingOption with ID 123456 `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters.",
29841	//       "location": "query",
29842	//       "type": "string"
29843	//     },
29844	//     "orderBy": {
29845	//       "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.",
29846	//       "location": "query",
29847	//       "type": "string"
29848	//     },
29849	//     "pageSize": {
29850	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
29851	//       "format": "int32",
29852	//       "location": "query",
29853	//       "type": "integer"
29854	//     },
29855	//     "pageToken": {
29856	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
29857	//       "location": "query",
29858	//       "type": "string"
29859	//     },
29860	//     "targetingType": {
29861	//       "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
29862	//       "enum": [
29863	//         "TARGETING_TYPE_UNSPECIFIED",
29864	//         "TARGETING_TYPE_CHANNEL",
29865	//         "TARGETING_TYPE_APP_CATEGORY",
29866	//         "TARGETING_TYPE_APP",
29867	//         "TARGETING_TYPE_URL",
29868	//         "TARGETING_TYPE_DAY_AND_TIME",
29869	//         "TARGETING_TYPE_AGE_RANGE",
29870	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
29871	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
29872	//         "TARGETING_TYPE_GENDER",
29873	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
29874	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
29875	//         "TARGETING_TYPE_PARENTAL_STATUS",
29876	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
29877	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
29878	//         "TARGETING_TYPE_DEVICE_TYPE",
29879	//         "TARGETING_TYPE_AUDIENCE_GROUP",
29880	//         "TARGETING_TYPE_BROWSER",
29881	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
29882	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
29883	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
29884	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
29885	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
29886	//         "TARGETING_TYPE_ENVIRONMENT",
29887	//         "TARGETING_TYPE_CARRIER_AND_ISP",
29888	//         "TARGETING_TYPE_OPERATING_SYSTEM",
29889	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
29890	//         "TARGETING_TYPE_KEYWORD",
29891	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
29892	//         "TARGETING_TYPE_VIEWABILITY",
29893	//         "TARGETING_TYPE_CATEGORY",
29894	//         "TARGETING_TYPE_INVENTORY_SOURCE",
29895	//         "TARGETING_TYPE_LANGUAGE",
29896	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
29897	//         "TARGETING_TYPE_GEO_REGION",
29898	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
29899	//         "TARGETING_TYPE_EXCHANGE",
29900	//         "TARGETING_TYPE_SUB_EXCHANGE",
29901	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
29902	//       ],
29903	//       "enumDescriptions": [
29904	//         "Default value when type is not specified or is unknown in this version.",
29905	//         "Target a channel (a custom group of related websites or apps).",
29906	//         "Target an app category (for example, education or puzzle games).",
29907	//         "Target a specific app (for example, Angry Birds).",
29908	//         "Target a specific url (for example, quora.com).",
29909	//         "Target ads during a chosen time period on a specific day.",
29910	//         "Target ads to a specific age range (for example, 18-24).",
29911	//         "Target ads to the specified regions on a regional location list.",
29912	//         "Target ads to the specified points of interest on a proximity location list.",
29913	//         "Target ads to a specific gender (for example, female or male).",
29914	//         "Target a specific video player size for video ads.",
29915	//         "Target user rewarded content for video ads.",
29916	//         "Target ads to a specific parental status (for example, parent or not a parent).",
29917	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
29918	//         "Target ads in a specific content outstream position.",
29919	//         "Target ads to a specific device type (for example, tablet or connected TV).",
29920	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
29921	//         "Target ads to specific web browsers (for example, Chrome).",
29922	//         "Target ads to a specific household income range (for example, top 10%).",
29923	//         "Target ads in a specific on screen position.",
29924	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
29925	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
29926	//         "Filter website content by sensitive categories (for example, adult).",
29927	//         "Target ads to a specific environment (for example, web or app).",
29928	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
29929	//         "Target ads to a specific operating system (for example, macOS).",
29930	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
29931	//         "Target ads to a specific keyword (for example, dog or retriever).",
29932	//         "Target ads to a specific negative keyword list.",
29933	//         "Target ads to a specific viewability (for example, 80% viewable).",
29934	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
29935	//         "Purchase impressions from specific deals and auction packages.",
29936	//         "Target ads to a specific language (for example, English or Japanese).",
29937	//         "Target ads to ads.txt authorized sellers.",
29938	//         "Target ads to a specific regional location (for example, a city or state).",
29939	//         "Purchase impressions from a group of deals and auction packages.",
29940	//         "Purchase impressions from specific exchanges.",
29941	//         "Purchase impressions from specific sub-exchanges.",
29942	//         "Target ads to a specific native content position."
29943	//       ],
29944	//       "location": "path",
29945	//       "pattern": "^[^/]+$",
29946	//       "required": true,
29947	//       "type": "string"
29948	//     }
29949	//   },
29950	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
29951	//   "response": {
29952	//     "$ref": "ListAdvertiserAssignedTargetingOptionsResponse"
29953	//   },
29954	//   "scopes": [
29955	//     "https://www.googleapis.com/auth/display-video"
29956	//   ]
29957	// }
29958
29959}
29960
29961// Pages invokes f for each page of results.
29962// A non-nil error returned from f will halt the iteration.
29963// The provided context supersedes any context provided to the Context method.
29964func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListAdvertiserAssignedTargetingOptionsResponse) error) error {
29965	c.ctx_ = ctx
29966	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29967	for {
29968		x, err := c.Do()
29969		if err != nil {
29970			return err
29971		}
29972		if err := f(x); err != nil {
29973			return err
29974		}
29975		if x.NextPageToken == "" {
29976			return nil
29977		}
29978		c.PageToken(x.NextPageToken)
29979	}
29980}
29981
29982// method id "displayvideo.combinedAudiences.get":
29983
29984type CombinedAudiencesGetCall struct {
29985	s                  *Service
29986	combinedAudienceId int64
29987	urlParams_         gensupport.URLParams
29988	ifNoneMatch_       string
29989	ctx_               context.Context
29990	header_            http.Header
29991}
29992
29993// Get: Gets a combined audience.
29994//
29995// - combinedAudienceId: The ID of the combined audience to fetch.
29996func (r *CombinedAudiencesService) Get(combinedAudienceId int64) *CombinedAudiencesGetCall {
29997	c := &CombinedAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29998	c.combinedAudienceId = combinedAudienceId
29999	return c
30000}
30001
30002// AdvertiserId sets the optional parameter "advertiserId": The ID of
30003// the advertiser that has access to the fetched combined audience.
30004func (c *CombinedAudiencesGetCall) AdvertiserId(advertiserId int64) *CombinedAudiencesGetCall {
30005	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30006	return c
30007}
30008
30009// PartnerId sets the optional parameter "partnerId": The ID of the
30010// partner that has access to the fetched combined audience.
30011func (c *CombinedAudiencesGetCall) PartnerId(partnerId int64) *CombinedAudiencesGetCall {
30012	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
30013	return c
30014}
30015
30016// Fields allows partial responses to be retrieved. See
30017// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30018// for more information.
30019func (c *CombinedAudiencesGetCall) Fields(s ...googleapi.Field) *CombinedAudiencesGetCall {
30020	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30021	return c
30022}
30023
30024// IfNoneMatch sets the optional parameter which makes the operation
30025// fail if the object's ETag matches the given value. This is useful for
30026// getting updates only after the object has changed since the last
30027// request. Use googleapi.IsNotModified to check whether the response
30028// error from Do is the result of In-None-Match.
30029func (c *CombinedAudiencesGetCall) IfNoneMatch(entityTag string) *CombinedAudiencesGetCall {
30030	c.ifNoneMatch_ = entityTag
30031	return c
30032}
30033
30034// Context sets the context to be used in this call's Do method. Any
30035// pending HTTP request will be aborted if the provided context is
30036// canceled.
30037func (c *CombinedAudiencesGetCall) Context(ctx context.Context) *CombinedAudiencesGetCall {
30038	c.ctx_ = ctx
30039	return c
30040}
30041
30042// Header returns an http.Header that can be modified by the caller to
30043// add HTTP headers to the request.
30044func (c *CombinedAudiencesGetCall) Header() http.Header {
30045	if c.header_ == nil {
30046		c.header_ = make(http.Header)
30047	}
30048	return c.header_
30049}
30050
30051func (c *CombinedAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
30052	reqHeaders := make(http.Header)
30053	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30054	for k, v := range c.header_ {
30055		reqHeaders[k] = v
30056	}
30057	reqHeaders.Set("User-Agent", c.s.userAgent())
30058	if c.ifNoneMatch_ != "" {
30059		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30060	}
30061	var body io.Reader = nil
30062	c.urlParams_.Set("alt", alt)
30063	c.urlParams_.Set("prettyPrint", "false")
30064	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/combinedAudiences/{+combinedAudienceId}")
30065	urls += "?" + c.urlParams_.Encode()
30066	req, err := http.NewRequest("GET", urls, body)
30067	if err != nil {
30068		return nil, err
30069	}
30070	req.Header = reqHeaders
30071	googleapi.Expand(req.URL, map[string]string{
30072		"combinedAudienceId": strconv.FormatInt(c.combinedAudienceId, 10),
30073	})
30074	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30075}
30076
30077// Do executes the "displayvideo.combinedAudiences.get" call.
30078// Exactly one of *CombinedAudience or error will be non-nil. Any
30079// non-2xx status code is an error. Response headers are in either
30080// *CombinedAudience.ServerResponse.Header or (if a response was
30081// returned at all) in error.(*googleapi.Error).Header. Use
30082// googleapi.IsNotModified to check whether the returned error was
30083// because http.StatusNotModified was returned.
30084func (c *CombinedAudiencesGetCall) Do(opts ...googleapi.CallOption) (*CombinedAudience, error) {
30085	gensupport.SetOptions(c.urlParams_, opts...)
30086	res, err := c.doRequest("json")
30087	if res != nil && res.StatusCode == http.StatusNotModified {
30088		if res.Body != nil {
30089			res.Body.Close()
30090		}
30091		return nil, &googleapi.Error{
30092			Code:   res.StatusCode,
30093			Header: res.Header,
30094		}
30095	}
30096	if err != nil {
30097		return nil, err
30098	}
30099	defer googleapi.CloseBody(res)
30100	if err := googleapi.CheckResponse(res); err != nil {
30101		return nil, err
30102	}
30103	ret := &CombinedAudience{
30104		ServerResponse: googleapi.ServerResponse{
30105			Header:         res.Header,
30106			HTTPStatusCode: res.StatusCode,
30107		},
30108	}
30109	target := &ret
30110	if err := gensupport.DecodeResponse(target, res); err != nil {
30111		return nil, err
30112	}
30113	return ret, nil
30114	// {
30115	//   "description": "Gets a combined audience.",
30116	//   "flatPath": "v1/combinedAudiences/{combinedAudiencesId}",
30117	//   "httpMethod": "GET",
30118	//   "id": "displayvideo.combinedAudiences.get",
30119	//   "parameterOrder": [
30120	//     "combinedAudienceId"
30121	//   ],
30122	//   "parameters": {
30123	//     "advertiserId": {
30124	//       "description": "The ID of the advertiser that has access to the fetched combined audience.",
30125	//       "format": "int64",
30126	//       "location": "query",
30127	//       "type": "string"
30128	//     },
30129	//     "combinedAudienceId": {
30130	//       "description": "Required. The ID of the combined audience to fetch.",
30131	//       "format": "int64",
30132	//       "location": "path",
30133	//       "pattern": "^[^/]+$",
30134	//       "required": true,
30135	//       "type": "string"
30136	//     },
30137	//     "partnerId": {
30138	//       "description": "The ID of the partner that has access to the fetched combined audience.",
30139	//       "format": "int64",
30140	//       "location": "query",
30141	//       "type": "string"
30142	//     }
30143	//   },
30144	//   "path": "v1/combinedAudiences/{+combinedAudienceId}",
30145	//   "response": {
30146	//     "$ref": "CombinedAudience"
30147	//   },
30148	//   "scopes": [
30149	//     "https://www.googleapis.com/auth/display-video"
30150	//   ]
30151	// }
30152
30153}
30154
30155// method id "displayvideo.combinedAudiences.list":
30156
30157type CombinedAudiencesListCall struct {
30158	s            *Service
30159	urlParams_   gensupport.URLParams
30160	ifNoneMatch_ string
30161	ctx_         context.Context
30162	header_      http.Header
30163}
30164
30165// List: Lists combined audiences. The order is defined by the order_by
30166// parameter.
30167func (r *CombinedAudiencesService) List() *CombinedAudiencesListCall {
30168	c := &CombinedAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30169	return c
30170}
30171
30172// AdvertiserId sets the optional parameter "advertiserId": The ID of
30173// the advertiser that has access to the fetched combined audiences.
30174func (c *CombinedAudiencesListCall) AdvertiserId(advertiserId int64) *CombinedAudiencesListCall {
30175	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30176	return c
30177}
30178
30179// Filter sets the optional parameter "filter": Allows filtering by
30180// combined audience fields. Supported syntax: * Filter expressions for
30181// combined audiences currently can only contain at most one
30182// restriction. * A restriction has the form of `{field} {operator}
30183// {value}`. * The operator must be `CONTAINS (:)`. * Supported fields:
30184// - `displayName` Examples: * All combined audiences for which the
30185// display name contains "Google": `displayName : "Google". The length
30186// of this field should be no more than 500 characters.
30187func (c *CombinedAudiencesListCall) Filter(filter string) *CombinedAudiencesListCall {
30188	c.urlParams_.Set("filter", filter)
30189	return c
30190}
30191
30192// OrderBy sets the optional parameter "orderBy": Field by which to sort
30193// the list. Acceptable values are: * `combinedAudienceId` (default) *
30194// `displayName` The default sorting order is ascending. To specify
30195// descending order for a field, a suffix "desc" should be added to the
30196// field name. Example: `displayName desc`.
30197func (c *CombinedAudiencesListCall) OrderBy(orderBy string) *CombinedAudiencesListCall {
30198	c.urlParams_.Set("orderBy", orderBy)
30199	return c
30200}
30201
30202// PageSize sets the optional parameter "pageSize": Requested page size.
30203// Must be between `1` and `100`. If unspecified will default to `100`.
30204// Returns error code `INVALID_ARGUMENT` if an invalid value is
30205// specified.
30206func (c *CombinedAudiencesListCall) PageSize(pageSize int64) *CombinedAudiencesListCall {
30207	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
30208	return c
30209}
30210
30211// PageToken sets the optional parameter "pageToken": A token
30212// identifying a page of results the server should return. Typically,
30213// this is the value of next_page_token returned from the previous call
30214// to `ListCombinedAudiences` method. If not specified, the first page
30215// of results will be returned.
30216func (c *CombinedAudiencesListCall) PageToken(pageToken string) *CombinedAudiencesListCall {
30217	c.urlParams_.Set("pageToken", pageToken)
30218	return c
30219}
30220
30221// PartnerId sets the optional parameter "partnerId": The ID of the
30222// partner that has access to the fetched combined audiences.
30223func (c *CombinedAudiencesListCall) PartnerId(partnerId int64) *CombinedAudiencesListCall {
30224	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
30225	return c
30226}
30227
30228// Fields allows partial responses to be retrieved. See
30229// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30230// for more information.
30231func (c *CombinedAudiencesListCall) Fields(s ...googleapi.Field) *CombinedAudiencesListCall {
30232	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30233	return c
30234}
30235
30236// IfNoneMatch sets the optional parameter which makes the operation
30237// fail if the object's ETag matches the given value. This is useful for
30238// getting updates only after the object has changed since the last
30239// request. Use googleapi.IsNotModified to check whether the response
30240// error from Do is the result of In-None-Match.
30241func (c *CombinedAudiencesListCall) IfNoneMatch(entityTag string) *CombinedAudiencesListCall {
30242	c.ifNoneMatch_ = entityTag
30243	return c
30244}
30245
30246// Context sets the context to be used in this call's Do method. Any
30247// pending HTTP request will be aborted if the provided context is
30248// canceled.
30249func (c *CombinedAudiencesListCall) Context(ctx context.Context) *CombinedAudiencesListCall {
30250	c.ctx_ = ctx
30251	return c
30252}
30253
30254// Header returns an http.Header that can be modified by the caller to
30255// add HTTP headers to the request.
30256func (c *CombinedAudiencesListCall) Header() http.Header {
30257	if c.header_ == nil {
30258		c.header_ = make(http.Header)
30259	}
30260	return c.header_
30261}
30262
30263func (c *CombinedAudiencesListCall) doRequest(alt string) (*http.Response, error) {
30264	reqHeaders := make(http.Header)
30265	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30266	for k, v := range c.header_ {
30267		reqHeaders[k] = v
30268	}
30269	reqHeaders.Set("User-Agent", c.s.userAgent())
30270	if c.ifNoneMatch_ != "" {
30271		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30272	}
30273	var body io.Reader = nil
30274	c.urlParams_.Set("alt", alt)
30275	c.urlParams_.Set("prettyPrint", "false")
30276	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/combinedAudiences")
30277	urls += "?" + c.urlParams_.Encode()
30278	req, err := http.NewRequest("GET", urls, body)
30279	if err != nil {
30280		return nil, err
30281	}
30282	req.Header = reqHeaders
30283	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30284}
30285
30286// Do executes the "displayvideo.combinedAudiences.list" call.
30287// Exactly one of *ListCombinedAudiencesResponse or error will be
30288// non-nil. Any non-2xx status code is an error. Response headers are in
30289// either *ListCombinedAudiencesResponse.ServerResponse.Header or (if a
30290// response was returned at all) in error.(*googleapi.Error).Header. Use
30291// googleapi.IsNotModified to check whether the returned error was
30292// because http.StatusNotModified was returned.
30293func (c *CombinedAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListCombinedAudiencesResponse, error) {
30294	gensupport.SetOptions(c.urlParams_, opts...)
30295	res, err := c.doRequest("json")
30296	if res != nil && res.StatusCode == http.StatusNotModified {
30297		if res.Body != nil {
30298			res.Body.Close()
30299		}
30300		return nil, &googleapi.Error{
30301			Code:   res.StatusCode,
30302			Header: res.Header,
30303		}
30304	}
30305	if err != nil {
30306		return nil, err
30307	}
30308	defer googleapi.CloseBody(res)
30309	if err := googleapi.CheckResponse(res); err != nil {
30310		return nil, err
30311	}
30312	ret := &ListCombinedAudiencesResponse{
30313		ServerResponse: googleapi.ServerResponse{
30314			Header:         res.Header,
30315			HTTPStatusCode: res.StatusCode,
30316		},
30317	}
30318	target := &ret
30319	if err := gensupport.DecodeResponse(target, res); err != nil {
30320		return nil, err
30321	}
30322	return ret, nil
30323	// {
30324	//   "description": "Lists combined audiences. The order is defined by the order_by parameter.",
30325	//   "flatPath": "v1/combinedAudiences",
30326	//   "httpMethod": "GET",
30327	//   "id": "displayvideo.combinedAudiences.list",
30328	//   "parameterOrder": [],
30329	//   "parameters": {
30330	//     "advertiserId": {
30331	//       "description": "The ID of the advertiser that has access to the fetched combined audiences.",
30332	//       "format": "int64",
30333	//       "location": "query",
30334	//       "type": "string"
30335	//     },
30336	//     "filter": {
30337	//       "description": "Allows filtering by combined audience fields. Supported syntax: * Filter expressions for combined audiences currently can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All combined audiences for which the display name contains \"Google\": `displayName : \"Google\"`. The length of this field should be no more than 500 characters.",
30338	//       "location": "query",
30339	//       "type": "string"
30340	//     },
30341	//     "orderBy": {
30342	//       "description": "Field by which to sort the list. Acceptable values are: * `combinedAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
30343	//       "location": "query",
30344	//       "type": "string"
30345	//     },
30346	//     "pageSize": {
30347	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
30348	//       "format": "int32",
30349	//       "location": "query",
30350	//       "type": "integer"
30351	//     },
30352	//     "pageToken": {
30353	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCombinedAudiences` method. If not specified, the first page of results will be returned.",
30354	//       "location": "query",
30355	//       "type": "string"
30356	//     },
30357	//     "partnerId": {
30358	//       "description": "The ID of the partner that has access to the fetched combined audiences.",
30359	//       "format": "int64",
30360	//       "location": "query",
30361	//       "type": "string"
30362	//     }
30363	//   },
30364	//   "path": "v1/combinedAudiences",
30365	//   "response": {
30366	//     "$ref": "ListCombinedAudiencesResponse"
30367	//   },
30368	//   "scopes": [
30369	//     "https://www.googleapis.com/auth/display-video"
30370	//   ]
30371	// }
30372
30373}
30374
30375// Pages invokes f for each page of results.
30376// A non-nil error returned from f will halt the iteration.
30377// The provided context supersedes any context provided to the Context method.
30378func (c *CombinedAudiencesListCall) Pages(ctx context.Context, f func(*ListCombinedAudiencesResponse) error) error {
30379	c.ctx_ = ctx
30380	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30381	for {
30382		x, err := c.Do()
30383		if err != nil {
30384			return err
30385		}
30386		if err := f(x); err != nil {
30387			return err
30388		}
30389		if x.NextPageToken == "" {
30390			return nil
30391		}
30392		c.PageToken(x.NextPageToken)
30393	}
30394}
30395
30396// method id "displayvideo.customBiddingAlgorithms.get":
30397
30398type CustomBiddingAlgorithmsGetCall struct {
30399	s                        *Service
30400	customBiddingAlgorithmId int64
30401	urlParams_               gensupport.URLParams
30402	ifNoneMatch_             string
30403	ctx_                     context.Context
30404	header_                  http.Header
30405}
30406
30407// Get: Gets a custom bidding algorithm.
30408//
30409// - customBiddingAlgorithmId: The ID of the custom bidding algorithm to
30410//   fetch.
30411func (r *CustomBiddingAlgorithmsService) Get(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsGetCall {
30412	c := &CustomBiddingAlgorithmsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30413	c.customBiddingAlgorithmId = customBiddingAlgorithmId
30414	return c
30415}
30416
30417// AdvertiserId sets the optional parameter "advertiserId": The ID of
30418// the DV360 partner that has access to the custom bidding algorithm.
30419func (c *CustomBiddingAlgorithmsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsGetCall {
30420	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30421	return c
30422}
30423
30424// PartnerId sets the optional parameter "partnerId": The ID of the
30425// DV360 partner that has access to the custom bidding algorithm.
30426func (c *CustomBiddingAlgorithmsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsGetCall {
30427	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
30428	return c
30429}
30430
30431// Fields allows partial responses to be retrieved. See
30432// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30433// for more information.
30434func (c *CustomBiddingAlgorithmsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsGetCall {
30435	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30436	return c
30437}
30438
30439// IfNoneMatch sets the optional parameter which makes the operation
30440// fail if the object's ETag matches the given value. This is useful for
30441// getting updates only after the object has changed since the last
30442// request. Use googleapi.IsNotModified to check whether the response
30443// error from Do is the result of In-None-Match.
30444func (c *CustomBiddingAlgorithmsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsGetCall {
30445	c.ifNoneMatch_ = entityTag
30446	return c
30447}
30448
30449// Context sets the context to be used in this call's Do method. Any
30450// pending HTTP request will be aborted if the provided context is
30451// canceled.
30452func (c *CustomBiddingAlgorithmsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsGetCall {
30453	c.ctx_ = ctx
30454	return c
30455}
30456
30457// Header returns an http.Header that can be modified by the caller to
30458// add HTTP headers to the request.
30459func (c *CustomBiddingAlgorithmsGetCall) Header() http.Header {
30460	if c.header_ == nil {
30461		c.header_ = make(http.Header)
30462	}
30463	return c.header_
30464}
30465
30466func (c *CustomBiddingAlgorithmsGetCall) doRequest(alt string) (*http.Response, error) {
30467	reqHeaders := make(http.Header)
30468	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30469	for k, v := range c.header_ {
30470		reqHeaders[k] = v
30471	}
30472	reqHeaders.Set("User-Agent", c.s.userAgent())
30473	if c.ifNoneMatch_ != "" {
30474		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30475	}
30476	var body io.Reader = nil
30477	c.urlParams_.Set("alt", alt)
30478	c.urlParams_.Set("prettyPrint", "false")
30479	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}")
30480	urls += "?" + c.urlParams_.Encode()
30481	req, err := http.NewRequest("GET", urls, body)
30482	if err != nil {
30483		return nil, err
30484	}
30485	req.Header = reqHeaders
30486	googleapi.Expand(req.URL, map[string]string{
30487		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
30488	})
30489	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30490}
30491
30492// Do executes the "displayvideo.customBiddingAlgorithms.get" call.
30493// Exactly one of *CustomBiddingAlgorithm or error will be non-nil. Any
30494// non-2xx status code is an error. Response headers are in either
30495// *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was
30496// returned at all) in error.(*googleapi.Error).Header. Use
30497// googleapi.IsNotModified to check whether the returned error was
30498// because http.StatusNotModified was returned.
30499func (c *CustomBiddingAlgorithmsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
30500	gensupport.SetOptions(c.urlParams_, opts...)
30501	res, err := c.doRequest("json")
30502	if res != nil && res.StatusCode == http.StatusNotModified {
30503		if res.Body != nil {
30504			res.Body.Close()
30505		}
30506		return nil, &googleapi.Error{
30507			Code:   res.StatusCode,
30508			Header: res.Header,
30509		}
30510	}
30511	if err != nil {
30512		return nil, err
30513	}
30514	defer googleapi.CloseBody(res)
30515	if err := googleapi.CheckResponse(res); err != nil {
30516		return nil, err
30517	}
30518	ret := &CustomBiddingAlgorithm{
30519		ServerResponse: googleapi.ServerResponse{
30520			Header:         res.Header,
30521			HTTPStatusCode: res.StatusCode,
30522		},
30523	}
30524	target := &ret
30525	if err := gensupport.DecodeResponse(target, res); err != nil {
30526		return nil, err
30527	}
30528	return ret, nil
30529	// {
30530	//   "description": "Gets a custom bidding algorithm.",
30531	//   "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}",
30532	//   "httpMethod": "GET",
30533	//   "id": "displayvideo.customBiddingAlgorithms.get",
30534	//   "parameterOrder": [
30535	//     "customBiddingAlgorithmId"
30536	//   ],
30537	//   "parameters": {
30538	//     "advertiserId": {
30539	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
30540	//       "format": "int64",
30541	//       "location": "query",
30542	//       "type": "string"
30543	//     },
30544	//     "customBiddingAlgorithmId": {
30545	//       "description": "Required. The ID of the custom bidding algorithm to fetch.",
30546	//       "format": "int64",
30547	//       "location": "path",
30548	//       "pattern": "^[^/]+$",
30549	//       "required": true,
30550	//       "type": "string"
30551	//     },
30552	//     "partnerId": {
30553	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
30554	//       "format": "int64",
30555	//       "location": "query",
30556	//       "type": "string"
30557	//     }
30558	//   },
30559	//   "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}",
30560	//   "response": {
30561	//     "$ref": "CustomBiddingAlgorithm"
30562	//   },
30563	//   "scopes": [
30564	//     "https://www.googleapis.com/auth/display-video"
30565	//   ]
30566	// }
30567
30568}
30569
30570// method id "displayvideo.customBiddingAlgorithms.list":
30571
30572type CustomBiddingAlgorithmsListCall struct {
30573	s            *Service
30574	urlParams_   gensupport.URLParams
30575	ifNoneMatch_ string
30576	ctx_         context.Context
30577	header_      http.Header
30578}
30579
30580// List: Lists custom bidding algorithms that are accessible to the
30581// current user and can be used in bidding stratgies. The order is
30582// defined by the order_by parameter.
30583func (r *CustomBiddingAlgorithmsService) List() *CustomBiddingAlgorithmsListCall {
30584	c := &CustomBiddingAlgorithmsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30585	return c
30586}
30587
30588// AdvertiserId sets the optional parameter "advertiserId": The ID of
30589// the DV360 advertiser that has access to the custom bidding algorithm.
30590func (c *CustomBiddingAlgorithmsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsListCall {
30591	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30592	return c
30593}
30594
30595// Filter sets the optional parameter "filter": Allows filtering by
30596// custom bidding algorithm fields. Supported syntax: * Filter
30597// expressions are made up of one or more restrictions. * Restrictions
30598// can be combined by `AND`. A sequence of restrictions * implicitly
30599// uses `AND`. * A restriction has the form of `{field} {operator}
30600// {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. *
30601// The operator must be `CONTAINS (:)` for the following field: -
30602// `displayName` * The operator must be `EQUALS (=)` for the following
30603// field: - `customBiddingAlgorithmType` * For `displayName`, the value
30604// is a string. We return all custom bidding algorithms whose
30605// display_name contains such string. * For
30606// `customBiddingAlgorithmType`, the value is a string. We return all
30607// algorithms whose custom_bidding_algorithm_type is equal to the given
30608// type. Examples: * All custom bidding algorithms for which the display
30609// name contains "politics": `displayName:politics`. * All custom
30610// bidding algorithms for which the type is "SCRIPT_BASED":
30611// `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field
30612// should be no more than 500 characters.
30613func (c *CustomBiddingAlgorithmsListCall) Filter(filter string) *CustomBiddingAlgorithmsListCall {
30614	c.urlParams_.Set("filter", filter)
30615	return c
30616}
30617
30618// OrderBy sets the optional parameter "orderBy": Field by which to sort
30619// the list. Acceptable values are: * `displayName` (default) The
30620// default sorting order is ascending. To specify descending order for a
30621// field, a suffix "desc" should be added to the field name. Example:
30622// `displayName desc`.
30623func (c *CustomBiddingAlgorithmsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsListCall {
30624	c.urlParams_.Set("orderBy", orderBy)
30625	return c
30626}
30627
30628// PageSize sets the optional parameter "pageSize": Requested page size.
30629// Must be between `1` and `100`. If unspecified will default to `100`.
30630// Returns error code `INVALID_ARGUMENT` if an invalid value is
30631// specified.
30632func (c *CustomBiddingAlgorithmsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsListCall {
30633	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
30634	return c
30635}
30636
30637// PageToken sets the optional parameter "pageToken": A token
30638// identifying a page of results the server should return. Typically,
30639// this is the value of next_page_token returned from the previous call
30640// to `ListCustomBiddingAlgorithms` method. If not specified, the first
30641// page of results will be returned.
30642func (c *CustomBiddingAlgorithmsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsListCall {
30643	c.urlParams_.Set("pageToken", pageToken)
30644	return c
30645}
30646
30647// PartnerId sets the optional parameter "partnerId": The ID of the
30648// DV360 partner that has access to the custom bidding algorithm.
30649func (c *CustomBiddingAlgorithmsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsListCall {
30650	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
30651	return c
30652}
30653
30654// Fields allows partial responses to be retrieved. See
30655// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30656// for more information.
30657func (c *CustomBiddingAlgorithmsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsListCall {
30658	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30659	return c
30660}
30661
30662// IfNoneMatch sets the optional parameter which makes the operation
30663// fail if the object's ETag matches the given value. This is useful for
30664// getting updates only after the object has changed since the last
30665// request. Use googleapi.IsNotModified to check whether the response
30666// error from Do is the result of In-None-Match.
30667func (c *CustomBiddingAlgorithmsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsListCall {
30668	c.ifNoneMatch_ = entityTag
30669	return c
30670}
30671
30672// Context sets the context to be used in this call's Do method. Any
30673// pending HTTP request will be aborted if the provided context is
30674// canceled.
30675func (c *CustomBiddingAlgorithmsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsListCall {
30676	c.ctx_ = ctx
30677	return c
30678}
30679
30680// Header returns an http.Header that can be modified by the caller to
30681// add HTTP headers to the request.
30682func (c *CustomBiddingAlgorithmsListCall) Header() http.Header {
30683	if c.header_ == nil {
30684		c.header_ = make(http.Header)
30685	}
30686	return c.header_
30687}
30688
30689func (c *CustomBiddingAlgorithmsListCall) doRequest(alt string) (*http.Response, error) {
30690	reqHeaders := make(http.Header)
30691	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30692	for k, v := range c.header_ {
30693		reqHeaders[k] = v
30694	}
30695	reqHeaders.Set("User-Agent", c.s.userAgent())
30696	if c.ifNoneMatch_ != "" {
30697		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30698	}
30699	var body io.Reader = nil
30700	c.urlParams_.Set("alt", alt)
30701	c.urlParams_.Set("prettyPrint", "false")
30702	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customBiddingAlgorithms")
30703	urls += "?" + c.urlParams_.Encode()
30704	req, err := http.NewRequest("GET", urls, body)
30705	if err != nil {
30706		return nil, err
30707	}
30708	req.Header = reqHeaders
30709	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30710}
30711
30712// Do executes the "displayvideo.customBiddingAlgorithms.list" call.
30713// Exactly one of *ListCustomBiddingAlgorithmsResponse or error will be
30714// non-nil. Any non-2xx status code is an error. Response headers are in
30715// either *ListCustomBiddingAlgorithmsResponse.ServerResponse.Header or
30716// (if a response was returned at all) in
30717// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30718// whether the returned error was because http.StatusNotModified was
30719// returned.
30720func (c *CustomBiddingAlgorithmsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingAlgorithmsResponse, error) {
30721	gensupport.SetOptions(c.urlParams_, opts...)
30722	res, err := c.doRequest("json")
30723	if res != nil && res.StatusCode == http.StatusNotModified {
30724		if res.Body != nil {
30725			res.Body.Close()
30726		}
30727		return nil, &googleapi.Error{
30728			Code:   res.StatusCode,
30729			Header: res.Header,
30730		}
30731	}
30732	if err != nil {
30733		return nil, err
30734	}
30735	defer googleapi.CloseBody(res)
30736	if err := googleapi.CheckResponse(res); err != nil {
30737		return nil, err
30738	}
30739	ret := &ListCustomBiddingAlgorithmsResponse{
30740		ServerResponse: googleapi.ServerResponse{
30741			Header:         res.Header,
30742			HTTPStatusCode: res.StatusCode,
30743		},
30744	}
30745	target := &ret
30746	if err := gensupport.DecodeResponse(target, res); err != nil {
30747		return nil, err
30748	}
30749	return ret, nil
30750	// {
30751	//   "description": "Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.",
30752	//   "flatPath": "v1/customBiddingAlgorithms",
30753	//   "httpMethod": "GET",
30754	//   "id": "displayvideo.customBiddingAlgorithms.list",
30755	//   "parameterOrder": [],
30756	//   "parameters": {
30757	//     "advertiserId": {
30758	//       "description": "The ID of the DV360 advertiser that has access to the custom bidding algorithm.",
30759	//       "format": "int64",
30760	//       "location": "query",
30761	//       "type": "string"
30762	//     },
30763	//     "filter": {
30764	//       "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:politics`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters.",
30765	//       "location": "query",
30766	//       "type": "string"
30767	//     },
30768	//     "orderBy": {
30769	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
30770	//       "location": "query",
30771	//       "type": "string"
30772	//     },
30773	//     "pageSize": {
30774	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
30775	//       "format": "int32",
30776	//       "location": "query",
30777	//       "type": "integer"
30778	//     },
30779	//     "pageToken": {
30780	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingAlgorithms` method. If not specified, the first page of results will be returned.",
30781	//       "location": "query",
30782	//       "type": "string"
30783	//     },
30784	//     "partnerId": {
30785	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
30786	//       "format": "int64",
30787	//       "location": "query",
30788	//       "type": "string"
30789	//     }
30790	//   },
30791	//   "path": "v1/customBiddingAlgorithms",
30792	//   "response": {
30793	//     "$ref": "ListCustomBiddingAlgorithmsResponse"
30794	//   },
30795	//   "scopes": [
30796	//     "https://www.googleapis.com/auth/display-video"
30797	//   ]
30798	// }
30799
30800}
30801
30802// Pages invokes f for each page of results.
30803// A non-nil error returned from f will halt the iteration.
30804// The provided context supersedes any context provided to the Context method.
30805func (c *CustomBiddingAlgorithmsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingAlgorithmsResponse) error) error {
30806	c.ctx_ = ctx
30807	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30808	for {
30809		x, err := c.Do()
30810		if err != nil {
30811			return err
30812		}
30813		if err := f(x); err != nil {
30814			return err
30815		}
30816		if x.NextPageToken == "" {
30817			return nil
30818		}
30819		c.PageToken(x.NextPageToken)
30820	}
30821}
30822
30823// method id "displayvideo.customLists.get":
30824
30825type CustomListsGetCall struct {
30826	s            *Service
30827	customListId int64
30828	urlParams_   gensupport.URLParams
30829	ifNoneMatch_ string
30830	ctx_         context.Context
30831	header_      http.Header
30832}
30833
30834// Get: Gets a custom list.
30835//
30836// - customListId: The ID of the custom list to fetch.
30837func (r *CustomListsService) Get(customListId int64) *CustomListsGetCall {
30838	c := &CustomListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30839	c.customListId = customListId
30840	return c
30841}
30842
30843// AdvertiserId sets the optional parameter "advertiserId": The ID of
30844// the DV360 advertiser that has access to the fetched custom lists.
30845func (c *CustomListsGetCall) AdvertiserId(advertiserId int64) *CustomListsGetCall {
30846	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30847	return c
30848}
30849
30850// Fields allows partial responses to be retrieved. See
30851// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30852// for more information.
30853func (c *CustomListsGetCall) Fields(s ...googleapi.Field) *CustomListsGetCall {
30854	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30855	return c
30856}
30857
30858// IfNoneMatch sets the optional parameter which makes the operation
30859// fail if the object's ETag matches the given value. This is useful for
30860// getting updates only after the object has changed since the last
30861// request. Use googleapi.IsNotModified to check whether the response
30862// error from Do is the result of In-None-Match.
30863func (c *CustomListsGetCall) IfNoneMatch(entityTag string) *CustomListsGetCall {
30864	c.ifNoneMatch_ = entityTag
30865	return c
30866}
30867
30868// Context sets the context to be used in this call's Do method. Any
30869// pending HTTP request will be aborted if the provided context is
30870// canceled.
30871func (c *CustomListsGetCall) Context(ctx context.Context) *CustomListsGetCall {
30872	c.ctx_ = ctx
30873	return c
30874}
30875
30876// Header returns an http.Header that can be modified by the caller to
30877// add HTTP headers to the request.
30878func (c *CustomListsGetCall) Header() http.Header {
30879	if c.header_ == nil {
30880		c.header_ = make(http.Header)
30881	}
30882	return c.header_
30883}
30884
30885func (c *CustomListsGetCall) doRequest(alt string) (*http.Response, error) {
30886	reqHeaders := make(http.Header)
30887	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
30888	for k, v := range c.header_ {
30889		reqHeaders[k] = v
30890	}
30891	reqHeaders.Set("User-Agent", c.s.userAgent())
30892	if c.ifNoneMatch_ != "" {
30893		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30894	}
30895	var body io.Reader = nil
30896	c.urlParams_.Set("alt", alt)
30897	c.urlParams_.Set("prettyPrint", "false")
30898	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customLists/{+customListId}")
30899	urls += "?" + c.urlParams_.Encode()
30900	req, err := http.NewRequest("GET", urls, body)
30901	if err != nil {
30902		return nil, err
30903	}
30904	req.Header = reqHeaders
30905	googleapi.Expand(req.URL, map[string]string{
30906		"customListId": strconv.FormatInt(c.customListId, 10),
30907	})
30908	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30909}
30910
30911// Do executes the "displayvideo.customLists.get" call.
30912// Exactly one of *CustomList or error will be non-nil. Any non-2xx
30913// status code is an error. Response headers are in either
30914// *CustomList.ServerResponse.Header or (if a response was returned at
30915// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30916// to check whether the returned error was because
30917// http.StatusNotModified was returned.
30918func (c *CustomListsGetCall) Do(opts ...googleapi.CallOption) (*CustomList, error) {
30919	gensupport.SetOptions(c.urlParams_, opts...)
30920	res, err := c.doRequest("json")
30921	if res != nil && res.StatusCode == http.StatusNotModified {
30922		if res.Body != nil {
30923			res.Body.Close()
30924		}
30925		return nil, &googleapi.Error{
30926			Code:   res.StatusCode,
30927			Header: res.Header,
30928		}
30929	}
30930	if err != nil {
30931		return nil, err
30932	}
30933	defer googleapi.CloseBody(res)
30934	if err := googleapi.CheckResponse(res); err != nil {
30935		return nil, err
30936	}
30937	ret := &CustomList{
30938		ServerResponse: googleapi.ServerResponse{
30939			Header:         res.Header,
30940			HTTPStatusCode: res.StatusCode,
30941		},
30942	}
30943	target := &ret
30944	if err := gensupport.DecodeResponse(target, res); err != nil {
30945		return nil, err
30946	}
30947	return ret, nil
30948	// {
30949	//   "description": "Gets a custom list.",
30950	//   "flatPath": "v1/customLists/{customListsId}",
30951	//   "httpMethod": "GET",
30952	//   "id": "displayvideo.customLists.get",
30953	//   "parameterOrder": [
30954	//     "customListId"
30955	//   ],
30956	//   "parameters": {
30957	//     "advertiserId": {
30958	//       "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.",
30959	//       "format": "int64",
30960	//       "location": "query",
30961	//       "type": "string"
30962	//     },
30963	//     "customListId": {
30964	//       "description": "Required. The ID of the custom list to fetch.",
30965	//       "format": "int64",
30966	//       "location": "path",
30967	//       "pattern": "^[^/]+$",
30968	//       "required": true,
30969	//       "type": "string"
30970	//     }
30971	//   },
30972	//   "path": "v1/customLists/{+customListId}",
30973	//   "response": {
30974	//     "$ref": "CustomList"
30975	//   },
30976	//   "scopes": [
30977	//     "https://www.googleapis.com/auth/display-video"
30978	//   ]
30979	// }
30980
30981}
30982
30983// method id "displayvideo.customLists.list":
30984
30985type CustomListsListCall struct {
30986	s            *Service
30987	urlParams_   gensupport.URLParams
30988	ifNoneMatch_ string
30989	ctx_         context.Context
30990	header_      http.Header
30991}
30992
30993// List: Lists custom lists. The order is defined by the order_by
30994// parameter.
30995func (r *CustomListsService) List() *CustomListsListCall {
30996	c := &CustomListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30997	return c
30998}
30999
31000// AdvertiserId sets the optional parameter "advertiserId": The ID of
31001// the DV360 advertiser that has access to the fetched custom lists.
31002func (c *CustomListsListCall) AdvertiserId(advertiserId int64) *CustomListsListCall {
31003	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31004	return c
31005}
31006
31007// Filter sets the optional parameter "filter": Allows filtering by
31008// custom list fields. Supported syntax: * Filter expressions for custom
31009// lists currently can only contain at most one restriction. * A
31010// restriction has the form of `{field} {operator} {value}`. * The
31011// operator must be `CONTAINS (:)`. * Supported fields: - `displayName`
31012// Examples: * All custom lists for which the display name contains
31013// "Google": `displayName : "Google". The length of this field should
31014// be no more than 500 characters.
31015func (c *CustomListsListCall) Filter(filter string) *CustomListsListCall {
31016	c.urlParams_.Set("filter", filter)
31017	return c
31018}
31019
31020// OrderBy sets the optional parameter "orderBy": Field by which to sort
31021// the list. Acceptable values are: * `customListId` (default) *
31022// `displayName` The default sorting order is ascending. To specify
31023// descending order for a field, a suffix "desc" should be added to the
31024// field name. Example: `displayName desc`.
31025func (c *CustomListsListCall) OrderBy(orderBy string) *CustomListsListCall {
31026	c.urlParams_.Set("orderBy", orderBy)
31027	return c
31028}
31029
31030// PageSize sets the optional parameter "pageSize": Requested page size.
31031// Must be between `1` and `100`. If unspecified will default to `100`.
31032// Returns error code `INVALID_ARGUMENT` if an invalid value is
31033// specified.
31034func (c *CustomListsListCall) PageSize(pageSize int64) *CustomListsListCall {
31035	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31036	return c
31037}
31038
31039// PageToken sets the optional parameter "pageToken": A token
31040// identifying a page of results the server should return. Typically,
31041// this is the value of next_page_token returned from the previous call
31042// to `ListCustomLists` method. If not specified, the first page of
31043// results will be returned.
31044func (c *CustomListsListCall) PageToken(pageToken string) *CustomListsListCall {
31045	c.urlParams_.Set("pageToken", pageToken)
31046	return c
31047}
31048
31049// Fields allows partial responses to be retrieved. See
31050// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31051// for more information.
31052func (c *CustomListsListCall) Fields(s ...googleapi.Field) *CustomListsListCall {
31053	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31054	return c
31055}
31056
31057// IfNoneMatch sets the optional parameter which makes the operation
31058// fail if the object's ETag matches the given value. This is useful for
31059// getting updates only after the object has changed since the last
31060// request. Use googleapi.IsNotModified to check whether the response
31061// error from Do is the result of In-None-Match.
31062func (c *CustomListsListCall) IfNoneMatch(entityTag string) *CustomListsListCall {
31063	c.ifNoneMatch_ = entityTag
31064	return c
31065}
31066
31067// Context sets the context to be used in this call's Do method. Any
31068// pending HTTP request will be aborted if the provided context is
31069// canceled.
31070func (c *CustomListsListCall) Context(ctx context.Context) *CustomListsListCall {
31071	c.ctx_ = ctx
31072	return c
31073}
31074
31075// Header returns an http.Header that can be modified by the caller to
31076// add HTTP headers to the request.
31077func (c *CustomListsListCall) Header() http.Header {
31078	if c.header_ == nil {
31079		c.header_ = make(http.Header)
31080	}
31081	return c.header_
31082}
31083
31084func (c *CustomListsListCall) doRequest(alt string) (*http.Response, error) {
31085	reqHeaders := make(http.Header)
31086	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31087	for k, v := range c.header_ {
31088		reqHeaders[k] = v
31089	}
31090	reqHeaders.Set("User-Agent", c.s.userAgent())
31091	if c.ifNoneMatch_ != "" {
31092		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31093	}
31094	var body io.Reader = nil
31095	c.urlParams_.Set("alt", alt)
31096	c.urlParams_.Set("prettyPrint", "false")
31097	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customLists")
31098	urls += "?" + c.urlParams_.Encode()
31099	req, err := http.NewRequest("GET", urls, body)
31100	if err != nil {
31101		return nil, err
31102	}
31103	req.Header = reqHeaders
31104	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31105}
31106
31107// Do executes the "displayvideo.customLists.list" call.
31108// Exactly one of *ListCustomListsResponse or error will be non-nil. Any
31109// non-2xx status code is an error. Response headers are in either
31110// *ListCustomListsResponse.ServerResponse.Header or (if a response was
31111// returned at all) in error.(*googleapi.Error).Header. Use
31112// googleapi.IsNotModified to check whether the returned error was
31113// because http.StatusNotModified was returned.
31114func (c *CustomListsListCall) Do(opts ...googleapi.CallOption) (*ListCustomListsResponse, error) {
31115	gensupport.SetOptions(c.urlParams_, opts...)
31116	res, err := c.doRequest("json")
31117	if res != nil && res.StatusCode == http.StatusNotModified {
31118		if res.Body != nil {
31119			res.Body.Close()
31120		}
31121		return nil, &googleapi.Error{
31122			Code:   res.StatusCode,
31123			Header: res.Header,
31124		}
31125	}
31126	if err != nil {
31127		return nil, err
31128	}
31129	defer googleapi.CloseBody(res)
31130	if err := googleapi.CheckResponse(res); err != nil {
31131		return nil, err
31132	}
31133	ret := &ListCustomListsResponse{
31134		ServerResponse: googleapi.ServerResponse{
31135			Header:         res.Header,
31136			HTTPStatusCode: res.StatusCode,
31137		},
31138	}
31139	target := &ret
31140	if err := gensupport.DecodeResponse(target, res); err != nil {
31141		return nil, err
31142	}
31143	return ret, nil
31144	// {
31145	//   "description": "Lists custom lists. The order is defined by the order_by parameter.",
31146	//   "flatPath": "v1/customLists",
31147	//   "httpMethod": "GET",
31148	//   "id": "displayvideo.customLists.list",
31149	//   "parameterOrder": [],
31150	//   "parameters": {
31151	//     "advertiserId": {
31152	//       "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.",
31153	//       "format": "int64",
31154	//       "location": "query",
31155	//       "type": "string"
31156	//     },
31157	//     "filter": {
31158	//       "description": "Allows filtering by custom list fields. Supported syntax: * Filter expressions for custom lists currently can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All custom lists for which the display name contains \"Google\": `displayName : \"Google\"`. The length of this field should be no more than 500 characters.",
31159	//       "location": "query",
31160	//       "type": "string"
31161	//     },
31162	//     "orderBy": {
31163	//       "description": "Field by which to sort the list. Acceptable values are: * `customListId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
31164	//       "location": "query",
31165	//       "type": "string"
31166	//     },
31167	//     "pageSize": {
31168	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
31169	//       "format": "int32",
31170	//       "location": "query",
31171	//       "type": "integer"
31172	//     },
31173	//     "pageToken": {
31174	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomLists` method. If not specified, the first page of results will be returned.",
31175	//       "location": "query",
31176	//       "type": "string"
31177	//     }
31178	//   },
31179	//   "path": "v1/customLists",
31180	//   "response": {
31181	//     "$ref": "ListCustomListsResponse"
31182	//   },
31183	//   "scopes": [
31184	//     "https://www.googleapis.com/auth/display-video"
31185	//   ]
31186	// }
31187
31188}
31189
31190// Pages invokes f for each page of results.
31191// A non-nil error returned from f will halt the iteration.
31192// The provided context supersedes any context provided to the Context method.
31193func (c *CustomListsListCall) Pages(ctx context.Context, f func(*ListCustomListsResponse) error) error {
31194	c.ctx_ = ctx
31195	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31196	for {
31197		x, err := c.Do()
31198		if err != nil {
31199			return err
31200		}
31201		if err := f(x); err != nil {
31202			return err
31203		}
31204		if x.NextPageToken == "" {
31205			return nil
31206		}
31207		c.PageToken(x.NextPageToken)
31208	}
31209}
31210
31211// method id "displayvideo.firstAndThirdPartyAudiences.get":
31212
31213type FirstAndThirdPartyAudiencesGetCall struct {
31214	s                            *Service
31215	firstAndThirdPartyAudienceId int64
31216	urlParams_                   gensupport.URLParams
31217	ifNoneMatch_                 string
31218	ctx_                         context.Context
31219	header_                      http.Header
31220}
31221
31222// Get: Gets a first and third party audience.
31223//
31224// - firstAndThirdPartyAudienceId: The ID of the first and third party
31225//   audience to fetch.
31226func (r *FirstAndThirdPartyAudiencesService) Get(firstAndThirdPartyAudienceId int64) *FirstAndThirdPartyAudiencesGetCall {
31227	c := &FirstAndThirdPartyAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31228	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
31229	return c
31230}
31231
31232// AdvertiserId sets the optional parameter "advertiserId": The ID of
31233// the advertiser that has access to the fetched first and third party
31234// audience.
31235func (c *FirstAndThirdPartyAudiencesGetCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesGetCall {
31236	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31237	return c
31238}
31239
31240// PartnerId sets the optional parameter "partnerId": The ID of the
31241// partner that has access to the fetched first and third party
31242// audience.
31243func (c *FirstAndThirdPartyAudiencesGetCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesGetCall {
31244	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31245	return c
31246}
31247
31248// Fields allows partial responses to be retrieved. See
31249// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31250// for more information.
31251func (c *FirstAndThirdPartyAudiencesGetCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesGetCall {
31252	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31253	return c
31254}
31255
31256// IfNoneMatch sets the optional parameter which makes the operation
31257// fail if the object's ETag matches the given value. This is useful for
31258// getting updates only after the object has changed since the last
31259// request. Use googleapi.IsNotModified to check whether the response
31260// error from Do is the result of In-None-Match.
31261func (c *FirstAndThirdPartyAudiencesGetCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesGetCall {
31262	c.ifNoneMatch_ = entityTag
31263	return c
31264}
31265
31266// Context sets the context to be used in this call's Do method. Any
31267// pending HTTP request will be aborted if the provided context is
31268// canceled.
31269func (c *FirstAndThirdPartyAudiencesGetCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesGetCall {
31270	c.ctx_ = ctx
31271	return c
31272}
31273
31274// Header returns an http.Header that can be modified by the caller to
31275// add HTTP headers to the request.
31276func (c *FirstAndThirdPartyAudiencesGetCall) Header() http.Header {
31277	if c.header_ == nil {
31278		c.header_ = make(http.Header)
31279	}
31280	return c.header_
31281}
31282
31283func (c *FirstAndThirdPartyAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
31284	reqHeaders := make(http.Header)
31285	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31286	for k, v := range c.header_ {
31287		reqHeaders[k] = v
31288	}
31289	reqHeaders.Set("User-Agent", c.s.userAgent())
31290	if c.ifNoneMatch_ != "" {
31291		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31292	}
31293	var body io.Reader = nil
31294	c.urlParams_.Set("alt", alt)
31295	c.urlParams_.Set("prettyPrint", "false")
31296	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}")
31297	urls += "?" + c.urlParams_.Encode()
31298	req, err := http.NewRequest("GET", urls, body)
31299	if err != nil {
31300		return nil, err
31301	}
31302	req.Header = reqHeaders
31303	googleapi.Expand(req.URL, map[string]string{
31304		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
31305	})
31306	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31307}
31308
31309// Do executes the "displayvideo.firstAndThirdPartyAudiences.get" call.
31310// Exactly one of *FirstAndThirdPartyAudience or error will be non-nil.
31311// Any non-2xx status code is an error. Response headers are in either
31312// *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response
31313// was returned at all) in error.(*googleapi.Error).Header. Use
31314// googleapi.IsNotModified to check whether the returned error was
31315// because http.StatusNotModified was returned.
31316func (c *FirstAndThirdPartyAudiencesGetCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
31317	gensupport.SetOptions(c.urlParams_, opts...)
31318	res, err := c.doRequest("json")
31319	if res != nil && res.StatusCode == http.StatusNotModified {
31320		if res.Body != nil {
31321			res.Body.Close()
31322		}
31323		return nil, &googleapi.Error{
31324			Code:   res.StatusCode,
31325			Header: res.Header,
31326		}
31327	}
31328	if err != nil {
31329		return nil, err
31330	}
31331	defer googleapi.CloseBody(res)
31332	if err := googleapi.CheckResponse(res); err != nil {
31333		return nil, err
31334	}
31335	ret := &FirstAndThirdPartyAudience{
31336		ServerResponse: googleapi.ServerResponse{
31337			Header:         res.Header,
31338			HTTPStatusCode: res.StatusCode,
31339		},
31340	}
31341	target := &ret
31342	if err := gensupport.DecodeResponse(target, res); err != nil {
31343		return nil, err
31344	}
31345	return ret, nil
31346	// {
31347	//   "description": "Gets a first and third party audience.",
31348	//   "flatPath": "v1/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}",
31349	//   "httpMethod": "GET",
31350	//   "id": "displayvideo.firstAndThirdPartyAudiences.get",
31351	//   "parameterOrder": [
31352	//     "firstAndThirdPartyAudienceId"
31353	//   ],
31354	//   "parameters": {
31355	//     "advertiserId": {
31356	//       "description": "The ID of the advertiser that has access to the fetched first and third party audience.",
31357	//       "format": "int64",
31358	//       "location": "query",
31359	//       "type": "string"
31360	//     },
31361	//     "firstAndThirdPartyAudienceId": {
31362	//       "description": "Required. The ID of the first and third party audience to fetch.",
31363	//       "format": "int64",
31364	//       "location": "path",
31365	//       "pattern": "^[^/]+$",
31366	//       "required": true,
31367	//       "type": "string"
31368	//     },
31369	//     "partnerId": {
31370	//       "description": "The ID of the partner that has access to the fetched first and third party audience.",
31371	//       "format": "int64",
31372	//       "location": "query",
31373	//       "type": "string"
31374	//     }
31375	//   },
31376	//   "path": "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}",
31377	//   "response": {
31378	//     "$ref": "FirstAndThirdPartyAudience"
31379	//   },
31380	//   "scopes": [
31381	//     "https://www.googleapis.com/auth/display-video"
31382	//   ]
31383	// }
31384
31385}
31386
31387// method id "displayvideo.firstAndThirdPartyAudiences.list":
31388
31389type FirstAndThirdPartyAudiencesListCall struct {
31390	s            *Service
31391	urlParams_   gensupport.URLParams
31392	ifNoneMatch_ string
31393	ctx_         context.Context
31394	header_      http.Header
31395}
31396
31397// List: Lists first and third party audiences. The order is defined by
31398// the order_by parameter.
31399func (r *FirstAndThirdPartyAudiencesService) List() *FirstAndThirdPartyAudiencesListCall {
31400	c := &FirstAndThirdPartyAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31401	return c
31402}
31403
31404// AdvertiserId sets the optional parameter "advertiserId": The ID of
31405// the advertiser that has access to the fetched first and third party
31406// audiences.
31407func (c *FirstAndThirdPartyAudiencesListCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesListCall {
31408	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31409	return c
31410}
31411
31412// Filter sets the optional parameter "filter": Allows filtering by
31413// first and third party audience fields. Supported syntax: * Filter
31414// expressions for first and third party audiences currently can only
31415// contain at most one restriction. * A restriction has the form of
31416// `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`.
31417// * Supported fields: - `displayName` Examples: * All first and third
31418// party audiences for which the display name contains "Google":
31419// `displayName : "Google". The length of this field should be no more
31420// than 500 characters.
31421func (c *FirstAndThirdPartyAudiencesListCall) Filter(filter string) *FirstAndThirdPartyAudiencesListCall {
31422	c.urlParams_.Set("filter", filter)
31423	return c
31424}
31425
31426// OrderBy sets the optional parameter "orderBy": Field by which to sort
31427// the list. Acceptable values are: * `firstAndThirdPartyAudienceId`
31428// (default) * `displayName` The default sorting order is ascending. To
31429// specify descending order for a field, a suffix "desc" should be added
31430// to the field name. Example: `displayName desc`.
31431func (c *FirstAndThirdPartyAudiencesListCall) OrderBy(orderBy string) *FirstAndThirdPartyAudiencesListCall {
31432	c.urlParams_.Set("orderBy", orderBy)
31433	return c
31434}
31435
31436// PageSize sets the optional parameter "pageSize": Requested page size.
31437// Must be between `1` and `100`. If unspecified will default to `100`.
31438// Returns error code `INVALID_ARGUMENT` if an invalid value is
31439// specified.
31440func (c *FirstAndThirdPartyAudiencesListCall) PageSize(pageSize int64) *FirstAndThirdPartyAudiencesListCall {
31441	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31442	return c
31443}
31444
31445// PageToken sets the optional parameter "pageToken": A token
31446// identifying a page of results the server should return. Typically,
31447// this is the value of next_page_token returned from the previous call
31448// to `ListFirstAndThirdPartyAudiences` method. If not specified, the
31449// first page of results will be returned.
31450func (c *FirstAndThirdPartyAudiencesListCall) PageToken(pageToken string) *FirstAndThirdPartyAudiencesListCall {
31451	c.urlParams_.Set("pageToken", pageToken)
31452	return c
31453}
31454
31455// PartnerId sets the optional parameter "partnerId": The ID of the
31456// partner that has access to the fetched first and third party
31457// audiences.
31458func (c *FirstAndThirdPartyAudiencesListCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesListCall {
31459	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31460	return c
31461}
31462
31463// Fields allows partial responses to be retrieved. See
31464// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31465// for more information.
31466func (c *FirstAndThirdPartyAudiencesListCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesListCall {
31467	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31468	return c
31469}
31470
31471// IfNoneMatch sets the optional parameter which makes the operation
31472// fail if the object's ETag matches the given value. This is useful for
31473// getting updates only after the object has changed since the last
31474// request. Use googleapi.IsNotModified to check whether the response
31475// error from Do is the result of In-None-Match.
31476func (c *FirstAndThirdPartyAudiencesListCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesListCall {
31477	c.ifNoneMatch_ = entityTag
31478	return c
31479}
31480
31481// Context sets the context to be used in this call's Do method. Any
31482// pending HTTP request will be aborted if the provided context is
31483// canceled.
31484func (c *FirstAndThirdPartyAudiencesListCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesListCall {
31485	c.ctx_ = ctx
31486	return c
31487}
31488
31489// Header returns an http.Header that can be modified by the caller to
31490// add HTTP headers to the request.
31491func (c *FirstAndThirdPartyAudiencesListCall) Header() http.Header {
31492	if c.header_ == nil {
31493		c.header_ = make(http.Header)
31494	}
31495	return c.header_
31496}
31497
31498func (c *FirstAndThirdPartyAudiencesListCall) doRequest(alt string) (*http.Response, error) {
31499	reqHeaders := make(http.Header)
31500	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31501	for k, v := range c.header_ {
31502		reqHeaders[k] = v
31503	}
31504	reqHeaders.Set("User-Agent", c.s.userAgent())
31505	if c.ifNoneMatch_ != "" {
31506		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31507	}
31508	var body io.Reader = nil
31509	c.urlParams_.Set("alt", alt)
31510	c.urlParams_.Set("prettyPrint", "false")
31511	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/firstAndThirdPartyAudiences")
31512	urls += "?" + c.urlParams_.Encode()
31513	req, err := http.NewRequest("GET", urls, body)
31514	if err != nil {
31515		return nil, err
31516	}
31517	req.Header = reqHeaders
31518	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31519}
31520
31521// Do executes the "displayvideo.firstAndThirdPartyAudiences.list" call.
31522// Exactly one of *ListFirstAndThirdPartyAudiencesResponse or error will
31523// be non-nil. Any non-2xx status code is an error. Response headers are
31524// in either
31525// *ListFirstAndThirdPartyAudiencesResponse.ServerResponse.Header or (if
31526// a response was returned at all) in error.(*googleapi.Error).Header.
31527// Use googleapi.IsNotModified to check whether the returned error was
31528// because http.StatusNotModified was returned.
31529func (c *FirstAndThirdPartyAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListFirstAndThirdPartyAudiencesResponse, error) {
31530	gensupport.SetOptions(c.urlParams_, opts...)
31531	res, err := c.doRequest("json")
31532	if res != nil && res.StatusCode == http.StatusNotModified {
31533		if res.Body != nil {
31534			res.Body.Close()
31535		}
31536		return nil, &googleapi.Error{
31537			Code:   res.StatusCode,
31538			Header: res.Header,
31539		}
31540	}
31541	if err != nil {
31542		return nil, err
31543	}
31544	defer googleapi.CloseBody(res)
31545	if err := googleapi.CheckResponse(res); err != nil {
31546		return nil, err
31547	}
31548	ret := &ListFirstAndThirdPartyAudiencesResponse{
31549		ServerResponse: googleapi.ServerResponse{
31550			Header:         res.Header,
31551			HTTPStatusCode: res.StatusCode,
31552		},
31553	}
31554	target := &ret
31555	if err := gensupport.DecodeResponse(target, res); err != nil {
31556		return nil, err
31557	}
31558	return ret, nil
31559	// {
31560	//   "description": "Lists first and third party audiences. The order is defined by the order_by parameter.",
31561	//   "flatPath": "v1/firstAndThirdPartyAudiences",
31562	//   "httpMethod": "GET",
31563	//   "id": "displayvideo.firstAndThirdPartyAudiences.list",
31564	//   "parameterOrder": [],
31565	//   "parameters": {
31566	//     "advertiserId": {
31567	//       "description": "The ID of the advertiser that has access to the fetched first and third party audiences.",
31568	//       "format": "int64",
31569	//       "location": "query",
31570	//       "type": "string"
31571	//     },
31572	//     "filter": {
31573	//       "description": "Allows filtering by first and third party audience fields. Supported syntax: * Filter expressions for first and third party audiences currently can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All first and third party audiences for which the display name contains \"Google\": `displayName : \"Google\"`. The length of this field should be no more than 500 characters.",
31574	//       "location": "query",
31575	//       "type": "string"
31576	//     },
31577	//     "orderBy": {
31578	//       "description": "Field by which to sort the list. Acceptable values are: * `firstAndThirdPartyAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
31579	//       "location": "query",
31580	//       "type": "string"
31581	//     },
31582	//     "pageSize": {
31583	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
31584	//       "format": "int32",
31585	//       "location": "query",
31586	//       "type": "integer"
31587	//     },
31588	//     "pageToken": {
31589	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListFirstAndThirdPartyAudiences` method. If not specified, the first page of results will be returned.",
31590	//       "location": "query",
31591	//       "type": "string"
31592	//     },
31593	//     "partnerId": {
31594	//       "description": "The ID of the partner that has access to the fetched first and third party audiences.",
31595	//       "format": "int64",
31596	//       "location": "query",
31597	//       "type": "string"
31598	//     }
31599	//   },
31600	//   "path": "v1/firstAndThirdPartyAudiences",
31601	//   "response": {
31602	//     "$ref": "ListFirstAndThirdPartyAudiencesResponse"
31603	//   },
31604	//   "scopes": [
31605	//     "https://www.googleapis.com/auth/display-video"
31606	//   ]
31607	// }
31608
31609}
31610
31611// Pages invokes f for each page of results.
31612// A non-nil error returned from f will halt the iteration.
31613// The provided context supersedes any context provided to the Context method.
31614func (c *FirstAndThirdPartyAudiencesListCall) Pages(ctx context.Context, f func(*ListFirstAndThirdPartyAudiencesResponse) error) error {
31615	c.ctx_ = ctx
31616	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31617	for {
31618		x, err := c.Do()
31619		if err != nil {
31620			return err
31621		}
31622		if err := f(x); err != nil {
31623			return err
31624		}
31625		if x.NextPageToken == "" {
31626			return nil
31627		}
31628		c.PageToken(x.NextPageToken)
31629	}
31630}
31631
31632// method id "displayvideo.floodlightGroups.get":
31633
31634type FloodlightGroupsGetCall struct {
31635	s                 *Service
31636	floodlightGroupId int64
31637	urlParams_        gensupport.URLParams
31638	ifNoneMatch_      string
31639	ctx_              context.Context
31640	header_           http.Header
31641}
31642
31643// Get: Gets a Floodlight group.
31644//
31645// - floodlightGroupId: The ID of the Floodlight group to fetch.
31646func (r *FloodlightGroupsService) Get(floodlightGroupId int64) *FloodlightGroupsGetCall {
31647	c := &FloodlightGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31648	c.floodlightGroupId = floodlightGroupId
31649	return c
31650}
31651
31652// PartnerId sets the optional parameter "partnerId": Required. The
31653// partner context by which the Floodlight group is being accessed.
31654func (c *FloodlightGroupsGetCall) PartnerId(partnerId int64) *FloodlightGroupsGetCall {
31655	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31656	return c
31657}
31658
31659// Fields allows partial responses to be retrieved. See
31660// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31661// for more information.
31662func (c *FloodlightGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsGetCall {
31663	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31664	return c
31665}
31666
31667// IfNoneMatch sets the optional parameter which makes the operation
31668// fail if the object's ETag matches the given value. This is useful for
31669// getting updates only after the object has changed since the last
31670// request. Use googleapi.IsNotModified to check whether the response
31671// error from Do is the result of In-None-Match.
31672func (c *FloodlightGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsGetCall {
31673	c.ifNoneMatch_ = entityTag
31674	return c
31675}
31676
31677// Context sets the context to be used in this call's Do method. Any
31678// pending HTTP request will be aborted if the provided context is
31679// canceled.
31680func (c *FloodlightGroupsGetCall) Context(ctx context.Context) *FloodlightGroupsGetCall {
31681	c.ctx_ = ctx
31682	return c
31683}
31684
31685// Header returns an http.Header that can be modified by the caller to
31686// add HTTP headers to the request.
31687func (c *FloodlightGroupsGetCall) Header() http.Header {
31688	if c.header_ == nil {
31689		c.header_ = make(http.Header)
31690	}
31691	return c.header_
31692}
31693
31694func (c *FloodlightGroupsGetCall) doRequest(alt string) (*http.Response, error) {
31695	reqHeaders := make(http.Header)
31696	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31697	for k, v := range c.header_ {
31698		reqHeaders[k] = v
31699	}
31700	reqHeaders.Set("User-Agent", c.s.userAgent())
31701	if c.ifNoneMatch_ != "" {
31702		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31703	}
31704	var body io.Reader = nil
31705	c.urlParams_.Set("alt", alt)
31706	c.urlParams_.Set("prettyPrint", "false")
31707	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/floodlightGroups/{+floodlightGroupId}")
31708	urls += "?" + c.urlParams_.Encode()
31709	req, err := http.NewRequest("GET", urls, body)
31710	if err != nil {
31711		return nil, err
31712	}
31713	req.Header = reqHeaders
31714	googleapi.Expand(req.URL, map[string]string{
31715		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
31716	})
31717	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31718}
31719
31720// Do executes the "displayvideo.floodlightGroups.get" call.
31721// Exactly one of *FloodlightGroup or error will be non-nil. Any non-2xx
31722// status code is an error. Response headers are in either
31723// *FloodlightGroup.ServerResponse.Header or (if a response was returned
31724// at all) in error.(*googleapi.Error).Header. Use
31725// googleapi.IsNotModified to check whether the returned error was
31726// because http.StatusNotModified was returned.
31727func (c *FloodlightGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
31728	gensupport.SetOptions(c.urlParams_, opts...)
31729	res, err := c.doRequest("json")
31730	if res != nil && res.StatusCode == http.StatusNotModified {
31731		if res.Body != nil {
31732			res.Body.Close()
31733		}
31734		return nil, &googleapi.Error{
31735			Code:   res.StatusCode,
31736			Header: res.Header,
31737		}
31738	}
31739	if err != nil {
31740		return nil, err
31741	}
31742	defer googleapi.CloseBody(res)
31743	if err := googleapi.CheckResponse(res); err != nil {
31744		return nil, err
31745	}
31746	ret := &FloodlightGroup{
31747		ServerResponse: googleapi.ServerResponse{
31748			Header:         res.Header,
31749			HTTPStatusCode: res.StatusCode,
31750		},
31751	}
31752	target := &ret
31753	if err := gensupport.DecodeResponse(target, res); err != nil {
31754		return nil, err
31755	}
31756	return ret, nil
31757	// {
31758	//   "description": "Gets a Floodlight group.",
31759	//   "flatPath": "v1/floodlightGroups/{floodlightGroupsId}",
31760	//   "httpMethod": "GET",
31761	//   "id": "displayvideo.floodlightGroups.get",
31762	//   "parameterOrder": [
31763	//     "floodlightGroupId"
31764	//   ],
31765	//   "parameters": {
31766	//     "floodlightGroupId": {
31767	//       "description": "Required. The ID of the Floodlight group to fetch.",
31768	//       "format": "int64",
31769	//       "location": "path",
31770	//       "pattern": "^[^/]+$",
31771	//       "required": true,
31772	//       "type": "string"
31773	//     },
31774	//     "partnerId": {
31775	//       "description": "Required. The partner context by which the Floodlight group is being accessed.",
31776	//       "format": "int64",
31777	//       "location": "query",
31778	//       "type": "string"
31779	//     }
31780	//   },
31781	//   "path": "v1/floodlightGroups/{+floodlightGroupId}",
31782	//   "response": {
31783	//     "$ref": "FloodlightGroup"
31784	//   },
31785	//   "scopes": [
31786	//     "https://www.googleapis.com/auth/display-video"
31787	//   ]
31788	// }
31789
31790}
31791
31792// method id "displayvideo.floodlightGroups.patch":
31793
31794type FloodlightGroupsPatchCall struct {
31795	s                 *Service
31796	floodlightGroupId int64
31797	floodlightgroup   *FloodlightGroup
31798	urlParams_        gensupport.URLParams
31799	ctx_              context.Context
31800	header_           http.Header
31801}
31802
31803// Patch: Updates an existing Floodlight group. Returns the updated
31804// Floodlight group if successful.
31805//
31806// - floodlightGroupId: Output only. The unique ID of the Floodlight
31807//   group. Assigned by the system.
31808func (r *FloodlightGroupsService) Patch(floodlightGroupId int64, floodlightgroup *FloodlightGroup) *FloodlightGroupsPatchCall {
31809	c := &FloodlightGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31810	c.floodlightGroupId = floodlightGroupId
31811	c.floodlightgroup = floodlightgroup
31812	return c
31813}
31814
31815// PartnerId sets the optional parameter "partnerId": Required. The
31816// partner context by which the Floodlight group is being accessed.
31817func (c *FloodlightGroupsPatchCall) PartnerId(partnerId int64) *FloodlightGroupsPatchCall {
31818	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31819	return c
31820}
31821
31822// UpdateMask sets the optional parameter "updateMask": Required. The
31823// mask to control which fields to update.
31824func (c *FloodlightGroupsPatchCall) UpdateMask(updateMask string) *FloodlightGroupsPatchCall {
31825	c.urlParams_.Set("updateMask", updateMask)
31826	return c
31827}
31828
31829// Fields allows partial responses to be retrieved. See
31830// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31831// for more information.
31832func (c *FloodlightGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightGroupsPatchCall {
31833	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31834	return c
31835}
31836
31837// Context sets the context to be used in this call's Do method. Any
31838// pending HTTP request will be aborted if the provided context is
31839// canceled.
31840func (c *FloodlightGroupsPatchCall) Context(ctx context.Context) *FloodlightGroupsPatchCall {
31841	c.ctx_ = ctx
31842	return c
31843}
31844
31845// Header returns an http.Header that can be modified by the caller to
31846// add HTTP headers to the request.
31847func (c *FloodlightGroupsPatchCall) Header() http.Header {
31848	if c.header_ == nil {
31849		c.header_ = make(http.Header)
31850	}
31851	return c.header_
31852}
31853
31854func (c *FloodlightGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
31855	reqHeaders := make(http.Header)
31856	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
31857	for k, v := range c.header_ {
31858		reqHeaders[k] = v
31859	}
31860	reqHeaders.Set("User-Agent", c.s.userAgent())
31861	var body io.Reader = nil
31862	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightgroup)
31863	if err != nil {
31864		return nil, err
31865	}
31866	reqHeaders.Set("Content-Type", "application/json")
31867	c.urlParams_.Set("alt", alt)
31868	c.urlParams_.Set("prettyPrint", "false")
31869	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/floodlightGroups/{floodlightGroupId}")
31870	urls += "?" + c.urlParams_.Encode()
31871	req, err := http.NewRequest("PATCH", urls, body)
31872	if err != nil {
31873		return nil, err
31874	}
31875	req.Header = reqHeaders
31876	googleapi.Expand(req.URL, map[string]string{
31877		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
31878	})
31879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31880}
31881
31882// Do executes the "displayvideo.floodlightGroups.patch" call.
31883// Exactly one of *FloodlightGroup or error will be non-nil. Any non-2xx
31884// status code is an error. Response headers are in either
31885// *FloodlightGroup.ServerResponse.Header or (if a response was returned
31886// at all) in error.(*googleapi.Error).Header. Use
31887// googleapi.IsNotModified to check whether the returned error was
31888// because http.StatusNotModified was returned.
31889func (c *FloodlightGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
31890	gensupport.SetOptions(c.urlParams_, opts...)
31891	res, err := c.doRequest("json")
31892	if res != nil && res.StatusCode == http.StatusNotModified {
31893		if res.Body != nil {
31894			res.Body.Close()
31895		}
31896		return nil, &googleapi.Error{
31897			Code:   res.StatusCode,
31898			Header: res.Header,
31899		}
31900	}
31901	if err != nil {
31902		return nil, err
31903	}
31904	defer googleapi.CloseBody(res)
31905	if err := googleapi.CheckResponse(res); err != nil {
31906		return nil, err
31907	}
31908	ret := &FloodlightGroup{
31909		ServerResponse: googleapi.ServerResponse{
31910			Header:         res.Header,
31911			HTTPStatusCode: res.StatusCode,
31912		},
31913	}
31914	target := &ret
31915	if err := gensupport.DecodeResponse(target, res); err != nil {
31916		return nil, err
31917	}
31918	return ret, nil
31919	// {
31920	//   "description": "Updates an existing Floodlight group. Returns the updated Floodlight group if successful.",
31921	//   "flatPath": "v1/floodlightGroups/{floodlightGroupId}",
31922	//   "httpMethod": "PATCH",
31923	//   "id": "displayvideo.floodlightGroups.patch",
31924	//   "parameterOrder": [
31925	//     "floodlightGroupId"
31926	//   ],
31927	//   "parameters": {
31928	//     "floodlightGroupId": {
31929	//       "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.",
31930	//       "format": "int64",
31931	//       "location": "path",
31932	//       "required": true,
31933	//       "type": "string"
31934	//     },
31935	//     "partnerId": {
31936	//       "description": "Required. The partner context by which the Floodlight group is being accessed.",
31937	//       "format": "int64",
31938	//       "location": "query",
31939	//       "type": "string"
31940	//     },
31941	//     "updateMask": {
31942	//       "description": "Required. The mask to control which fields to update.",
31943	//       "format": "google-fieldmask",
31944	//       "location": "query",
31945	//       "type": "string"
31946	//     }
31947	//   },
31948	//   "path": "v1/floodlightGroups/{floodlightGroupId}",
31949	//   "request": {
31950	//     "$ref": "FloodlightGroup"
31951	//   },
31952	//   "response": {
31953	//     "$ref": "FloodlightGroup"
31954	//   },
31955	//   "scopes": [
31956	//     "https://www.googleapis.com/auth/display-video"
31957	//   ]
31958	// }
31959
31960}
31961
31962// method id "displayvideo.googleAudiences.get":
31963
31964type GoogleAudiencesGetCall struct {
31965	s                *Service
31966	googleAudienceId int64
31967	urlParams_       gensupport.URLParams
31968	ifNoneMatch_     string
31969	ctx_             context.Context
31970	header_          http.Header
31971}
31972
31973// Get: Gets a Google audience.
31974//
31975// - googleAudienceId: The ID of the Google audience to fetch.
31976func (r *GoogleAudiencesService) Get(googleAudienceId int64) *GoogleAudiencesGetCall {
31977	c := &GoogleAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31978	c.googleAudienceId = googleAudienceId
31979	return c
31980}
31981
31982// AdvertiserId sets the optional parameter "advertiserId": The ID of
31983// the advertiser that has access to the fetched Google audience.
31984func (c *GoogleAudiencesGetCall) AdvertiserId(advertiserId int64) *GoogleAudiencesGetCall {
31985	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31986	return c
31987}
31988
31989// PartnerId sets the optional parameter "partnerId": The ID of the
31990// partner that has access to the fetched Google audience.
31991func (c *GoogleAudiencesGetCall) PartnerId(partnerId int64) *GoogleAudiencesGetCall {
31992	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31993	return c
31994}
31995
31996// Fields allows partial responses to be retrieved. See
31997// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31998// for more information.
31999func (c *GoogleAudiencesGetCall) Fields(s ...googleapi.Field) *GoogleAudiencesGetCall {
32000	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32001	return c
32002}
32003
32004// IfNoneMatch sets the optional parameter which makes the operation
32005// fail if the object's ETag matches the given value. This is useful for
32006// getting updates only after the object has changed since the last
32007// request. Use googleapi.IsNotModified to check whether the response
32008// error from Do is the result of In-None-Match.
32009func (c *GoogleAudiencesGetCall) IfNoneMatch(entityTag string) *GoogleAudiencesGetCall {
32010	c.ifNoneMatch_ = entityTag
32011	return c
32012}
32013
32014// Context sets the context to be used in this call's Do method. Any
32015// pending HTTP request will be aborted if the provided context is
32016// canceled.
32017func (c *GoogleAudiencesGetCall) Context(ctx context.Context) *GoogleAudiencesGetCall {
32018	c.ctx_ = ctx
32019	return c
32020}
32021
32022// Header returns an http.Header that can be modified by the caller to
32023// add HTTP headers to the request.
32024func (c *GoogleAudiencesGetCall) Header() http.Header {
32025	if c.header_ == nil {
32026		c.header_ = make(http.Header)
32027	}
32028	return c.header_
32029}
32030
32031func (c *GoogleAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
32032	reqHeaders := make(http.Header)
32033	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32034	for k, v := range c.header_ {
32035		reqHeaders[k] = v
32036	}
32037	reqHeaders.Set("User-Agent", c.s.userAgent())
32038	if c.ifNoneMatch_ != "" {
32039		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32040	}
32041	var body io.Reader = nil
32042	c.urlParams_.Set("alt", alt)
32043	c.urlParams_.Set("prettyPrint", "false")
32044	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/googleAudiences/{+googleAudienceId}")
32045	urls += "?" + c.urlParams_.Encode()
32046	req, err := http.NewRequest("GET", urls, body)
32047	if err != nil {
32048		return nil, err
32049	}
32050	req.Header = reqHeaders
32051	googleapi.Expand(req.URL, map[string]string{
32052		"googleAudienceId": strconv.FormatInt(c.googleAudienceId, 10),
32053	})
32054	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32055}
32056
32057// Do executes the "displayvideo.googleAudiences.get" call.
32058// Exactly one of *GoogleAudience or error will be non-nil. Any non-2xx
32059// status code is an error. Response headers are in either
32060// *GoogleAudience.ServerResponse.Header or (if a response was returned
32061// at all) in error.(*googleapi.Error).Header. Use
32062// googleapi.IsNotModified to check whether the returned error was
32063// because http.StatusNotModified was returned.
32064func (c *GoogleAudiencesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAudience, error) {
32065	gensupport.SetOptions(c.urlParams_, opts...)
32066	res, err := c.doRequest("json")
32067	if res != nil && res.StatusCode == http.StatusNotModified {
32068		if res.Body != nil {
32069			res.Body.Close()
32070		}
32071		return nil, &googleapi.Error{
32072			Code:   res.StatusCode,
32073			Header: res.Header,
32074		}
32075	}
32076	if err != nil {
32077		return nil, err
32078	}
32079	defer googleapi.CloseBody(res)
32080	if err := googleapi.CheckResponse(res); err != nil {
32081		return nil, err
32082	}
32083	ret := &GoogleAudience{
32084		ServerResponse: googleapi.ServerResponse{
32085			Header:         res.Header,
32086			HTTPStatusCode: res.StatusCode,
32087		},
32088	}
32089	target := &ret
32090	if err := gensupport.DecodeResponse(target, res); err != nil {
32091		return nil, err
32092	}
32093	return ret, nil
32094	// {
32095	//   "description": "Gets a Google audience.",
32096	//   "flatPath": "v1/googleAudiences/{googleAudiencesId}",
32097	//   "httpMethod": "GET",
32098	//   "id": "displayvideo.googleAudiences.get",
32099	//   "parameterOrder": [
32100	//     "googleAudienceId"
32101	//   ],
32102	//   "parameters": {
32103	//     "advertiserId": {
32104	//       "description": "The ID of the advertiser that has access to the fetched Google audience.",
32105	//       "format": "int64",
32106	//       "location": "query",
32107	//       "type": "string"
32108	//     },
32109	//     "googleAudienceId": {
32110	//       "description": "Required. The ID of the Google audience to fetch.",
32111	//       "format": "int64",
32112	//       "location": "path",
32113	//       "pattern": "^[^/]+$",
32114	//       "required": true,
32115	//       "type": "string"
32116	//     },
32117	//     "partnerId": {
32118	//       "description": "The ID of the partner that has access to the fetched Google audience.",
32119	//       "format": "int64",
32120	//       "location": "query",
32121	//       "type": "string"
32122	//     }
32123	//   },
32124	//   "path": "v1/googleAudiences/{+googleAudienceId}",
32125	//   "response": {
32126	//     "$ref": "GoogleAudience"
32127	//   },
32128	//   "scopes": [
32129	//     "https://www.googleapis.com/auth/display-video"
32130	//   ]
32131	// }
32132
32133}
32134
32135// method id "displayvideo.googleAudiences.list":
32136
32137type GoogleAudiencesListCall struct {
32138	s            *Service
32139	urlParams_   gensupport.URLParams
32140	ifNoneMatch_ string
32141	ctx_         context.Context
32142	header_      http.Header
32143}
32144
32145// List: Lists Google audiences. The order is defined by the order_by
32146// parameter.
32147func (r *GoogleAudiencesService) List() *GoogleAudiencesListCall {
32148	c := &GoogleAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32149	return c
32150}
32151
32152// AdvertiserId sets the optional parameter "advertiserId": The ID of
32153// the advertiser that has access to the fetched Google audiences.
32154func (c *GoogleAudiencesListCall) AdvertiserId(advertiserId int64) *GoogleAudiencesListCall {
32155	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32156	return c
32157}
32158
32159// Filter sets the optional parameter "filter": Allows filtering by
32160// Google audience fields. Supported syntax: * Filter expressions for
32161// Google audiences currently can only contain at most one restriction.
32162// * A restriction has the form of `{field} {operator} {value}`. * The
32163// operator must be `CONTAINS (:)`. * Supported fields: - `displayName`
32164// Examples: * All Google audiences for which the display name contains
32165// "Google": `displayName : "Google". The length of this field should
32166// be no more than 500 characters.
32167func (c *GoogleAudiencesListCall) Filter(filter string) *GoogleAudiencesListCall {
32168	c.urlParams_.Set("filter", filter)
32169	return c
32170}
32171
32172// OrderBy sets the optional parameter "orderBy": Field by which to sort
32173// the list. Acceptable values are: * `googleAudienceId` (default) *
32174// `displayName` The default sorting order is ascending. To specify
32175// descending order for a field, a suffix "desc" should be added to the
32176// field name. Example: `displayName desc`.
32177func (c *GoogleAudiencesListCall) OrderBy(orderBy string) *GoogleAudiencesListCall {
32178	c.urlParams_.Set("orderBy", orderBy)
32179	return c
32180}
32181
32182// PageSize sets the optional parameter "pageSize": Requested page size.
32183// Must be between `1` and `100`. If unspecified will default to `100`.
32184// Returns error code `INVALID_ARGUMENT` if an invalid value is
32185// specified.
32186func (c *GoogleAudiencesListCall) PageSize(pageSize int64) *GoogleAudiencesListCall {
32187	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
32188	return c
32189}
32190
32191// PageToken sets the optional parameter "pageToken": A token
32192// identifying a page of results the server should return. Typically,
32193// this is the value of next_page_token returned from the previous call
32194// to `ListGoogleAudiences` method. If not specified, the first page of
32195// results will be returned.
32196func (c *GoogleAudiencesListCall) PageToken(pageToken string) *GoogleAudiencesListCall {
32197	c.urlParams_.Set("pageToken", pageToken)
32198	return c
32199}
32200
32201// PartnerId sets the optional parameter "partnerId": The ID of the
32202// partner that has access to the fetched Google audiences.
32203func (c *GoogleAudiencesListCall) PartnerId(partnerId int64) *GoogleAudiencesListCall {
32204	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32205	return c
32206}
32207
32208// Fields allows partial responses to be retrieved. See
32209// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32210// for more information.
32211func (c *GoogleAudiencesListCall) Fields(s ...googleapi.Field) *GoogleAudiencesListCall {
32212	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32213	return c
32214}
32215
32216// IfNoneMatch sets the optional parameter which makes the operation
32217// fail if the object's ETag matches the given value. This is useful for
32218// getting updates only after the object has changed since the last
32219// request. Use googleapi.IsNotModified to check whether the response
32220// error from Do is the result of In-None-Match.
32221func (c *GoogleAudiencesListCall) IfNoneMatch(entityTag string) *GoogleAudiencesListCall {
32222	c.ifNoneMatch_ = entityTag
32223	return c
32224}
32225
32226// Context sets the context to be used in this call's Do method. Any
32227// pending HTTP request will be aborted if the provided context is
32228// canceled.
32229func (c *GoogleAudiencesListCall) Context(ctx context.Context) *GoogleAudiencesListCall {
32230	c.ctx_ = ctx
32231	return c
32232}
32233
32234// Header returns an http.Header that can be modified by the caller to
32235// add HTTP headers to the request.
32236func (c *GoogleAudiencesListCall) Header() http.Header {
32237	if c.header_ == nil {
32238		c.header_ = make(http.Header)
32239	}
32240	return c.header_
32241}
32242
32243func (c *GoogleAudiencesListCall) doRequest(alt string) (*http.Response, error) {
32244	reqHeaders := make(http.Header)
32245	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32246	for k, v := range c.header_ {
32247		reqHeaders[k] = v
32248	}
32249	reqHeaders.Set("User-Agent", c.s.userAgent())
32250	if c.ifNoneMatch_ != "" {
32251		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32252	}
32253	var body io.Reader = nil
32254	c.urlParams_.Set("alt", alt)
32255	c.urlParams_.Set("prettyPrint", "false")
32256	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/googleAudiences")
32257	urls += "?" + c.urlParams_.Encode()
32258	req, err := http.NewRequest("GET", urls, body)
32259	if err != nil {
32260		return nil, err
32261	}
32262	req.Header = reqHeaders
32263	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32264}
32265
32266// Do executes the "displayvideo.googleAudiences.list" call.
32267// Exactly one of *ListGoogleAudiencesResponse or error will be non-nil.
32268// Any non-2xx status code is an error. Response headers are in either
32269// *ListGoogleAudiencesResponse.ServerResponse.Header or (if a response
32270// was returned at all) in error.(*googleapi.Error).Header. Use
32271// googleapi.IsNotModified to check whether the returned error was
32272// because http.StatusNotModified was returned.
32273func (c *GoogleAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListGoogleAudiencesResponse, error) {
32274	gensupport.SetOptions(c.urlParams_, opts...)
32275	res, err := c.doRequest("json")
32276	if res != nil && res.StatusCode == http.StatusNotModified {
32277		if res.Body != nil {
32278			res.Body.Close()
32279		}
32280		return nil, &googleapi.Error{
32281			Code:   res.StatusCode,
32282			Header: res.Header,
32283		}
32284	}
32285	if err != nil {
32286		return nil, err
32287	}
32288	defer googleapi.CloseBody(res)
32289	if err := googleapi.CheckResponse(res); err != nil {
32290		return nil, err
32291	}
32292	ret := &ListGoogleAudiencesResponse{
32293		ServerResponse: googleapi.ServerResponse{
32294			Header:         res.Header,
32295			HTTPStatusCode: res.StatusCode,
32296		},
32297	}
32298	target := &ret
32299	if err := gensupport.DecodeResponse(target, res); err != nil {
32300		return nil, err
32301	}
32302	return ret, nil
32303	// {
32304	//   "description": "Lists Google audiences. The order is defined by the order_by parameter.",
32305	//   "flatPath": "v1/googleAudiences",
32306	//   "httpMethod": "GET",
32307	//   "id": "displayvideo.googleAudiences.list",
32308	//   "parameterOrder": [],
32309	//   "parameters": {
32310	//     "advertiserId": {
32311	//       "description": "The ID of the advertiser that has access to the fetched Google audiences.",
32312	//       "format": "int64",
32313	//       "location": "query",
32314	//       "type": "string"
32315	//     },
32316	//     "filter": {
32317	//       "description": "Allows filtering by Google audience fields. Supported syntax: * Filter expressions for Google audiences currently can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All Google audiences for which the display name contains \"Google\": `displayName : \"Google\"`. The length of this field should be no more than 500 characters.",
32318	//       "location": "query",
32319	//       "type": "string"
32320	//     },
32321	//     "orderBy": {
32322	//       "description": "Field by which to sort the list. Acceptable values are: * `googleAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.",
32323	//       "location": "query",
32324	//       "type": "string"
32325	//     },
32326	//     "pageSize": {
32327	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
32328	//       "format": "int32",
32329	//       "location": "query",
32330	//       "type": "integer"
32331	//     },
32332	//     "pageToken": {
32333	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListGoogleAudiences` method. If not specified, the first page of results will be returned.",
32334	//       "location": "query",
32335	//       "type": "string"
32336	//     },
32337	//     "partnerId": {
32338	//       "description": "The ID of the partner that has access to the fetched Google audiences.",
32339	//       "format": "int64",
32340	//       "location": "query",
32341	//       "type": "string"
32342	//     }
32343	//   },
32344	//   "path": "v1/googleAudiences",
32345	//   "response": {
32346	//     "$ref": "ListGoogleAudiencesResponse"
32347	//   },
32348	//   "scopes": [
32349	//     "https://www.googleapis.com/auth/display-video"
32350	//   ]
32351	// }
32352
32353}
32354
32355// Pages invokes f for each page of results.
32356// A non-nil error returned from f will halt the iteration.
32357// The provided context supersedes any context provided to the Context method.
32358func (c *GoogleAudiencesListCall) Pages(ctx context.Context, f func(*ListGoogleAudiencesResponse) error) error {
32359	c.ctx_ = ctx
32360	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32361	for {
32362		x, err := c.Do()
32363		if err != nil {
32364			return err
32365		}
32366		if err := f(x); err != nil {
32367			return err
32368		}
32369		if x.NextPageToken == "" {
32370			return nil
32371		}
32372		c.PageToken(x.NextPageToken)
32373	}
32374}
32375
32376// method id "displayvideo.inventorySourceGroups.create":
32377
32378type InventorySourceGroupsCreateCall struct {
32379	s                    *Service
32380	inventorysourcegroup *InventorySourceGroup
32381	urlParams_           gensupport.URLParams
32382	ctx_                 context.Context
32383	header_              http.Header
32384}
32385
32386// Create: Creates a new inventory source group. Returns the newly
32387// created inventory source group if successful.
32388func (r *InventorySourceGroupsService) Create(inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsCreateCall {
32389	c := &InventorySourceGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32390	c.inventorysourcegroup = inventorysourcegroup
32391	return c
32392}
32393
32394// AdvertiserId sets the optional parameter "advertiserId": The ID of
32395// the advertiser that owns the inventory source group. The parent
32396// partner will not have access to this group.
32397func (c *InventorySourceGroupsCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsCreateCall {
32398	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32399	return c
32400}
32401
32402// PartnerId sets the optional parameter "partnerId": The ID of the
32403// partner that owns the inventory source group. Only this partner will
32404// have write access to this group. Only advertisers to which this group
32405// is explicitly shared will have read access to this group.
32406func (c *InventorySourceGroupsCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsCreateCall {
32407	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32408	return c
32409}
32410
32411// Fields allows partial responses to be retrieved. See
32412// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32413// for more information.
32414func (c *InventorySourceGroupsCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsCreateCall {
32415	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32416	return c
32417}
32418
32419// Context sets the context to be used in this call's Do method. Any
32420// pending HTTP request will be aborted if the provided context is
32421// canceled.
32422func (c *InventorySourceGroupsCreateCall) Context(ctx context.Context) *InventorySourceGroupsCreateCall {
32423	c.ctx_ = ctx
32424	return c
32425}
32426
32427// Header returns an http.Header that can be modified by the caller to
32428// add HTTP headers to the request.
32429func (c *InventorySourceGroupsCreateCall) Header() http.Header {
32430	if c.header_ == nil {
32431		c.header_ = make(http.Header)
32432	}
32433	return c.header_
32434}
32435
32436func (c *InventorySourceGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
32437	reqHeaders := make(http.Header)
32438	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32439	for k, v := range c.header_ {
32440		reqHeaders[k] = v
32441	}
32442	reqHeaders.Set("User-Agent", c.s.userAgent())
32443	var body io.Reader = nil
32444	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
32445	if err != nil {
32446		return nil, err
32447	}
32448	reqHeaders.Set("Content-Type", "application/json")
32449	c.urlParams_.Set("alt", alt)
32450	c.urlParams_.Set("prettyPrint", "false")
32451	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups")
32452	urls += "?" + c.urlParams_.Encode()
32453	req, err := http.NewRequest("POST", urls, body)
32454	if err != nil {
32455		return nil, err
32456	}
32457	req.Header = reqHeaders
32458	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32459}
32460
32461// Do executes the "displayvideo.inventorySourceGroups.create" call.
32462// Exactly one of *InventorySourceGroup or error will be non-nil. Any
32463// non-2xx status code is an error. Response headers are in either
32464// *InventorySourceGroup.ServerResponse.Header or (if a response was
32465// returned at all) in error.(*googleapi.Error).Header. Use
32466// googleapi.IsNotModified to check whether the returned error was
32467// because http.StatusNotModified was returned.
32468func (c *InventorySourceGroupsCreateCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
32469	gensupport.SetOptions(c.urlParams_, opts...)
32470	res, err := c.doRequest("json")
32471	if res != nil && res.StatusCode == http.StatusNotModified {
32472		if res.Body != nil {
32473			res.Body.Close()
32474		}
32475		return nil, &googleapi.Error{
32476			Code:   res.StatusCode,
32477			Header: res.Header,
32478		}
32479	}
32480	if err != nil {
32481		return nil, err
32482	}
32483	defer googleapi.CloseBody(res)
32484	if err := googleapi.CheckResponse(res); err != nil {
32485		return nil, err
32486	}
32487	ret := &InventorySourceGroup{
32488		ServerResponse: googleapi.ServerResponse{
32489			Header:         res.Header,
32490			HTTPStatusCode: res.StatusCode,
32491		},
32492	}
32493	target := &ret
32494	if err := gensupport.DecodeResponse(target, res); err != nil {
32495		return nil, err
32496	}
32497	return ret, nil
32498	// {
32499	//   "description": "Creates a new inventory source group. Returns the newly created inventory source group if successful.",
32500	//   "flatPath": "v1/inventorySourceGroups",
32501	//   "httpMethod": "POST",
32502	//   "id": "displayvideo.inventorySourceGroups.create",
32503	//   "parameterOrder": [],
32504	//   "parameters": {
32505	//     "advertiserId": {
32506	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner will not have access to this group.",
32507	//       "format": "int64",
32508	//       "location": "query",
32509	//       "type": "string"
32510	//     },
32511	//     "partnerId": {
32512	//       "description": "The ID of the partner that owns the inventory source group. Only this partner will have write access to this group. Only advertisers to which this group is explicitly shared will have read access to this group.",
32513	//       "format": "int64",
32514	//       "location": "query",
32515	//       "type": "string"
32516	//     }
32517	//   },
32518	//   "path": "v1/inventorySourceGroups",
32519	//   "request": {
32520	//     "$ref": "InventorySourceGroup"
32521	//   },
32522	//   "response": {
32523	//     "$ref": "InventorySourceGroup"
32524	//   },
32525	//   "scopes": [
32526	//     "https://www.googleapis.com/auth/display-video"
32527	//   ]
32528	// }
32529
32530}
32531
32532// method id "displayvideo.inventorySourceGroups.delete":
32533
32534type InventorySourceGroupsDeleteCall struct {
32535	s                      *Service
32536	inventorySourceGroupId int64
32537	urlParams_             gensupport.URLParams
32538	ctx_                   context.Context
32539	header_                http.Header
32540}
32541
32542// Delete: Deletes an inventory source group.
32543//
32544// - inventorySourceGroupId: The ID of the inventory source group to
32545//   delete.
32546func (r *InventorySourceGroupsService) Delete(inventorySourceGroupId int64) *InventorySourceGroupsDeleteCall {
32547	c := &InventorySourceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32548	c.inventorySourceGroupId = inventorySourceGroupId
32549	return c
32550}
32551
32552// AdvertiserId sets the optional parameter "advertiserId": The ID of
32553// the advertiser that owns the inventory source group. The parent
32554// partner does not have access to this group.
32555func (c *InventorySourceGroupsDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsDeleteCall {
32556	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32557	return c
32558}
32559
32560// PartnerId sets the optional parameter "partnerId": The ID of the
32561// partner that owns the inventory source group. Only this partner has
32562// write access to this group.
32563func (c *InventorySourceGroupsDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsDeleteCall {
32564	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32565	return c
32566}
32567
32568// Fields allows partial responses to be retrieved. See
32569// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32570// for more information.
32571func (c *InventorySourceGroupsDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsDeleteCall {
32572	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32573	return c
32574}
32575
32576// Context sets the context to be used in this call's Do method. Any
32577// pending HTTP request will be aborted if the provided context is
32578// canceled.
32579func (c *InventorySourceGroupsDeleteCall) Context(ctx context.Context) *InventorySourceGroupsDeleteCall {
32580	c.ctx_ = ctx
32581	return c
32582}
32583
32584// Header returns an http.Header that can be modified by the caller to
32585// add HTTP headers to the request.
32586func (c *InventorySourceGroupsDeleteCall) Header() http.Header {
32587	if c.header_ == nil {
32588		c.header_ = make(http.Header)
32589	}
32590	return c.header_
32591}
32592
32593func (c *InventorySourceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
32594	reqHeaders := make(http.Header)
32595	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32596	for k, v := range c.header_ {
32597		reqHeaders[k] = v
32598	}
32599	reqHeaders.Set("User-Agent", c.s.userAgent())
32600	var body io.Reader = nil
32601	c.urlParams_.Set("alt", alt)
32602	c.urlParams_.Set("prettyPrint", "false")
32603	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}")
32604	urls += "?" + c.urlParams_.Encode()
32605	req, err := http.NewRequest("DELETE", urls, body)
32606	if err != nil {
32607		return nil, err
32608	}
32609	req.Header = reqHeaders
32610	googleapi.Expand(req.URL, map[string]string{
32611		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
32612	})
32613	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32614}
32615
32616// Do executes the "displayvideo.inventorySourceGroups.delete" call.
32617// Exactly one of *Empty or error will be non-nil. Any non-2xx status
32618// code is an error. Response headers are in either
32619// *Empty.ServerResponse.Header or (if a response was returned at all)
32620// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
32621// check whether the returned error was because http.StatusNotModified
32622// was returned.
32623func (c *InventorySourceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
32624	gensupport.SetOptions(c.urlParams_, opts...)
32625	res, err := c.doRequest("json")
32626	if res != nil && res.StatusCode == http.StatusNotModified {
32627		if res.Body != nil {
32628			res.Body.Close()
32629		}
32630		return nil, &googleapi.Error{
32631			Code:   res.StatusCode,
32632			Header: res.Header,
32633		}
32634	}
32635	if err != nil {
32636		return nil, err
32637	}
32638	defer googleapi.CloseBody(res)
32639	if err := googleapi.CheckResponse(res); err != nil {
32640		return nil, err
32641	}
32642	ret := &Empty{
32643		ServerResponse: googleapi.ServerResponse{
32644			Header:         res.Header,
32645			HTTPStatusCode: res.StatusCode,
32646		},
32647	}
32648	target := &ret
32649	if err := gensupport.DecodeResponse(target, res); err != nil {
32650		return nil, err
32651	}
32652	return ret, nil
32653	// {
32654	//   "description": "Deletes an inventory source group.",
32655	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}",
32656	//   "httpMethod": "DELETE",
32657	//   "id": "displayvideo.inventorySourceGroups.delete",
32658	//   "parameterOrder": [
32659	//     "inventorySourceGroupId"
32660	//   ],
32661	//   "parameters": {
32662	//     "advertiserId": {
32663	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.",
32664	//       "format": "int64",
32665	//       "location": "query",
32666	//       "type": "string"
32667	//     },
32668	//     "inventorySourceGroupId": {
32669	//       "description": "Required. The ID of the inventory source group to delete.",
32670	//       "format": "int64",
32671	//       "location": "path",
32672	//       "pattern": "^[^/]+$",
32673	//       "required": true,
32674	//       "type": "string"
32675	//     },
32676	//     "partnerId": {
32677	//       "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.",
32678	//       "format": "int64",
32679	//       "location": "query",
32680	//       "type": "string"
32681	//     }
32682	//   },
32683	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}",
32684	//   "response": {
32685	//     "$ref": "Empty"
32686	//   },
32687	//   "scopes": [
32688	//     "https://www.googleapis.com/auth/display-video"
32689	//   ]
32690	// }
32691
32692}
32693
32694// method id "displayvideo.inventorySourceGroups.get":
32695
32696type InventorySourceGroupsGetCall struct {
32697	s                      *Service
32698	inventorySourceGroupId int64
32699	urlParams_             gensupport.URLParams
32700	ifNoneMatch_           string
32701	ctx_                   context.Context
32702	header_                http.Header
32703}
32704
32705// Get: Gets an inventory source group.
32706//
32707// - inventorySourceGroupId: The ID of the inventory source group to
32708//   fetch.
32709func (r *InventorySourceGroupsService) Get(inventorySourceGroupId int64) *InventorySourceGroupsGetCall {
32710	c := &InventorySourceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32711	c.inventorySourceGroupId = inventorySourceGroupId
32712	return c
32713}
32714
32715// AdvertiserId sets the optional parameter "advertiserId": The ID of
32716// the advertiser that has access to the inventory source group. If an
32717// inventory source group is partner-owned, only advertisers to which
32718// the group is explicitly shared can access the group.
32719func (c *InventorySourceGroupsGetCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsGetCall {
32720	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32721	return c
32722}
32723
32724// PartnerId sets the optional parameter "partnerId": The ID of the
32725// partner that has access to the inventory source group. A partner
32726// cannot access an advertiser-owned inventory source group.
32727func (c *InventorySourceGroupsGetCall) PartnerId(partnerId int64) *InventorySourceGroupsGetCall {
32728	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32729	return c
32730}
32731
32732// Fields allows partial responses to be retrieved. See
32733// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32734// for more information.
32735func (c *InventorySourceGroupsGetCall) Fields(s ...googleapi.Field) *InventorySourceGroupsGetCall {
32736	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32737	return c
32738}
32739
32740// IfNoneMatch sets the optional parameter which makes the operation
32741// fail if the object's ETag matches the given value. This is useful for
32742// getting updates only after the object has changed since the last
32743// request. Use googleapi.IsNotModified to check whether the response
32744// error from Do is the result of In-None-Match.
32745func (c *InventorySourceGroupsGetCall) IfNoneMatch(entityTag string) *InventorySourceGroupsGetCall {
32746	c.ifNoneMatch_ = entityTag
32747	return c
32748}
32749
32750// Context sets the context to be used in this call's Do method. Any
32751// pending HTTP request will be aborted if the provided context is
32752// canceled.
32753func (c *InventorySourceGroupsGetCall) Context(ctx context.Context) *InventorySourceGroupsGetCall {
32754	c.ctx_ = ctx
32755	return c
32756}
32757
32758// Header returns an http.Header that can be modified by the caller to
32759// add HTTP headers to the request.
32760func (c *InventorySourceGroupsGetCall) Header() http.Header {
32761	if c.header_ == nil {
32762		c.header_ = make(http.Header)
32763	}
32764	return c.header_
32765}
32766
32767func (c *InventorySourceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
32768	reqHeaders := make(http.Header)
32769	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32770	for k, v := range c.header_ {
32771		reqHeaders[k] = v
32772	}
32773	reqHeaders.Set("User-Agent", c.s.userAgent())
32774	if c.ifNoneMatch_ != "" {
32775		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32776	}
32777	var body io.Reader = nil
32778	c.urlParams_.Set("alt", alt)
32779	c.urlParams_.Set("prettyPrint", "false")
32780	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}")
32781	urls += "?" + c.urlParams_.Encode()
32782	req, err := http.NewRequest("GET", urls, body)
32783	if err != nil {
32784		return nil, err
32785	}
32786	req.Header = reqHeaders
32787	googleapi.Expand(req.URL, map[string]string{
32788		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
32789	})
32790	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32791}
32792
32793// Do executes the "displayvideo.inventorySourceGroups.get" call.
32794// Exactly one of *InventorySourceGroup or error will be non-nil. Any
32795// non-2xx status code is an error. Response headers are in either
32796// *InventorySourceGroup.ServerResponse.Header or (if a response was
32797// returned at all) in error.(*googleapi.Error).Header. Use
32798// googleapi.IsNotModified to check whether the returned error was
32799// because http.StatusNotModified was returned.
32800func (c *InventorySourceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
32801	gensupport.SetOptions(c.urlParams_, opts...)
32802	res, err := c.doRequest("json")
32803	if res != nil && res.StatusCode == http.StatusNotModified {
32804		if res.Body != nil {
32805			res.Body.Close()
32806		}
32807		return nil, &googleapi.Error{
32808			Code:   res.StatusCode,
32809			Header: res.Header,
32810		}
32811	}
32812	if err != nil {
32813		return nil, err
32814	}
32815	defer googleapi.CloseBody(res)
32816	if err := googleapi.CheckResponse(res); err != nil {
32817		return nil, err
32818	}
32819	ret := &InventorySourceGroup{
32820		ServerResponse: googleapi.ServerResponse{
32821			Header:         res.Header,
32822			HTTPStatusCode: res.StatusCode,
32823		},
32824	}
32825	target := &ret
32826	if err := gensupport.DecodeResponse(target, res); err != nil {
32827		return nil, err
32828	}
32829	return ret, nil
32830	// {
32831	//   "description": "Gets an inventory source group.",
32832	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}",
32833	//   "httpMethod": "GET",
32834	//   "id": "displayvideo.inventorySourceGroups.get",
32835	//   "parameterOrder": [
32836	//     "inventorySourceGroupId"
32837	//   ],
32838	//   "parameters": {
32839	//     "advertiserId": {
32840	//       "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.",
32841	//       "format": "int64",
32842	//       "location": "query",
32843	//       "type": "string"
32844	//     },
32845	//     "inventorySourceGroupId": {
32846	//       "description": "Required. The ID of the inventory source group to fetch.",
32847	//       "format": "int64",
32848	//       "location": "path",
32849	//       "pattern": "^[^/]+$",
32850	//       "required": true,
32851	//       "type": "string"
32852	//     },
32853	//     "partnerId": {
32854	//       "description": "The ID of the partner that has access to the inventory source group. A partner cannot access an advertiser-owned inventory source group.",
32855	//       "format": "int64",
32856	//       "location": "query",
32857	//       "type": "string"
32858	//     }
32859	//   },
32860	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}",
32861	//   "response": {
32862	//     "$ref": "InventorySourceGroup"
32863	//   },
32864	//   "scopes": [
32865	//     "https://www.googleapis.com/auth/display-video"
32866	//   ]
32867	// }
32868
32869}
32870
32871// method id "displayvideo.inventorySourceGroups.list":
32872
32873type InventorySourceGroupsListCall struct {
32874	s            *Service
32875	urlParams_   gensupport.URLParams
32876	ifNoneMatch_ string
32877	ctx_         context.Context
32878	header_      http.Header
32879}
32880
32881// List: Lists inventory source groups that are accessible to the
32882// current user. The order is defined by the order_by parameter.
32883func (r *InventorySourceGroupsService) List() *InventorySourceGroupsListCall {
32884	c := &InventorySourceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32885	return c
32886}
32887
32888// AdvertiserId sets the optional parameter "advertiserId": The ID of
32889// the advertiser that has access to the inventory source group. If an
32890// inventory source group is partner-owned, only advertisers to which
32891// the group is explicitly shared can access the group.
32892func (c *InventorySourceGroupsListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsListCall {
32893	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32894	return c
32895}
32896
32897// Filter sets the optional parameter "filter": Allows filtering by
32898// inventory source group properties. Supported syntax: * Filter
32899// expressions are made up of one or more restrictions. * Restrictions
32900// can be combined by the logical operator `OR`. * A restriction has the
32901// form of `{field} {operator} {value}`. * The operator must be `EQUALS
32902// (=)`. * Supported fields: - `inventorySourceGroupId` The length of
32903// this field should be no more than 500 characters.
32904func (c *InventorySourceGroupsListCall) Filter(filter string) *InventorySourceGroupsListCall {
32905	c.urlParams_.Set("filter", filter)
32906	return c
32907}
32908
32909// OrderBy sets the optional parameter "orderBy": Field by which to sort
32910// the list. Acceptable values are: * `displayName` (default) *
32911// `inventorySourceGroupId` The default sorting order is ascending. To
32912// specify descending order for a field, a suffix "desc" should be added
32913// to the field name. For example, `displayName desc`.
32914func (c *InventorySourceGroupsListCall) OrderBy(orderBy string) *InventorySourceGroupsListCall {
32915	c.urlParams_.Set("orderBy", orderBy)
32916	return c
32917}
32918
32919// PageSize sets the optional parameter "pageSize": Requested page size.
32920// Must be between `1` and `100`. If unspecified will default to `100`.
32921func (c *InventorySourceGroupsListCall) PageSize(pageSize int64) *InventorySourceGroupsListCall {
32922	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
32923	return c
32924}
32925
32926// PageToken sets the optional parameter "pageToken": A token
32927// identifying a page of results the server should return. Typically,
32928// this is the value of next_page_token returned from the previous call
32929// to `ListInventorySources` method. If not specified, the first page of
32930// results will be returned.
32931func (c *InventorySourceGroupsListCall) PageToken(pageToken string) *InventorySourceGroupsListCall {
32932	c.urlParams_.Set("pageToken", pageToken)
32933	return c
32934}
32935
32936// PartnerId sets the optional parameter "partnerId": The ID of the
32937// partner that has access to the inventory source group. A partner
32938// cannot access advertiser-owned inventory source groups.
32939func (c *InventorySourceGroupsListCall) PartnerId(partnerId int64) *InventorySourceGroupsListCall {
32940	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32941	return c
32942}
32943
32944// Fields allows partial responses to be retrieved. See
32945// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32946// for more information.
32947func (c *InventorySourceGroupsListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsListCall {
32948	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32949	return c
32950}
32951
32952// IfNoneMatch sets the optional parameter which makes the operation
32953// fail if the object's ETag matches the given value. This is useful for
32954// getting updates only after the object has changed since the last
32955// request. Use googleapi.IsNotModified to check whether the response
32956// error from Do is the result of In-None-Match.
32957func (c *InventorySourceGroupsListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsListCall {
32958	c.ifNoneMatch_ = entityTag
32959	return c
32960}
32961
32962// Context sets the context to be used in this call's Do method. Any
32963// pending HTTP request will be aborted if the provided context is
32964// canceled.
32965func (c *InventorySourceGroupsListCall) Context(ctx context.Context) *InventorySourceGroupsListCall {
32966	c.ctx_ = ctx
32967	return c
32968}
32969
32970// Header returns an http.Header that can be modified by the caller to
32971// add HTTP headers to the request.
32972func (c *InventorySourceGroupsListCall) Header() http.Header {
32973	if c.header_ == nil {
32974		c.header_ = make(http.Header)
32975	}
32976	return c.header_
32977}
32978
32979func (c *InventorySourceGroupsListCall) doRequest(alt string) (*http.Response, error) {
32980	reqHeaders := make(http.Header)
32981	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
32982	for k, v := range c.header_ {
32983		reqHeaders[k] = v
32984	}
32985	reqHeaders.Set("User-Agent", c.s.userAgent())
32986	if c.ifNoneMatch_ != "" {
32987		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32988	}
32989	var body io.Reader = nil
32990	c.urlParams_.Set("alt", alt)
32991	c.urlParams_.Set("prettyPrint", "false")
32992	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups")
32993	urls += "?" + c.urlParams_.Encode()
32994	req, err := http.NewRequest("GET", urls, body)
32995	if err != nil {
32996		return nil, err
32997	}
32998	req.Header = reqHeaders
32999	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33000}
33001
33002// Do executes the "displayvideo.inventorySourceGroups.list" call.
33003// Exactly one of *ListInventorySourceGroupsResponse or error will be
33004// non-nil. Any non-2xx status code is an error. Response headers are in
33005// either *ListInventorySourceGroupsResponse.ServerResponse.Header or
33006// (if a response was returned at all) in
33007// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33008// whether the returned error was because http.StatusNotModified was
33009// returned.
33010func (c *InventorySourceGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourceGroupsResponse, error) {
33011	gensupport.SetOptions(c.urlParams_, opts...)
33012	res, err := c.doRequest("json")
33013	if res != nil && res.StatusCode == http.StatusNotModified {
33014		if res.Body != nil {
33015			res.Body.Close()
33016		}
33017		return nil, &googleapi.Error{
33018			Code:   res.StatusCode,
33019			Header: res.Header,
33020		}
33021	}
33022	if err != nil {
33023		return nil, err
33024	}
33025	defer googleapi.CloseBody(res)
33026	if err := googleapi.CheckResponse(res); err != nil {
33027		return nil, err
33028	}
33029	ret := &ListInventorySourceGroupsResponse{
33030		ServerResponse: googleapi.ServerResponse{
33031			Header:         res.Header,
33032			HTTPStatusCode: res.StatusCode,
33033		},
33034	}
33035	target := &ret
33036	if err := gensupport.DecodeResponse(target, res); err != nil {
33037		return nil, err
33038	}
33039	return ret, nil
33040	// {
33041	//   "description": "Lists inventory source groups that are accessible to the current user. The order is defined by the order_by parameter.",
33042	//   "flatPath": "v1/inventorySourceGroups",
33043	//   "httpMethod": "GET",
33044	//   "id": "displayvideo.inventorySourceGroups.list",
33045	//   "parameterOrder": [],
33046	//   "parameters": {
33047	//     "advertiserId": {
33048	//       "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.",
33049	//       "format": "int64",
33050	//       "location": "query",
33051	//       "type": "string"
33052	//     },
33053	//     "filter": {
33054	//       "description": "Allows filtering by inventory source group properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `inventorySourceGroupId` The length of this field should be no more than 500 characters.",
33055	//       "location": "query",
33056	//       "type": "string"
33057	//     },
33058	//     "orderBy": {
33059	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `inventorySourceGroupId` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
33060	//       "location": "query",
33061	//       "type": "string"
33062	//     },
33063	//     "pageSize": {
33064	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
33065	//       "format": "int32",
33066	//       "location": "query",
33067	//       "type": "integer"
33068	//     },
33069	//     "pageToken": {
33070	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInventorySources` method. If not specified, the first page of results will be returned.",
33071	//       "location": "query",
33072	//       "type": "string"
33073	//     },
33074	//     "partnerId": {
33075	//       "description": "The ID of the partner that has access to the inventory source group. A partner cannot access advertiser-owned inventory source groups.",
33076	//       "format": "int64",
33077	//       "location": "query",
33078	//       "type": "string"
33079	//     }
33080	//   },
33081	//   "path": "v1/inventorySourceGroups",
33082	//   "response": {
33083	//     "$ref": "ListInventorySourceGroupsResponse"
33084	//   },
33085	//   "scopes": [
33086	//     "https://www.googleapis.com/auth/display-video"
33087	//   ]
33088	// }
33089
33090}
33091
33092// Pages invokes f for each page of results.
33093// A non-nil error returned from f will halt the iteration.
33094// The provided context supersedes any context provided to the Context method.
33095func (c *InventorySourceGroupsListCall) Pages(ctx context.Context, f func(*ListInventorySourceGroupsResponse) error) error {
33096	c.ctx_ = ctx
33097	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33098	for {
33099		x, err := c.Do()
33100		if err != nil {
33101			return err
33102		}
33103		if err := f(x); err != nil {
33104			return err
33105		}
33106		if x.NextPageToken == "" {
33107			return nil
33108		}
33109		c.PageToken(x.NextPageToken)
33110	}
33111}
33112
33113// method id "displayvideo.inventorySourceGroups.patch":
33114
33115type InventorySourceGroupsPatchCall struct {
33116	s                      *Service
33117	inventorySourceGroupId int64
33118	inventorysourcegroup   *InventorySourceGroup
33119	urlParams_             gensupport.URLParams
33120	ctx_                   context.Context
33121	header_                http.Header
33122}
33123
33124// Patch: Updates an inventory source group. Returns the updated
33125// inventory source group if successful.
33126//
33127// - inventorySourceGroupId: Output only. The unique ID of the inventory
33128//   source group. Assigned by the system.
33129func (r *InventorySourceGroupsService) Patch(inventorySourceGroupId int64, inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsPatchCall {
33130	c := &InventorySourceGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33131	c.inventorySourceGroupId = inventorySourceGroupId
33132	c.inventorysourcegroup = inventorysourcegroup
33133	return c
33134}
33135
33136// AdvertiserId sets the optional parameter "advertiserId": The ID of
33137// the advertiser that owns the inventory source group. The parent
33138// partner does not have access to this group.
33139func (c *InventorySourceGroupsPatchCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsPatchCall {
33140	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33141	return c
33142}
33143
33144// PartnerId sets the optional parameter "partnerId": The ID of the
33145// partner that owns the inventory source group. Only this partner has
33146// write access to this group.
33147func (c *InventorySourceGroupsPatchCall) PartnerId(partnerId int64) *InventorySourceGroupsPatchCall {
33148	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33149	return c
33150}
33151
33152// UpdateMask sets the optional parameter "updateMask": Required. The
33153// mask to control which fields to update.
33154func (c *InventorySourceGroupsPatchCall) UpdateMask(updateMask string) *InventorySourceGroupsPatchCall {
33155	c.urlParams_.Set("updateMask", updateMask)
33156	return c
33157}
33158
33159// Fields allows partial responses to be retrieved. See
33160// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33161// for more information.
33162func (c *InventorySourceGroupsPatchCall) Fields(s ...googleapi.Field) *InventorySourceGroupsPatchCall {
33163	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33164	return c
33165}
33166
33167// Context sets the context to be used in this call's Do method. Any
33168// pending HTTP request will be aborted if the provided context is
33169// canceled.
33170func (c *InventorySourceGroupsPatchCall) Context(ctx context.Context) *InventorySourceGroupsPatchCall {
33171	c.ctx_ = ctx
33172	return c
33173}
33174
33175// Header returns an http.Header that can be modified by the caller to
33176// add HTTP headers to the request.
33177func (c *InventorySourceGroupsPatchCall) Header() http.Header {
33178	if c.header_ == nil {
33179		c.header_ = make(http.Header)
33180	}
33181	return c.header_
33182}
33183
33184func (c *InventorySourceGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
33185	reqHeaders := make(http.Header)
33186	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33187	for k, v := range c.header_ {
33188		reqHeaders[k] = v
33189	}
33190	reqHeaders.Set("User-Agent", c.s.userAgent())
33191	var body io.Reader = nil
33192	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
33193	if err != nil {
33194		return nil, err
33195	}
33196	reqHeaders.Set("Content-Type", "application/json")
33197	c.urlParams_.Set("alt", alt)
33198	c.urlParams_.Set("prettyPrint", "false")
33199	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{inventorySourceGroupId}")
33200	urls += "?" + c.urlParams_.Encode()
33201	req, err := http.NewRequest("PATCH", urls, body)
33202	if err != nil {
33203		return nil, err
33204	}
33205	req.Header = reqHeaders
33206	googleapi.Expand(req.URL, map[string]string{
33207		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33208	})
33209	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33210}
33211
33212// Do executes the "displayvideo.inventorySourceGroups.patch" call.
33213// Exactly one of *InventorySourceGroup or error will be non-nil. Any
33214// non-2xx status code is an error. Response headers are in either
33215// *InventorySourceGroup.ServerResponse.Header or (if a response was
33216// returned at all) in error.(*googleapi.Error).Header. Use
33217// googleapi.IsNotModified to check whether the returned error was
33218// because http.StatusNotModified was returned.
33219func (c *InventorySourceGroupsPatchCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
33220	gensupport.SetOptions(c.urlParams_, opts...)
33221	res, err := c.doRequest("json")
33222	if res != nil && res.StatusCode == http.StatusNotModified {
33223		if res.Body != nil {
33224			res.Body.Close()
33225		}
33226		return nil, &googleapi.Error{
33227			Code:   res.StatusCode,
33228			Header: res.Header,
33229		}
33230	}
33231	if err != nil {
33232		return nil, err
33233	}
33234	defer googleapi.CloseBody(res)
33235	if err := googleapi.CheckResponse(res); err != nil {
33236		return nil, err
33237	}
33238	ret := &InventorySourceGroup{
33239		ServerResponse: googleapi.ServerResponse{
33240			Header:         res.Header,
33241			HTTPStatusCode: res.StatusCode,
33242		},
33243	}
33244	target := &ret
33245	if err := gensupport.DecodeResponse(target, res); err != nil {
33246		return nil, err
33247	}
33248	return ret, nil
33249	// {
33250	//   "description": "Updates an inventory source group. Returns the updated inventory source group if successful.",
33251	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupId}",
33252	//   "httpMethod": "PATCH",
33253	//   "id": "displayvideo.inventorySourceGroups.patch",
33254	//   "parameterOrder": [
33255	//     "inventorySourceGroupId"
33256	//   ],
33257	//   "parameters": {
33258	//     "advertiserId": {
33259	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.",
33260	//       "format": "int64",
33261	//       "location": "query",
33262	//       "type": "string"
33263	//     },
33264	//     "inventorySourceGroupId": {
33265	//       "description": "Output only. The unique ID of the inventory source group. Assigned by the system.",
33266	//       "format": "int64",
33267	//       "location": "path",
33268	//       "required": true,
33269	//       "type": "string"
33270	//     },
33271	//     "partnerId": {
33272	//       "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.",
33273	//       "format": "int64",
33274	//       "location": "query",
33275	//       "type": "string"
33276	//     },
33277	//     "updateMask": {
33278	//       "description": "Required. The mask to control which fields to update.",
33279	//       "format": "google-fieldmask",
33280	//       "location": "query",
33281	//       "type": "string"
33282	//     }
33283	//   },
33284	//   "path": "v1/inventorySourceGroups/{inventorySourceGroupId}",
33285	//   "request": {
33286	//     "$ref": "InventorySourceGroup"
33287	//   },
33288	//   "response": {
33289	//     "$ref": "InventorySourceGroup"
33290	//   },
33291	//   "scopes": [
33292	//     "https://www.googleapis.com/auth/display-video"
33293	//   ]
33294	// }
33295
33296}
33297
33298// method id "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit":
33299
33300type InventorySourceGroupsAssignedInventorySourcesBulkEditCall struct {
33301	s                                       *Service
33302	inventorySourceGroupId                  int64
33303	bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest
33304	urlParams_                              gensupport.URLParams
33305	ctx_                                    context.Context
33306	header_                                 http.Header
33307}
33308
33309// BulkEdit: Bulk edits multiple assignments between inventory sources
33310// and a single inventory source group. The operation will delete the
33311// assigned inventory sources provided in
33312// BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sou
33313// rces and then create the assigned inventory sources provided in
33314// BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sou
33315// rces.
33316//
33317// - inventorySourceGroupId: The ID of the inventory source group to
33318//   which the assignments are assigned.
33319func (r *InventorySourceGroupsAssignedInventorySourcesService) BulkEdit(inventorySourceGroupId int64, bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
33320	c := &InventorySourceGroupsAssignedInventorySourcesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33321	c.inventorySourceGroupId = inventorySourceGroupId
33322	c.bulkeditassignedinventorysourcesrequest = bulkeditassignedinventorysourcesrequest
33323	return c
33324}
33325
33326// Fields allows partial responses to be retrieved. See
33327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33328// for more information.
33329func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
33330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33331	return c
33332}
33333
33334// Context sets the context to be used in this call's Do method. Any
33335// pending HTTP request will be aborted if the provided context is
33336// canceled.
33337func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
33338	c.ctx_ = ctx
33339	return c
33340}
33341
33342// Header returns an http.Header that can be modified by the caller to
33343// add HTTP headers to the request.
33344func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Header() http.Header {
33345	if c.header_ == nil {
33346		c.header_ = make(http.Header)
33347	}
33348	return c.header_
33349}
33350
33351func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) doRequest(alt string) (*http.Response, error) {
33352	reqHeaders := make(http.Header)
33353	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33354	for k, v := range c.header_ {
33355		reqHeaders[k] = v
33356	}
33357	reqHeaders.Set("User-Agent", c.s.userAgent())
33358	var body io.Reader = nil
33359	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedinventorysourcesrequest)
33360	if err != nil {
33361		return nil, err
33362	}
33363	reqHeaders.Set("Content-Type", "application/json")
33364	c.urlParams_.Set("alt", alt)
33365	c.urlParams_.Set("prettyPrint", "false")
33366	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit")
33367	urls += "?" + c.urlParams_.Encode()
33368	req, err := http.NewRequest("POST", urls, body)
33369	if err != nil {
33370		return nil, err
33371	}
33372	req.Header = reqHeaders
33373	googleapi.Expand(req.URL, map[string]string{
33374		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33375	})
33376	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33377}
33378
33379// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit" call.
33380// Exactly one of *BulkEditAssignedInventorySourcesResponse or error
33381// will be non-nil. Any non-2xx status code is an error. Response
33382// headers are in either
33383// *BulkEditAssignedInventorySourcesResponse.ServerResponse.Header or
33384// (if a response was returned at all) in
33385// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33386// whether the returned error was because http.StatusNotModified was
33387// returned.
33388func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedInventorySourcesResponse, error) {
33389	gensupport.SetOptions(c.urlParams_, opts...)
33390	res, err := c.doRequest("json")
33391	if res != nil && res.StatusCode == http.StatusNotModified {
33392		if res.Body != nil {
33393			res.Body.Close()
33394		}
33395		return nil, &googleapi.Error{
33396			Code:   res.StatusCode,
33397			Header: res.Header,
33398		}
33399	}
33400	if err != nil {
33401		return nil, err
33402	}
33403	defer googleapi.CloseBody(res)
33404	if err := googleapi.CheckResponse(res); err != nil {
33405		return nil, err
33406	}
33407	ret := &BulkEditAssignedInventorySourcesResponse{
33408		ServerResponse: googleapi.ServerResponse{
33409			Header:         res.Header,
33410			HTTPStatusCode: res.StatusCode,
33411		},
33412	}
33413	target := &ret
33414	if err := gensupport.DecodeResponse(target, res); err != nil {
33415		return nil, err
33416	}
33417	return ret, nil
33418	// {
33419	//   "description": "Bulk edits multiple assignments between inventory sources and a single inventory source group. The operation will delete the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources and then create the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources.",
33420	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources:bulkEdit",
33421	//   "httpMethod": "POST",
33422	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit",
33423	//   "parameterOrder": [
33424	//     "inventorySourceGroupId"
33425	//   ],
33426	//   "parameters": {
33427	//     "inventorySourceGroupId": {
33428	//       "description": "Required. The ID of the inventory source group to which the assignments are assigned.",
33429	//       "format": "int64",
33430	//       "location": "path",
33431	//       "pattern": "^[^/]+$",
33432	//       "required": true,
33433	//       "type": "string"
33434	//     }
33435	//   },
33436	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit",
33437	//   "request": {
33438	//     "$ref": "BulkEditAssignedInventorySourcesRequest"
33439	//   },
33440	//   "response": {
33441	//     "$ref": "BulkEditAssignedInventorySourcesResponse"
33442	//   },
33443	//   "scopes": [
33444	//     "https://www.googleapis.com/auth/display-video"
33445	//   ]
33446	// }
33447
33448}
33449
33450// method id "displayvideo.inventorySourceGroups.assignedInventorySources.create":
33451
33452type InventorySourceGroupsAssignedInventorySourcesCreateCall struct {
33453	s                       *Service
33454	inventorySourceGroupId  int64
33455	assignedinventorysource *AssignedInventorySource
33456	urlParams_              gensupport.URLParams
33457	ctx_                    context.Context
33458	header_                 http.Header
33459}
33460
33461// Create: Creates an assignment between an inventory source and an
33462// inventory source group.
33463//
33464// - inventorySourceGroupId: The ID of the inventory source group to
33465//   which the assignment will be assigned.
33466func (r *InventorySourceGroupsAssignedInventorySourcesService) Create(inventorySourceGroupId int64, assignedinventorysource *AssignedInventorySource) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
33467	c := &InventorySourceGroupsAssignedInventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33468	c.inventorySourceGroupId = inventorySourceGroupId
33469	c.assignedinventorysource = assignedinventorysource
33470	return c
33471}
33472
33473// AdvertiserId sets the optional parameter "advertiserId": The ID of
33474// the advertiser that owns the parent inventory source group. The
33475// parent partner will not have access to this assigned inventory
33476// source.
33477func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
33478	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33479	return c
33480}
33481
33482// PartnerId sets the optional parameter "partnerId": The ID of the
33483// partner that owns the parent inventory source group. Only this
33484// partner will have write access to this assigned inventory source.
33485func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
33486	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33487	return c
33488}
33489
33490// Fields allows partial responses to be retrieved. See
33491// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33492// for more information.
33493func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
33494	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33495	return c
33496}
33497
33498// Context sets the context to be used in this call's Do method. Any
33499// pending HTTP request will be aborted if the provided context is
33500// canceled.
33501func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
33502	c.ctx_ = ctx
33503	return c
33504}
33505
33506// Header returns an http.Header that can be modified by the caller to
33507// add HTTP headers to the request.
33508func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Header() http.Header {
33509	if c.header_ == nil {
33510		c.header_ = make(http.Header)
33511	}
33512	return c.header_
33513}
33514
33515func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
33516	reqHeaders := make(http.Header)
33517	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33518	for k, v := range c.header_ {
33519		reqHeaders[k] = v
33520	}
33521	reqHeaders.Set("User-Agent", c.s.userAgent())
33522	var body io.Reader = nil
33523	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedinventorysource)
33524	if err != nil {
33525		return nil, err
33526	}
33527	reqHeaders.Set("Content-Type", "application/json")
33528	c.urlParams_.Set("alt", alt)
33529	c.urlParams_.Set("prettyPrint", "false")
33530	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
33531	urls += "?" + c.urlParams_.Encode()
33532	req, err := http.NewRequest("POST", urls, body)
33533	if err != nil {
33534		return nil, err
33535	}
33536	req.Header = reqHeaders
33537	googleapi.Expand(req.URL, map[string]string{
33538		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33539	})
33540	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33541}
33542
33543// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.create" call.
33544// Exactly one of *AssignedInventorySource or error will be non-nil. Any
33545// non-2xx status code is an error. Response headers are in either
33546// *AssignedInventorySource.ServerResponse.Header or (if a response was
33547// returned at all) in error.(*googleapi.Error).Header. Use
33548// googleapi.IsNotModified to check whether the returned error was
33549// because http.StatusNotModified was returned.
33550func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*AssignedInventorySource, error) {
33551	gensupport.SetOptions(c.urlParams_, opts...)
33552	res, err := c.doRequest("json")
33553	if res != nil && res.StatusCode == http.StatusNotModified {
33554		if res.Body != nil {
33555			res.Body.Close()
33556		}
33557		return nil, &googleapi.Error{
33558			Code:   res.StatusCode,
33559			Header: res.Header,
33560		}
33561	}
33562	if err != nil {
33563		return nil, err
33564	}
33565	defer googleapi.CloseBody(res)
33566	if err := googleapi.CheckResponse(res); err != nil {
33567		return nil, err
33568	}
33569	ret := &AssignedInventorySource{
33570		ServerResponse: googleapi.ServerResponse{
33571			Header:         res.Header,
33572			HTTPStatusCode: res.StatusCode,
33573		},
33574	}
33575	target := &ret
33576	if err := gensupport.DecodeResponse(target, res); err != nil {
33577		return nil, err
33578	}
33579	return ret, nil
33580	// {
33581	//   "description": "Creates an assignment between an inventory source and an inventory source group.",
33582	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
33583	//   "httpMethod": "POST",
33584	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.create",
33585	//   "parameterOrder": [
33586	//     "inventorySourceGroupId"
33587	//   ],
33588	//   "parameters": {
33589	//     "advertiserId": {
33590	//       "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner will not have access to this assigned inventory source.",
33591	//       "format": "int64",
33592	//       "location": "query",
33593	//       "type": "string"
33594	//     },
33595	//     "inventorySourceGroupId": {
33596	//       "description": "Required. The ID of the inventory source group to which the assignment will be assigned.",
33597	//       "format": "int64",
33598	//       "location": "path",
33599	//       "pattern": "^[^/]+$",
33600	//       "required": true,
33601	//       "type": "string"
33602	//     },
33603	//     "partnerId": {
33604	//       "description": "The ID of the partner that owns the parent inventory source group. Only this partner will have write access to this assigned inventory source.",
33605	//       "format": "int64",
33606	//       "location": "query",
33607	//       "type": "string"
33608	//     }
33609	//   },
33610	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
33611	//   "request": {
33612	//     "$ref": "AssignedInventorySource"
33613	//   },
33614	//   "response": {
33615	//     "$ref": "AssignedInventorySource"
33616	//   },
33617	//   "scopes": [
33618	//     "https://www.googleapis.com/auth/display-video"
33619	//   ]
33620	// }
33621
33622}
33623
33624// method id "displayvideo.inventorySourceGroups.assignedInventorySources.delete":
33625
33626type InventorySourceGroupsAssignedInventorySourcesDeleteCall struct {
33627	s                         *Service
33628	inventorySourceGroupId    int64
33629	assignedInventorySourceId int64
33630	urlParams_                gensupport.URLParams
33631	ctx_                      context.Context
33632	header_                   http.Header
33633}
33634
33635// Delete: Deletes the assignment between an inventory source and an
33636// inventory source group.
33637//
33638// - assignedInventorySourceId: The ID of the assigned inventory source
33639//   to delete.
33640// - inventorySourceGroupId: The ID of the inventory source group to
33641//   which this assignment is assigned.
33642func (r *InventorySourceGroupsAssignedInventorySourcesService) Delete(inventorySourceGroupId int64, assignedInventorySourceId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
33643	c := &InventorySourceGroupsAssignedInventorySourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33644	c.inventorySourceGroupId = inventorySourceGroupId
33645	c.assignedInventorySourceId = assignedInventorySourceId
33646	return c
33647}
33648
33649// AdvertiserId sets the optional parameter "advertiserId": The ID of
33650// the advertiser that owns the parent inventory source group. The
33651// parent partner does not have access to this assigned inventory
33652// source.
33653func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
33654	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33655	return c
33656}
33657
33658// PartnerId sets the optional parameter "partnerId": The ID of the
33659// partner that owns the parent inventory source group. Only this
33660// partner has write access to this assigned inventory source.
33661func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
33662	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33663	return c
33664}
33665
33666// Fields allows partial responses to be retrieved. See
33667// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33668// for more information.
33669func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
33670	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33671	return c
33672}
33673
33674// Context sets the context to be used in this call's Do method. Any
33675// pending HTTP request will be aborted if the provided context is
33676// canceled.
33677func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
33678	c.ctx_ = ctx
33679	return c
33680}
33681
33682// Header returns an http.Header that can be modified by the caller to
33683// add HTTP headers to the request.
33684func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Header() http.Header {
33685	if c.header_ == nil {
33686		c.header_ = make(http.Header)
33687	}
33688	return c.header_
33689}
33690
33691func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
33692	reqHeaders := make(http.Header)
33693	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33694	for k, v := range c.header_ {
33695		reqHeaders[k] = v
33696	}
33697	reqHeaders.Set("User-Agent", c.s.userAgent())
33698	var body io.Reader = nil
33699	c.urlParams_.Set("alt", alt)
33700	c.urlParams_.Set("prettyPrint", "false")
33701	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}")
33702	urls += "?" + c.urlParams_.Encode()
33703	req, err := http.NewRequest("DELETE", urls, body)
33704	if err != nil {
33705		return nil, err
33706	}
33707	req.Header = reqHeaders
33708	googleapi.Expand(req.URL, map[string]string{
33709		"inventorySourceGroupId":    strconv.FormatInt(c.inventorySourceGroupId, 10),
33710		"assignedInventorySourceId": strconv.FormatInt(c.assignedInventorySourceId, 10),
33711	})
33712	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33713}
33714
33715// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.delete" call.
33716// Exactly one of *Empty or error will be non-nil. Any non-2xx status
33717// code is an error. Response headers are in either
33718// *Empty.ServerResponse.Header or (if a response was returned at all)
33719// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
33720// check whether the returned error was because http.StatusNotModified
33721// was returned.
33722func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
33723	gensupport.SetOptions(c.urlParams_, opts...)
33724	res, err := c.doRequest("json")
33725	if res != nil && res.StatusCode == http.StatusNotModified {
33726		if res.Body != nil {
33727			res.Body.Close()
33728		}
33729		return nil, &googleapi.Error{
33730			Code:   res.StatusCode,
33731			Header: res.Header,
33732		}
33733	}
33734	if err != nil {
33735		return nil, err
33736	}
33737	defer googleapi.CloseBody(res)
33738	if err := googleapi.CheckResponse(res); err != nil {
33739		return nil, err
33740	}
33741	ret := &Empty{
33742		ServerResponse: googleapi.ServerResponse{
33743			Header:         res.Header,
33744			HTTPStatusCode: res.StatusCode,
33745		},
33746	}
33747	target := &ret
33748	if err := gensupport.DecodeResponse(target, res); err != nil {
33749		return nil, err
33750	}
33751	return ret, nil
33752	// {
33753	//   "description": "Deletes the assignment between an inventory source and an inventory source group.",
33754	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources/{assignedInventorySourcesId}",
33755	//   "httpMethod": "DELETE",
33756	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.delete",
33757	//   "parameterOrder": [
33758	//     "inventorySourceGroupId",
33759	//     "assignedInventorySourceId"
33760	//   ],
33761	//   "parameters": {
33762	//     "advertiserId": {
33763	//       "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to this assigned inventory source.",
33764	//       "format": "int64",
33765	//       "location": "query",
33766	//       "type": "string"
33767	//     },
33768	//     "assignedInventorySourceId": {
33769	//       "description": "Required. The ID of the assigned inventory source to delete.",
33770	//       "format": "int64",
33771	//       "location": "path",
33772	//       "pattern": "^[^/]+$",
33773	//       "required": true,
33774	//       "type": "string"
33775	//     },
33776	//     "inventorySourceGroupId": {
33777	//       "description": "Required. The ID of the inventory source group to which this assignment is assigned.",
33778	//       "format": "int64",
33779	//       "location": "path",
33780	//       "pattern": "^[^/]+$",
33781	//       "required": true,
33782	//       "type": "string"
33783	//     },
33784	//     "partnerId": {
33785	//       "description": "The ID of the partner that owns the parent inventory source group. Only this partner has write access to this assigned inventory source.",
33786	//       "format": "int64",
33787	//       "location": "query",
33788	//       "type": "string"
33789	//     }
33790	//   },
33791	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}",
33792	//   "response": {
33793	//     "$ref": "Empty"
33794	//   },
33795	//   "scopes": [
33796	//     "https://www.googleapis.com/auth/display-video"
33797	//   ]
33798	// }
33799
33800}
33801
33802// method id "displayvideo.inventorySourceGroups.assignedInventorySources.list":
33803
33804type InventorySourceGroupsAssignedInventorySourcesListCall struct {
33805	s                      *Service
33806	inventorySourceGroupId int64
33807	urlParams_             gensupport.URLParams
33808	ifNoneMatch_           string
33809	ctx_                   context.Context
33810	header_                http.Header
33811}
33812
33813// List: Lists inventory sources assigned to an inventory source group.
33814//
33815// - inventorySourceGroupId: The ID of the inventory source group to
33816//   which these assignments are assigned.
33817func (r *InventorySourceGroupsAssignedInventorySourcesService) List(inventorySourceGroupId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
33818	c := &InventorySourceGroupsAssignedInventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33819	c.inventorySourceGroupId = inventorySourceGroupId
33820	return c
33821}
33822
33823// AdvertiserId sets the optional parameter "advertiserId": The ID of
33824// the advertiser that has access to the assignment. If the parent
33825// inventory source group is partner-owned, only advertisers to which
33826// the parent group is explicitly shared can access the assigned
33827// inventory source.
33828func (c *InventorySourceGroupsAssignedInventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
33829	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33830	return c
33831}
33832
33833// Filter sets the optional parameter "filter": Allows filtering by
33834// assigned inventory source fields. Supported syntax: * Filter
33835// expressions are made up of one or more restrictions. * Restrictions
33836// can be combined by the logical operator `OR`. * A restriction has the
33837// form of `{field} {operator} {value}`. * The operator must be `EQUALS
33838// (=)`. * Supported fields: - `assignedInventorySourceId` The length of
33839// this field should be no more than 500 characters.
33840func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Filter(filter string) *InventorySourceGroupsAssignedInventorySourcesListCall {
33841	c.urlParams_.Set("filter", filter)
33842	return c
33843}
33844
33845// OrderBy sets the optional parameter "orderBy": Field by which to sort
33846// the list. Acceptable values are: * `assignedInventorySourceId`
33847// (default) The default sorting order is ascending. To specify
33848// descending order for a field, a suffix " desc" should be added to the
33849// field name. Example: `assignedInventorySourceId desc`.
33850func (c *InventorySourceGroupsAssignedInventorySourcesListCall) OrderBy(orderBy string) *InventorySourceGroupsAssignedInventorySourcesListCall {
33851	c.urlParams_.Set("orderBy", orderBy)
33852	return c
33853}
33854
33855// PageSize sets the optional parameter "pageSize": Requested page size.
33856// Must be between `1` and `100`. If unspecified will default to `100`.
33857// Returns error code `INVALID_ARGUMENT` if an invalid value is
33858// specified.
33859func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageSize(pageSize int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
33860	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
33861	return c
33862}
33863
33864// PageToken sets the optional parameter "pageToken": A token
33865// identifying a page of results the server should return. Typically,
33866// this is the value of next_page_token returned from the previous call
33867// to `ListAssignedInventorySources` method. If not specified, the first
33868// page of results will be returned.
33869func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageToken(pageToken string) *InventorySourceGroupsAssignedInventorySourcesListCall {
33870	c.urlParams_.Set("pageToken", pageToken)
33871	return c
33872}
33873
33874// PartnerId sets the optional parameter "partnerId": The ID of the
33875// partner that has access to the assignment. If the parent inventory
33876// source group is advertiser-owned, the assignment cannot be accessed
33877// via a partner.
33878func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
33879	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33880	return c
33881}
33882
33883// Fields allows partial responses to be retrieved. See
33884// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33885// for more information.
33886func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesListCall {
33887	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33888	return c
33889}
33890
33891// IfNoneMatch sets the optional parameter which makes the operation
33892// fail if the object's ETag matches the given value. This is useful for
33893// getting updates only after the object has changed since the last
33894// request. Use googleapi.IsNotModified to check whether the response
33895// error from Do is the result of In-None-Match.
33896func (c *InventorySourceGroupsAssignedInventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsAssignedInventorySourcesListCall {
33897	c.ifNoneMatch_ = entityTag
33898	return c
33899}
33900
33901// Context sets the context to be used in this call's Do method. Any
33902// pending HTTP request will be aborted if the provided context is
33903// canceled.
33904func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesListCall {
33905	c.ctx_ = ctx
33906	return c
33907}
33908
33909// Header returns an http.Header that can be modified by the caller to
33910// add HTTP headers to the request.
33911func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Header() http.Header {
33912	if c.header_ == nil {
33913		c.header_ = make(http.Header)
33914	}
33915	return c.header_
33916}
33917
33918func (c *InventorySourceGroupsAssignedInventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
33919	reqHeaders := make(http.Header)
33920	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
33921	for k, v := range c.header_ {
33922		reqHeaders[k] = v
33923	}
33924	reqHeaders.Set("User-Agent", c.s.userAgent())
33925	if c.ifNoneMatch_ != "" {
33926		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33927	}
33928	var body io.Reader = nil
33929	c.urlParams_.Set("alt", alt)
33930	c.urlParams_.Set("prettyPrint", "false")
33931	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
33932	urls += "?" + c.urlParams_.Encode()
33933	req, err := http.NewRequest("GET", urls, body)
33934	if err != nil {
33935		return nil, err
33936	}
33937	req.Header = reqHeaders
33938	googleapi.Expand(req.URL, map[string]string{
33939		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33940	})
33941	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33942}
33943
33944// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.list" call.
33945// Exactly one of *ListAssignedInventorySourcesResponse or error will be
33946// non-nil. Any non-2xx status code is an error. Response headers are in
33947// either *ListAssignedInventorySourcesResponse.ServerResponse.Header or
33948// (if a response was returned at all) in
33949// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33950// whether the returned error was because http.StatusNotModified was
33951// returned.
33952func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListAssignedInventorySourcesResponse, error) {
33953	gensupport.SetOptions(c.urlParams_, opts...)
33954	res, err := c.doRequest("json")
33955	if res != nil && res.StatusCode == http.StatusNotModified {
33956		if res.Body != nil {
33957			res.Body.Close()
33958		}
33959		return nil, &googleapi.Error{
33960			Code:   res.StatusCode,
33961			Header: res.Header,
33962		}
33963	}
33964	if err != nil {
33965		return nil, err
33966	}
33967	defer googleapi.CloseBody(res)
33968	if err := googleapi.CheckResponse(res); err != nil {
33969		return nil, err
33970	}
33971	ret := &ListAssignedInventorySourcesResponse{
33972		ServerResponse: googleapi.ServerResponse{
33973			Header:         res.Header,
33974			HTTPStatusCode: res.StatusCode,
33975		},
33976	}
33977	target := &ret
33978	if err := gensupport.DecodeResponse(target, res); err != nil {
33979		return nil, err
33980	}
33981	return ret, nil
33982	// {
33983	//   "description": "Lists inventory sources assigned to an inventory source group.",
33984	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
33985	//   "httpMethod": "GET",
33986	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.list",
33987	//   "parameterOrder": [
33988	//     "inventorySourceGroupId"
33989	//   ],
33990	//   "parameters": {
33991	//     "advertiserId": {
33992	//       "description": "The ID of the advertiser that has access to the assignment. If the parent inventory source group is partner-owned, only advertisers to which the parent group is explicitly shared can access the assigned inventory source.",
33993	//       "format": "int64",
33994	//       "location": "query",
33995	//       "type": "string"
33996	//     },
33997	//     "filter": {
33998	//       "description": "Allows filtering by assigned inventory source fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedInventorySourceId` The length of this field should be no more than 500 characters.",
33999	//       "location": "query",
34000	//       "type": "string"
34001	//     },
34002	//     "inventorySourceGroupId": {
34003	//       "description": "Required. The ID of the inventory source group to which these assignments are assigned.",
34004	//       "format": "int64",
34005	//       "location": "path",
34006	//       "pattern": "^[^/]+$",
34007	//       "required": true,
34008	//       "type": "string"
34009	//     },
34010	//     "orderBy": {
34011	//       "description": "Field by which to sort the list. Acceptable values are: * `assignedInventorySourceId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `assignedInventorySourceId desc`.",
34012	//       "location": "query",
34013	//       "type": "string"
34014	//     },
34015	//     "pageSize": {
34016	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
34017	//       "format": "int32",
34018	//       "location": "query",
34019	//       "type": "integer"
34020	//     },
34021	//     "pageToken": {
34022	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAssignedInventorySources` method. If not specified, the first page of results will be returned.",
34023	//       "location": "query",
34024	//       "type": "string"
34025	//     },
34026	//     "partnerId": {
34027	//       "description": "The ID of the partner that has access to the assignment. If the parent inventory source group is advertiser-owned, the assignment cannot be accessed via a partner.",
34028	//       "format": "int64",
34029	//       "location": "query",
34030	//       "type": "string"
34031	//     }
34032	//   },
34033	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
34034	//   "response": {
34035	//     "$ref": "ListAssignedInventorySourcesResponse"
34036	//   },
34037	//   "scopes": [
34038	//     "https://www.googleapis.com/auth/display-video"
34039	//   ]
34040	// }
34041
34042}
34043
34044// Pages invokes f for each page of results.
34045// A non-nil error returned from f will halt the iteration.
34046// The provided context supersedes any context provided to the Context method.
34047func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Pages(ctx context.Context, f func(*ListAssignedInventorySourcesResponse) error) error {
34048	c.ctx_ = ctx
34049	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34050	for {
34051		x, err := c.Do()
34052		if err != nil {
34053			return err
34054		}
34055		if err := f(x); err != nil {
34056			return err
34057		}
34058		if x.NextPageToken == "" {
34059			return nil
34060		}
34061		c.PageToken(x.NextPageToken)
34062	}
34063}
34064
34065// method id "displayvideo.inventorySources.get":
34066
34067type InventorySourcesGetCall struct {
34068	s                 *Service
34069	inventorySourceId int64
34070	urlParams_        gensupport.URLParams
34071	ifNoneMatch_      string
34072	ctx_              context.Context
34073	header_           http.Header
34074}
34075
34076// Get: Gets an inventory source.
34077//
34078// - inventorySourceId: The ID of the inventory source to fetch.
34079func (r *InventorySourcesService) Get(inventorySourceId int64) *InventorySourcesGetCall {
34080	c := &InventorySourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34081	c.inventorySourceId = inventorySourceId
34082	return c
34083}
34084
34085// PartnerId sets the optional parameter "partnerId": Required. The ID
34086// of the DV360 partner to which the fetched inventory source is
34087// permissioned.
34088func (c *InventorySourcesGetCall) PartnerId(partnerId int64) *InventorySourcesGetCall {
34089	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
34090	return c
34091}
34092
34093// Fields allows partial responses to be retrieved. See
34094// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34095// for more information.
34096func (c *InventorySourcesGetCall) Fields(s ...googleapi.Field) *InventorySourcesGetCall {
34097	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34098	return c
34099}
34100
34101// IfNoneMatch sets the optional parameter which makes the operation
34102// fail if the object's ETag matches the given value. This is useful for
34103// getting updates only after the object has changed since the last
34104// request. Use googleapi.IsNotModified to check whether the response
34105// error from Do is the result of In-None-Match.
34106func (c *InventorySourcesGetCall) IfNoneMatch(entityTag string) *InventorySourcesGetCall {
34107	c.ifNoneMatch_ = entityTag
34108	return c
34109}
34110
34111// Context sets the context to be used in this call's Do method. Any
34112// pending HTTP request will be aborted if the provided context is
34113// canceled.
34114func (c *InventorySourcesGetCall) Context(ctx context.Context) *InventorySourcesGetCall {
34115	c.ctx_ = ctx
34116	return c
34117}
34118
34119// Header returns an http.Header that can be modified by the caller to
34120// add HTTP headers to the request.
34121func (c *InventorySourcesGetCall) Header() http.Header {
34122	if c.header_ == nil {
34123		c.header_ = make(http.Header)
34124	}
34125	return c.header_
34126}
34127
34128func (c *InventorySourcesGetCall) doRequest(alt string) (*http.Response, error) {
34129	reqHeaders := make(http.Header)
34130	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34131	for k, v := range c.header_ {
34132		reqHeaders[k] = v
34133	}
34134	reqHeaders.Set("User-Agent", c.s.userAgent())
34135	if c.ifNoneMatch_ != "" {
34136		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34137	}
34138	var body io.Reader = nil
34139	c.urlParams_.Set("alt", alt)
34140	c.urlParams_.Set("prettyPrint", "false")
34141	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySources/{+inventorySourceId}")
34142	urls += "?" + c.urlParams_.Encode()
34143	req, err := http.NewRequest("GET", urls, body)
34144	if err != nil {
34145		return nil, err
34146	}
34147	req.Header = reqHeaders
34148	googleapi.Expand(req.URL, map[string]string{
34149		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
34150	})
34151	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34152}
34153
34154// Do executes the "displayvideo.inventorySources.get" call.
34155// Exactly one of *InventorySource or error will be non-nil. Any non-2xx
34156// status code is an error. Response headers are in either
34157// *InventorySource.ServerResponse.Header or (if a response was returned
34158// at all) in error.(*googleapi.Error).Header. Use
34159// googleapi.IsNotModified to check whether the returned error was
34160// because http.StatusNotModified was returned.
34161func (c *InventorySourcesGetCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
34162	gensupport.SetOptions(c.urlParams_, opts...)
34163	res, err := c.doRequest("json")
34164	if res != nil && res.StatusCode == http.StatusNotModified {
34165		if res.Body != nil {
34166			res.Body.Close()
34167		}
34168		return nil, &googleapi.Error{
34169			Code:   res.StatusCode,
34170			Header: res.Header,
34171		}
34172	}
34173	if err != nil {
34174		return nil, err
34175	}
34176	defer googleapi.CloseBody(res)
34177	if err := googleapi.CheckResponse(res); err != nil {
34178		return nil, err
34179	}
34180	ret := &InventorySource{
34181		ServerResponse: googleapi.ServerResponse{
34182			Header:         res.Header,
34183			HTTPStatusCode: res.StatusCode,
34184		},
34185	}
34186	target := &ret
34187	if err := gensupport.DecodeResponse(target, res); err != nil {
34188		return nil, err
34189	}
34190	return ret, nil
34191	// {
34192	//   "description": "Gets an inventory source.",
34193	//   "flatPath": "v1/inventorySources/{inventorySourcesId}",
34194	//   "httpMethod": "GET",
34195	//   "id": "displayvideo.inventorySources.get",
34196	//   "parameterOrder": [
34197	//     "inventorySourceId"
34198	//   ],
34199	//   "parameters": {
34200	//     "inventorySourceId": {
34201	//       "description": "Required. The ID of the inventory source to fetch.",
34202	//       "format": "int64",
34203	//       "location": "path",
34204	//       "pattern": "^[^/]+$",
34205	//       "required": true,
34206	//       "type": "string"
34207	//     },
34208	//     "partnerId": {
34209	//       "description": "Required. The ID of the DV360 partner to which the fetched inventory source is permissioned.",
34210	//       "format": "int64",
34211	//       "location": "query",
34212	//       "type": "string"
34213	//     }
34214	//   },
34215	//   "path": "v1/inventorySources/{+inventorySourceId}",
34216	//   "response": {
34217	//     "$ref": "InventorySource"
34218	//   },
34219	//   "scopes": [
34220	//     "https://www.googleapis.com/auth/display-video"
34221	//   ]
34222	// }
34223
34224}
34225
34226// method id "displayvideo.inventorySources.list":
34227
34228type InventorySourcesListCall struct {
34229	s            *Service
34230	urlParams_   gensupport.URLParams
34231	ifNoneMatch_ string
34232	ctx_         context.Context
34233	header_      http.Header
34234}
34235
34236// List: Lists inventory sources that are accessible to the current
34237// user. The order is defined by the order_by parameter. If a filter by
34238// entity_status is not specified, inventory sources with entity status
34239// `ENTITY_STATUS_ARCHIVED` will not be included in the results.
34240func (r *InventorySourcesService) List() *InventorySourcesListCall {
34241	c := &InventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34242	return c
34243}
34244
34245// AdvertiserId sets the optional parameter "advertiserId": The ID of
34246// the advertiser that has access to the inventory source.
34247func (c *InventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourcesListCall {
34248	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
34249	return c
34250}
34251
34252// Filter sets the optional parameter "filter": Allows filtering by
34253// inventory source properties. Supported syntax: * Filter expressions
34254// are made up of one or more restrictions. * Restrictions can be
34255// combined by `AND` or `OR` logical operators. A sequence of
34256// restrictions implicitly uses `AND`. * A restriction has the form of
34257// `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. *
34258// Supported fields: - `status.entityStatus` - `commitment` -
34259// `deliveryMethod` - `rateDetails.rateType` - `exchange` Examples: *
34260// All active inventory sources:
34261// `status.entityStatus="ENTITY_STATUS_ACTIVE" * Inventory sources
34262// belonging to Google Ad Manager or Rubicon exchanges:
34263// `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR
34264// exchange="EXCHANGE_RUBICON" The length of this field should be no
34265// more than 500 characters.
34266func (c *InventorySourcesListCall) Filter(filter string) *InventorySourcesListCall {
34267	c.urlParams_.Set("filter", filter)
34268	return c
34269}
34270
34271// OrderBy sets the optional parameter "orderBy": Field by which to sort
34272// the list. Acceptable values are: * `displayName` (default) The
34273// default sorting order is ascending. To specify descending order for a
34274// field, a suffix "desc" should be added to the field name. For
34275// example, `displayName desc`.
34276func (c *InventorySourcesListCall) OrderBy(orderBy string) *InventorySourcesListCall {
34277	c.urlParams_.Set("orderBy", orderBy)
34278	return c
34279}
34280
34281// PageSize sets the optional parameter "pageSize": Requested page size.
34282// Must be between `1` and `100`. If unspecified will default to `100`.
34283func (c *InventorySourcesListCall) PageSize(pageSize int64) *InventorySourcesListCall {
34284	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
34285	return c
34286}
34287
34288// PageToken sets the optional parameter "pageToken": A token
34289// identifying a page of results the server should return. Typically,
34290// this is the value of next_page_token returned from the previous call
34291// to `ListInventorySources` method. If not specified, the first page of
34292// results will be returned.
34293func (c *InventorySourcesListCall) PageToken(pageToken string) *InventorySourcesListCall {
34294	c.urlParams_.Set("pageToken", pageToken)
34295	return c
34296}
34297
34298// PartnerId sets the optional parameter "partnerId": The ID of the
34299// partner that has access to the inventory source.
34300func (c *InventorySourcesListCall) PartnerId(partnerId int64) *InventorySourcesListCall {
34301	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
34302	return c
34303}
34304
34305// Fields allows partial responses to be retrieved. See
34306// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34307// for more information.
34308func (c *InventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourcesListCall {
34309	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34310	return c
34311}
34312
34313// IfNoneMatch sets the optional parameter which makes the operation
34314// fail if the object's ETag matches the given value. This is useful for
34315// getting updates only after the object has changed since the last
34316// request. Use googleapi.IsNotModified to check whether the response
34317// error from Do is the result of In-None-Match.
34318func (c *InventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourcesListCall {
34319	c.ifNoneMatch_ = entityTag
34320	return c
34321}
34322
34323// Context sets the context to be used in this call's Do method. Any
34324// pending HTTP request will be aborted if the provided context is
34325// canceled.
34326func (c *InventorySourcesListCall) Context(ctx context.Context) *InventorySourcesListCall {
34327	c.ctx_ = ctx
34328	return c
34329}
34330
34331// Header returns an http.Header that can be modified by the caller to
34332// add HTTP headers to the request.
34333func (c *InventorySourcesListCall) Header() http.Header {
34334	if c.header_ == nil {
34335		c.header_ = make(http.Header)
34336	}
34337	return c.header_
34338}
34339
34340func (c *InventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
34341	reqHeaders := make(http.Header)
34342	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34343	for k, v := range c.header_ {
34344		reqHeaders[k] = v
34345	}
34346	reqHeaders.Set("User-Agent", c.s.userAgent())
34347	if c.ifNoneMatch_ != "" {
34348		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34349	}
34350	var body io.Reader = nil
34351	c.urlParams_.Set("alt", alt)
34352	c.urlParams_.Set("prettyPrint", "false")
34353	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySources")
34354	urls += "?" + c.urlParams_.Encode()
34355	req, err := http.NewRequest("GET", urls, body)
34356	if err != nil {
34357		return nil, err
34358	}
34359	req.Header = reqHeaders
34360	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34361}
34362
34363// Do executes the "displayvideo.inventorySources.list" call.
34364// Exactly one of *ListInventorySourcesResponse or error will be
34365// non-nil. Any non-2xx status code is an error. Response headers are in
34366// either *ListInventorySourcesResponse.ServerResponse.Header or (if a
34367// response was returned at all) in error.(*googleapi.Error).Header. Use
34368// googleapi.IsNotModified to check whether the returned error was
34369// because http.StatusNotModified was returned.
34370func (c *InventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourcesResponse, error) {
34371	gensupport.SetOptions(c.urlParams_, opts...)
34372	res, err := c.doRequest("json")
34373	if res != nil && res.StatusCode == http.StatusNotModified {
34374		if res.Body != nil {
34375			res.Body.Close()
34376		}
34377		return nil, &googleapi.Error{
34378			Code:   res.StatusCode,
34379			Header: res.Header,
34380		}
34381	}
34382	if err != nil {
34383		return nil, err
34384	}
34385	defer googleapi.CloseBody(res)
34386	if err := googleapi.CheckResponse(res); err != nil {
34387		return nil, err
34388	}
34389	ret := &ListInventorySourcesResponse{
34390		ServerResponse: googleapi.ServerResponse{
34391			Header:         res.Header,
34392			HTTPStatusCode: res.StatusCode,
34393		},
34394	}
34395	target := &ret
34396	if err := gensupport.DecodeResponse(target, res); err != nil {
34397		return nil, err
34398	}
34399	return ret, nil
34400	// {
34401	//   "description": "Lists inventory sources that are accessible to the current user. The order is defined by the order_by parameter. If a filter by entity_status is not specified, inventory sources with entity status `ENTITY_STATUS_ARCHIVED` will not be included in the results.",
34402	//   "flatPath": "v1/inventorySources",
34403	//   "httpMethod": "GET",
34404	//   "id": "displayvideo.inventorySources.list",
34405	//   "parameterOrder": [],
34406	//   "parameters": {
34407	//     "advertiserId": {
34408	//       "description": "The ID of the advertiser that has access to the inventory source.",
34409	//       "format": "int64",
34410	//       "location": "query",
34411	//       "type": "string"
34412	//     },
34413	//     "filter": {
34414	//       "description": "Allows filtering by inventory source properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `status.entityStatus` - `commitment` - `deliveryMethod` - `rateDetails.rateType` - `exchange` Examples: * All active inventory sources: `status.entityStatus=\"ENTITY_STATUS_ACTIVE\"` * Inventory sources belonging to Google Ad Manager or Rubicon exchanges: `exchange=\"EXCHANGE_GOOGLE_AD_MANAGER\" OR exchange=\"EXCHANGE_RUBICON\"` The length of this field should be no more than 500 characters.",
34415	//       "location": "query",
34416	//       "type": "string"
34417	//     },
34418	//     "orderBy": {
34419	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
34420	//       "location": "query",
34421	//       "type": "string"
34422	//     },
34423	//     "pageSize": {
34424	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
34425	//       "format": "int32",
34426	//       "location": "query",
34427	//       "type": "integer"
34428	//     },
34429	//     "pageToken": {
34430	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInventorySources` method. If not specified, the first page of results will be returned.",
34431	//       "location": "query",
34432	//       "type": "string"
34433	//     },
34434	//     "partnerId": {
34435	//       "description": "The ID of the partner that has access to the inventory source.",
34436	//       "format": "int64",
34437	//       "location": "query",
34438	//       "type": "string"
34439	//     }
34440	//   },
34441	//   "path": "v1/inventorySources",
34442	//   "response": {
34443	//     "$ref": "ListInventorySourcesResponse"
34444	//   },
34445	//   "scopes": [
34446	//     "https://www.googleapis.com/auth/display-video"
34447	//   ]
34448	// }
34449
34450}
34451
34452// Pages invokes f for each page of results.
34453// A non-nil error returned from f will halt the iteration.
34454// The provided context supersedes any context provided to the Context method.
34455func (c *InventorySourcesListCall) Pages(ctx context.Context, f func(*ListInventorySourcesResponse) error) error {
34456	c.ctx_ = ctx
34457	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34458	for {
34459		x, err := c.Do()
34460		if err != nil {
34461			return err
34462		}
34463		if err := f(x); err != nil {
34464			return err
34465		}
34466		if x.NextPageToken == "" {
34467			return nil
34468		}
34469		c.PageToken(x.NextPageToken)
34470	}
34471}
34472
34473// method id "displayvideo.media.download":
34474
34475type MediaDownloadCall struct {
34476	s            *Service
34477	resourceName string
34478	urlParams_   gensupport.URLParams
34479	ifNoneMatch_ string
34480	ctx_         context.Context
34481	header_      http.Header
34482}
34483
34484// Download: Downloads media. Download is supported on the URI
34485// `/download/{resource_name=**}?alt=media.` **Note**: Download requests
34486// will not be successful without including `alt=media` query string.
34487//
34488// - resourceName: Name of the media that is being downloaded. See
34489//   ReadRequest.resource_name.
34490func (r *MediaService) Download(resourceName string) *MediaDownloadCall {
34491	c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34492	c.resourceName = resourceName
34493	return c
34494}
34495
34496// Fields allows partial responses to be retrieved. See
34497// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34498// for more information.
34499func (c *MediaDownloadCall) Fields(s ...googleapi.Field) *MediaDownloadCall {
34500	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34501	return c
34502}
34503
34504// IfNoneMatch sets the optional parameter which makes the operation
34505// fail if the object's ETag matches the given value. This is useful for
34506// getting updates only after the object has changed since the last
34507// request. Use googleapi.IsNotModified to check whether the response
34508// error from Do is the result of In-None-Match.
34509func (c *MediaDownloadCall) IfNoneMatch(entityTag string) *MediaDownloadCall {
34510	c.ifNoneMatch_ = entityTag
34511	return c
34512}
34513
34514// Context sets the context to be used in this call's Do and Download
34515// methods. Any pending HTTP request will be aborted if the provided
34516// context is canceled.
34517func (c *MediaDownloadCall) Context(ctx context.Context) *MediaDownloadCall {
34518	c.ctx_ = ctx
34519	return c
34520}
34521
34522// Header returns an http.Header that can be modified by the caller to
34523// add HTTP headers to the request.
34524func (c *MediaDownloadCall) Header() http.Header {
34525	if c.header_ == nil {
34526		c.header_ = make(http.Header)
34527	}
34528	return c.header_
34529}
34530
34531func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
34532	reqHeaders := make(http.Header)
34533	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34534	for k, v := range c.header_ {
34535		reqHeaders[k] = v
34536	}
34537	reqHeaders.Set("User-Agent", c.s.userAgent())
34538	if c.ifNoneMatch_ != "" {
34539		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34540	}
34541	var body io.Reader = nil
34542	c.urlParams_.Set("alt", alt)
34543	c.urlParams_.Set("prettyPrint", "false")
34544	urls := googleapi.ResolveRelative(c.s.BasePath, "download/{+resourceName}")
34545	urls += "?" + c.urlParams_.Encode()
34546	req, err := http.NewRequest("GET", urls, body)
34547	if err != nil {
34548		return nil, err
34549	}
34550	req.Header = reqHeaders
34551	googleapi.Expand(req.URL, map[string]string{
34552		"resourceName": c.resourceName,
34553	})
34554	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34555}
34556
34557// Download fetches the API endpoint's "media" value, instead of the normal
34558// API response value. If the returned error is nil, the Response is guaranteed to
34559// have a 2xx status code. Callers must close the Response.Body as usual.
34560func (c *MediaDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
34561	gensupport.SetOptions(c.urlParams_, opts...)
34562	res, err := c.doRequest("media")
34563	if err != nil {
34564		return nil, err
34565	}
34566	if err := googleapi.CheckResponse(res); err != nil {
34567		res.Body.Close()
34568		return nil, err
34569	}
34570	return res, nil
34571}
34572
34573// Do executes the "displayvideo.media.download" call.
34574// Exactly one of *GoogleBytestreamMedia or error will be non-nil. Any
34575// non-2xx status code is an error. Response headers are in either
34576// *GoogleBytestreamMedia.ServerResponse.Header or (if a response was
34577// returned at all) in error.(*googleapi.Error).Header. Use
34578// googleapi.IsNotModified to check whether the returned error was
34579// because http.StatusNotModified was returned.
34580func (c *MediaDownloadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) {
34581	gensupport.SetOptions(c.urlParams_, opts...)
34582	res, err := c.doRequest("json")
34583	if res != nil && res.StatusCode == http.StatusNotModified {
34584		if res.Body != nil {
34585			res.Body.Close()
34586		}
34587		return nil, &googleapi.Error{
34588			Code:   res.StatusCode,
34589			Header: res.Header,
34590		}
34591	}
34592	if err != nil {
34593		return nil, err
34594	}
34595	defer googleapi.CloseBody(res)
34596	if err := googleapi.CheckResponse(res); err != nil {
34597		return nil, err
34598	}
34599	ret := &GoogleBytestreamMedia{
34600		ServerResponse: googleapi.ServerResponse{
34601			Header:         res.Header,
34602			HTTPStatusCode: res.StatusCode,
34603		},
34604	}
34605	target := &ret
34606	if err := gensupport.DecodeResponse(target, res); err != nil {
34607		return nil, err
34608	}
34609	return ret, nil
34610	// {
34611	//   "description": "Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.` **Note**: Download requests will not be successful without including `alt=media` query string.",
34612	//   "flatPath": "download/{downloadId}",
34613	//   "httpMethod": "GET",
34614	//   "id": "displayvideo.media.download",
34615	//   "parameterOrder": [
34616	//     "resourceName"
34617	//   ],
34618	//   "parameters": {
34619	//     "resourceName": {
34620	//       "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
34621	//       "location": "path",
34622	//       "pattern": "^.*$",
34623	//       "required": true,
34624	//       "type": "string"
34625	//     }
34626	//   },
34627	//   "path": "download/{+resourceName}",
34628	//   "response": {
34629	//     "$ref": "GoogleBytestreamMedia"
34630	//   },
34631	//   "scopes": [
34632	//     "https://www.googleapis.com/auth/display-video",
34633	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
34634	//   ],
34635	//   "supportsMediaDownload": true
34636	// }
34637
34638}
34639
34640// method id "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions":
34641
34642type PartnersBulkEditPartnerAssignedTargetingOptionsCall struct {
34643	s                                              *Service
34644	partnerId                                      int64
34645	bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest
34646	urlParams_                                     gensupport.URLParams
34647	ctx_                                           context.Context
34648	header_                                        http.Header
34649}
34650
34651// BulkEditPartnerAssignedTargetingOptions: Bulk edits targeting options
34652// under a single partner. The operation will delete the assigned
34653// targeting options provided in
34654// BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and
34655// then create the assigned targeting options provided in
34656// BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .
34657//
34658// - partnerId: The ID of the partner.
34659func (r *PartnersService) BulkEditPartnerAssignedTargetingOptions(partnerId int64, bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
34660	c := &PartnersBulkEditPartnerAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34661	c.partnerId = partnerId
34662	c.bulkeditpartnerassignedtargetingoptionsrequest = bulkeditpartnerassignedtargetingoptionsrequest
34663	return c
34664}
34665
34666// Fields allows partial responses to be retrieved. See
34667// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34668// for more information.
34669func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
34670	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34671	return c
34672}
34673
34674// Context sets the context to be used in this call's Do method. Any
34675// pending HTTP request will be aborted if the provided context is
34676// canceled.
34677func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Context(ctx context.Context) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
34678	c.ctx_ = ctx
34679	return c
34680}
34681
34682// Header returns an http.Header that can be modified by the caller to
34683// add HTTP headers to the request.
34684func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Header() http.Header {
34685	if c.header_ == nil {
34686		c.header_ = make(http.Header)
34687	}
34688	return c.header_
34689}
34690
34691func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
34692	reqHeaders := make(http.Header)
34693	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34694	for k, v := range c.header_ {
34695		reqHeaders[k] = v
34696	}
34697	reqHeaders.Set("User-Agent", c.s.userAgent())
34698	var body io.Reader = nil
34699	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditpartnerassignedtargetingoptionsrequest)
34700	if err != nil {
34701		return nil, err
34702	}
34703	reqHeaders.Set("Content-Type", "application/json")
34704	c.urlParams_.Set("alt", alt)
34705	c.urlParams_.Set("prettyPrint", "false")
34706	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}:bulkEditPartnerAssignedTargetingOptions")
34707	urls += "?" + c.urlParams_.Encode()
34708	req, err := http.NewRequest("POST", urls, body)
34709	if err != nil {
34710		return nil, err
34711	}
34712	req.Header = reqHeaders
34713	googleapi.Expand(req.URL, map[string]string{
34714		"partnerId": strconv.FormatInt(c.partnerId, 10),
34715	})
34716	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34717}
34718
34719// Do executes the "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions" call.
34720// Exactly one of *BulkEditPartnerAssignedTargetingOptionsResponse or
34721// error will be non-nil. Any non-2xx status code is an error. Response
34722// headers are in either
34723// *BulkEditPartnerAssignedTargetingOptionsResponse.ServerResponse.Header
34724//  or (if a response was returned at all) in
34725// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34726// whether the returned error was because http.StatusNotModified was
34727// returned.
34728func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditPartnerAssignedTargetingOptionsResponse, error) {
34729	gensupport.SetOptions(c.urlParams_, opts...)
34730	res, err := c.doRequest("json")
34731	if res != nil && res.StatusCode == http.StatusNotModified {
34732		if res.Body != nil {
34733			res.Body.Close()
34734		}
34735		return nil, &googleapi.Error{
34736			Code:   res.StatusCode,
34737			Header: res.Header,
34738		}
34739	}
34740	if err != nil {
34741		return nil, err
34742	}
34743	defer googleapi.CloseBody(res)
34744	if err := googleapi.CheckResponse(res); err != nil {
34745		return nil, err
34746	}
34747	ret := &BulkEditPartnerAssignedTargetingOptionsResponse{
34748		ServerResponse: googleapi.ServerResponse{
34749			Header:         res.Header,
34750			HTTPStatusCode: res.StatusCode,
34751		},
34752	}
34753	target := &ret
34754	if err := gensupport.DecodeResponse(target, res); err != nil {
34755		return nil, err
34756	}
34757	return ret, nil
34758	// {
34759	//   "description": "Bulk edits targeting options under a single partner. The operation will delete the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then create the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .",
34760	//   "flatPath": "v1/partners/{partnersId}:bulkEditPartnerAssignedTargetingOptions",
34761	//   "httpMethod": "POST",
34762	//   "id": "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions",
34763	//   "parameterOrder": [
34764	//     "partnerId"
34765	//   ],
34766	//   "parameters": {
34767	//     "partnerId": {
34768	//       "description": "Required. The ID of the partner.",
34769	//       "format": "int64",
34770	//       "location": "path",
34771	//       "pattern": "^[^/]+$",
34772	//       "required": true,
34773	//       "type": "string"
34774	//     }
34775	//   },
34776	//   "path": "v1/partners/{+partnerId}:bulkEditPartnerAssignedTargetingOptions",
34777	//   "request": {
34778	//     "$ref": "BulkEditPartnerAssignedTargetingOptionsRequest"
34779	//   },
34780	//   "response": {
34781	//     "$ref": "BulkEditPartnerAssignedTargetingOptionsResponse"
34782	//   },
34783	//   "scopes": [
34784	//     "https://www.googleapis.com/auth/display-video"
34785	//   ]
34786	// }
34787
34788}
34789
34790// method id "displayvideo.partners.get":
34791
34792type PartnersGetCall struct {
34793	s            *Service
34794	partnerId    int64
34795	urlParams_   gensupport.URLParams
34796	ifNoneMatch_ string
34797	ctx_         context.Context
34798	header_      http.Header
34799}
34800
34801// Get: Gets a partner.
34802//
34803// - partnerId: The ID of the partner to fetch.
34804func (r *PartnersService) Get(partnerId int64) *PartnersGetCall {
34805	c := &PartnersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34806	c.partnerId = partnerId
34807	return c
34808}
34809
34810// Fields allows partial responses to be retrieved. See
34811// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34812// for more information.
34813func (c *PartnersGetCall) Fields(s ...googleapi.Field) *PartnersGetCall {
34814	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34815	return c
34816}
34817
34818// IfNoneMatch sets the optional parameter which makes the operation
34819// fail if the object's ETag matches the given value. This is useful for
34820// getting updates only after the object has changed since the last
34821// request. Use googleapi.IsNotModified to check whether the response
34822// error from Do is the result of In-None-Match.
34823func (c *PartnersGetCall) IfNoneMatch(entityTag string) *PartnersGetCall {
34824	c.ifNoneMatch_ = entityTag
34825	return c
34826}
34827
34828// Context sets the context to be used in this call's Do method. Any
34829// pending HTTP request will be aborted if the provided context is
34830// canceled.
34831func (c *PartnersGetCall) Context(ctx context.Context) *PartnersGetCall {
34832	c.ctx_ = ctx
34833	return c
34834}
34835
34836// Header returns an http.Header that can be modified by the caller to
34837// add HTTP headers to the request.
34838func (c *PartnersGetCall) Header() http.Header {
34839	if c.header_ == nil {
34840		c.header_ = make(http.Header)
34841	}
34842	return c.header_
34843}
34844
34845func (c *PartnersGetCall) doRequest(alt string) (*http.Response, error) {
34846	reqHeaders := make(http.Header)
34847	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
34848	for k, v := range c.header_ {
34849		reqHeaders[k] = v
34850	}
34851	reqHeaders.Set("User-Agent", c.s.userAgent())
34852	if c.ifNoneMatch_ != "" {
34853		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34854	}
34855	var body io.Reader = nil
34856	c.urlParams_.Set("alt", alt)
34857	c.urlParams_.Set("prettyPrint", "false")
34858	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}")
34859	urls += "?" + c.urlParams_.Encode()
34860	req, err := http.NewRequest("GET", urls, body)
34861	if err != nil {
34862		return nil, err
34863	}
34864	req.Header = reqHeaders
34865	googleapi.Expand(req.URL, map[string]string{
34866		"partnerId": strconv.FormatInt(c.partnerId, 10),
34867	})
34868	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34869}
34870
34871// Do executes the "displayvideo.partners.get" call.
34872// Exactly one of *Partner or error will be non-nil. Any non-2xx status
34873// code is an error. Response headers are in either
34874// *Partner.ServerResponse.Header or (if a response was returned at all)
34875// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
34876// check whether the returned error was because http.StatusNotModified
34877// was returned.
34878func (c *PartnersGetCall) Do(opts ...googleapi.CallOption) (*Partner, error) {
34879	gensupport.SetOptions(c.urlParams_, opts...)
34880	res, err := c.doRequest("json")
34881	if res != nil && res.StatusCode == http.StatusNotModified {
34882		if res.Body != nil {
34883			res.Body.Close()
34884		}
34885		return nil, &googleapi.Error{
34886			Code:   res.StatusCode,
34887			Header: res.Header,
34888		}
34889	}
34890	if err != nil {
34891		return nil, err
34892	}
34893	defer googleapi.CloseBody(res)
34894	if err := googleapi.CheckResponse(res); err != nil {
34895		return nil, err
34896	}
34897	ret := &Partner{
34898		ServerResponse: googleapi.ServerResponse{
34899			Header:         res.Header,
34900			HTTPStatusCode: res.StatusCode,
34901		},
34902	}
34903	target := &ret
34904	if err := gensupport.DecodeResponse(target, res); err != nil {
34905		return nil, err
34906	}
34907	return ret, nil
34908	// {
34909	//   "description": "Gets a partner.",
34910	//   "flatPath": "v1/partners/{partnersId}",
34911	//   "httpMethod": "GET",
34912	//   "id": "displayvideo.partners.get",
34913	//   "parameterOrder": [
34914	//     "partnerId"
34915	//   ],
34916	//   "parameters": {
34917	//     "partnerId": {
34918	//       "description": "Required. The ID of the partner to fetch.",
34919	//       "format": "int64",
34920	//       "location": "path",
34921	//       "pattern": "^[^/]+$",
34922	//       "required": true,
34923	//       "type": "string"
34924	//     }
34925	//   },
34926	//   "path": "v1/partners/{+partnerId}",
34927	//   "response": {
34928	//     "$ref": "Partner"
34929	//   },
34930	//   "scopes": [
34931	//     "https://www.googleapis.com/auth/display-video"
34932	//   ]
34933	// }
34934
34935}
34936
34937// method id "displayvideo.partners.list":
34938
34939type PartnersListCall struct {
34940	s            *Service
34941	urlParams_   gensupport.URLParams
34942	ifNoneMatch_ string
34943	ctx_         context.Context
34944	header_      http.Header
34945}
34946
34947// List: Lists partners that are accessible to the current user. The
34948// order is defined by the order_by parameter.
34949func (r *PartnersService) List() *PartnersListCall {
34950	c := &PartnersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34951	return c
34952}
34953
34954// Filter sets the optional parameter "filter": Allows filtering by
34955// partner properties. Supported syntax: * Filter expressions are made
34956// up of one or more restrictions. * Restrictions can be combined by
34957// `AND` or `OR` logical operators. A sequence of restrictions
34958// implicitly uses `AND`. * A restriction has the form of `{field}
34959// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
34960// fields: - `entityStatus` Examples: * All active partners:
34961// `entityStatus="ENTITY_STATUS_ACTIVE" The length of this field should
34962// be no more than 500 characters.
34963func (c *PartnersListCall) Filter(filter string) *PartnersListCall {
34964	c.urlParams_.Set("filter", filter)
34965	return c
34966}
34967
34968// OrderBy sets the optional parameter "orderBy": Field by which to sort
34969// the list. Acceptable values are: * `displayName` The default sorting
34970// order is ascending. To specify descending order for a field, a suffix
34971// "desc" should be added to the field name. For example, `displayName
34972// desc`.
34973func (c *PartnersListCall) OrderBy(orderBy string) *PartnersListCall {
34974	c.urlParams_.Set("orderBy", orderBy)
34975	return c
34976}
34977
34978// PageSize sets the optional parameter "pageSize": Requested page size.
34979// Must be between `1` and `100`. If unspecified will default to `100`.
34980func (c *PartnersListCall) PageSize(pageSize int64) *PartnersListCall {
34981	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
34982	return c
34983}
34984
34985// PageToken sets the optional parameter "pageToken": A token
34986// identifying a page of results the server should return. Typically,
34987// this is the value of next_page_token returned from the previous call
34988// to `ListPartners` method. If not specified, the first page of results
34989// will be returned.
34990func (c *PartnersListCall) PageToken(pageToken string) *PartnersListCall {
34991	c.urlParams_.Set("pageToken", pageToken)
34992	return c
34993}
34994
34995// Fields allows partial responses to be retrieved. See
34996// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34997// for more information.
34998func (c *PartnersListCall) Fields(s ...googleapi.Field) *PartnersListCall {
34999	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35000	return c
35001}
35002
35003// IfNoneMatch sets the optional parameter which makes the operation
35004// fail if the object's ETag matches the given value. This is useful for
35005// getting updates only after the object has changed since the last
35006// request. Use googleapi.IsNotModified to check whether the response
35007// error from Do is the result of In-None-Match.
35008func (c *PartnersListCall) IfNoneMatch(entityTag string) *PartnersListCall {
35009	c.ifNoneMatch_ = entityTag
35010	return c
35011}
35012
35013// Context sets the context to be used in this call's Do method. Any
35014// pending HTTP request will be aborted if the provided context is
35015// canceled.
35016func (c *PartnersListCall) Context(ctx context.Context) *PartnersListCall {
35017	c.ctx_ = ctx
35018	return c
35019}
35020
35021// Header returns an http.Header that can be modified by the caller to
35022// add HTTP headers to the request.
35023func (c *PartnersListCall) Header() http.Header {
35024	if c.header_ == nil {
35025		c.header_ = make(http.Header)
35026	}
35027	return c.header_
35028}
35029
35030func (c *PartnersListCall) doRequest(alt string) (*http.Response, error) {
35031	reqHeaders := make(http.Header)
35032	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35033	for k, v := range c.header_ {
35034		reqHeaders[k] = v
35035	}
35036	reqHeaders.Set("User-Agent", c.s.userAgent())
35037	if c.ifNoneMatch_ != "" {
35038		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35039	}
35040	var body io.Reader = nil
35041	c.urlParams_.Set("alt", alt)
35042	c.urlParams_.Set("prettyPrint", "false")
35043	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners")
35044	urls += "?" + c.urlParams_.Encode()
35045	req, err := http.NewRequest("GET", urls, body)
35046	if err != nil {
35047		return nil, err
35048	}
35049	req.Header = reqHeaders
35050	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35051}
35052
35053// Do executes the "displayvideo.partners.list" call.
35054// Exactly one of *ListPartnersResponse or error will be non-nil. Any
35055// non-2xx status code is an error. Response headers are in either
35056// *ListPartnersResponse.ServerResponse.Header or (if a response was
35057// returned at all) in error.(*googleapi.Error).Header. Use
35058// googleapi.IsNotModified to check whether the returned error was
35059// because http.StatusNotModified was returned.
35060func (c *PartnersListCall) Do(opts ...googleapi.CallOption) (*ListPartnersResponse, error) {
35061	gensupport.SetOptions(c.urlParams_, opts...)
35062	res, err := c.doRequest("json")
35063	if res != nil && res.StatusCode == http.StatusNotModified {
35064		if res.Body != nil {
35065			res.Body.Close()
35066		}
35067		return nil, &googleapi.Error{
35068			Code:   res.StatusCode,
35069			Header: res.Header,
35070		}
35071	}
35072	if err != nil {
35073		return nil, err
35074	}
35075	defer googleapi.CloseBody(res)
35076	if err := googleapi.CheckResponse(res); err != nil {
35077		return nil, err
35078	}
35079	ret := &ListPartnersResponse{
35080		ServerResponse: googleapi.ServerResponse{
35081			Header:         res.Header,
35082			HTTPStatusCode: res.StatusCode,
35083		},
35084	}
35085	target := &ret
35086	if err := gensupport.DecodeResponse(target, res); err != nil {
35087		return nil, err
35088	}
35089	return ret, nil
35090	// {
35091	//   "description": "Lists partners that are accessible to the current user. The order is defined by the order_by parameter.",
35092	//   "flatPath": "v1/partners",
35093	//   "httpMethod": "GET",
35094	//   "id": "displayvideo.partners.list",
35095	//   "parameterOrder": [],
35096	//   "parameters": {
35097	//     "filter": {
35098	//       "description": "Allows filtering by partner properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `entityStatus` Examples: * All active partners: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` The length of this field should be no more than 500 characters.",
35099	//       "location": "query",
35100	//       "type": "string"
35101	//     },
35102	//     "orderBy": {
35103	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
35104	//       "location": "query",
35105	//       "type": "string"
35106	//     },
35107	//     "pageSize": {
35108	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
35109	//       "format": "int32",
35110	//       "location": "query",
35111	//       "type": "integer"
35112	//     },
35113	//     "pageToken": {
35114	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListPartners` method. If not specified, the first page of results will be returned.",
35115	//       "location": "query",
35116	//       "type": "string"
35117	//     }
35118	//   },
35119	//   "path": "v1/partners",
35120	//   "response": {
35121	//     "$ref": "ListPartnersResponse"
35122	//   },
35123	//   "scopes": [
35124	//     "https://www.googleapis.com/auth/display-video"
35125	//   ]
35126	// }
35127
35128}
35129
35130// Pages invokes f for each page of results.
35131// A non-nil error returned from f will halt the iteration.
35132// The provided context supersedes any context provided to the Context method.
35133func (c *PartnersListCall) Pages(ctx context.Context, f func(*ListPartnersResponse) error) error {
35134	c.ctx_ = ctx
35135	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35136	for {
35137		x, err := c.Do()
35138		if err != nil {
35139			return err
35140		}
35141		if err := f(x); err != nil {
35142			return err
35143		}
35144		if x.NextPageToken == "" {
35145			return nil
35146		}
35147		c.PageToken(x.NextPageToken)
35148	}
35149}
35150
35151// method id "displayvideo.partners.channels.create":
35152
35153type PartnersChannelsCreateCall struct {
35154	s          *Service
35155	partnerId  int64
35156	channel    *Channel
35157	urlParams_ gensupport.URLParams
35158	ctx_       context.Context
35159	header_    http.Header
35160}
35161
35162// Create: Creates a new channel. Returns the newly created channel if
35163// successful.
35164//
35165// - partnerId: The ID of the partner that owns the created channel.
35166func (r *PartnersChannelsService) Create(partnerId int64, channel *Channel) *PartnersChannelsCreateCall {
35167	c := &PartnersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35168	c.partnerId = partnerId
35169	c.channel = channel
35170	return c
35171}
35172
35173// AdvertiserId sets the optional parameter "advertiserId": The ID of
35174// the advertiser that owns the created channel.
35175func (c *PartnersChannelsCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsCreateCall {
35176	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
35177	return c
35178}
35179
35180// Fields allows partial responses to be retrieved. See
35181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35182// for more information.
35183func (c *PartnersChannelsCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsCreateCall {
35184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35185	return c
35186}
35187
35188// Context sets the context to be used in this call's Do method. Any
35189// pending HTTP request will be aborted if the provided context is
35190// canceled.
35191func (c *PartnersChannelsCreateCall) Context(ctx context.Context) *PartnersChannelsCreateCall {
35192	c.ctx_ = ctx
35193	return c
35194}
35195
35196// Header returns an http.Header that can be modified by the caller to
35197// add HTTP headers to the request.
35198func (c *PartnersChannelsCreateCall) Header() http.Header {
35199	if c.header_ == nil {
35200		c.header_ = make(http.Header)
35201	}
35202	return c.header_
35203}
35204
35205func (c *PartnersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
35206	reqHeaders := make(http.Header)
35207	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35208	for k, v := range c.header_ {
35209		reqHeaders[k] = v
35210	}
35211	reqHeaders.Set("User-Agent", c.s.userAgent())
35212	var body io.Reader = nil
35213	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
35214	if err != nil {
35215		return nil, err
35216	}
35217	reqHeaders.Set("Content-Type", "application/json")
35218	c.urlParams_.Set("alt", alt)
35219	c.urlParams_.Set("prettyPrint", "false")
35220	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels")
35221	urls += "?" + c.urlParams_.Encode()
35222	req, err := http.NewRequest("POST", urls, body)
35223	if err != nil {
35224		return nil, err
35225	}
35226	req.Header = reqHeaders
35227	googleapi.Expand(req.URL, map[string]string{
35228		"partnerId": strconv.FormatInt(c.partnerId, 10),
35229	})
35230	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35231}
35232
35233// Do executes the "displayvideo.partners.channels.create" call.
35234// Exactly one of *Channel or error will be non-nil. Any non-2xx status
35235// code is an error. Response headers are in either
35236// *Channel.ServerResponse.Header or (if a response was returned at all)
35237// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
35238// check whether the returned error was because http.StatusNotModified
35239// was returned.
35240func (c *PartnersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
35241	gensupport.SetOptions(c.urlParams_, opts...)
35242	res, err := c.doRequest("json")
35243	if res != nil && res.StatusCode == http.StatusNotModified {
35244		if res.Body != nil {
35245			res.Body.Close()
35246		}
35247		return nil, &googleapi.Error{
35248			Code:   res.StatusCode,
35249			Header: res.Header,
35250		}
35251	}
35252	if err != nil {
35253		return nil, err
35254	}
35255	defer googleapi.CloseBody(res)
35256	if err := googleapi.CheckResponse(res); err != nil {
35257		return nil, err
35258	}
35259	ret := &Channel{
35260		ServerResponse: googleapi.ServerResponse{
35261			Header:         res.Header,
35262			HTTPStatusCode: res.StatusCode,
35263		},
35264	}
35265	target := &ret
35266	if err := gensupport.DecodeResponse(target, res); err != nil {
35267		return nil, err
35268	}
35269	return ret, nil
35270	// {
35271	//   "description": "Creates a new channel. Returns the newly created channel if successful.",
35272	//   "flatPath": "v1/partners/{partnersId}/channels",
35273	//   "httpMethod": "POST",
35274	//   "id": "displayvideo.partners.channels.create",
35275	//   "parameterOrder": [
35276	//     "partnerId"
35277	//   ],
35278	//   "parameters": {
35279	//     "advertiserId": {
35280	//       "description": "The ID of the advertiser that owns the created channel.",
35281	//       "format": "int64",
35282	//       "location": "query",
35283	//       "type": "string"
35284	//     },
35285	//     "partnerId": {
35286	//       "description": "The ID of the partner that owns the created channel.",
35287	//       "format": "int64",
35288	//       "location": "path",
35289	//       "pattern": "^[^/]+$",
35290	//       "required": true,
35291	//       "type": "string"
35292	//     }
35293	//   },
35294	//   "path": "v1/partners/{+partnerId}/channels",
35295	//   "request": {
35296	//     "$ref": "Channel"
35297	//   },
35298	//   "response": {
35299	//     "$ref": "Channel"
35300	//   },
35301	//   "scopes": [
35302	//     "https://www.googleapis.com/auth/display-video"
35303	//   ]
35304	// }
35305
35306}
35307
35308// method id "displayvideo.partners.channels.get":
35309
35310type PartnersChannelsGetCall struct {
35311	s            *Service
35312	partnerId    int64
35313	channelId    int64
35314	urlParams_   gensupport.URLParams
35315	ifNoneMatch_ string
35316	ctx_         context.Context
35317	header_      http.Header
35318}
35319
35320// Get: Gets a channel for a partner or advertiser.
35321//
35322// - channelId: The ID of the channel to fetch.
35323// - partnerId: The ID of the partner that owns the fetched channel.
35324func (r *PartnersChannelsService) Get(partnerId int64, channelId int64) *PartnersChannelsGetCall {
35325	c := &PartnersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35326	c.partnerId = partnerId
35327	c.channelId = channelId
35328	return c
35329}
35330
35331// AdvertiserId sets the optional parameter "advertiserId": The ID of
35332// the advertiser that owns the fetched channel.
35333func (c *PartnersChannelsGetCall) AdvertiserId(advertiserId int64) *PartnersChannelsGetCall {
35334	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
35335	return c
35336}
35337
35338// Fields allows partial responses to be retrieved. See
35339// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35340// for more information.
35341func (c *PartnersChannelsGetCall) Fields(s ...googleapi.Field) *PartnersChannelsGetCall {
35342	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35343	return c
35344}
35345
35346// IfNoneMatch sets the optional parameter which makes the operation
35347// fail if the object's ETag matches the given value. This is useful for
35348// getting updates only after the object has changed since the last
35349// request. Use googleapi.IsNotModified to check whether the response
35350// error from Do is the result of In-None-Match.
35351func (c *PartnersChannelsGetCall) IfNoneMatch(entityTag string) *PartnersChannelsGetCall {
35352	c.ifNoneMatch_ = entityTag
35353	return c
35354}
35355
35356// Context sets the context to be used in this call's Do method. Any
35357// pending HTTP request will be aborted if the provided context is
35358// canceled.
35359func (c *PartnersChannelsGetCall) Context(ctx context.Context) *PartnersChannelsGetCall {
35360	c.ctx_ = ctx
35361	return c
35362}
35363
35364// Header returns an http.Header that can be modified by the caller to
35365// add HTTP headers to the request.
35366func (c *PartnersChannelsGetCall) Header() http.Header {
35367	if c.header_ == nil {
35368		c.header_ = make(http.Header)
35369	}
35370	return c.header_
35371}
35372
35373func (c *PartnersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
35374	reqHeaders := make(http.Header)
35375	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35376	for k, v := range c.header_ {
35377		reqHeaders[k] = v
35378	}
35379	reqHeaders.Set("User-Agent", c.s.userAgent())
35380	if c.ifNoneMatch_ != "" {
35381		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35382	}
35383	var body io.Reader = nil
35384	c.urlParams_.Set("alt", alt)
35385	c.urlParams_.Set("prettyPrint", "false")
35386	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{+channelId}")
35387	urls += "?" + c.urlParams_.Encode()
35388	req, err := http.NewRequest("GET", urls, body)
35389	if err != nil {
35390		return nil, err
35391	}
35392	req.Header = reqHeaders
35393	googleapi.Expand(req.URL, map[string]string{
35394		"partnerId": strconv.FormatInt(c.partnerId, 10),
35395		"channelId": strconv.FormatInt(c.channelId, 10),
35396	})
35397	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35398}
35399
35400// Do executes the "displayvideo.partners.channels.get" call.
35401// Exactly one of *Channel or error will be non-nil. Any non-2xx status
35402// code is an error. Response headers are in either
35403// *Channel.ServerResponse.Header or (if a response was returned at all)
35404// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
35405// check whether the returned error was because http.StatusNotModified
35406// was returned.
35407func (c *PartnersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
35408	gensupport.SetOptions(c.urlParams_, opts...)
35409	res, err := c.doRequest("json")
35410	if res != nil && res.StatusCode == http.StatusNotModified {
35411		if res.Body != nil {
35412			res.Body.Close()
35413		}
35414		return nil, &googleapi.Error{
35415			Code:   res.StatusCode,
35416			Header: res.Header,
35417		}
35418	}
35419	if err != nil {
35420		return nil, err
35421	}
35422	defer googleapi.CloseBody(res)
35423	if err := googleapi.CheckResponse(res); err != nil {
35424		return nil, err
35425	}
35426	ret := &Channel{
35427		ServerResponse: googleapi.ServerResponse{
35428			Header:         res.Header,
35429			HTTPStatusCode: res.StatusCode,
35430		},
35431	}
35432	target := &ret
35433	if err := gensupport.DecodeResponse(target, res); err != nil {
35434		return nil, err
35435	}
35436	return ret, nil
35437	// {
35438	//   "description": "Gets a channel for a partner or advertiser.",
35439	//   "flatPath": "v1/partners/{partnersId}/channels/{channelsId}",
35440	//   "httpMethod": "GET",
35441	//   "id": "displayvideo.partners.channels.get",
35442	//   "parameterOrder": [
35443	//     "partnerId",
35444	//     "channelId"
35445	//   ],
35446	//   "parameters": {
35447	//     "advertiserId": {
35448	//       "description": "The ID of the advertiser that owns the fetched channel.",
35449	//       "format": "int64",
35450	//       "location": "query",
35451	//       "type": "string"
35452	//     },
35453	//     "channelId": {
35454	//       "description": "Required. The ID of the channel to fetch.",
35455	//       "format": "int64",
35456	//       "location": "path",
35457	//       "pattern": "^[^/]+$",
35458	//       "required": true,
35459	//       "type": "string"
35460	//     },
35461	//     "partnerId": {
35462	//       "description": "The ID of the partner that owns the fetched channel.",
35463	//       "format": "int64",
35464	//       "location": "path",
35465	//       "pattern": "^[^/]+$",
35466	//       "required": true,
35467	//       "type": "string"
35468	//     }
35469	//   },
35470	//   "path": "v1/partners/{+partnerId}/channels/{+channelId}",
35471	//   "response": {
35472	//     "$ref": "Channel"
35473	//   },
35474	//   "scopes": [
35475	//     "https://www.googleapis.com/auth/display-video"
35476	//   ]
35477	// }
35478
35479}
35480
35481// method id "displayvideo.partners.channels.list":
35482
35483type PartnersChannelsListCall struct {
35484	s            *Service
35485	partnerId    int64
35486	urlParams_   gensupport.URLParams
35487	ifNoneMatch_ string
35488	ctx_         context.Context
35489	header_      http.Header
35490}
35491
35492// List: Lists channels for a partner or advertiser.
35493//
35494// - partnerId: The ID of the partner that owns the channels.
35495func (r *PartnersChannelsService) List(partnerId int64) *PartnersChannelsListCall {
35496	c := &PartnersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35497	c.partnerId = partnerId
35498	return c
35499}
35500
35501// AdvertiserId sets the optional parameter "advertiserId": The ID of
35502// the advertiser that owns the channels.
35503func (c *PartnersChannelsListCall) AdvertiserId(advertiserId int64) *PartnersChannelsListCall {
35504	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
35505	return c
35506}
35507
35508// Filter sets the optional parameter "filter": Allows filtering by
35509// channel fields. Supported syntax: * Filter expressions for channel
35510// currently can only contain at most one * restriction. * A restriction
35511// has the form of `{field} {operator} {value}`. * The operator must be
35512// `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All
35513// channels for which the display name contains "google": `displayName :
35514// "google". The length of this field should be no more than 500
35515// characters.
35516func (c *PartnersChannelsListCall) Filter(filter string) *PartnersChannelsListCall {
35517	c.urlParams_.Set("filter", filter)
35518	return c
35519}
35520
35521// OrderBy sets the optional parameter "orderBy": Field by which to sort
35522// the list. Acceptable values are: * `displayName` (default) *
35523// `channelId` The default sorting order is ascending. To specify
35524// descending order for a field, a suffix " desc" should be added to the
35525// field name. Example: `displayName desc`.
35526func (c *PartnersChannelsListCall) OrderBy(orderBy string) *PartnersChannelsListCall {
35527	c.urlParams_.Set("orderBy", orderBy)
35528	return c
35529}
35530
35531// PageSize sets the optional parameter "pageSize": Requested page size.
35532// Must be between `1` and `100`. If unspecified will default to `100`.
35533// Returns error code `INVALID_ARGUMENT` if an invalid value is
35534// specified.
35535func (c *PartnersChannelsListCall) PageSize(pageSize int64) *PartnersChannelsListCall {
35536	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
35537	return c
35538}
35539
35540// PageToken sets the optional parameter "pageToken": A token
35541// identifying a page of results the server should return. Typically,
35542// this is the value of next_page_token returned from the previous call
35543// to `ListChannels` method. If not specified, the first page of results
35544// will be returned.
35545func (c *PartnersChannelsListCall) PageToken(pageToken string) *PartnersChannelsListCall {
35546	c.urlParams_.Set("pageToken", pageToken)
35547	return c
35548}
35549
35550// Fields allows partial responses to be retrieved. See
35551// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35552// for more information.
35553func (c *PartnersChannelsListCall) Fields(s ...googleapi.Field) *PartnersChannelsListCall {
35554	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35555	return c
35556}
35557
35558// IfNoneMatch sets the optional parameter which makes the operation
35559// fail if the object's ETag matches the given value. This is useful for
35560// getting updates only after the object has changed since the last
35561// request. Use googleapi.IsNotModified to check whether the response
35562// error from Do is the result of In-None-Match.
35563func (c *PartnersChannelsListCall) IfNoneMatch(entityTag string) *PartnersChannelsListCall {
35564	c.ifNoneMatch_ = entityTag
35565	return c
35566}
35567
35568// Context sets the context to be used in this call's Do method. Any
35569// pending HTTP request will be aborted if the provided context is
35570// canceled.
35571func (c *PartnersChannelsListCall) Context(ctx context.Context) *PartnersChannelsListCall {
35572	c.ctx_ = ctx
35573	return c
35574}
35575
35576// Header returns an http.Header that can be modified by the caller to
35577// add HTTP headers to the request.
35578func (c *PartnersChannelsListCall) Header() http.Header {
35579	if c.header_ == nil {
35580		c.header_ = make(http.Header)
35581	}
35582	return c.header_
35583}
35584
35585func (c *PartnersChannelsListCall) doRequest(alt string) (*http.Response, error) {
35586	reqHeaders := make(http.Header)
35587	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35588	for k, v := range c.header_ {
35589		reqHeaders[k] = v
35590	}
35591	reqHeaders.Set("User-Agent", c.s.userAgent())
35592	if c.ifNoneMatch_ != "" {
35593		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35594	}
35595	var body io.Reader = nil
35596	c.urlParams_.Set("alt", alt)
35597	c.urlParams_.Set("prettyPrint", "false")
35598	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels")
35599	urls += "?" + c.urlParams_.Encode()
35600	req, err := http.NewRequest("GET", urls, body)
35601	if err != nil {
35602		return nil, err
35603	}
35604	req.Header = reqHeaders
35605	googleapi.Expand(req.URL, map[string]string{
35606		"partnerId": strconv.FormatInt(c.partnerId, 10),
35607	})
35608	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35609}
35610
35611// Do executes the "displayvideo.partners.channels.list" call.
35612// Exactly one of *ListChannelsResponse or error will be non-nil. Any
35613// non-2xx status code is an error. Response headers are in either
35614// *ListChannelsResponse.ServerResponse.Header or (if a response was
35615// returned at all) in error.(*googleapi.Error).Header. Use
35616// googleapi.IsNotModified to check whether the returned error was
35617// because http.StatusNotModified was returned.
35618func (c *PartnersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
35619	gensupport.SetOptions(c.urlParams_, opts...)
35620	res, err := c.doRequest("json")
35621	if res != nil && res.StatusCode == http.StatusNotModified {
35622		if res.Body != nil {
35623			res.Body.Close()
35624		}
35625		return nil, &googleapi.Error{
35626			Code:   res.StatusCode,
35627			Header: res.Header,
35628		}
35629	}
35630	if err != nil {
35631		return nil, err
35632	}
35633	defer googleapi.CloseBody(res)
35634	if err := googleapi.CheckResponse(res); err != nil {
35635		return nil, err
35636	}
35637	ret := &ListChannelsResponse{
35638		ServerResponse: googleapi.ServerResponse{
35639			Header:         res.Header,
35640			HTTPStatusCode: res.StatusCode,
35641		},
35642	}
35643	target := &ret
35644	if err := gensupport.DecodeResponse(target, res); err != nil {
35645		return nil, err
35646	}
35647	return ret, nil
35648	// {
35649	//   "description": "Lists channels for a partner or advertiser.",
35650	//   "flatPath": "v1/partners/{partnersId}/channels",
35651	//   "httpMethod": "GET",
35652	//   "id": "displayvideo.partners.channels.list",
35653	//   "parameterOrder": [
35654	//     "partnerId"
35655	//   ],
35656	//   "parameters": {
35657	//     "advertiserId": {
35658	//       "description": "The ID of the advertiser that owns the channels.",
35659	//       "format": "int64",
35660	//       "location": "query",
35661	//       "type": "string"
35662	//     },
35663	//     "filter": {
35664	//       "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel currently can only contain at most one * restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters.",
35665	//       "location": "query",
35666	//       "type": "string"
35667	//     },
35668	//     "orderBy": {
35669	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.",
35670	//       "location": "query",
35671	//       "type": "string"
35672	//     },
35673	//     "pageSize": {
35674	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
35675	//       "format": "int32",
35676	//       "location": "query",
35677	//       "type": "integer"
35678	//     },
35679	//     "pageToken": {
35680	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.",
35681	//       "location": "query",
35682	//       "type": "string"
35683	//     },
35684	//     "partnerId": {
35685	//       "description": "The ID of the partner that owns the channels.",
35686	//       "format": "int64",
35687	//       "location": "path",
35688	//       "pattern": "^[^/]+$",
35689	//       "required": true,
35690	//       "type": "string"
35691	//     }
35692	//   },
35693	//   "path": "v1/partners/{+partnerId}/channels",
35694	//   "response": {
35695	//     "$ref": "ListChannelsResponse"
35696	//   },
35697	//   "scopes": [
35698	//     "https://www.googleapis.com/auth/display-video"
35699	//   ]
35700	// }
35701
35702}
35703
35704// Pages invokes f for each page of results.
35705// A non-nil error returned from f will halt the iteration.
35706// The provided context supersedes any context provided to the Context method.
35707func (c *PartnersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
35708	c.ctx_ = ctx
35709	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35710	for {
35711		x, err := c.Do()
35712		if err != nil {
35713			return err
35714		}
35715		if err := f(x); err != nil {
35716			return err
35717		}
35718		if x.NextPageToken == "" {
35719			return nil
35720		}
35721		c.PageToken(x.NextPageToken)
35722	}
35723}
35724
35725// method id "displayvideo.partners.channels.patch":
35726
35727type PartnersChannelsPatchCall struct {
35728	s          *Service
35729	partnerId  int64
35730	channelId  int64
35731	channel    *Channel
35732	urlParams_ gensupport.URLParams
35733	ctx_       context.Context
35734	header_    http.Header
35735}
35736
35737// Patch: Updates a channel. Returns the updated channel if successful.
35738//
35739// - channelId: Output only. The unique ID of the channel. Assigned by
35740//   the system.
35741// - partnerId: The ID of the partner that owns the created channel.
35742func (r *PartnersChannelsService) Patch(partnerId int64, channelId int64, channel *Channel) *PartnersChannelsPatchCall {
35743	c := &PartnersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35744	c.partnerId = partnerId
35745	c.channelId = channelId
35746	c.channel = channel
35747	return c
35748}
35749
35750// AdvertiserId sets the optional parameter "advertiserId": The ID of
35751// the advertiser that owns the created channel.
35752func (c *PartnersChannelsPatchCall) AdvertiserId(advertiserId int64) *PartnersChannelsPatchCall {
35753	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
35754	return c
35755}
35756
35757// UpdateMask sets the optional parameter "updateMask": Required. The
35758// mask to control which fields to update.
35759func (c *PartnersChannelsPatchCall) UpdateMask(updateMask string) *PartnersChannelsPatchCall {
35760	c.urlParams_.Set("updateMask", updateMask)
35761	return c
35762}
35763
35764// Fields allows partial responses to be retrieved. See
35765// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35766// for more information.
35767func (c *PartnersChannelsPatchCall) Fields(s ...googleapi.Field) *PartnersChannelsPatchCall {
35768	c.urlParams_.Set("fields", googleapi.CombineFields(s))
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 *PartnersChannelsPatchCall) Context(ctx context.Context) *PartnersChannelsPatchCall {
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 *PartnersChannelsPatchCall) Header() http.Header {
35783	if c.header_ == nil {
35784		c.header_ = make(http.Header)
35785	}
35786	return c.header_
35787}
35788
35789func (c *PartnersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
35790	reqHeaders := make(http.Header)
35791	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35792	for k, v := range c.header_ {
35793		reqHeaders[k] = v
35794	}
35795	reqHeaders.Set("User-Agent", c.s.userAgent())
35796	var body io.Reader = nil
35797	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
35798	if err != nil {
35799		return nil, err
35800	}
35801	reqHeaders.Set("Content-Type", "application/json")
35802	c.urlParams_.Set("alt", alt)
35803	c.urlParams_.Set("prettyPrint", "false")
35804	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{channelId}")
35805	urls += "?" + c.urlParams_.Encode()
35806	req, err := http.NewRequest("PATCH", urls, body)
35807	if err != nil {
35808		return nil, err
35809	}
35810	req.Header = reqHeaders
35811	googleapi.Expand(req.URL, map[string]string{
35812		"partnerId": strconv.FormatInt(c.partnerId, 10),
35813		"channelId": strconv.FormatInt(c.channelId, 10),
35814	})
35815	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35816}
35817
35818// Do executes the "displayvideo.partners.channels.patch" call.
35819// Exactly one of *Channel or error will be non-nil. Any non-2xx status
35820// code is an error. Response headers are in either
35821// *Channel.ServerResponse.Header or (if a response was returned at all)
35822// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
35823// check whether the returned error was because http.StatusNotModified
35824// was returned.
35825func (c *PartnersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
35826	gensupport.SetOptions(c.urlParams_, opts...)
35827	res, err := c.doRequest("json")
35828	if res != nil && res.StatusCode == http.StatusNotModified {
35829		if res.Body != nil {
35830			res.Body.Close()
35831		}
35832		return nil, &googleapi.Error{
35833			Code:   res.StatusCode,
35834			Header: res.Header,
35835		}
35836	}
35837	if err != nil {
35838		return nil, err
35839	}
35840	defer googleapi.CloseBody(res)
35841	if err := googleapi.CheckResponse(res); err != nil {
35842		return nil, err
35843	}
35844	ret := &Channel{
35845		ServerResponse: googleapi.ServerResponse{
35846			Header:         res.Header,
35847			HTTPStatusCode: res.StatusCode,
35848		},
35849	}
35850	target := &ret
35851	if err := gensupport.DecodeResponse(target, res); err != nil {
35852		return nil, err
35853	}
35854	return ret, nil
35855	// {
35856	//   "description": "Updates a channel. Returns the updated channel if successful.",
35857	//   "flatPath": "v1/partners/{partnersId}/channels/{channelId}",
35858	//   "httpMethod": "PATCH",
35859	//   "id": "displayvideo.partners.channels.patch",
35860	//   "parameterOrder": [
35861	//     "partnerId",
35862	//     "channelId"
35863	//   ],
35864	//   "parameters": {
35865	//     "advertiserId": {
35866	//       "description": "The ID of the advertiser that owns the created channel.",
35867	//       "format": "int64",
35868	//       "location": "query",
35869	//       "type": "string"
35870	//     },
35871	//     "channelId": {
35872	//       "description": "Output only. The unique ID of the channel. Assigned by the system.",
35873	//       "format": "int64",
35874	//       "location": "path",
35875	//       "required": true,
35876	//       "type": "string"
35877	//     },
35878	//     "partnerId": {
35879	//       "description": "The ID of the partner that owns the created channel.",
35880	//       "format": "int64",
35881	//       "location": "path",
35882	//       "pattern": "^[^/]+$",
35883	//       "required": true,
35884	//       "type": "string"
35885	//     },
35886	//     "updateMask": {
35887	//       "description": "Required. The mask to control which fields to update.",
35888	//       "format": "google-fieldmask",
35889	//       "location": "query",
35890	//       "type": "string"
35891	//     }
35892	//   },
35893	//   "path": "v1/partners/{+partnerId}/channels/{channelId}",
35894	//   "request": {
35895	//     "$ref": "Channel"
35896	//   },
35897	//   "response": {
35898	//     "$ref": "Channel"
35899	//   },
35900	//   "scopes": [
35901	//     "https://www.googleapis.com/auth/display-video"
35902	//   ]
35903	// }
35904
35905}
35906
35907// method id "displayvideo.partners.channels.sites.bulkEdit":
35908
35909type PartnersChannelsSitesBulkEditCall struct {
35910	s                    *Service
35911	partnerId            int64
35912	channelId            int64
35913	bulkeditsitesrequest *BulkEditSitesRequest
35914	urlParams_           gensupport.URLParams
35915	ctx_                 context.Context
35916	header_              http.Header
35917}
35918
35919// BulkEdit: Bulk edits sites under a single channel. The operation will
35920// delete the sites provided in BulkEditSitesRequest.deleted_sites and
35921// then create the sites provided in BulkEditSitesRequest.created_sites.
35922//
35923// - channelId: The ID of the parent channel to which the sites belong.
35924// - partnerId: The ID of the partner that owns the parent channel.
35925func (r *PartnersChannelsSitesService) BulkEdit(partnerId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *PartnersChannelsSitesBulkEditCall {
35926	c := &PartnersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35927	c.partnerId = partnerId
35928	c.channelId = channelId
35929	c.bulkeditsitesrequest = bulkeditsitesrequest
35930	return c
35931}
35932
35933// Fields allows partial responses to be retrieved. See
35934// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35935// for more information.
35936func (c *PartnersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesBulkEditCall {
35937	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35938	return c
35939}
35940
35941// Context sets the context to be used in this call's Do method. Any
35942// pending HTTP request will be aborted if the provided context is
35943// canceled.
35944func (c *PartnersChannelsSitesBulkEditCall) Context(ctx context.Context) *PartnersChannelsSitesBulkEditCall {
35945	c.ctx_ = ctx
35946	return c
35947}
35948
35949// Header returns an http.Header that can be modified by the caller to
35950// add HTTP headers to the request.
35951func (c *PartnersChannelsSitesBulkEditCall) Header() http.Header {
35952	if c.header_ == nil {
35953		c.header_ = make(http.Header)
35954	}
35955	return c.header_
35956}
35957
35958func (c *PartnersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
35959	reqHeaders := make(http.Header)
35960	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
35961	for k, v := range c.header_ {
35962		reqHeaders[k] = v
35963	}
35964	reqHeaders.Set("User-Agent", c.s.userAgent())
35965	var body io.Reader = nil
35966	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
35967	if err != nil {
35968		return nil, err
35969	}
35970	reqHeaders.Set("Content-Type", "application/json")
35971	c.urlParams_.Set("alt", alt)
35972	c.urlParams_.Set("prettyPrint", "false")
35973	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit")
35974	urls += "?" + c.urlParams_.Encode()
35975	req, err := http.NewRequest("POST", urls, body)
35976	if err != nil {
35977		return nil, err
35978	}
35979	req.Header = reqHeaders
35980	googleapi.Expand(req.URL, map[string]string{
35981		"partnerId": strconv.FormatInt(c.partnerId, 10),
35982		"channelId": strconv.FormatInt(c.channelId, 10),
35983	})
35984	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35985}
35986
35987// Do executes the "displayvideo.partners.channels.sites.bulkEdit" call.
35988// Exactly one of *BulkEditSitesResponse or error will be non-nil. Any
35989// non-2xx status code is an error. Response headers are in either
35990// *BulkEditSitesResponse.ServerResponse.Header or (if a response was
35991// returned at all) in error.(*googleapi.Error).Header. Use
35992// googleapi.IsNotModified to check whether the returned error was
35993// because http.StatusNotModified was returned.
35994func (c *PartnersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
35995	gensupport.SetOptions(c.urlParams_, opts...)
35996	res, err := c.doRequest("json")
35997	if res != nil && res.StatusCode == http.StatusNotModified {
35998		if res.Body != nil {
35999			res.Body.Close()
36000		}
36001		return nil, &googleapi.Error{
36002			Code:   res.StatusCode,
36003			Header: res.Header,
36004		}
36005	}
36006	if err != nil {
36007		return nil, err
36008	}
36009	defer googleapi.CloseBody(res)
36010	if err := googleapi.CheckResponse(res); err != nil {
36011		return nil, err
36012	}
36013	ret := &BulkEditSitesResponse{
36014		ServerResponse: googleapi.ServerResponse{
36015			Header:         res.Header,
36016			HTTPStatusCode: res.StatusCode,
36017		},
36018	}
36019	target := &ret
36020	if err := gensupport.DecodeResponse(target, res); err != nil {
36021		return nil, err
36022	}
36023	return ret, nil
36024	// {
36025	//   "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.",
36026	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites:bulkEdit",
36027	//   "httpMethod": "POST",
36028	//   "id": "displayvideo.partners.channels.sites.bulkEdit",
36029	//   "parameterOrder": [
36030	//     "partnerId",
36031	//     "channelId"
36032	//   ],
36033	//   "parameters": {
36034	//     "channelId": {
36035	//       "description": "Required. The ID of the parent channel to which the sites belong.",
36036	//       "format": "int64",
36037	//       "location": "path",
36038	//       "pattern": "^[^/]+$",
36039	//       "required": true,
36040	//       "type": "string"
36041	//     },
36042	//     "partnerId": {
36043	//       "description": "The ID of the partner that owns the parent channel.",
36044	//       "format": "int64",
36045	//       "location": "path",
36046	//       "required": true,
36047	//       "type": "string"
36048	//     }
36049	//   },
36050	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit",
36051	//   "request": {
36052	//     "$ref": "BulkEditSitesRequest"
36053	//   },
36054	//   "response": {
36055	//     "$ref": "BulkEditSitesResponse"
36056	//   },
36057	//   "scopes": [
36058	//     "https://www.googleapis.com/auth/display-video"
36059	//   ]
36060	// }
36061
36062}
36063
36064// method id "displayvideo.partners.channels.sites.create":
36065
36066type PartnersChannelsSitesCreateCall struct {
36067	s          *Service
36068	partnerId  int64
36069	channelId  int64
36070	site       *Site
36071	urlParams_ gensupport.URLParams
36072	ctx_       context.Context
36073	header_    http.Header
36074}
36075
36076// Create: Creates a site in a channel.
36077//
36078// - channelId: The ID of the parent channel in which the site will be
36079//   created.
36080// - partnerId: The ID of the partner that owns the parent channel.
36081func (r *PartnersChannelsSitesService) Create(partnerId int64, channelId int64, site *Site) *PartnersChannelsSitesCreateCall {
36082	c := &PartnersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36083	c.partnerId = partnerId
36084	c.channelId = channelId
36085	c.site = site
36086	return c
36087}
36088
36089// AdvertiserId sets the optional parameter "advertiserId": The ID of
36090// the advertiser that owns the parent channel.
36091func (c *PartnersChannelsSitesCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesCreateCall {
36092	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
36093	return c
36094}
36095
36096// Fields allows partial responses to be retrieved. See
36097// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36098// for more information.
36099func (c *PartnersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesCreateCall {
36100	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36101	return c
36102}
36103
36104// Context sets the context to be used in this call's Do method. Any
36105// pending HTTP request will be aborted if the provided context is
36106// canceled.
36107func (c *PartnersChannelsSitesCreateCall) Context(ctx context.Context) *PartnersChannelsSitesCreateCall {
36108	c.ctx_ = ctx
36109	return c
36110}
36111
36112// Header returns an http.Header that can be modified by the caller to
36113// add HTTP headers to the request.
36114func (c *PartnersChannelsSitesCreateCall) Header() http.Header {
36115	if c.header_ == nil {
36116		c.header_ = make(http.Header)
36117	}
36118	return c.header_
36119}
36120
36121func (c *PartnersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
36122	reqHeaders := make(http.Header)
36123	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36124	for k, v := range c.header_ {
36125		reqHeaders[k] = v
36126	}
36127	reqHeaders.Set("User-Agent", c.s.userAgent())
36128	var body io.Reader = nil
36129	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
36130	if err != nil {
36131		return nil, err
36132	}
36133	reqHeaders.Set("Content-Type", "application/json")
36134	c.urlParams_.Set("alt", alt)
36135	c.urlParams_.Set("prettyPrint", "false")
36136	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites")
36137	urls += "?" + c.urlParams_.Encode()
36138	req, err := http.NewRequest("POST", urls, body)
36139	if err != nil {
36140		return nil, err
36141	}
36142	req.Header = reqHeaders
36143	googleapi.Expand(req.URL, map[string]string{
36144		"partnerId": strconv.FormatInt(c.partnerId, 10),
36145		"channelId": strconv.FormatInt(c.channelId, 10),
36146	})
36147	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36148}
36149
36150// Do executes the "displayvideo.partners.channels.sites.create" call.
36151// Exactly one of *Site or error will be non-nil. Any non-2xx status
36152// code is an error. Response headers are in either
36153// *Site.ServerResponse.Header or (if a response was returned at all) in
36154// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36155// whether the returned error was because http.StatusNotModified was
36156// returned.
36157func (c *PartnersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
36158	gensupport.SetOptions(c.urlParams_, opts...)
36159	res, err := c.doRequest("json")
36160	if res != nil && res.StatusCode == http.StatusNotModified {
36161		if res.Body != nil {
36162			res.Body.Close()
36163		}
36164		return nil, &googleapi.Error{
36165			Code:   res.StatusCode,
36166			Header: res.Header,
36167		}
36168	}
36169	if err != nil {
36170		return nil, err
36171	}
36172	defer googleapi.CloseBody(res)
36173	if err := googleapi.CheckResponse(res); err != nil {
36174		return nil, err
36175	}
36176	ret := &Site{
36177		ServerResponse: googleapi.ServerResponse{
36178			Header:         res.Header,
36179			HTTPStatusCode: res.StatusCode,
36180		},
36181	}
36182	target := &ret
36183	if err := gensupport.DecodeResponse(target, res); err != nil {
36184		return nil, err
36185	}
36186	return ret, nil
36187	// {
36188	//   "description": "Creates a site in a channel.",
36189	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites",
36190	//   "httpMethod": "POST",
36191	//   "id": "displayvideo.partners.channels.sites.create",
36192	//   "parameterOrder": [
36193	//     "partnerId",
36194	//     "channelId"
36195	//   ],
36196	//   "parameters": {
36197	//     "advertiserId": {
36198	//       "description": "The ID of the advertiser that owns the parent channel.",
36199	//       "format": "int64",
36200	//       "location": "query",
36201	//       "type": "string"
36202	//     },
36203	//     "channelId": {
36204	//       "description": "Required. The ID of the parent channel in which the site will be created.",
36205	//       "format": "int64",
36206	//       "location": "path",
36207	//       "pattern": "^[^/]+$",
36208	//       "required": true,
36209	//       "type": "string"
36210	//     },
36211	//     "partnerId": {
36212	//       "description": "The ID of the partner that owns the parent channel.",
36213	//       "format": "int64",
36214	//       "location": "path",
36215	//       "required": true,
36216	//       "type": "string"
36217	//     }
36218	//   },
36219	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites",
36220	//   "request": {
36221	//     "$ref": "Site"
36222	//   },
36223	//   "response": {
36224	//     "$ref": "Site"
36225	//   },
36226	//   "scopes": [
36227	//     "https://www.googleapis.com/auth/display-video"
36228	//   ]
36229	// }
36230
36231}
36232
36233// method id "displayvideo.partners.channels.sites.delete":
36234
36235type PartnersChannelsSitesDeleteCall struct {
36236	s          *Service
36237	partnerId  int64
36238	channelId  int64
36239	urlOrAppId string
36240	urlParams_ gensupport.URLParams
36241	ctx_       context.Context
36242	header_    http.Header
36243}
36244
36245// Delete: Deletes a site from a channel.
36246//
36247// - channelId: The ID of the parent channel to which the site belongs.
36248// - partnerId: The ID of the partner that owns the parent channel.
36249// - urlOrAppId: The URL or app ID of the site to delete.
36250func (r *PartnersChannelsSitesService) Delete(partnerId int64, channelId int64, urlOrAppId string) *PartnersChannelsSitesDeleteCall {
36251	c := &PartnersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36252	c.partnerId = partnerId
36253	c.channelId = channelId
36254	c.urlOrAppId = urlOrAppId
36255	return c
36256}
36257
36258// AdvertiserId sets the optional parameter "advertiserId": The ID of
36259// the advertiser that owns the parent channel.
36260func (c *PartnersChannelsSitesDeleteCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesDeleteCall {
36261	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
36262	return c
36263}
36264
36265// Fields allows partial responses to be retrieved. See
36266// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36267// for more information.
36268func (c *PartnersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesDeleteCall {
36269	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36270	return c
36271}
36272
36273// Context sets the context to be used in this call's Do method. Any
36274// pending HTTP request will be aborted if the provided context is
36275// canceled.
36276func (c *PartnersChannelsSitesDeleteCall) Context(ctx context.Context) *PartnersChannelsSitesDeleteCall {
36277	c.ctx_ = ctx
36278	return c
36279}
36280
36281// Header returns an http.Header that can be modified by the caller to
36282// add HTTP headers to the request.
36283func (c *PartnersChannelsSitesDeleteCall) Header() http.Header {
36284	if c.header_ == nil {
36285		c.header_ = make(http.Header)
36286	}
36287	return c.header_
36288}
36289
36290func (c *PartnersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
36291	reqHeaders := make(http.Header)
36292	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36293	for k, v := range c.header_ {
36294		reqHeaders[k] = v
36295	}
36296	reqHeaders.Set("User-Agent", c.s.userAgent())
36297	var body io.Reader = nil
36298	c.urlParams_.Set("alt", alt)
36299	c.urlParams_.Set("prettyPrint", "false")
36300	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}")
36301	urls += "?" + c.urlParams_.Encode()
36302	req, err := http.NewRequest("DELETE", urls, body)
36303	if err != nil {
36304		return nil, err
36305	}
36306	req.Header = reqHeaders
36307	googleapi.Expand(req.URL, map[string]string{
36308		"partnerId":  strconv.FormatInt(c.partnerId, 10),
36309		"channelId":  strconv.FormatInt(c.channelId, 10),
36310		"urlOrAppId": c.urlOrAppId,
36311	})
36312	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36313}
36314
36315// Do executes the "displayvideo.partners.channels.sites.delete" call.
36316// Exactly one of *Empty or error will be non-nil. Any non-2xx status
36317// code is an error. Response headers are in either
36318// *Empty.ServerResponse.Header or (if a response was returned at all)
36319// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
36320// check whether the returned error was because http.StatusNotModified
36321// was returned.
36322func (c *PartnersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
36323	gensupport.SetOptions(c.urlParams_, opts...)
36324	res, err := c.doRequest("json")
36325	if res != nil && res.StatusCode == http.StatusNotModified {
36326		if res.Body != nil {
36327			res.Body.Close()
36328		}
36329		return nil, &googleapi.Error{
36330			Code:   res.StatusCode,
36331			Header: res.Header,
36332		}
36333	}
36334	if err != nil {
36335		return nil, err
36336	}
36337	defer googleapi.CloseBody(res)
36338	if err := googleapi.CheckResponse(res); err != nil {
36339		return nil, err
36340	}
36341	ret := &Empty{
36342		ServerResponse: googleapi.ServerResponse{
36343			Header:         res.Header,
36344			HTTPStatusCode: res.StatusCode,
36345		},
36346	}
36347	target := &ret
36348	if err := gensupport.DecodeResponse(target, res); err != nil {
36349		return nil, err
36350	}
36351	return ret, nil
36352	// {
36353	//   "description": "Deletes a site from a channel.",
36354	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites/{sitesId}",
36355	//   "httpMethod": "DELETE",
36356	//   "id": "displayvideo.partners.channels.sites.delete",
36357	//   "parameterOrder": [
36358	//     "partnerId",
36359	//     "channelId",
36360	//     "urlOrAppId"
36361	//   ],
36362	//   "parameters": {
36363	//     "advertiserId": {
36364	//       "description": "The ID of the advertiser that owns the parent channel.",
36365	//       "format": "int64",
36366	//       "location": "query",
36367	//       "type": "string"
36368	//     },
36369	//     "channelId": {
36370	//       "description": "Required. The ID of the parent channel to which the site belongs.",
36371	//       "format": "int64",
36372	//       "location": "path",
36373	//       "pattern": "^[^/]+$",
36374	//       "required": true,
36375	//       "type": "string"
36376	//     },
36377	//     "partnerId": {
36378	//       "description": "The ID of the partner that owns the parent channel.",
36379	//       "format": "int64",
36380	//       "location": "path",
36381	//       "required": true,
36382	//       "type": "string"
36383	//     },
36384	//     "urlOrAppId": {
36385	//       "description": "Required. The URL or app ID of the site to delete.",
36386	//       "location": "path",
36387	//       "pattern": "^[^/]+$",
36388	//       "required": true,
36389	//       "type": "string"
36390	//     }
36391	//   },
36392	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}",
36393	//   "response": {
36394	//     "$ref": "Empty"
36395	//   },
36396	//   "scopes": [
36397	//     "https://www.googleapis.com/auth/display-video"
36398	//   ]
36399	// }
36400
36401}
36402
36403// method id "displayvideo.partners.channels.sites.list":
36404
36405type PartnersChannelsSitesListCall struct {
36406	s            *Service
36407	partnerId    int64
36408	channelId    int64
36409	urlParams_   gensupport.URLParams
36410	ifNoneMatch_ string
36411	ctx_         context.Context
36412	header_      http.Header
36413}
36414
36415// List: Lists sites in a channel.
36416//
36417// - channelId: The ID of the parent channel to which the requested
36418//   sites belong.
36419// - partnerId: The ID of the partner that owns the parent channel.
36420func (r *PartnersChannelsSitesService) List(partnerId int64, channelId int64) *PartnersChannelsSitesListCall {
36421	c := &PartnersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36422	c.partnerId = partnerId
36423	c.channelId = channelId
36424	return c
36425}
36426
36427// AdvertiserId sets the optional parameter "advertiserId": The ID of
36428// the advertiser that owns the parent channel.
36429func (c *PartnersChannelsSitesListCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesListCall {
36430	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
36431	return c
36432}
36433
36434// Filter sets the optional parameter "filter": Allows filtering by site
36435// fields. Supported syntax: * Filter expressions for site currently can
36436// only contain at most one * restriction. * A restriction has the form
36437// of `{field} {operator} {value}`. * The operator must be `CONTAINS
36438// (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for
36439// which the URL or app ID contains "google": `urlOrAppId : "google"
36440func (c *PartnersChannelsSitesListCall) Filter(filter string) *PartnersChannelsSitesListCall {
36441	c.urlParams_.Set("filter", filter)
36442	return c
36443}
36444
36445// OrderBy sets the optional parameter "orderBy": Field by which to sort
36446// the list. Acceptable values are: * `urlOrAppId` (default) The default
36447// sorting order is ascending. To specify descending order for a field,
36448// a suffix " desc" should be added to the field name. Example:
36449// `urlOrAppId desc`.
36450func (c *PartnersChannelsSitesListCall) OrderBy(orderBy string) *PartnersChannelsSitesListCall {
36451	c.urlParams_.Set("orderBy", orderBy)
36452	return c
36453}
36454
36455// PageSize sets the optional parameter "pageSize": Requested page size.
36456// Must be between `1` and `10000`. If unspecified will default to
36457// `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is
36458// specified.
36459func (c *PartnersChannelsSitesListCall) PageSize(pageSize int64) *PartnersChannelsSitesListCall {
36460	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
36461	return c
36462}
36463
36464// PageToken sets the optional parameter "pageToken": A token
36465// identifying a page of results the server should return. Typically,
36466// this is the value of next_page_token returned from the previous call
36467// to `ListSites` method. If not specified, the first page of results
36468// will be returned.
36469func (c *PartnersChannelsSitesListCall) PageToken(pageToken string) *PartnersChannelsSitesListCall {
36470	c.urlParams_.Set("pageToken", pageToken)
36471	return c
36472}
36473
36474// Fields allows partial responses to be retrieved. See
36475// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36476// for more information.
36477func (c *PartnersChannelsSitesListCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesListCall {
36478	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36479	return c
36480}
36481
36482// IfNoneMatch sets the optional parameter which makes the operation
36483// fail if the object's ETag matches the given value. This is useful for
36484// getting updates only after the object has changed since the last
36485// request. Use googleapi.IsNotModified to check whether the response
36486// error from Do is the result of In-None-Match.
36487func (c *PartnersChannelsSitesListCall) IfNoneMatch(entityTag string) *PartnersChannelsSitesListCall {
36488	c.ifNoneMatch_ = entityTag
36489	return c
36490}
36491
36492// Context sets the context to be used in this call's Do method. Any
36493// pending HTTP request will be aborted if the provided context is
36494// canceled.
36495func (c *PartnersChannelsSitesListCall) Context(ctx context.Context) *PartnersChannelsSitesListCall {
36496	c.ctx_ = ctx
36497	return c
36498}
36499
36500// Header returns an http.Header that can be modified by the caller to
36501// add HTTP headers to the request.
36502func (c *PartnersChannelsSitesListCall) Header() http.Header {
36503	if c.header_ == nil {
36504		c.header_ = make(http.Header)
36505	}
36506	return c.header_
36507}
36508
36509func (c *PartnersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
36510	reqHeaders := make(http.Header)
36511	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36512	for k, v := range c.header_ {
36513		reqHeaders[k] = v
36514	}
36515	reqHeaders.Set("User-Agent", c.s.userAgent())
36516	if c.ifNoneMatch_ != "" {
36517		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36518	}
36519	var body io.Reader = nil
36520	c.urlParams_.Set("alt", alt)
36521	c.urlParams_.Set("prettyPrint", "false")
36522	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{+channelId}/sites")
36523	urls += "?" + c.urlParams_.Encode()
36524	req, err := http.NewRequest("GET", urls, body)
36525	if err != nil {
36526		return nil, err
36527	}
36528	req.Header = reqHeaders
36529	googleapi.Expand(req.URL, map[string]string{
36530		"partnerId": strconv.FormatInt(c.partnerId, 10),
36531		"channelId": strconv.FormatInt(c.channelId, 10),
36532	})
36533	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36534}
36535
36536// Do executes the "displayvideo.partners.channels.sites.list" call.
36537// Exactly one of *ListSitesResponse or error will be non-nil. Any
36538// non-2xx status code is an error. Response headers are in either
36539// *ListSitesResponse.ServerResponse.Header or (if a response was
36540// returned at all) in error.(*googleapi.Error).Header. Use
36541// googleapi.IsNotModified to check whether the returned error was
36542// because http.StatusNotModified was returned.
36543func (c *PartnersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
36544	gensupport.SetOptions(c.urlParams_, opts...)
36545	res, err := c.doRequest("json")
36546	if res != nil && res.StatusCode == http.StatusNotModified {
36547		if res.Body != nil {
36548			res.Body.Close()
36549		}
36550		return nil, &googleapi.Error{
36551			Code:   res.StatusCode,
36552			Header: res.Header,
36553		}
36554	}
36555	if err != nil {
36556		return nil, err
36557	}
36558	defer googleapi.CloseBody(res)
36559	if err := googleapi.CheckResponse(res); err != nil {
36560		return nil, err
36561	}
36562	ret := &ListSitesResponse{
36563		ServerResponse: googleapi.ServerResponse{
36564			Header:         res.Header,
36565			HTTPStatusCode: res.StatusCode,
36566		},
36567	}
36568	target := &ret
36569	if err := gensupport.DecodeResponse(target, res); err != nil {
36570		return nil, err
36571	}
36572	return ret, nil
36573	// {
36574	//   "description": "Lists sites in a channel.",
36575	//   "flatPath": "v1/partners/{partnersId}/channels/{channelsId}/sites",
36576	//   "httpMethod": "GET",
36577	//   "id": "displayvideo.partners.channels.sites.list",
36578	//   "parameterOrder": [
36579	//     "partnerId",
36580	//     "channelId"
36581	//   ],
36582	//   "parameters": {
36583	//     "advertiserId": {
36584	//       "description": "The ID of the advertiser that owns the parent channel.",
36585	//       "format": "int64",
36586	//       "location": "query",
36587	//       "type": "string"
36588	//     },
36589	//     "channelId": {
36590	//       "description": "Required. The ID of the parent channel to which the requested sites belong.",
36591	//       "format": "int64",
36592	//       "location": "path",
36593	//       "pattern": "^[^/]+$",
36594	//       "required": true,
36595	//       "type": "string"
36596	//     },
36597	//     "filter": {
36598	//       "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site currently can only contain at most one * restriction. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"`",
36599	//       "location": "query",
36600	//       "type": "string"
36601	//     },
36602	//     "orderBy": {
36603	//       "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.",
36604	//       "location": "query",
36605	//       "type": "string"
36606	//     },
36607	//     "pageSize": {
36608	//       "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
36609	//       "format": "int32",
36610	//       "location": "query",
36611	//       "type": "integer"
36612	//     },
36613	//     "pageToken": {
36614	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.",
36615	//       "location": "query",
36616	//       "type": "string"
36617	//     },
36618	//     "partnerId": {
36619	//       "description": "The ID of the partner that owns the parent channel.",
36620	//       "format": "int64",
36621	//       "location": "path",
36622	//       "pattern": "^[^/]+$",
36623	//       "required": true,
36624	//       "type": "string"
36625	//     }
36626	//   },
36627	//   "path": "v1/partners/{+partnerId}/channels/{+channelId}/sites",
36628	//   "response": {
36629	//     "$ref": "ListSitesResponse"
36630	//   },
36631	//   "scopes": [
36632	//     "https://www.googleapis.com/auth/display-video"
36633	//   ]
36634	// }
36635
36636}
36637
36638// Pages invokes f for each page of results.
36639// A non-nil error returned from f will halt the iteration.
36640// The provided context supersedes any context provided to the Context method.
36641func (c *PartnersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
36642	c.ctx_ = ctx
36643	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
36644	for {
36645		x, err := c.Do()
36646		if err != nil {
36647			return err
36648		}
36649		if err := f(x); err != nil {
36650			return err
36651		}
36652		if x.NextPageToken == "" {
36653			return nil
36654		}
36655		c.PageToken(x.NextPageToken)
36656	}
36657}
36658
36659// method id "displayvideo.partners.channels.sites.replace":
36660
36661type PartnersChannelsSitesReplaceCall struct {
36662	s                   *Service
36663	partnerId           int64
36664	channelId           int64
36665	replacesitesrequest *ReplaceSitesRequest
36666	urlParams_          gensupport.URLParams
36667	ctx_                context.Context
36668	header_             http.Header
36669}
36670
36671// Replace: Replaces all of the sites under a single channel. The
36672// operation will replace the sites under a channel with the sites
36673// provided in ReplaceSitesRequest.new_sites.
36674//
36675// - channelId: The ID of the parent channel whose sites will be
36676//   replaced.
36677// - partnerId: The ID of the partner that owns the parent channel.
36678func (r *PartnersChannelsSitesService) Replace(partnerId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *PartnersChannelsSitesReplaceCall {
36679	c := &PartnersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36680	c.partnerId = partnerId
36681	c.channelId = channelId
36682	c.replacesitesrequest = replacesitesrequest
36683	return c
36684}
36685
36686// Fields allows partial responses to be retrieved. See
36687// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36688// for more information.
36689func (c *PartnersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesReplaceCall {
36690	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36691	return c
36692}
36693
36694// Context sets the context to be used in this call's Do method. Any
36695// pending HTTP request will be aborted if the provided context is
36696// canceled.
36697func (c *PartnersChannelsSitesReplaceCall) Context(ctx context.Context) *PartnersChannelsSitesReplaceCall {
36698	c.ctx_ = ctx
36699	return c
36700}
36701
36702// Header returns an http.Header that can be modified by the caller to
36703// add HTTP headers to the request.
36704func (c *PartnersChannelsSitesReplaceCall) Header() http.Header {
36705	if c.header_ == nil {
36706		c.header_ = make(http.Header)
36707	}
36708	return c.header_
36709}
36710
36711func (c *PartnersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
36712	reqHeaders := make(http.Header)
36713	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36714	for k, v := range c.header_ {
36715		reqHeaders[k] = v
36716	}
36717	reqHeaders.Set("User-Agent", c.s.userAgent())
36718	var body io.Reader = nil
36719	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
36720	if err != nil {
36721		return nil, err
36722	}
36723	reqHeaders.Set("Content-Type", "application/json")
36724	c.urlParams_.Set("alt", alt)
36725	c.urlParams_.Set("prettyPrint", "false")
36726	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites:replace")
36727	urls += "?" + c.urlParams_.Encode()
36728	req, err := http.NewRequest("POST", urls, body)
36729	if err != nil {
36730		return nil, err
36731	}
36732	req.Header = reqHeaders
36733	googleapi.Expand(req.URL, map[string]string{
36734		"partnerId": strconv.FormatInt(c.partnerId, 10),
36735		"channelId": strconv.FormatInt(c.channelId, 10),
36736	})
36737	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36738}
36739
36740// Do executes the "displayvideo.partners.channels.sites.replace" call.
36741// Exactly one of *ReplaceSitesResponse or error will be non-nil. Any
36742// non-2xx status code is an error. Response headers are in either
36743// *ReplaceSitesResponse.ServerResponse.Header or (if a response was
36744// returned at all) in error.(*googleapi.Error).Header. Use
36745// googleapi.IsNotModified to check whether the returned error was
36746// because http.StatusNotModified was returned.
36747func (c *PartnersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) {
36748	gensupport.SetOptions(c.urlParams_, opts...)
36749	res, err := c.doRequest("json")
36750	if res != nil && res.StatusCode == http.StatusNotModified {
36751		if res.Body != nil {
36752			res.Body.Close()
36753		}
36754		return nil, &googleapi.Error{
36755			Code:   res.StatusCode,
36756			Header: res.Header,
36757		}
36758	}
36759	if err != nil {
36760		return nil, err
36761	}
36762	defer googleapi.CloseBody(res)
36763	if err := googleapi.CheckResponse(res); err != nil {
36764		return nil, err
36765	}
36766	ret := &ReplaceSitesResponse{
36767		ServerResponse: googleapi.ServerResponse{
36768			Header:         res.Header,
36769			HTTPStatusCode: res.StatusCode,
36770		},
36771	}
36772	target := &ret
36773	if err := gensupport.DecodeResponse(target, res); err != nil {
36774		return nil, err
36775	}
36776	return ret, nil
36777	// {
36778	//   "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites.",
36779	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites:replace",
36780	//   "httpMethod": "POST",
36781	//   "id": "displayvideo.partners.channels.sites.replace",
36782	//   "parameterOrder": [
36783	//     "partnerId",
36784	//     "channelId"
36785	//   ],
36786	//   "parameters": {
36787	//     "channelId": {
36788	//       "description": "Required. The ID of the parent channel whose sites will be replaced.",
36789	//       "format": "int64",
36790	//       "location": "path",
36791	//       "pattern": "^[^/]+$",
36792	//       "required": true,
36793	//       "type": "string"
36794	//     },
36795	//     "partnerId": {
36796	//       "description": "The ID of the partner that owns the parent channel.",
36797	//       "format": "int64",
36798	//       "location": "path",
36799	//       "required": true,
36800	//       "type": "string"
36801	//     }
36802	//   },
36803	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites:replace",
36804	//   "request": {
36805	//     "$ref": "ReplaceSitesRequest"
36806	//   },
36807	//   "response": {
36808	//     "$ref": "ReplaceSitesResponse"
36809	//   },
36810	//   "scopes": [
36811	//     "https://www.googleapis.com/auth/display-video"
36812	//   ]
36813	// }
36814
36815}
36816
36817// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.create":
36818
36819type PartnersTargetingTypesAssignedTargetingOptionsCreateCall struct {
36820	s                       *Service
36821	partnerId               int64
36822	targetingType           string
36823	assignedtargetingoption *AssignedTargetingOption
36824	urlParams_              gensupport.URLParams
36825	ctx_                    context.Context
36826	header_                 http.Header
36827}
36828
36829// Create: Assigns a targeting option to a partner. Returns the assigned
36830// targeting option if successful.
36831//
36832// - partnerId: The ID of the partner.
36833// - targetingType: Identifies the type of this assigned targeting
36834//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
36835func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Create(partnerId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
36836	c := &PartnersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36837	c.partnerId = partnerId
36838	c.targetingType = targetingType
36839	c.assignedtargetingoption = assignedtargetingoption
36840	return c
36841}
36842
36843// Fields allows partial responses to be retrieved. See
36844// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36845// for more information.
36846func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
36847	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36848	return c
36849}
36850
36851// Context sets the context to be used in this call's Do method. Any
36852// pending HTTP request will be aborted if the provided context is
36853// canceled.
36854func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
36855	c.ctx_ = ctx
36856	return c
36857}
36858
36859// Header returns an http.Header that can be modified by the caller to
36860// add HTTP headers to the request.
36861func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
36862	if c.header_ == nil {
36863		c.header_ = make(http.Header)
36864	}
36865	return c.header_
36866}
36867
36868func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
36869	reqHeaders := make(http.Header)
36870	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
36871	for k, v := range c.header_ {
36872		reqHeaders[k] = v
36873	}
36874	reqHeaders.Set("User-Agent", c.s.userAgent())
36875	var body io.Reader = nil
36876	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
36877	if err != nil {
36878		return nil, err
36879	}
36880	reqHeaders.Set("Content-Type", "application/json")
36881	c.urlParams_.Set("alt", alt)
36882	c.urlParams_.Set("prettyPrint", "false")
36883	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
36884	urls += "?" + c.urlParams_.Encode()
36885	req, err := http.NewRequest("POST", urls, body)
36886	if err != nil {
36887		return nil, err
36888	}
36889	req.Header = reqHeaders
36890	googleapi.Expand(req.URL, map[string]string{
36891		"partnerId":     strconv.FormatInt(c.partnerId, 10),
36892		"targetingType": c.targetingType,
36893	})
36894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36895}
36896
36897// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.create" call.
36898// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
36899// non-2xx status code is an error. Response headers are in either
36900// *AssignedTargetingOption.ServerResponse.Header or (if a response was
36901// returned at all) in error.(*googleapi.Error).Header. Use
36902// googleapi.IsNotModified to check whether the returned error was
36903// because http.StatusNotModified was returned.
36904func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
36905	gensupport.SetOptions(c.urlParams_, opts...)
36906	res, err := c.doRequest("json")
36907	if res != nil && res.StatusCode == http.StatusNotModified {
36908		if res.Body != nil {
36909			res.Body.Close()
36910		}
36911		return nil, &googleapi.Error{
36912			Code:   res.StatusCode,
36913			Header: res.Header,
36914		}
36915	}
36916	if err != nil {
36917		return nil, err
36918	}
36919	defer googleapi.CloseBody(res)
36920	if err := googleapi.CheckResponse(res); err != nil {
36921		return nil, err
36922	}
36923	ret := &AssignedTargetingOption{
36924		ServerResponse: googleapi.ServerResponse{
36925			Header:         res.Header,
36926			HTTPStatusCode: res.StatusCode,
36927		},
36928	}
36929	target := &ret
36930	if err := gensupport.DecodeResponse(target, res); err != nil {
36931		return nil, err
36932	}
36933	return ret, nil
36934	// {
36935	//   "description": "Assigns a targeting option to a partner. Returns the assigned targeting option if successful.",
36936	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
36937	//   "httpMethod": "POST",
36938	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.create",
36939	//   "parameterOrder": [
36940	//     "partnerId",
36941	//     "targetingType"
36942	//   ],
36943	//   "parameters": {
36944	//     "partnerId": {
36945	//       "description": "Required. The ID of the partner.",
36946	//       "format": "int64",
36947	//       "location": "path",
36948	//       "pattern": "^[^/]+$",
36949	//       "required": true,
36950	//       "type": "string"
36951	//     },
36952	//     "targetingType": {
36953	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
36954	//       "enum": [
36955	//         "TARGETING_TYPE_UNSPECIFIED",
36956	//         "TARGETING_TYPE_CHANNEL",
36957	//         "TARGETING_TYPE_APP_CATEGORY",
36958	//         "TARGETING_TYPE_APP",
36959	//         "TARGETING_TYPE_URL",
36960	//         "TARGETING_TYPE_DAY_AND_TIME",
36961	//         "TARGETING_TYPE_AGE_RANGE",
36962	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
36963	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
36964	//         "TARGETING_TYPE_GENDER",
36965	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
36966	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
36967	//         "TARGETING_TYPE_PARENTAL_STATUS",
36968	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
36969	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
36970	//         "TARGETING_TYPE_DEVICE_TYPE",
36971	//         "TARGETING_TYPE_AUDIENCE_GROUP",
36972	//         "TARGETING_TYPE_BROWSER",
36973	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
36974	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
36975	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
36976	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
36977	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
36978	//         "TARGETING_TYPE_ENVIRONMENT",
36979	//         "TARGETING_TYPE_CARRIER_AND_ISP",
36980	//         "TARGETING_TYPE_OPERATING_SYSTEM",
36981	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
36982	//         "TARGETING_TYPE_KEYWORD",
36983	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
36984	//         "TARGETING_TYPE_VIEWABILITY",
36985	//         "TARGETING_TYPE_CATEGORY",
36986	//         "TARGETING_TYPE_INVENTORY_SOURCE",
36987	//         "TARGETING_TYPE_LANGUAGE",
36988	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
36989	//         "TARGETING_TYPE_GEO_REGION",
36990	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
36991	//         "TARGETING_TYPE_EXCHANGE",
36992	//         "TARGETING_TYPE_SUB_EXCHANGE",
36993	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
36994	//       ],
36995	//       "enumDescriptions": [
36996	//         "Default value when type is not specified or is unknown in this version.",
36997	//         "Target a channel (a custom group of related websites or apps).",
36998	//         "Target an app category (for example, education or puzzle games).",
36999	//         "Target a specific app (for example, Angry Birds).",
37000	//         "Target a specific url (for example, quora.com).",
37001	//         "Target ads during a chosen time period on a specific day.",
37002	//         "Target ads to a specific age range (for example, 18-24).",
37003	//         "Target ads to the specified regions on a regional location list.",
37004	//         "Target ads to the specified points of interest on a proximity location list.",
37005	//         "Target ads to a specific gender (for example, female or male).",
37006	//         "Target a specific video player size for video ads.",
37007	//         "Target user rewarded content for video ads.",
37008	//         "Target ads to a specific parental status (for example, parent or not a parent).",
37009	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
37010	//         "Target ads in a specific content outstream position.",
37011	//         "Target ads to a specific device type (for example, tablet or connected TV).",
37012	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
37013	//         "Target ads to specific web browsers (for example, Chrome).",
37014	//         "Target ads to a specific household income range (for example, top 10%).",
37015	//         "Target ads in a specific on screen position.",
37016	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
37017	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
37018	//         "Filter website content by sensitive categories (for example, adult).",
37019	//         "Target ads to a specific environment (for example, web or app).",
37020	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
37021	//         "Target ads to a specific operating system (for example, macOS).",
37022	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
37023	//         "Target ads to a specific keyword (for example, dog or retriever).",
37024	//         "Target ads to a specific negative keyword list.",
37025	//         "Target ads to a specific viewability (for example, 80% viewable).",
37026	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
37027	//         "Purchase impressions from specific deals and auction packages.",
37028	//         "Target ads to a specific language (for example, English or Japanese).",
37029	//         "Target ads to ads.txt authorized sellers.",
37030	//         "Target ads to a specific regional location (for example, a city or state).",
37031	//         "Purchase impressions from a group of deals and auction packages.",
37032	//         "Purchase impressions from specific exchanges.",
37033	//         "Purchase impressions from specific sub-exchanges.",
37034	//         "Target ads to a specific native content position."
37035	//       ],
37036	//       "location": "path",
37037	//       "pattern": "^[^/]+$",
37038	//       "required": true,
37039	//       "type": "string"
37040	//     }
37041	//   },
37042	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
37043	//   "request": {
37044	//     "$ref": "AssignedTargetingOption"
37045	//   },
37046	//   "response": {
37047	//     "$ref": "AssignedTargetingOption"
37048	//   },
37049	//   "scopes": [
37050	//     "https://www.googleapis.com/auth/display-video"
37051	//   ]
37052	// }
37053
37054}
37055
37056// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete":
37057
37058type PartnersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
37059	s                         *Service
37060	partnerId                 int64
37061	targetingType             string
37062	assignedTargetingOptionId string
37063	urlParams_                gensupport.URLParams
37064	ctx_                      context.Context
37065	header_                   http.Header
37066}
37067
37068// Delete: Deletes an assigned targeting option from a partner.
37069//
37070// - assignedTargetingOptionId: The ID of the assigned targeting option
37071//   to delete.
37072// - partnerId: The ID of the partner.
37073// - targetingType: Identifies the type of this assigned targeting
37074//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
37075func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Delete(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
37076	c := &PartnersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37077	c.partnerId = partnerId
37078	c.targetingType = targetingType
37079	c.assignedTargetingOptionId = assignedTargetingOptionId
37080	return c
37081}
37082
37083// Fields allows partial responses to be retrieved. See
37084// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37085// for more information.
37086func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
37087	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37088	return c
37089}
37090
37091// Context sets the context to be used in this call's Do method. Any
37092// pending HTTP request will be aborted if the provided context is
37093// canceled.
37094func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
37095	c.ctx_ = ctx
37096	return c
37097}
37098
37099// Header returns an http.Header that can be modified by the caller to
37100// add HTTP headers to the request.
37101func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
37102	if c.header_ == nil {
37103		c.header_ = make(http.Header)
37104	}
37105	return c.header_
37106}
37107
37108func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
37109	reqHeaders := make(http.Header)
37110	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37111	for k, v := range c.header_ {
37112		reqHeaders[k] = v
37113	}
37114	reqHeaders.Set("User-Agent", c.s.userAgent())
37115	var body io.Reader = nil
37116	c.urlParams_.Set("alt", alt)
37117	c.urlParams_.Set("prettyPrint", "false")
37118	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
37119	urls += "?" + c.urlParams_.Encode()
37120	req, err := http.NewRequest("DELETE", urls, body)
37121	if err != nil {
37122		return nil, err
37123	}
37124	req.Header = reqHeaders
37125	googleapi.Expand(req.URL, map[string]string{
37126		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
37127		"targetingType":             c.targetingType,
37128		"assignedTargetingOptionId": c.assignedTargetingOptionId,
37129	})
37130	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37131}
37132
37133// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete" call.
37134// Exactly one of *Empty or error will be non-nil. Any non-2xx status
37135// code is an error. Response headers are in either
37136// *Empty.ServerResponse.Header or (if a response was returned at all)
37137// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37138// check whether the returned error was because http.StatusNotModified
37139// was returned.
37140func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
37141	gensupport.SetOptions(c.urlParams_, opts...)
37142	res, err := c.doRequest("json")
37143	if res != nil && res.StatusCode == http.StatusNotModified {
37144		if res.Body != nil {
37145			res.Body.Close()
37146		}
37147		return nil, &googleapi.Error{
37148			Code:   res.StatusCode,
37149			Header: res.Header,
37150		}
37151	}
37152	if err != nil {
37153		return nil, err
37154	}
37155	defer googleapi.CloseBody(res)
37156	if err := googleapi.CheckResponse(res); err != nil {
37157		return nil, err
37158	}
37159	ret := &Empty{
37160		ServerResponse: googleapi.ServerResponse{
37161			Header:         res.Header,
37162			HTTPStatusCode: res.StatusCode,
37163		},
37164	}
37165	target := &ret
37166	if err := gensupport.DecodeResponse(target, res); err != nil {
37167		return nil, err
37168	}
37169	return ret, nil
37170	// {
37171	//   "description": "Deletes an assigned targeting option from a partner.",
37172	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
37173	//   "httpMethod": "DELETE",
37174	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete",
37175	//   "parameterOrder": [
37176	//     "partnerId",
37177	//     "targetingType",
37178	//     "assignedTargetingOptionId"
37179	//   ],
37180	//   "parameters": {
37181	//     "assignedTargetingOptionId": {
37182	//       "description": "Required. The ID of the assigned targeting option to delete.",
37183	//       "location": "path",
37184	//       "pattern": "^[^/]+$",
37185	//       "required": true,
37186	//       "type": "string"
37187	//     },
37188	//     "partnerId": {
37189	//       "description": "Required. The ID of the partner.",
37190	//       "format": "int64",
37191	//       "location": "path",
37192	//       "pattern": "^[^/]+$",
37193	//       "required": true,
37194	//       "type": "string"
37195	//     },
37196	//     "targetingType": {
37197	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
37198	//       "enum": [
37199	//         "TARGETING_TYPE_UNSPECIFIED",
37200	//         "TARGETING_TYPE_CHANNEL",
37201	//         "TARGETING_TYPE_APP_CATEGORY",
37202	//         "TARGETING_TYPE_APP",
37203	//         "TARGETING_TYPE_URL",
37204	//         "TARGETING_TYPE_DAY_AND_TIME",
37205	//         "TARGETING_TYPE_AGE_RANGE",
37206	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
37207	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
37208	//         "TARGETING_TYPE_GENDER",
37209	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
37210	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
37211	//         "TARGETING_TYPE_PARENTAL_STATUS",
37212	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
37213	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
37214	//         "TARGETING_TYPE_DEVICE_TYPE",
37215	//         "TARGETING_TYPE_AUDIENCE_GROUP",
37216	//         "TARGETING_TYPE_BROWSER",
37217	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
37218	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
37219	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
37220	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
37221	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
37222	//         "TARGETING_TYPE_ENVIRONMENT",
37223	//         "TARGETING_TYPE_CARRIER_AND_ISP",
37224	//         "TARGETING_TYPE_OPERATING_SYSTEM",
37225	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
37226	//         "TARGETING_TYPE_KEYWORD",
37227	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
37228	//         "TARGETING_TYPE_VIEWABILITY",
37229	//         "TARGETING_TYPE_CATEGORY",
37230	//         "TARGETING_TYPE_INVENTORY_SOURCE",
37231	//         "TARGETING_TYPE_LANGUAGE",
37232	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
37233	//         "TARGETING_TYPE_GEO_REGION",
37234	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
37235	//         "TARGETING_TYPE_EXCHANGE",
37236	//         "TARGETING_TYPE_SUB_EXCHANGE",
37237	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
37238	//       ],
37239	//       "enumDescriptions": [
37240	//         "Default value when type is not specified or is unknown in this version.",
37241	//         "Target a channel (a custom group of related websites or apps).",
37242	//         "Target an app category (for example, education or puzzle games).",
37243	//         "Target a specific app (for example, Angry Birds).",
37244	//         "Target a specific url (for example, quora.com).",
37245	//         "Target ads during a chosen time period on a specific day.",
37246	//         "Target ads to a specific age range (for example, 18-24).",
37247	//         "Target ads to the specified regions on a regional location list.",
37248	//         "Target ads to the specified points of interest on a proximity location list.",
37249	//         "Target ads to a specific gender (for example, female or male).",
37250	//         "Target a specific video player size for video ads.",
37251	//         "Target user rewarded content for video ads.",
37252	//         "Target ads to a specific parental status (for example, parent or not a parent).",
37253	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
37254	//         "Target ads in a specific content outstream position.",
37255	//         "Target ads to a specific device type (for example, tablet or connected TV).",
37256	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
37257	//         "Target ads to specific web browsers (for example, Chrome).",
37258	//         "Target ads to a specific household income range (for example, top 10%).",
37259	//         "Target ads in a specific on screen position.",
37260	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
37261	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
37262	//         "Filter website content by sensitive categories (for example, adult).",
37263	//         "Target ads to a specific environment (for example, web or app).",
37264	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
37265	//         "Target ads to a specific operating system (for example, macOS).",
37266	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
37267	//         "Target ads to a specific keyword (for example, dog or retriever).",
37268	//         "Target ads to a specific negative keyword list.",
37269	//         "Target ads to a specific viewability (for example, 80% viewable).",
37270	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
37271	//         "Purchase impressions from specific deals and auction packages.",
37272	//         "Target ads to a specific language (for example, English or Japanese).",
37273	//         "Target ads to ads.txt authorized sellers.",
37274	//         "Target ads to a specific regional location (for example, a city or state).",
37275	//         "Purchase impressions from a group of deals and auction packages.",
37276	//         "Purchase impressions from specific exchanges.",
37277	//         "Purchase impressions from specific sub-exchanges.",
37278	//         "Target ads to a specific native content position."
37279	//       ],
37280	//       "location": "path",
37281	//       "pattern": "^[^/]+$",
37282	//       "required": true,
37283	//       "type": "string"
37284	//     }
37285	//   },
37286	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
37287	//   "response": {
37288	//     "$ref": "Empty"
37289	//   },
37290	//   "scopes": [
37291	//     "https://www.googleapis.com/auth/display-video"
37292	//   ]
37293	// }
37294
37295}
37296
37297// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.get":
37298
37299type PartnersTargetingTypesAssignedTargetingOptionsGetCall struct {
37300	s                         *Service
37301	partnerId                 int64
37302	targetingType             string
37303	assignedTargetingOptionId string
37304	urlParams_                gensupport.URLParams
37305	ifNoneMatch_              string
37306	ctx_                      context.Context
37307	header_                   http.Header
37308}
37309
37310// Get: Gets a single targeting option assigned to a partner.
37311//
37312// - assignedTargetingOptionId: An identifier unique to the targeting
37313//   type in this partner that identifies the assigned targeting option
37314//   being requested.
37315// - partnerId: The ID of the partner.
37316// - targetingType: Identifies the type of this assigned targeting
37317//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
37318func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Get(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37319	c := &PartnersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37320	c.partnerId = partnerId
37321	c.targetingType = targetingType
37322	c.assignedTargetingOptionId = assignedTargetingOptionId
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 *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37331	return c
37332}
37333
37334// IfNoneMatch sets the optional parameter which makes the operation
37335// fail if the object's ETag matches the given value. This is useful for
37336// getting updates only after the object has changed since the last
37337// request. Use googleapi.IsNotModified to check whether the response
37338// error from Do is the result of In-None-Match.
37339func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37340	c.ifNoneMatch_ = entityTag
37341	return c
37342}
37343
37344// Context sets the context to be used in this call's Do method. Any
37345// pending HTTP request will be aborted if the provided context is
37346// canceled.
37347func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37348	c.ctx_ = ctx
37349	return c
37350}
37351
37352// Header returns an http.Header that can be modified by the caller to
37353// add HTTP headers to the request.
37354func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
37355	if c.header_ == nil {
37356		c.header_ = make(http.Header)
37357	}
37358	return c.header_
37359}
37360
37361func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
37362	reqHeaders := make(http.Header)
37363	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37364	for k, v := range c.header_ {
37365		reqHeaders[k] = v
37366	}
37367	reqHeaders.Set("User-Agent", c.s.userAgent())
37368	if c.ifNoneMatch_ != "" {
37369		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37370	}
37371	var body io.Reader = nil
37372	c.urlParams_.Set("alt", alt)
37373	c.urlParams_.Set("prettyPrint", "false")
37374	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
37375	urls += "?" + c.urlParams_.Encode()
37376	req, err := http.NewRequest("GET", urls, body)
37377	if err != nil {
37378		return nil, err
37379	}
37380	req.Header = reqHeaders
37381	googleapi.Expand(req.URL, map[string]string{
37382		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
37383		"targetingType":             c.targetingType,
37384		"assignedTargetingOptionId": c.assignedTargetingOptionId,
37385	})
37386	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37387}
37388
37389// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.get" call.
37390// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
37391// non-2xx status code is an error. Response headers are in either
37392// *AssignedTargetingOption.ServerResponse.Header or (if a response was
37393// returned at all) in error.(*googleapi.Error).Header. Use
37394// googleapi.IsNotModified to check whether the returned error was
37395// because http.StatusNotModified was returned.
37396func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
37397	gensupport.SetOptions(c.urlParams_, opts...)
37398	res, err := c.doRequest("json")
37399	if res != nil && res.StatusCode == http.StatusNotModified {
37400		if res.Body != nil {
37401			res.Body.Close()
37402		}
37403		return nil, &googleapi.Error{
37404			Code:   res.StatusCode,
37405			Header: res.Header,
37406		}
37407	}
37408	if err != nil {
37409		return nil, err
37410	}
37411	defer googleapi.CloseBody(res)
37412	if err := googleapi.CheckResponse(res); err != nil {
37413		return nil, err
37414	}
37415	ret := &AssignedTargetingOption{
37416		ServerResponse: googleapi.ServerResponse{
37417			Header:         res.Header,
37418			HTTPStatusCode: res.StatusCode,
37419		},
37420	}
37421	target := &ret
37422	if err := gensupport.DecodeResponse(target, res); err != nil {
37423		return nil, err
37424	}
37425	return ret, nil
37426	// {
37427	//   "description": "Gets a single targeting option assigned to a partner.",
37428	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
37429	//   "httpMethod": "GET",
37430	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.get",
37431	//   "parameterOrder": [
37432	//     "partnerId",
37433	//     "targetingType",
37434	//     "assignedTargetingOptionId"
37435	//   ],
37436	//   "parameters": {
37437	//     "assignedTargetingOptionId": {
37438	//       "description": "Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested.",
37439	//       "location": "path",
37440	//       "pattern": "^[^/]+$",
37441	//       "required": true,
37442	//       "type": "string"
37443	//     },
37444	//     "partnerId": {
37445	//       "description": "Required. The ID of the partner.",
37446	//       "format": "int64",
37447	//       "location": "path",
37448	//       "pattern": "^[^/]+$",
37449	//       "required": true,
37450	//       "type": "string"
37451	//     },
37452	//     "targetingType": {
37453	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
37454	//       "enum": [
37455	//         "TARGETING_TYPE_UNSPECIFIED",
37456	//         "TARGETING_TYPE_CHANNEL",
37457	//         "TARGETING_TYPE_APP_CATEGORY",
37458	//         "TARGETING_TYPE_APP",
37459	//         "TARGETING_TYPE_URL",
37460	//         "TARGETING_TYPE_DAY_AND_TIME",
37461	//         "TARGETING_TYPE_AGE_RANGE",
37462	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
37463	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
37464	//         "TARGETING_TYPE_GENDER",
37465	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
37466	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
37467	//         "TARGETING_TYPE_PARENTAL_STATUS",
37468	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
37469	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
37470	//         "TARGETING_TYPE_DEVICE_TYPE",
37471	//         "TARGETING_TYPE_AUDIENCE_GROUP",
37472	//         "TARGETING_TYPE_BROWSER",
37473	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
37474	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
37475	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
37476	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
37477	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
37478	//         "TARGETING_TYPE_ENVIRONMENT",
37479	//         "TARGETING_TYPE_CARRIER_AND_ISP",
37480	//         "TARGETING_TYPE_OPERATING_SYSTEM",
37481	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
37482	//         "TARGETING_TYPE_KEYWORD",
37483	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
37484	//         "TARGETING_TYPE_VIEWABILITY",
37485	//         "TARGETING_TYPE_CATEGORY",
37486	//         "TARGETING_TYPE_INVENTORY_SOURCE",
37487	//         "TARGETING_TYPE_LANGUAGE",
37488	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
37489	//         "TARGETING_TYPE_GEO_REGION",
37490	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
37491	//         "TARGETING_TYPE_EXCHANGE",
37492	//         "TARGETING_TYPE_SUB_EXCHANGE",
37493	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
37494	//       ],
37495	//       "enumDescriptions": [
37496	//         "Default value when type is not specified or is unknown in this version.",
37497	//         "Target a channel (a custom group of related websites or apps).",
37498	//         "Target an app category (for example, education or puzzle games).",
37499	//         "Target a specific app (for example, Angry Birds).",
37500	//         "Target a specific url (for example, quora.com).",
37501	//         "Target ads during a chosen time period on a specific day.",
37502	//         "Target ads to a specific age range (for example, 18-24).",
37503	//         "Target ads to the specified regions on a regional location list.",
37504	//         "Target ads to the specified points of interest on a proximity location list.",
37505	//         "Target ads to a specific gender (for example, female or male).",
37506	//         "Target a specific video player size for video ads.",
37507	//         "Target user rewarded content for video ads.",
37508	//         "Target ads to a specific parental status (for example, parent or not a parent).",
37509	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
37510	//         "Target ads in a specific content outstream position.",
37511	//         "Target ads to a specific device type (for example, tablet or connected TV).",
37512	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
37513	//         "Target ads to specific web browsers (for example, Chrome).",
37514	//         "Target ads to a specific household income range (for example, top 10%).",
37515	//         "Target ads in a specific on screen position.",
37516	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
37517	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
37518	//         "Filter website content by sensitive categories (for example, adult).",
37519	//         "Target ads to a specific environment (for example, web or app).",
37520	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
37521	//         "Target ads to a specific operating system (for example, macOS).",
37522	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
37523	//         "Target ads to a specific keyword (for example, dog or retriever).",
37524	//         "Target ads to a specific negative keyword list.",
37525	//         "Target ads to a specific viewability (for example, 80% viewable).",
37526	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
37527	//         "Purchase impressions from specific deals and auction packages.",
37528	//         "Target ads to a specific language (for example, English or Japanese).",
37529	//         "Target ads to ads.txt authorized sellers.",
37530	//         "Target ads to a specific regional location (for example, a city or state).",
37531	//         "Purchase impressions from a group of deals and auction packages.",
37532	//         "Purchase impressions from specific exchanges.",
37533	//         "Purchase impressions from specific sub-exchanges.",
37534	//         "Target ads to a specific native content position."
37535	//       ],
37536	//       "location": "path",
37537	//       "pattern": "^[^/]+$",
37538	//       "required": true,
37539	//       "type": "string"
37540	//     }
37541	//   },
37542	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
37543	//   "response": {
37544	//     "$ref": "AssignedTargetingOption"
37545	//   },
37546	//   "scopes": [
37547	//     "https://www.googleapis.com/auth/display-video"
37548	//   ]
37549	// }
37550
37551}
37552
37553// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.list":
37554
37555type PartnersTargetingTypesAssignedTargetingOptionsListCall struct {
37556	s             *Service
37557	partnerId     int64
37558	targetingType string
37559	urlParams_    gensupport.URLParams
37560	ifNoneMatch_  string
37561	ctx_          context.Context
37562	header_       http.Header
37563}
37564
37565// List: Lists the targeting options assigned to a partner.
37566//
37567// - partnerId: The ID of the partner.
37568// - targetingType: Identifies the type of assigned targeting options to
37569//   list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
37570func (r *PartnersTargetingTypesAssignedTargetingOptionsService) List(partnerId int64, targetingType string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37571	c := &PartnersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37572	c.partnerId = partnerId
37573	c.targetingType = targetingType
37574	return c
37575}
37576
37577// Filter sets the optional parameter "filter": Allows filtering by
37578// assigned targeting option properties. Supported syntax: * Filter
37579// expressions are made up of one or more restrictions. * Restrictions
37580// can be combined by the logical operator `OR`. * A restriction has the
37581// form of `{field} {operator} {value}`. * The operator must be `EQUALS
37582// (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: *
37583// AssignedTargetingOption with ID 123456
37584// `assignedTargetingOptionId="123456" The length of this field should
37585// be no more than 500 characters.
37586func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37587	c.urlParams_.Set("filter", filter)
37588	return c
37589}
37590
37591// OrderBy sets the optional parameter "orderBy": Field by which to sort
37592// the list. Acceptable values are: * `assignedTargetingOptionId`
37593// (default) The default sorting order is ascending. To specify
37594// descending order for a field, a suffix "desc" should be added to the
37595// field name. Example: `assignedTargetingOptionId desc`.
37596func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37597	c.urlParams_.Set("orderBy", orderBy)
37598	return c
37599}
37600
37601// PageSize sets the optional parameter "pageSize": Requested page size.
37602// Must be between `1` and `100`. If unspecified will default to `100`.
37603// Returns error code `INVALID_ARGUMENT` if an invalid value is
37604// specified.
37605func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37606	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
37607	return c
37608}
37609
37610// PageToken sets the optional parameter "pageToken": A token
37611// identifying a page of results the server should return. Typically,
37612// this is the value of next_page_token returned from the previous call
37613// to `ListPartnerAssignedTargetingOptions` method. If not specified,
37614// the first page of results will be returned.
37615func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37616	c.urlParams_.Set("pageToken", pageToken)
37617	return c
37618}
37619
37620// Fields allows partial responses to be retrieved. See
37621// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37622// for more information.
37623func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37624	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37625	return c
37626}
37627
37628// IfNoneMatch sets the optional parameter which makes the operation
37629// fail if the object's ETag matches the given value. This is useful for
37630// getting updates only after the object has changed since the last
37631// request. Use googleapi.IsNotModified to check whether the response
37632// error from Do is the result of In-None-Match.
37633func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37634	c.ifNoneMatch_ = entityTag
37635	return c
37636}
37637
37638// Context sets the context to be used in this call's Do method. Any
37639// pending HTTP request will be aborted if the provided context is
37640// canceled.
37641func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
37642	c.ctx_ = ctx
37643	return c
37644}
37645
37646// Header returns an http.Header that can be modified by the caller to
37647// add HTTP headers to the request.
37648func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
37649	if c.header_ == nil {
37650		c.header_ = make(http.Header)
37651	}
37652	return c.header_
37653}
37654
37655func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
37656	reqHeaders := make(http.Header)
37657	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37658	for k, v := range c.header_ {
37659		reqHeaders[k] = v
37660	}
37661	reqHeaders.Set("User-Agent", c.s.userAgent())
37662	if c.ifNoneMatch_ != "" {
37663		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37664	}
37665	var body io.Reader = nil
37666	c.urlParams_.Set("alt", alt)
37667	c.urlParams_.Set("prettyPrint", "false")
37668	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
37669	urls += "?" + c.urlParams_.Encode()
37670	req, err := http.NewRequest("GET", urls, body)
37671	if err != nil {
37672		return nil, err
37673	}
37674	req.Header = reqHeaders
37675	googleapi.Expand(req.URL, map[string]string{
37676		"partnerId":     strconv.FormatInt(c.partnerId, 10),
37677		"targetingType": c.targetingType,
37678	})
37679	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37680}
37681
37682// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.list" call.
37683// Exactly one of *ListPartnerAssignedTargetingOptionsResponse or error
37684// will be non-nil. Any non-2xx status code is an error. Response
37685// headers are in either
37686// *ListPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or
37687// (if a response was returned at all) in
37688// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
37689// whether the returned error was because http.StatusNotModified was
37690// returned.
37691func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListPartnerAssignedTargetingOptionsResponse, error) {
37692	gensupport.SetOptions(c.urlParams_, opts...)
37693	res, err := c.doRequest("json")
37694	if res != nil && res.StatusCode == http.StatusNotModified {
37695		if res.Body != nil {
37696			res.Body.Close()
37697		}
37698		return nil, &googleapi.Error{
37699			Code:   res.StatusCode,
37700			Header: res.Header,
37701		}
37702	}
37703	if err != nil {
37704		return nil, err
37705	}
37706	defer googleapi.CloseBody(res)
37707	if err := googleapi.CheckResponse(res); err != nil {
37708		return nil, err
37709	}
37710	ret := &ListPartnerAssignedTargetingOptionsResponse{
37711		ServerResponse: googleapi.ServerResponse{
37712			Header:         res.Header,
37713			HTTPStatusCode: res.StatusCode,
37714		},
37715	}
37716	target := &ret
37717	if err := gensupport.DecodeResponse(target, res); err != nil {
37718		return nil, err
37719	}
37720	return ret, nil
37721	// {
37722	//   "description": "Lists the targeting options assigned to a partner.",
37723	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
37724	//   "httpMethod": "GET",
37725	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.list",
37726	//   "parameterOrder": [
37727	//     "partnerId",
37728	//     "targetingType"
37729	//   ],
37730	//   "parameters": {
37731	//     "filter": {
37732	//       "description": "Allows filtering by assigned targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: * AssignedTargetingOption with ID 123456 `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters.",
37733	//       "location": "query",
37734	//       "type": "string"
37735	//     },
37736	//     "orderBy": {
37737	//       "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.",
37738	//       "location": "query",
37739	//       "type": "string"
37740	//     },
37741	//     "pageSize": {
37742	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
37743	//       "format": "int32",
37744	//       "location": "query",
37745	//       "type": "integer"
37746	//     },
37747	//     "pageToken": {
37748	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListPartnerAssignedTargetingOptions` method. If not specified, the first page of results will be returned.",
37749	//       "location": "query",
37750	//       "type": "string"
37751	//     },
37752	//     "partnerId": {
37753	//       "description": "Required. The ID of the partner.",
37754	//       "format": "int64",
37755	//       "location": "path",
37756	//       "pattern": "^[^/]+$",
37757	//       "required": true,
37758	//       "type": "string"
37759	//     },
37760	//     "targetingType": {
37761	//       "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
37762	//       "enum": [
37763	//         "TARGETING_TYPE_UNSPECIFIED",
37764	//         "TARGETING_TYPE_CHANNEL",
37765	//         "TARGETING_TYPE_APP_CATEGORY",
37766	//         "TARGETING_TYPE_APP",
37767	//         "TARGETING_TYPE_URL",
37768	//         "TARGETING_TYPE_DAY_AND_TIME",
37769	//         "TARGETING_TYPE_AGE_RANGE",
37770	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
37771	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
37772	//         "TARGETING_TYPE_GENDER",
37773	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
37774	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
37775	//         "TARGETING_TYPE_PARENTAL_STATUS",
37776	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
37777	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
37778	//         "TARGETING_TYPE_DEVICE_TYPE",
37779	//         "TARGETING_TYPE_AUDIENCE_GROUP",
37780	//         "TARGETING_TYPE_BROWSER",
37781	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
37782	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
37783	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
37784	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
37785	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
37786	//         "TARGETING_TYPE_ENVIRONMENT",
37787	//         "TARGETING_TYPE_CARRIER_AND_ISP",
37788	//         "TARGETING_TYPE_OPERATING_SYSTEM",
37789	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
37790	//         "TARGETING_TYPE_KEYWORD",
37791	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
37792	//         "TARGETING_TYPE_VIEWABILITY",
37793	//         "TARGETING_TYPE_CATEGORY",
37794	//         "TARGETING_TYPE_INVENTORY_SOURCE",
37795	//         "TARGETING_TYPE_LANGUAGE",
37796	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
37797	//         "TARGETING_TYPE_GEO_REGION",
37798	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
37799	//         "TARGETING_TYPE_EXCHANGE",
37800	//         "TARGETING_TYPE_SUB_EXCHANGE",
37801	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
37802	//       ],
37803	//       "enumDescriptions": [
37804	//         "Default value when type is not specified or is unknown in this version.",
37805	//         "Target a channel (a custom group of related websites or apps).",
37806	//         "Target an app category (for example, education or puzzle games).",
37807	//         "Target a specific app (for example, Angry Birds).",
37808	//         "Target a specific url (for example, quora.com).",
37809	//         "Target ads during a chosen time period on a specific day.",
37810	//         "Target ads to a specific age range (for example, 18-24).",
37811	//         "Target ads to the specified regions on a regional location list.",
37812	//         "Target ads to the specified points of interest on a proximity location list.",
37813	//         "Target ads to a specific gender (for example, female or male).",
37814	//         "Target a specific video player size for video ads.",
37815	//         "Target user rewarded content for video ads.",
37816	//         "Target ads to a specific parental status (for example, parent or not a parent).",
37817	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
37818	//         "Target ads in a specific content outstream position.",
37819	//         "Target ads to a specific device type (for example, tablet or connected TV).",
37820	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
37821	//         "Target ads to specific web browsers (for example, Chrome).",
37822	//         "Target ads to a specific household income range (for example, top 10%).",
37823	//         "Target ads in a specific on screen position.",
37824	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
37825	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
37826	//         "Filter website content by sensitive categories (for example, adult).",
37827	//         "Target ads to a specific environment (for example, web or app).",
37828	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
37829	//         "Target ads to a specific operating system (for example, macOS).",
37830	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
37831	//         "Target ads to a specific keyword (for example, dog or retriever).",
37832	//         "Target ads to a specific negative keyword list.",
37833	//         "Target ads to a specific viewability (for example, 80% viewable).",
37834	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
37835	//         "Purchase impressions from specific deals and auction packages.",
37836	//         "Target ads to a specific language (for example, English or Japanese).",
37837	//         "Target ads to ads.txt authorized sellers.",
37838	//         "Target ads to a specific regional location (for example, a city or state).",
37839	//         "Purchase impressions from a group of deals and auction packages.",
37840	//         "Purchase impressions from specific exchanges.",
37841	//         "Purchase impressions from specific sub-exchanges.",
37842	//         "Target ads to a specific native content position."
37843	//       ],
37844	//       "location": "path",
37845	//       "pattern": "^[^/]+$",
37846	//       "required": true,
37847	//       "type": "string"
37848	//     }
37849	//   },
37850	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
37851	//   "response": {
37852	//     "$ref": "ListPartnerAssignedTargetingOptionsResponse"
37853	//   },
37854	//   "scopes": [
37855	//     "https://www.googleapis.com/auth/display-video"
37856	//   ]
37857	// }
37858
37859}
37860
37861// Pages invokes f for each page of results.
37862// A non-nil error returned from f will halt the iteration.
37863// The provided context supersedes any context provided to the Context method.
37864func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListPartnerAssignedTargetingOptionsResponse) error) error {
37865	c.ctx_ = ctx
37866	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37867	for {
37868		x, err := c.Do()
37869		if err != nil {
37870			return err
37871		}
37872		if err := f(x); err != nil {
37873			return err
37874		}
37875		if x.NextPageToken == "" {
37876			return nil
37877		}
37878		c.PageToken(x.NextPageToken)
37879	}
37880}
37881
37882// method id "displayvideo.sdfdownloadtasks.create":
37883
37884type SdfdownloadtasksCreateCall struct {
37885	s                            *Service
37886	createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest
37887	urlParams_                   gensupport.URLParams
37888	ctx_                         context.Context
37889	header_                      http.Header
37890}
37891
37892// Create: Creates an SDF Download Task. Returns an Operation. An SDF
37893// Download Task is a long-running, asynchronous operation. The metadata
37894// type of this operation is SdfDownloadTaskMetadata. If the request is
37895// successful, the response type of the operation is SdfDownloadTask.
37896// The response will not include the download files, which must be
37897// retrieved with media.download. The state of operation can be
37898// retrieved with sdfdownloadtask.operations.get. Any errors can be
37899// found in the error.message. Note that error.details is expected to be
37900// empty.
37901func (r *SdfdownloadtasksService) Create(createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest) *SdfdownloadtasksCreateCall {
37902	c := &SdfdownloadtasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37903	c.createsdfdownloadtaskrequest = createsdfdownloadtaskrequest
37904	return c
37905}
37906
37907// Fields allows partial responses to be retrieved. See
37908// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37909// for more information.
37910func (c *SdfdownloadtasksCreateCall) Fields(s ...googleapi.Field) *SdfdownloadtasksCreateCall {
37911	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37912	return c
37913}
37914
37915// Context sets the context to be used in this call's Do method. Any
37916// pending HTTP request will be aborted if the provided context is
37917// canceled.
37918func (c *SdfdownloadtasksCreateCall) Context(ctx context.Context) *SdfdownloadtasksCreateCall {
37919	c.ctx_ = ctx
37920	return c
37921}
37922
37923// Header returns an http.Header that can be modified by the caller to
37924// add HTTP headers to the request.
37925func (c *SdfdownloadtasksCreateCall) Header() http.Header {
37926	if c.header_ == nil {
37927		c.header_ = make(http.Header)
37928	}
37929	return c.header_
37930}
37931
37932func (c *SdfdownloadtasksCreateCall) doRequest(alt string) (*http.Response, error) {
37933	reqHeaders := make(http.Header)
37934	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
37935	for k, v := range c.header_ {
37936		reqHeaders[k] = v
37937	}
37938	reqHeaders.Set("User-Agent", c.s.userAgent())
37939	var body io.Reader = nil
37940	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createsdfdownloadtaskrequest)
37941	if err != nil {
37942		return nil, err
37943	}
37944	reqHeaders.Set("Content-Type", "application/json")
37945	c.urlParams_.Set("alt", alt)
37946	c.urlParams_.Set("prettyPrint", "false")
37947	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/sdfdownloadtasks")
37948	urls += "?" + c.urlParams_.Encode()
37949	req, err := http.NewRequest("POST", urls, body)
37950	if err != nil {
37951		return nil, err
37952	}
37953	req.Header = reqHeaders
37954	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37955}
37956
37957// Do executes the "displayvideo.sdfdownloadtasks.create" call.
37958// Exactly one of *Operation or error will be non-nil. Any non-2xx
37959// status code is an error. Response headers are in either
37960// *Operation.ServerResponse.Header or (if a response was returned at
37961// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
37962// to check whether the returned error was because
37963// http.StatusNotModified was returned.
37964func (c *SdfdownloadtasksCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
37965	gensupport.SetOptions(c.urlParams_, opts...)
37966	res, err := c.doRequest("json")
37967	if res != nil && res.StatusCode == http.StatusNotModified {
37968		if res.Body != nil {
37969			res.Body.Close()
37970		}
37971		return nil, &googleapi.Error{
37972			Code:   res.StatusCode,
37973			Header: res.Header,
37974		}
37975	}
37976	if err != nil {
37977		return nil, err
37978	}
37979	defer googleapi.CloseBody(res)
37980	if err := googleapi.CheckResponse(res); err != nil {
37981		return nil, err
37982	}
37983	ret := &Operation{
37984		ServerResponse: googleapi.ServerResponse{
37985			Header:         res.Header,
37986			HTTPStatusCode: res.StatusCode,
37987		},
37988	}
37989	target := &ret
37990	if err := gensupport.DecodeResponse(target, res); err != nil {
37991		return nil, err
37992	}
37993	return ret, nil
37994	// {
37995	//   "description": "Creates an SDF Download Task. Returns an Operation. An SDF Download Task is a long-running, asynchronous operation. The metadata type of this operation is SdfDownloadTaskMetadata. If the request is successful, the response type of the operation is SdfDownloadTask. The response will not include the download files, which must be retrieved with media.download. The state of operation can be retrieved with sdfdownloadtask.operations.get. Any errors can be found in the error.message. Note that error.details is expected to be empty.",
37996	//   "flatPath": "v1/sdfdownloadtasks",
37997	//   "httpMethod": "POST",
37998	//   "id": "displayvideo.sdfdownloadtasks.create",
37999	//   "parameterOrder": [],
38000	//   "parameters": {},
38001	//   "path": "v1/sdfdownloadtasks",
38002	//   "request": {
38003	//     "$ref": "CreateSdfDownloadTaskRequest"
38004	//   },
38005	//   "response": {
38006	//     "$ref": "Operation"
38007	//   },
38008	//   "scopes": [
38009	//     "https://www.googleapis.com/auth/display-video"
38010	//   ]
38011	// }
38012
38013}
38014
38015// method id "displayvideo.sdfdownloadtasks.operations.get":
38016
38017type SdfdownloadtasksOperationsGetCall struct {
38018	s            *Service
38019	name         string
38020	urlParams_   gensupport.URLParams
38021	ifNoneMatch_ string
38022	ctx_         context.Context
38023	header_      http.Header
38024}
38025
38026// Get: Gets the latest state of an asynchronous SDF download task
38027// operation. Clients should poll this method at intervals of 30
38028// seconds.
38029//
38030// - name: The name of the operation resource.
38031func (r *SdfdownloadtasksOperationsService) Get(name string) *SdfdownloadtasksOperationsGetCall {
38032	c := &SdfdownloadtasksOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38033	c.name = name
38034	return c
38035}
38036
38037// Fields allows partial responses to be retrieved. See
38038// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38039// for more information.
38040func (c *SdfdownloadtasksOperationsGetCall) Fields(s ...googleapi.Field) *SdfdownloadtasksOperationsGetCall {
38041	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38042	return c
38043}
38044
38045// IfNoneMatch sets the optional parameter which makes the operation
38046// fail if the object's ETag matches the given value. This is useful for
38047// getting updates only after the object has changed since the last
38048// request. Use googleapi.IsNotModified to check whether the response
38049// error from Do is the result of In-None-Match.
38050func (c *SdfdownloadtasksOperationsGetCall) IfNoneMatch(entityTag string) *SdfdownloadtasksOperationsGetCall {
38051	c.ifNoneMatch_ = entityTag
38052	return c
38053}
38054
38055// Context sets the context to be used in this call's Do method. Any
38056// pending HTTP request will be aborted if the provided context is
38057// canceled.
38058func (c *SdfdownloadtasksOperationsGetCall) Context(ctx context.Context) *SdfdownloadtasksOperationsGetCall {
38059	c.ctx_ = ctx
38060	return c
38061}
38062
38063// Header returns an http.Header that can be modified by the caller to
38064// add HTTP headers to the request.
38065func (c *SdfdownloadtasksOperationsGetCall) Header() http.Header {
38066	if c.header_ == nil {
38067		c.header_ = make(http.Header)
38068	}
38069	return c.header_
38070}
38071
38072func (c *SdfdownloadtasksOperationsGetCall) doRequest(alt string) (*http.Response, error) {
38073	reqHeaders := make(http.Header)
38074	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38075	for k, v := range c.header_ {
38076		reqHeaders[k] = v
38077	}
38078	reqHeaders.Set("User-Agent", c.s.userAgent())
38079	if c.ifNoneMatch_ != "" {
38080		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38081	}
38082	var body io.Reader = nil
38083	c.urlParams_.Set("alt", alt)
38084	c.urlParams_.Set("prettyPrint", "false")
38085	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
38086	urls += "?" + c.urlParams_.Encode()
38087	req, err := http.NewRequest("GET", urls, body)
38088	if err != nil {
38089		return nil, err
38090	}
38091	req.Header = reqHeaders
38092	googleapi.Expand(req.URL, map[string]string{
38093		"name": c.name,
38094	})
38095	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38096}
38097
38098// Do executes the "displayvideo.sdfdownloadtasks.operations.get" call.
38099// Exactly one of *Operation or error will be non-nil. Any non-2xx
38100// status code is an error. Response headers are in either
38101// *Operation.ServerResponse.Header or (if a response was returned at
38102// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
38103// to check whether the returned error was because
38104// http.StatusNotModified was returned.
38105func (c *SdfdownloadtasksOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
38106	gensupport.SetOptions(c.urlParams_, opts...)
38107	res, err := c.doRequest("json")
38108	if res != nil && res.StatusCode == http.StatusNotModified {
38109		if res.Body != nil {
38110			res.Body.Close()
38111		}
38112		return nil, &googleapi.Error{
38113			Code:   res.StatusCode,
38114			Header: res.Header,
38115		}
38116	}
38117	if err != nil {
38118		return nil, err
38119	}
38120	defer googleapi.CloseBody(res)
38121	if err := googleapi.CheckResponse(res); err != nil {
38122		return nil, err
38123	}
38124	ret := &Operation{
38125		ServerResponse: googleapi.ServerResponse{
38126			Header:         res.Header,
38127			HTTPStatusCode: res.StatusCode,
38128		},
38129	}
38130	target := &ret
38131	if err := gensupport.DecodeResponse(target, res); err != nil {
38132		return nil, err
38133	}
38134	return ret, nil
38135	// {
38136	//   "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.",
38137	//   "flatPath": "v1/sdfdownloadtasks/operations/{operationsId}",
38138	//   "httpMethod": "GET",
38139	//   "id": "displayvideo.sdfdownloadtasks.operations.get",
38140	//   "parameterOrder": [
38141	//     "name"
38142	//   ],
38143	//   "parameters": {
38144	//     "name": {
38145	//       "description": "The name of the operation resource.",
38146	//       "location": "path",
38147	//       "pattern": "^sdfdownloadtasks/operations/[^/]+$",
38148	//       "required": true,
38149	//       "type": "string"
38150	//     }
38151	//   },
38152	//   "path": "v1/{+name}",
38153	//   "response": {
38154	//     "$ref": "Operation"
38155	//   },
38156	//   "scopes": [
38157	//     "https://www.googleapis.com/auth/display-video",
38158	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
38159	//   ]
38160	// }
38161
38162}
38163
38164// method id "displayvideo.targetingTypes.targetingOptions.get":
38165
38166type TargetingTypesTargetingOptionsGetCall struct {
38167	s                 *Service
38168	targetingType     string
38169	targetingOptionId string
38170	urlParams_        gensupport.URLParams
38171	ifNoneMatch_      string
38172	ctx_              context.Context
38173	header_           http.Header
38174}
38175
38176// Get: Gets a single targeting option.
38177//
38178// - targetingOptionId: The ID of the of targeting option to retrieve.
38179// - targetingType: The type of targeting option to retrieve.
38180func (r *TargetingTypesTargetingOptionsService) Get(targetingType string, targetingOptionId string) *TargetingTypesTargetingOptionsGetCall {
38181	c := &TargetingTypesTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38182	c.targetingType = targetingType
38183	c.targetingOptionId = targetingOptionId
38184	return c
38185}
38186
38187// AdvertiserId sets the optional parameter "advertiserId": Required.
38188// The Advertiser this request is being made in the context of.
38189func (c *TargetingTypesTargetingOptionsGetCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsGetCall {
38190	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
38191	return c
38192}
38193
38194// Fields allows partial responses to be retrieved. See
38195// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38196// for more information.
38197func (c *TargetingTypesTargetingOptionsGetCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsGetCall {
38198	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38199	return c
38200}
38201
38202// IfNoneMatch sets the optional parameter which makes the operation
38203// fail if the object's ETag matches the given value. This is useful for
38204// getting updates only after the object has changed since the last
38205// request. Use googleapi.IsNotModified to check whether the response
38206// error from Do is the result of In-None-Match.
38207func (c *TargetingTypesTargetingOptionsGetCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsGetCall {
38208	c.ifNoneMatch_ = entityTag
38209	return c
38210}
38211
38212// Context sets the context to be used in this call's Do method. Any
38213// pending HTTP request will be aborted if the provided context is
38214// canceled.
38215func (c *TargetingTypesTargetingOptionsGetCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsGetCall {
38216	c.ctx_ = ctx
38217	return c
38218}
38219
38220// Header returns an http.Header that can be modified by the caller to
38221// add HTTP headers to the request.
38222func (c *TargetingTypesTargetingOptionsGetCall) Header() http.Header {
38223	if c.header_ == nil {
38224		c.header_ = make(http.Header)
38225	}
38226	return c.header_
38227}
38228
38229func (c *TargetingTypesTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
38230	reqHeaders := make(http.Header)
38231	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38232	for k, v := range c.header_ {
38233		reqHeaders[k] = v
38234	}
38235	reqHeaders.Set("User-Agent", c.s.userAgent())
38236	if c.ifNoneMatch_ != "" {
38237		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38238	}
38239	var body io.Reader = nil
38240	c.urlParams_.Set("alt", alt)
38241	c.urlParams_.Set("prettyPrint", "false")
38242	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}")
38243	urls += "?" + c.urlParams_.Encode()
38244	req, err := http.NewRequest("GET", urls, body)
38245	if err != nil {
38246		return nil, err
38247	}
38248	req.Header = reqHeaders
38249	googleapi.Expand(req.URL, map[string]string{
38250		"targetingType":     c.targetingType,
38251		"targetingOptionId": c.targetingOptionId,
38252	})
38253	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38254}
38255
38256// Do executes the "displayvideo.targetingTypes.targetingOptions.get" call.
38257// Exactly one of *TargetingOption or error will be non-nil. Any non-2xx
38258// status code is an error. Response headers are in either
38259// *TargetingOption.ServerResponse.Header or (if a response was returned
38260// at all) in error.(*googleapi.Error).Header. Use
38261// googleapi.IsNotModified to check whether the returned error was
38262// because http.StatusNotModified was returned.
38263func (c *TargetingTypesTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*TargetingOption, error) {
38264	gensupport.SetOptions(c.urlParams_, opts...)
38265	res, err := c.doRequest("json")
38266	if res != nil && res.StatusCode == http.StatusNotModified {
38267		if res.Body != nil {
38268			res.Body.Close()
38269		}
38270		return nil, &googleapi.Error{
38271			Code:   res.StatusCode,
38272			Header: res.Header,
38273		}
38274	}
38275	if err != nil {
38276		return nil, err
38277	}
38278	defer googleapi.CloseBody(res)
38279	if err := googleapi.CheckResponse(res); err != nil {
38280		return nil, err
38281	}
38282	ret := &TargetingOption{
38283		ServerResponse: googleapi.ServerResponse{
38284			Header:         res.Header,
38285			HTTPStatusCode: res.StatusCode,
38286		},
38287	}
38288	target := &ret
38289	if err := gensupport.DecodeResponse(target, res); err != nil {
38290		return nil, err
38291	}
38292	return ret, nil
38293	// {
38294	//   "description": "Gets a single targeting option.",
38295	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions/{targetingOptionsId}",
38296	//   "httpMethod": "GET",
38297	//   "id": "displayvideo.targetingTypes.targetingOptions.get",
38298	//   "parameterOrder": [
38299	//     "targetingType",
38300	//     "targetingOptionId"
38301	//   ],
38302	//   "parameters": {
38303	//     "advertiserId": {
38304	//       "description": "Required. The Advertiser this request is being made in the context of.",
38305	//       "format": "int64",
38306	//       "location": "query",
38307	//       "type": "string"
38308	//     },
38309	//     "targetingOptionId": {
38310	//       "description": "Required. The ID of the of targeting option to retrieve.",
38311	//       "location": "path",
38312	//       "pattern": "^[^/]+$",
38313	//       "required": true,
38314	//       "type": "string"
38315	//     },
38316	//     "targetingType": {
38317	//       "description": "Required. The type of targeting option to retrieve.",
38318	//       "enum": [
38319	//         "TARGETING_TYPE_UNSPECIFIED",
38320	//         "TARGETING_TYPE_CHANNEL",
38321	//         "TARGETING_TYPE_APP_CATEGORY",
38322	//         "TARGETING_TYPE_APP",
38323	//         "TARGETING_TYPE_URL",
38324	//         "TARGETING_TYPE_DAY_AND_TIME",
38325	//         "TARGETING_TYPE_AGE_RANGE",
38326	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
38327	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
38328	//         "TARGETING_TYPE_GENDER",
38329	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
38330	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
38331	//         "TARGETING_TYPE_PARENTAL_STATUS",
38332	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
38333	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
38334	//         "TARGETING_TYPE_DEVICE_TYPE",
38335	//         "TARGETING_TYPE_AUDIENCE_GROUP",
38336	//         "TARGETING_TYPE_BROWSER",
38337	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
38338	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
38339	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
38340	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
38341	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
38342	//         "TARGETING_TYPE_ENVIRONMENT",
38343	//         "TARGETING_TYPE_CARRIER_AND_ISP",
38344	//         "TARGETING_TYPE_OPERATING_SYSTEM",
38345	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
38346	//         "TARGETING_TYPE_KEYWORD",
38347	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
38348	//         "TARGETING_TYPE_VIEWABILITY",
38349	//         "TARGETING_TYPE_CATEGORY",
38350	//         "TARGETING_TYPE_INVENTORY_SOURCE",
38351	//         "TARGETING_TYPE_LANGUAGE",
38352	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
38353	//         "TARGETING_TYPE_GEO_REGION",
38354	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
38355	//         "TARGETING_TYPE_EXCHANGE",
38356	//         "TARGETING_TYPE_SUB_EXCHANGE",
38357	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
38358	//       ],
38359	//       "enumDescriptions": [
38360	//         "Default value when type is not specified or is unknown in this version.",
38361	//         "Target a channel (a custom group of related websites or apps).",
38362	//         "Target an app category (for example, education or puzzle games).",
38363	//         "Target a specific app (for example, Angry Birds).",
38364	//         "Target a specific url (for example, quora.com).",
38365	//         "Target ads during a chosen time period on a specific day.",
38366	//         "Target ads to a specific age range (for example, 18-24).",
38367	//         "Target ads to the specified regions on a regional location list.",
38368	//         "Target ads to the specified points of interest on a proximity location list.",
38369	//         "Target ads to a specific gender (for example, female or male).",
38370	//         "Target a specific video player size for video ads.",
38371	//         "Target user rewarded content for video ads.",
38372	//         "Target ads to a specific parental status (for example, parent or not a parent).",
38373	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
38374	//         "Target ads in a specific content outstream position.",
38375	//         "Target ads to a specific device type (for example, tablet or connected TV).",
38376	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
38377	//         "Target ads to specific web browsers (for example, Chrome).",
38378	//         "Target ads to a specific household income range (for example, top 10%).",
38379	//         "Target ads in a specific on screen position.",
38380	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
38381	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
38382	//         "Filter website content by sensitive categories (for example, adult).",
38383	//         "Target ads to a specific environment (for example, web or app).",
38384	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
38385	//         "Target ads to a specific operating system (for example, macOS).",
38386	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
38387	//         "Target ads to a specific keyword (for example, dog or retriever).",
38388	//         "Target ads to a specific negative keyword list.",
38389	//         "Target ads to a specific viewability (for example, 80% viewable).",
38390	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
38391	//         "Purchase impressions from specific deals and auction packages.",
38392	//         "Target ads to a specific language (for example, English or Japanese).",
38393	//         "Target ads to ads.txt authorized sellers.",
38394	//         "Target ads to a specific regional location (for example, a city or state).",
38395	//         "Purchase impressions from a group of deals and auction packages.",
38396	//         "Purchase impressions from specific exchanges.",
38397	//         "Purchase impressions from specific sub-exchanges.",
38398	//         "Target ads to a specific native content position."
38399	//       ],
38400	//       "location": "path",
38401	//       "pattern": "^[^/]+$",
38402	//       "required": true,
38403	//       "type": "string"
38404	//     }
38405	//   },
38406	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}",
38407	//   "response": {
38408	//     "$ref": "TargetingOption"
38409	//   },
38410	//   "scopes": [
38411	//     "https://www.googleapis.com/auth/display-video"
38412	//   ]
38413	// }
38414
38415}
38416
38417// method id "displayvideo.targetingTypes.targetingOptions.list":
38418
38419type TargetingTypesTargetingOptionsListCall struct {
38420	s             *Service
38421	targetingType string
38422	urlParams_    gensupport.URLParams
38423	ifNoneMatch_  string
38424	ctx_          context.Context
38425	header_       http.Header
38426}
38427
38428// List: Lists targeting options of a given type.
38429//
38430// - targetingType: The type of targeting option to be listed.
38431func (r *TargetingTypesTargetingOptionsService) List(targetingType string) *TargetingTypesTargetingOptionsListCall {
38432	c := &TargetingTypesTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38433	c.targetingType = targetingType
38434	return c
38435}
38436
38437// AdvertiserId sets the optional parameter "advertiserId": Required.
38438// The Advertiser this request is being made in the context of.
38439func (c *TargetingTypesTargetingOptionsListCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsListCall {
38440	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
38441	return c
38442}
38443
38444// Filter sets the optional parameter "filter": Allows filtering by
38445// targeting option properties. Supported syntax: * Filter expressions
38446// are made up of one or more restrictions. * Restrictions can be
38447// combined by `OR` logical operators. * A restriction has the form of
38448// `{field} {operator} {value}`. * The operator must be "=" (equal
38449// sign). * Supported fields: - `carrierAndIspDetails.type` -
38450// `geoRegionDetails.geoRegionType` - `targetingOptionId` Examples: *
38451// All `GEO REGION` targeting options that belong to sub type
38452// `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`:
38453// `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR
38454// geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE" * All
38455// `CARRIER AND ISP` targeting options that belong to sub type
38456// `CARRIER_AND_ISP_TYPE_CARRIER`:
38457// `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER". The
38458// length of this field should be no more than 500 characters.
38459func (c *TargetingTypesTargetingOptionsListCall) Filter(filter string) *TargetingTypesTargetingOptionsListCall {
38460	c.urlParams_.Set("filter", filter)
38461	return c
38462}
38463
38464// OrderBy sets the optional parameter "orderBy": Field by which to sort
38465// the list. Acceptable values are: * `targetingOptionId` (default) The
38466// default sorting order is ascending. To specify descending order for a
38467// field, a suffix "desc" should be added to the field name. Example:
38468// `targetingOptionId desc`.
38469func (c *TargetingTypesTargetingOptionsListCall) OrderBy(orderBy string) *TargetingTypesTargetingOptionsListCall {
38470	c.urlParams_.Set("orderBy", orderBy)
38471	return c
38472}
38473
38474// PageSize sets the optional parameter "pageSize": Requested page size.
38475// Must be between `1` and `100`. If unspecified will default to `100`.
38476// Returns error code `INVALID_ARGUMENT` if an invalid value is
38477// specified.
38478func (c *TargetingTypesTargetingOptionsListCall) PageSize(pageSize int64) *TargetingTypesTargetingOptionsListCall {
38479	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
38480	return c
38481}
38482
38483// PageToken sets the optional parameter "pageToken": A token
38484// identifying a page of results the server should return. Typically,
38485// this is the value of next_page_token returned from the previous call
38486// to `ListTargetingOptions` method. If not specified, the first page of
38487// results will be returned.
38488func (c *TargetingTypesTargetingOptionsListCall) PageToken(pageToken string) *TargetingTypesTargetingOptionsListCall {
38489	c.urlParams_.Set("pageToken", pageToken)
38490	return c
38491}
38492
38493// Fields allows partial responses to be retrieved. See
38494// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38495// for more information.
38496func (c *TargetingTypesTargetingOptionsListCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsListCall {
38497	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38498	return c
38499}
38500
38501// IfNoneMatch sets the optional parameter which makes the operation
38502// fail if the object's ETag matches the given value. This is useful for
38503// getting updates only after the object has changed since the last
38504// request. Use googleapi.IsNotModified to check whether the response
38505// error from Do is the result of In-None-Match.
38506func (c *TargetingTypesTargetingOptionsListCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsListCall {
38507	c.ifNoneMatch_ = entityTag
38508	return c
38509}
38510
38511// Context sets the context to be used in this call's Do method. Any
38512// pending HTTP request will be aborted if the provided context is
38513// canceled.
38514func (c *TargetingTypesTargetingOptionsListCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsListCall {
38515	c.ctx_ = ctx
38516	return c
38517}
38518
38519// Header returns an http.Header that can be modified by the caller to
38520// add HTTP headers to the request.
38521func (c *TargetingTypesTargetingOptionsListCall) Header() http.Header {
38522	if c.header_ == nil {
38523		c.header_ = make(http.Header)
38524	}
38525	return c.header_
38526}
38527
38528func (c *TargetingTypesTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
38529	reqHeaders := make(http.Header)
38530	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38531	for k, v := range c.header_ {
38532		reqHeaders[k] = v
38533	}
38534	reqHeaders.Set("User-Agent", c.s.userAgent())
38535	if c.ifNoneMatch_ != "" {
38536		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38537	}
38538	var body io.Reader = nil
38539	c.urlParams_.Set("alt", alt)
38540	c.urlParams_.Set("prettyPrint", "false")
38541	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions")
38542	urls += "?" + c.urlParams_.Encode()
38543	req, err := http.NewRequest("GET", urls, body)
38544	if err != nil {
38545		return nil, err
38546	}
38547	req.Header = reqHeaders
38548	googleapi.Expand(req.URL, map[string]string{
38549		"targetingType": c.targetingType,
38550	})
38551	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38552}
38553
38554// Do executes the "displayvideo.targetingTypes.targetingOptions.list" call.
38555// Exactly one of *ListTargetingOptionsResponse or error will be
38556// non-nil. Any non-2xx status code is an error. Response headers are in
38557// either *ListTargetingOptionsResponse.ServerResponse.Header or (if a
38558// response was returned at all) in error.(*googleapi.Error).Header. Use
38559// googleapi.IsNotModified to check whether the returned error was
38560// because http.StatusNotModified was returned.
38561func (c *TargetingTypesTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListTargetingOptionsResponse, error) {
38562	gensupport.SetOptions(c.urlParams_, opts...)
38563	res, err := c.doRequest("json")
38564	if res != nil && res.StatusCode == http.StatusNotModified {
38565		if res.Body != nil {
38566			res.Body.Close()
38567		}
38568		return nil, &googleapi.Error{
38569			Code:   res.StatusCode,
38570			Header: res.Header,
38571		}
38572	}
38573	if err != nil {
38574		return nil, err
38575	}
38576	defer googleapi.CloseBody(res)
38577	if err := googleapi.CheckResponse(res); err != nil {
38578		return nil, err
38579	}
38580	ret := &ListTargetingOptionsResponse{
38581		ServerResponse: googleapi.ServerResponse{
38582			Header:         res.Header,
38583			HTTPStatusCode: res.StatusCode,
38584		},
38585	}
38586	target := &ret
38587	if err := gensupport.DecodeResponse(target, res); err != nil {
38588		return nil, err
38589	}
38590	return ret, nil
38591	// {
38592	//   "description": "Lists targeting options of a given type.",
38593	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions",
38594	//   "httpMethod": "GET",
38595	//   "id": "displayvideo.targetingTypes.targetingOptions.list",
38596	//   "parameterOrder": [
38597	//     "targetingType"
38598	//   ],
38599	//   "parameters": {
38600	//     "advertiserId": {
38601	//       "description": "Required. The Advertiser this request is being made in the context of.",
38602	//       "format": "int64",
38603	//       "location": "query",
38604	//       "type": "string"
38605	//     },
38606	//     "filter": {
38607	//       "description": "Allows filtering by targeting option properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The operator must be \"=\" (equal sign). * Supported fields: - `carrierAndIspDetails.type` - `geoRegionDetails.geoRegionType` - `targetingOptionId` Examples: * All `GEO REGION` targeting options that belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: `geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_COUNTRY\" OR geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_STATE\"` * All `CARRIER AND ISP` targeting options that belong to sub type `CARRIER_AND_ISP_TYPE_CARRIER`: `carrierAndIspDetails.type=\"CARRIER_AND_ISP_TYPE_CARRIER\"`. The length of this field should be no more than 500 characters.",
38608	//       "location": "query",
38609	//       "type": "string"
38610	//     },
38611	//     "orderBy": {
38612	//       "description": "Field by which to sort the list. Acceptable values are: * `targetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingOptionId desc`.",
38613	//       "location": "query",
38614	//       "type": "string"
38615	//     },
38616	//     "pageSize": {
38617	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
38618	//       "format": "int32",
38619	//       "location": "query",
38620	//       "type": "integer"
38621	//     },
38622	//     "pageToken": {
38623	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListTargetingOptions` method. If not specified, the first page of results will be returned.",
38624	//       "location": "query",
38625	//       "type": "string"
38626	//     },
38627	//     "targetingType": {
38628	//       "description": "Required. The type of targeting option to be listed.",
38629	//       "enum": [
38630	//         "TARGETING_TYPE_UNSPECIFIED",
38631	//         "TARGETING_TYPE_CHANNEL",
38632	//         "TARGETING_TYPE_APP_CATEGORY",
38633	//         "TARGETING_TYPE_APP",
38634	//         "TARGETING_TYPE_URL",
38635	//         "TARGETING_TYPE_DAY_AND_TIME",
38636	//         "TARGETING_TYPE_AGE_RANGE",
38637	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
38638	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
38639	//         "TARGETING_TYPE_GENDER",
38640	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
38641	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
38642	//         "TARGETING_TYPE_PARENTAL_STATUS",
38643	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
38644	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
38645	//         "TARGETING_TYPE_DEVICE_TYPE",
38646	//         "TARGETING_TYPE_AUDIENCE_GROUP",
38647	//         "TARGETING_TYPE_BROWSER",
38648	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
38649	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
38650	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
38651	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
38652	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
38653	//         "TARGETING_TYPE_ENVIRONMENT",
38654	//         "TARGETING_TYPE_CARRIER_AND_ISP",
38655	//         "TARGETING_TYPE_OPERATING_SYSTEM",
38656	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
38657	//         "TARGETING_TYPE_KEYWORD",
38658	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
38659	//         "TARGETING_TYPE_VIEWABILITY",
38660	//         "TARGETING_TYPE_CATEGORY",
38661	//         "TARGETING_TYPE_INVENTORY_SOURCE",
38662	//         "TARGETING_TYPE_LANGUAGE",
38663	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
38664	//         "TARGETING_TYPE_GEO_REGION",
38665	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
38666	//         "TARGETING_TYPE_EXCHANGE",
38667	//         "TARGETING_TYPE_SUB_EXCHANGE",
38668	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
38669	//       ],
38670	//       "enumDescriptions": [
38671	//         "Default value when type is not specified or is unknown in this version.",
38672	//         "Target a channel (a custom group of related websites or apps).",
38673	//         "Target an app category (for example, education or puzzle games).",
38674	//         "Target a specific app (for example, Angry Birds).",
38675	//         "Target a specific url (for example, quora.com).",
38676	//         "Target ads during a chosen time period on a specific day.",
38677	//         "Target ads to a specific age range (for example, 18-24).",
38678	//         "Target ads to the specified regions on a regional location list.",
38679	//         "Target ads to the specified points of interest on a proximity location list.",
38680	//         "Target ads to a specific gender (for example, female or male).",
38681	//         "Target a specific video player size for video ads.",
38682	//         "Target user rewarded content for video ads.",
38683	//         "Target ads to a specific parental status (for example, parent or not a parent).",
38684	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
38685	//         "Target ads in a specific content outstream position.",
38686	//         "Target ads to a specific device type (for example, tablet or connected TV).",
38687	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
38688	//         "Target ads to specific web browsers (for example, Chrome).",
38689	//         "Target ads to a specific household income range (for example, top 10%).",
38690	//         "Target ads in a specific on screen position.",
38691	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
38692	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
38693	//         "Filter website content by sensitive categories (for example, adult).",
38694	//         "Target ads to a specific environment (for example, web or app).",
38695	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
38696	//         "Target ads to a specific operating system (for example, macOS).",
38697	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
38698	//         "Target ads to a specific keyword (for example, dog or retriever).",
38699	//         "Target ads to a specific negative keyword list.",
38700	//         "Target ads to a specific viewability (for example, 80% viewable).",
38701	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
38702	//         "Purchase impressions from specific deals and auction packages.",
38703	//         "Target ads to a specific language (for example, English or Japanese).",
38704	//         "Target ads to ads.txt authorized sellers.",
38705	//         "Target ads to a specific regional location (for example, a city or state).",
38706	//         "Purchase impressions from a group of deals and auction packages.",
38707	//         "Purchase impressions from specific exchanges.",
38708	//         "Purchase impressions from specific sub-exchanges.",
38709	//         "Target ads to a specific native content position."
38710	//       ],
38711	//       "location": "path",
38712	//       "pattern": "^[^/]+$",
38713	//       "required": true,
38714	//       "type": "string"
38715	//     }
38716	//   },
38717	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions",
38718	//   "response": {
38719	//     "$ref": "ListTargetingOptionsResponse"
38720	//   },
38721	//   "scopes": [
38722	//     "https://www.googleapis.com/auth/display-video"
38723	//   ]
38724	// }
38725
38726}
38727
38728// Pages invokes f for each page of results.
38729// A non-nil error returned from f will halt the iteration.
38730// The provided context supersedes any context provided to the Context method.
38731func (c *TargetingTypesTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListTargetingOptionsResponse) error) error {
38732	c.ctx_ = ctx
38733	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38734	for {
38735		x, err := c.Do()
38736		if err != nil {
38737			return err
38738		}
38739		if err := f(x); err != nil {
38740			return err
38741		}
38742		if x.NextPageToken == "" {
38743			return nil
38744		}
38745		c.PageToken(x.NextPageToken)
38746	}
38747}
38748
38749// method id "displayvideo.targetingTypes.targetingOptions.search":
38750
38751type TargetingTypesTargetingOptionsSearchCall struct {
38752	s                             *Service
38753	targetingType                 string
38754	searchtargetingoptionsrequest *SearchTargetingOptionsRequest
38755	urlParams_                    gensupport.URLParams
38756	ctx_                          context.Context
38757	header_                       http.Header
38758}
38759
38760// Search: Searches for targeting options of a given type based on the
38761// given search terms.
38762//
38763// - targetingType: The type of targeting options to retrieve. Accepted
38764//   values are: * `TARGETING_TYPE_GEO_REGION`.
38765func (r *TargetingTypesTargetingOptionsService) Search(targetingType string, searchtargetingoptionsrequest *SearchTargetingOptionsRequest) *TargetingTypesTargetingOptionsSearchCall {
38766	c := &TargetingTypesTargetingOptionsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38767	c.targetingType = targetingType
38768	c.searchtargetingoptionsrequest = searchtargetingoptionsrequest
38769	return c
38770}
38771
38772// Fields allows partial responses to be retrieved. See
38773// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38774// for more information.
38775func (c *TargetingTypesTargetingOptionsSearchCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsSearchCall {
38776	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38777	return c
38778}
38779
38780// Context sets the context to be used in this call's Do method. Any
38781// pending HTTP request will be aborted if the provided context is
38782// canceled.
38783func (c *TargetingTypesTargetingOptionsSearchCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsSearchCall {
38784	c.ctx_ = ctx
38785	return c
38786}
38787
38788// Header returns an http.Header that can be modified by the caller to
38789// add HTTP headers to the request.
38790func (c *TargetingTypesTargetingOptionsSearchCall) Header() http.Header {
38791	if c.header_ == nil {
38792		c.header_ = make(http.Header)
38793	}
38794	return c.header_
38795}
38796
38797func (c *TargetingTypesTargetingOptionsSearchCall) doRequest(alt string) (*http.Response, error) {
38798	reqHeaders := make(http.Header)
38799	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
38800	for k, v := range c.header_ {
38801		reqHeaders[k] = v
38802	}
38803	reqHeaders.Set("User-Agent", c.s.userAgent())
38804	var body io.Reader = nil
38805	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchtargetingoptionsrequest)
38806	if err != nil {
38807		return nil, err
38808	}
38809	reqHeaders.Set("Content-Type", "application/json")
38810	c.urlParams_.Set("alt", alt)
38811	c.urlParams_.Set("prettyPrint", "false")
38812	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions:search")
38813	urls += "?" + c.urlParams_.Encode()
38814	req, err := http.NewRequest("POST", urls, body)
38815	if err != nil {
38816		return nil, err
38817	}
38818	req.Header = reqHeaders
38819	googleapi.Expand(req.URL, map[string]string{
38820		"targetingType": c.targetingType,
38821	})
38822	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38823}
38824
38825// Do executes the "displayvideo.targetingTypes.targetingOptions.search" call.
38826// Exactly one of *SearchTargetingOptionsResponse or error will be
38827// non-nil. Any non-2xx status code is an error. Response headers are in
38828// either *SearchTargetingOptionsResponse.ServerResponse.Header or (if a
38829// response was returned at all) in error.(*googleapi.Error).Header. Use
38830// googleapi.IsNotModified to check whether the returned error was
38831// because http.StatusNotModified was returned.
38832func (c *TargetingTypesTargetingOptionsSearchCall) Do(opts ...googleapi.CallOption) (*SearchTargetingOptionsResponse, error) {
38833	gensupport.SetOptions(c.urlParams_, opts...)
38834	res, err := c.doRequest("json")
38835	if res != nil && res.StatusCode == http.StatusNotModified {
38836		if res.Body != nil {
38837			res.Body.Close()
38838		}
38839		return nil, &googleapi.Error{
38840			Code:   res.StatusCode,
38841			Header: res.Header,
38842		}
38843	}
38844	if err != nil {
38845		return nil, err
38846	}
38847	defer googleapi.CloseBody(res)
38848	if err := googleapi.CheckResponse(res); err != nil {
38849		return nil, err
38850	}
38851	ret := &SearchTargetingOptionsResponse{
38852		ServerResponse: googleapi.ServerResponse{
38853			Header:         res.Header,
38854			HTTPStatusCode: res.StatusCode,
38855		},
38856	}
38857	target := &ret
38858	if err := gensupport.DecodeResponse(target, res); err != nil {
38859		return nil, err
38860	}
38861	return ret, nil
38862	// {
38863	//   "description": "Searches for targeting options of a given type based on the given search terms.",
38864	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions:search",
38865	//   "httpMethod": "POST",
38866	//   "id": "displayvideo.targetingTypes.targetingOptions.search",
38867	//   "parameterOrder": [
38868	//     "targetingType"
38869	//   ],
38870	//   "parameters": {
38871	//     "targetingType": {
38872	//       "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION`",
38873	//       "enum": [
38874	//         "TARGETING_TYPE_UNSPECIFIED",
38875	//         "TARGETING_TYPE_CHANNEL",
38876	//         "TARGETING_TYPE_APP_CATEGORY",
38877	//         "TARGETING_TYPE_APP",
38878	//         "TARGETING_TYPE_URL",
38879	//         "TARGETING_TYPE_DAY_AND_TIME",
38880	//         "TARGETING_TYPE_AGE_RANGE",
38881	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
38882	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
38883	//         "TARGETING_TYPE_GENDER",
38884	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
38885	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
38886	//         "TARGETING_TYPE_PARENTAL_STATUS",
38887	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
38888	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
38889	//         "TARGETING_TYPE_DEVICE_TYPE",
38890	//         "TARGETING_TYPE_AUDIENCE_GROUP",
38891	//         "TARGETING_TYPE_BROWSER",
38892	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
38893	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
38894	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
38895	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
38896	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
38897	//         "TARGETING_TYPE_ENVIRONMENT",
38898	//         "TARGETING_TYPE_CARRIER_AND_ISP",
38899	//         "TARGETING_TYPE_OPERATING_SYSTEM",
38900	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
38901	//         "TARGETING_TYPE_KEYWORD",
38902	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
38903	//         "TARGETING_TYPE_VIEWABILITY",
38904	//         "TARGETING_TYPE_CATEGORY",
38905	//         "TARGETING_TYPE_INVENTORY_SOURCE",
38906	//         "TARGETING_TYPE_LANGUAGE",
38907	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
38908	//         "TARGETING_TYPE_GEO_REGION",
38909	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
38910	//         "TARGETING_TYPE_EXCHANGE",
38911	//         "TARGETING_TYPE_SUB_EXCHANGE",
38912	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION"
38913	//       ],
38914	//       "enumDescriptions": [
38915	//         "Default value when type is not specified or is unknown in this version.",
38916	//         "Target a channel (a custom group of related websites or apps).",
38917	//         "Target an app category (for example, education or puzzle games).",
38918	//         "Target a specific app (for example, Angry Birds).",
38919	//         "Target a specific url (for example, quora.com).",
38920	//         "Target ads during a chosen time period on a specific day.",
38921	//         "Target ads to a specific age range (for example, 18-24).",
38922	//         "Target ads to the specified regions on a regional location list.",
38923	//         "Target ads to the specified points of interest on a proximity location list.",
38924	//         "Target ads to a specific gender (for example, female or male).",
38925	//         "Target a specific video player size for video ads.",
38926	//         "Target user rewarded content for video ads.",
38927	//         "Target ads to a specific parental status (for example, parent or not a parent).",
38928	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
38929	//         "Target ads in a specific content outstream position.",
38930	//         "Target ads to a specific device type (for example, tablet or connected TV).",
38931	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
38932	//         "Target ads to specific web browsers (for example, Chrome).",
38933	//         "Target ads to a specific household income range (for example, top 10%).",
38934	//         "Target ads in a specific on screen position.",
38935	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
38936	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
38937	//         "Filter website content by sensitive categories (for example, adult).",
38938	//         "Target ads to a specific environment (for example, web or app).",
38939	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
38940	//         "Target ads to a specific operating system (for example, macOS).",
38941	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
38942	//         "Target ads to a specific keyword (for example, dog or retriever).",
38943	//         "Target ads to a specific negative keyword list.",
38944	//         "Target ads to a specific viewability (for example, 80% viewable).",
38945	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
38946	//         "Purchase impressions from specific deals and auction packages.",
38947	//         "Target ads to a specific language (for example, English or Japanese).",
38948	//         "Target ads to ads.txt authorized sellers.",
38949	//         "Target ads to a specific regional location (for example, a city or state).",
38950	//         "Purchase impressions from a group of deals and auction packages.",
38951	//         "Purchase impressions from specific exchanges.",
38952	//         "Purchase impressions from specific sub-exchanges.",
38953	//         "Target ads to a specific native content position."
38954	//       ],
38955	//       "location": "path",
38956	//       "pattern": "^[^/]+$",
38957	//       "required": true,
38958	//       "type": "string"
38959	//     }
38960	//   },
38961	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions:search",
38962	//   "request": {
38963	//     "$ref": "SearchTargetingOptionsRequest"
38964	//   },
38965	//   "response": {
38966	//     "$ref": "SearchTargetingOptionsResponse"
38967	//   },
38968	//   "scopes": [
38969	//     "https://www.googleapis.com/auth/display-video"
38970	//   ]
38971	// }
38972
38973}
38974
38975// Pages invokes f for each page of results.
38976// A non-nil error returned from f will halt the iteration.
38977// The provided context supersedes any context provided to the Context method.
38978func (c *TargetingTypesTargetingOptionsSearchCall) Pages(ctx context.Context, f func(*SearchTargetingOptionsResponse) error) error {
38979	c.ctx_ = ctx
38980	defer func(pt string) { c.searchtargetingoptionsrequest.PageToken = pt }(c.searchtargetingoptionsrequest.PageToken) // reset paging to original point
38981	for {
38982		x, err := c.Do()
38983		if err != nil {
38984			return err
38985		}
38986		if err := f(x); err != nil {
38987			return err
38988		}
38989		if x.NextPageToken == "" {
38990			return nil
38991		}
38992		c.searchtargetingoptionsrequest.PageToken = x.NextPageToken
38993	}
38994}
38995
38996// method id "displayvideo.users.bulkEditAssignedUserRoles":
38997
38998type UsersBulkEditAssignedUserRolesCall struct {
38999	s                                *Service
39000	userId                           int64
39001	bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest
39002	urlParams_                       gensupport.URLParams
39003	ctx_                             context.Context
39004	header_                          http.Header
39005}
39006
39007// BulkEditAssignedUserRoles: Bulk edits user roles for a user. The
39008// operation will delete the assigned user roles provided in
39009// BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then
39010// assign the user roles provided in
39011// BulkEditAssignedUserRolesRequest.createdAssignedUserRoles.
39012//
39013// - userId: The ID of the user to which the assigned user roles belong.
39014func (r *UsersService) BulkEditAssignedUserRoles(userId int64, bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest) *UsersBulkEditAssignedUserRolesCall {
39015	c := &UsersBulkEditAssignedUserRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39016	c.userId = userId
39017	c.bulkeditassigneduserrolesrequest = bulkeditassigneduserrolesrequest
39018	return c
39019}
39020
39021// Fields allows partial responses to be retrieved. See
39022// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39023// for more information.
39024func (c *UsersBulkEditAssignedUserRolesCall) Fields(s ...googleapi.Field) *UsersBulkEditAssignedUserRolesCall {
39025	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39026	return c
39027}
39028
39029// Context sets the context to be used in this call's Do method. Any
39030// pending HTTP request will be aborted if the provided context is
39031// canceled.
39032func (c *UsersBulkEditAssignedUserRolesCall) Context(ctx context.Context) *UsersBulkEditAssignedUserRolesCall {
39033	c.ctx_ = ctx
39034	return c
39035}
39036
39037// Header returns an http.Header that can be modified by the caller to
39038// add HTTP headers to the request.
39039func (c *UsersBulkEditAssignedUserRolesCall) Header() http.Header {
39040	if c.header_ == nil {
39041		c.header_ = make(http.Header)
39042	}
39043	return c.header_
39044}
39045
39046func (c *UsersBulkEditAssignedUserRolesCall) doRequest(alt string) (*http.Response, error) {
39047	reqHeaders := make(http.Header)
39048	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39049	for k, v := range c.header_ {
39050		reqHeaders[k] = v
39051	}
39052	reqHeaders.Set("User-Agent", c.s.userAgent())
39053	var body io.Reader = nil
39054	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassigneduserrolesrequest)
39055	if err != nil {
39056		return nil, err
39057	}
39058	reqHeaders.Set("Content-Type", "application/json")
39059	c.urlParams_.Set("alt", alt)
39060	c.urlParams_.Set("prettyPrint", "false")
39061	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}:bulkEditAssignedUserRoles")
39062	urls += "?" + c.urlParams_.Encode()
39063	req, err := http.NewRequest("POST", urls, body)
39064	if err != nil {
39065		return nil, err
39066	}
39067	req.Header = reqHeaders
39068	googleapi.Expand(req.URL, map[string]string{
39069		"userId": strconv.FormatInt(c.userId, 10),
39070	})
39071	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39072}
39073
39074// Do executes the "displayvideo.users.bulkEditAssignedUserRoles" call.
39075// Exactly one of *BulkEditAssignedUserRolesResponse or error will be
39076// non-nil. Any non-2xx status code is an error. Response headers are in
39077// either *BulkEditAssignedUserRolesResponse.ServerResponse.Header or
39078// (if a response was returned at all) in
39079// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
39080// whether the returned error was because http.StatusNotModified was
39081// returned.
39082func (c *UsersBulkEditAssignedUserRolesCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedUserRolesResponse, error) {
39083	gensupport.SetOptions(c.urlParams_, opts...)
39084	res, err := c.doRequest("json")
39085	if res != nil && res.StatusCode == http.StatusNotModified {
39086		if res.Body != nil {
39087			res.Body.Close()
39088		}
39089		return nil, &googleapi.Error{
39090			Code:   res.StatusCode,
39091			Header: res.Header,
39092		}
39093	}
39094	if err != nil {
39095		return nil, err
39096	}
39097	defer googleapi.CloseBody(res)
39098	if err := googleapi.CheckResponse(res); err != nil {
39099		return nil, err
39100	}
39101	ret := &BulkEditAssignedUserRolesResponse{
39102		ServerResponse: googleapi.ServerResponse{
39103			Header:         res.Header,
39104			HTTPStatusCode: res.StatusCode,
39105		},
39106	}
39107	target := &ret
39108	if err := gensupport.DecodeResponse(target, res); err != nil {
39109		return nil, err
39110	}
39111	return ret, nil
39112	// {
39113	//   "description": "Bulk edits user roles for a user. The operation will delete the assigned user roles provided in BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign the user roles provided in BulkEditAssignedUserRolesRequest.createdAssignedUserRoles.",
39114	//   "flatPath": "v1/users/{usersId}:bulkEditAssignedUserRoles",
39115	//   "httpMethod": "POST",
39116	//   "id": "displayvideo.users.bulkEditAssignedUserRoles",
39117	//   "parameterOrder": [
39118	//     "userId"
39119	//   ],
39120	//   "parameters": {
39121	//     "userId": {
39122	//       "description": "Required. The ID of the user to which the assigned user roles belong.",
39123	//       "format": "int64",
39124	//       "location": "path",
39125	//       "pattern": "^[^/]+$",
39126	//       "required": true,
39127	//       "type": "string"
39128	//     }
39129	//   },
39130	//   "path": "v1/users/{+userId}:bulkEditAssignedUserRoles",
39131	//   "request": {
39132	//     "$ref": "BulkEditAssignedUserRolesRequest"
39133	//   },
39134	//   "response": {
39135	//     "$ref": "BulkEditAssignedUserRolesResponse"
39136	//   },
39137	//   "scopes": [
39138	//     "https://www.googleapis.com/auth/display-video-user-management"
39139	//   ]
39140	// }
39141
39142}
39143
39144// method id "displayvideo.users.create":
39145
39146type UsersCreateCall struct {
39147	s          *Service
39148	user       *User
39149	urlParams_ gensupport.URLParams
39150	ctx_       context.Context
39151	header_    http.Header
39152}
39153
39154// Create: Creates a new user. Returns the newly created user if
39155// successful.
39156func (r *UsersService) Create(user *User) *UsersCreateCall {
39157	c := &UsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39158	c.user = user
39159	return c
39160}
39161
39162// Fields allows partial responses to be retrieved. See
39163// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39164// for more information.
39165func (c *UsersCreateCall) Fields(s ...googleapi.Field) *UsersCreateCall {
39166	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39167	return c
39168}
39169
39170// Context sets the context to be used in this call's Do method. Any
39171// pending HTTP request will be aborted if the provided context is
39172// canceled.
39173func (c *UsersCreateCall) Context(ctx context.Context) *UsersCreateCall {
39174	c.ctx_ = ctx
39175	return c
39176}
39177
39178// Header returns an http.Header that can be modified by the caller to
39179// add HTTP headers to the request.
39180func (c *UsersCreateCall) Header() http.Header {
39181	if c.header_ == nil {
39182		c.header_ = make(http.Header)
39183	}
39184	return c.header_
39185}
39186
39187func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) {
39188	reqHeaders := make(http.Header)
39189	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39190	for k, v := range c.header_ {
39191		reqHeaders[k] = v
39192	}
39193	reqHeaders.Set("User-Agent", c.s.userAgent())
39194	var body io.Reader = nil
39195	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
39196	if err != nil {
39197		return nil, err
39198	}
39199	reqHeaders.Set("Content-Type", "application/json")
39200	c.urlParams_.Set("alt", alt)
39201	c.urlParams_.Set("prettyPrint", "false")
39202	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users")
39203	urls += "?" + c.urlParams_.Encode()
39204	req, err := http.NewRequest("POST", urls, body)
39205	if err != nil {
39206		return nil, err
39207	}
39208	req.Header = reqHeaders
39209	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39210}
39211
39212// Do executes the "displayvideo.users.create" call.
39213// Exactly one of *User or error will be non-nil. Any non-2xx status
39214// code is an error. Response headers are in either
39215// *User.ServerResponse.Header or (if a response was returned at all) in
39216// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
39217// whether the returned error was because http.StatusNotModified was
39218// returned.
39219func (c *UsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) {
39220	gensupport.SetOptions(c.urlParams_, opts...)
39221	res, err := c.doRequest("json")
39222	if res != nil && res.StatusCode == http.StatusNotModified {
39223		if res.Body != nil {
39224			res.Body.Close()
39225		}
39226		return nil, &googleapi.Error{
39227			Code:   res.StatusCode,
39228			Header: res.Header,
39229		}
39230	}
39231	if err != nil {
39232		return nil, err
39233	}
39234	defer googleapi.CloseBody(res)
39235	if err := googleapi.CheckResponse(res); err != nil {
39236		return nil, err
39237	}
39238	ret := &User{
39239		ServerResponse: googleapi.ServerResponse{
39240			Header:         res.Header,
39241			HTTPStatusCode: res.StatusCode,
39242		},
39243	}
39244	target := &ret
39245	if err := gensupport.DecodeResponse(target, res); err != nil {
39246		return nil, err
39247	}
39248	return ret, nil
39249	// {
39250	//   "description": "Creates a new user. Returns the newly created user if successful.",
39251	//   "flatPath": "v1/users",
39252	//   "httpMethod": "POST",
39253	//   "id": "displayvideo.users.create",
39254	//   "parameterOrder": [],
39255	//   "parameters": {},
39256	//   "path": "v1/users",
39257	//   "request": {
39258	//     "$ref": "User"
39259	//   },
39260	//   "response": {
39261	//     "$ref": "User"
39262	//   },
39263	//   "scopes": [
39264	//     "https://www.googleapis.com/auth/display-video-user-management"
39265	//   ]
39266	// }
39267
39268}
39269
39270// method id "displayvideo.users.delete":
39271
39272type UsersDeleteCall struct {
39273	s          *Service
39274	userId     int64
39275	urlParams_ gensupport.URLParams
39276	ctx_       context.Context
39277	header_    http.Header
39278}
39279
39280// Delete: Deletes a user.
39281//
39282// - userId: The ID of the user to delete.
39283func (r *UsersService) Delete(userId int64) *UsersDeleteCall {
39284	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39285	c.userId = userId
39286	return c
39287}
39288
39289// Fields allows partial responses to be retrieved. See
39290// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39291// for more information.
39292func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
39293	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39294	return c
39295}
39296
39297// Context sets the context to be used in this call's Do method. Any
39298// pending HTTP request will be aborted if the provided context is
39299// canceled.
39300func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
39301	c.ctx_ = ctx
39302	return c
39303}
39304
39305// Header returns an http.Header that can be modified by the caller to
39306// add HTTP headers to the request.
39307func (c *UsersDeleteCall) Header() http.Header {
39308	if c.header_ == nil {
39309		c.header_ = make(http.Header)
39310	}
39311	return c.header_
39312}
39313
39314func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
39315	reqHeaders := make(http.Header)
39316	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39317	for k, v := range c.header_ {
39318		reqHeaders[k] = v
39319	}
39320	reqHeaders.Set("User-Agent", c.s.userAgent())
39321	var body io.Reader = nil
39322	c.urlParams_.Set("alt", alt)
39323	c.urlParams_.Set("prettyPrint", "false")
39324	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
39325	urls += "?" + c.urlParams_.Encode()
39326	req, err := http.NewRequest("DELETE", urls, body)
39327	if err != nil {
39328		return nil, err
39329	}
39330	req.Header = reqHeaders
39331	googleapi.Expand(req.URL, map[string]string{
39332		"userId": strconv.FormatInt(c.userId, 10),
39333	})
39334	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39335}
39336
39337// Do executes the "displayvideo.users.delete" call.
39338// Exactly one of *Empty or error will be non-nil. Any non-2xx status
39339// code is an error. Response headers are in either
39340// *Empty.ServerResponse.Header or (if a response was returned at all)
39341// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
39342// check whether the returned error was because http.StatusNotModified
39343// was returned.
39344func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
39345	gensupport.SetOptions(c.urlParams_, opts...)
39346	res, err := c.doRequest("json")
39347	if res != nil && res.StatusCode == http.StatusNotModified {
39348		if res.Body != nil {
39349			res.Body.Close()
39350		}
39351		return nil, &googleapi.Error{
39352			Code:   res.StatusCode,
39353			Header: res.Header,
39354		}
39355	}
39356	if err != nil {
39357		return nil, err
39358	}
39359	defer googleapi.CloseBody(res)
39360	if err := googleapi.CheckResponse(res); err != nil {
39361		return nil, err
39362	}
39363	ret := &Empty{
39364		ServerResponse: googleapi.ServerResponse{
39365			Header:         res.Header,
39366			HTTPStatusCode: res.StatusCode,
39367		},
39368	}
39369	target := &ret
39370	if err := gensupport.DecodeResponse(target, res); err != nil {
39371		return nil, err
39372	}
39373	return ret, nil
39374	// {
39375	//   "description": "Deletes a user.",
39376	//   "flatPath": "v1/users/{usersId}",
39377	//   "httpMethod": "DELETE",
39378	//   "id": "displayvideo.users.delete",
39379	//   "parameterOrder": [
39380	//     "userId"
39381	//   ],
39382	//   "parameters": {
39383	//     "userId": {
39384	//       "description": "Required. The ID of the user to delete.",
39385	//       "format": "int64",
39386	//       "location": "path",
39387	//       "pattern": "^[^/]+$",
39388	//       "required": true,
39389	//       "type": "string"
39390	//     }
39391	//   },
39392	//   "path": "v1/users/{+userId}",
39393	//   "response": {
39394	//     "$ref": "Empty"
39395	//   },
39396	//   "scopes": [
39397	//     "https://www.googleapis.com/auth/display-video-user-management"
39398	//   ]
39399	// }
39400
39401}
39402
39403// method id "displayvideo.users.get":
39404
39405type UsersGetCall struct {
39406	s            *Service
39407	userId       int64
39408	urlParams_   gensupport.URLParams
39409	ifNoneMatch_ string
39410	ctx_         context.Context
39411	header_      http.Header
39412}
39413
39414// Get: Gets a user.
39415//
39416// - userId: The ID of the user to fetch.
39417func (r *UsersService) Get(userId int64) *UsersGetCall {
39418	c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39419	c.userId = userId
39420	return c
39421}
39422
39423// Fields allows partial responses to be retrieved. See
39424// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39425// for more information.
39426func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
39427	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39428	return c
39429}
39430
39431// IfNoneMatch sets the optional parameter which makes the operation
39432// fail if the object's ETag matches the given value. This is useful for
39433// getting updates only after the object has changed since the last
39434// request. Use googleapi.IsNotModified to check whether the response
39435// error from Do is the result of In-None-Match.
39436func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
39437	c.ifNoneMatch_ = entityTag
39438	return c
39439}
39440
39441// Context sets the context to be used in this call's Do method. Any
39442// pending HTTP request will be aborted if the provided context is
39443// canceled.
39444func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
39445	c.ctx_ = ctx
39446	return c
39447}
39448
39449// Header returns an http.Header that can be modified by the caller to
39450// add HTTP headers to the request.
39451func (c *UsersGetCall) Header() http.Header {
39452	if c.header_ == nil {
39453		c.header_ = make(http.Header)
39454	}
39455	return c.header_
39456}
39457
39458func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
39459	reqHeaders := make(http.Header)
39460	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39461	for k, v := range c.header_ {
39462		reqHeaders[k] = v
39463	}
39464	reqHeaders.Set("User-Agent", c.s.userAgent())
39465	if c.ifNoneMatch_ != "" {
39466		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39467	}
39468	var body io.Reader = nil
39469	c.urlParams_.Set("alt", alt)
39470	c.urlParams_.Set("prettyPrint", "false")
39471	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
39472	urls += "?" + c.urlParams_.Encode()
39473	req, err := http.NewRequest("GET", urls, body)
39474	if err != nil {
39475		return nil, err
39476	}
39477	req.Header = reqHeaders
39478	googleapi.Expand(req.URL, map[string]string{
39479		"userId": strconv.FormatInt(c.userId, 10),
39480	})
39481	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39482}
39483
39484// Do executes the "displayvideo.users.get" call.
39485// Exactly one of *User or error will be non-nil. Any non-2xx status
39486// code is an error. Response headers are in either
39487// *User.ServerResponse.Header or (if a response was returned at all) in
39488// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
39489// whether the returned error was because http.StatusNotModified was
39490// returned.
39491func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
39492	gensupport.SetOptions(c.urlParams_, opts...)
39493	res, err := c.doRequest("json")
39494	if res != nil && res.StatusCode == http.StatusNotModified {
39495		if res.Body != nil {
39496			res.Body.Close()
39497		}
39498		return nil, &googleapi.Error{
39499			Code:   res.StatusCode,
39500			Header: res.Header,
39501		}
39502	}
39503	if err != nil {
39504		return nil, err
39505	}
39506	defer googleapi.CloseBody(res)
39507	if err := googleapi.CheckResponse(res); err != nil {
39508		return nil, err
39509	}
39510	ret := &User{
39511		ServerResponse: googleapi.ServerResponse{
39512			Header:         res.Header,
39513			HTTPStatusCode: res.StatusCode,
39514		},
39515	}
39516	target := &ret
39517	if err := gensupport.DecodeResponse(target, res); err != nil {
39518		return nil, err
39519	}
39520	return ret, nil
39521	// {
39522	//   "description": "Gets a user.",
39523	//   "flatPath": "v1/users/{usersId}",
39524	//   "httpMethod": "GET",
39525	//   "id": "displayvideo.users.get",
39526	//   "parameterOrder": [
39527	//     "userId"
39528	//   ],
39529	//   "parameters": {
39530	//     "userId": {
39531	//       "description": "Required. The ID of the user to fetch.",
39532	//       "format": "int64",
39533	//       "location": "path",
39534	//       "pattern": "^[^/]+$",
39535	//       "required": true,
39536	//       "type": "string"
39537	//     }
39538	//   },
39539	//   "path": "v1/users/{+userId}",
39540	//   "response": {
39541	//     "$ref": "User"
39542	//   },
39543	//   "scopes": [
39544	//     "https://www.googleapis.com/auth/display-video-user-management"
39545	//   ]
39546	// }
39547
39548}
39549
39550// method id "displayvideo.users.list":
39551
39552type UsersListCall struct {
39553	s            *Service
39554	urlParams_   gensupport.URLParams
39555	ifNoneMatch_ string
39556	ctx_         context.Context
39557	header_      http.Header
39558}
39559
39560// List: Lists users that are accessible to the current user. If two
39561// users have user roles on the same partner or advertiser, they can
39562// access each other.
39563func (r *UsersService) List() *UsersListCall {
39564	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39565	return c
39566}
39567
39568// Filter sets the optional parameter "filter": Allows filtering by user
39569// properties. Supported syntax: * Filter expressions are made up of one
39570// or more restrictions. * Restrictions can be combined by the logical
39571// operator `AND`. * A restriction has the form of `{field} {operator}
39572// {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. *
39573// The operator must be `CONTAINS (:)` for the following fields: -
39574// `displayName` - `email` * The operator must be `EQUALS (=)` for the
39575// following fields: - `assignedUserRole.userRole` -
39576// `assignedUserRole.partnerId` - `assignedUserRole.advertiserId` -
39577// `assignedUserRole.entityType`: A synthetic field of AssignedUserRole
39578// used for filtering. Identifies the type of entity to which the user
39579// role is assigned. Valid values are `Partner` and `Advertiser`. -
39580// `assignedUserRole.parentPartnerId`: A synthetic field of
39581// AssignedUserRole used for filtering. Identifies the parent partner of
39582// the entity to which the user role is assigned." Examples: * The user
39583// with displayName containing `foo`: `displayName:"foo" * The user
39584// with email containing `bar`: `email:"bar" * All users with standard
39585// user roles: `assignedUserRole.userRole="STANDARD" * All users with
39586// user roles for partner 123: `assignedUserRole.partnerId="123" * All
39587// users with user roles for advertiser 123:
39588// `assignedUserRole.advertiserId="123" * All users with partner level
39589// user roles: `entityType="PARTNER" * All users with user roles for
39590// partner 123 and advertisers under partner 123:
39591// `parentPartnerId="123" The length of this field should be no more
39592// than 500 characters.
39593func (c *UsersListCall) Filter(filter string) *UsersListCall {
39594	c.urlParams_.Set("filter", filter)
39595	return c
39596}
39597
39598// OrderBy sets the optional parameter "orderBy": Field by which to sort
39599// the list. Acceptable values are: * `displayName` (default) The
39600// default sorting order is ascending. To specify descending order for a
39601// field, a suffix "desc" should be added to the field name. For
39602// example, `displayName desc`.
39603func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
39604	c.urlParams_.Set("orderBy", orderBy)
39605	return c
39606}
39607
39608// PageSize sets the optional parameter "pageSize": Requested page size.
39609// Must be between `1` and `100`. If unspecified will default to `100`.
39610func (c *UsersListCall) PageSize(pageSize int64) *UsersListCall {
39611	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
39612	return c
39613}
39614
39615// PageToken sets the optional parameter "pageToken": A token
39616// identifying a page of results the server should return. Typically,
39617// this is the value of next_page_token returned from the previous call
39618// to `ListUsers` method. If not specified, the first page of results
39619// will be returned.
39620func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
39621	c.urlParams_.Set("pageToken", pageToken)
39622	return c
39623}
39624
39625// Fields allows partial responses to be retrieved. See
39626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39627// for more information.
39628func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
39629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39630	return c
39631}
39632
39633// IfNoneMatch sets the optional parameter which makes the operation
39634// fail if the object's ETag matches the given value. This is useful for
39635// getting updates only after the object has changed since the last
39636// request. Use googleapi.IsNotModified to check whether the response
39637// error from Do is the result of In-None-Match.
39638func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
39639	c.ifNoneMatch_ = entityTag
39640	return c
39641}
39642
39643// Context sets the context to be used in this call's Do method. Any
39644// pending HTTP request will be aborted if the provided context is
39645// canceled.
39646func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
39647	c.ctx_ = ctx
39648	return c
39649}
39650
39651// Header returns an http.Header that can be modified by the caller to
39652// add HTTP headers to the request.
39653func (c *UsersListCall) Header() http.Header {
39654	if c.header_ == nil {
39655		c.header_ = make(http.Header)
39656	}
39657	return c.header_
39658}
39659
39660func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
39661	reqHeaders := make(http.Header)
39662	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39663	for k, v := range c.header_ {
39664		reqHeaders[k] = v
39665	}
39666	reqHeaders.Set("User-Agent", c.s.userAgent())
39667	if c.ifNoneMatch_ != "" {
39668		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39669	}
39670	var body io.Reader = nil
39671	c.urlParams_.Set("alt", alt)
39672	c.urlParams_.Set("prettyPrint", "false")
39673	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users")
39674	urls += "?" + c.urlParams_.Encode()
39675	req, err := http.NewRequest("GET", urls, body)
39676	if err != nil {
39677		return nil, err
39678	}
39679	req.Header = reqHeaders
39680	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39681}
39682
39683// Do executes the "displayvideo.users.list" call.
39684// Exactly one of *ListUsersResponse or error will be non-nil. Any
39685// non-2xx status code is an error. Response headers are in either
39686// *ListUsersResponse.ServerResponse.Header or (if a response was
39687// returned at all) in error.(*googleapi.Error).Header. Use
39688// googleapi.IsNotModified to check whether the returned error was
39689// because http.StatusNotModified was returned.
39690func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) {
39691	gensupport.SetOptions(c.urlParams_, opts...)
39692	res, err := c.doRequest("json")
39693	if res != nil && res.StatusCode == http.StatusNotModified {
39694		if res.Body != nil {
39695			res.Body.Close()
39696		}
39697		return nil, &googleapi.Error{
39698			Code:   res.StatusCode,
39699			Header: res.Header,
39700		}
39701	}
39702	if err != nil {
39703		return nil, err
39704	}
39705	defer googleapi.CloseBody(res)
39706	if err := googleapi.CheckResponse(res); err != nil {
39707		return nil, err
39708	}
39709	ret := &ListUsersResponse{
39710		ServerResponse: googleapi.ServerResponse{
39711			Header:         res.Header,
39712			HTTPStatusCode: res.StatusCode,
39713		},
39714	}
39715	target := &ret
39716	if err := gensupport.DecodeResponse(target, res); err != nil {
39717		return nil, err
39718	}
39719	return ret, nil
39720	// {
39721	//   "description": "Lists users that are accessible to the current user. If two users have user roles on the same partner or advertiser, they can access each other.",
39722	//   "flatPath": "v1/users",
39723	//   "httpMethod": "GET",
39724	//   "id": "displayvideo.users.list",
39725	//   "parameterOrder": [],
39726	//   "parameters": {
39727	//     "filter": {
39728	//       "description": "Allows filtering by user properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following fields: - `displayName` - `email` * The operator must be `EQUALS (=)` for the following fields: - `assignedUserRole.userRole` - `assignedUserRole.partnerId` - `assignedUserRole.advertiserId` - `assignedUserRole.entityType`: A synthetic field of AssignedUserRole used for filtering. Identifies the type of entity to which the user role is assigned. Valid values are `Partner` and `Advertiser`. - `assignedUserRole.parentPartnerId`: A synthetic field of AssignedUserRole used for filtering. Identifies the parent partner of the entity to which the user role is assigned.\" Examples: * The user with displayName containing `foo`: `displayName:\"foo\"` * The user with email containing `bar`: `email:\"bar\"` * All users with standard user roles: `assignedUserRole.userRole=\"STANDARD\"` * All users with user roles for partner 123: `assignedUserRole.partnerId=\"123\"` * All users with user roles for advertiser 123: `assignedUserRole.advertiserId=\"123\"` * All users with partner level user roles: `entityType=\"PARTNER\"` * All users with user roles for partner 123 and advertisers under partner 123: `parentPartnerId=\"123\"` The length of this field should be no more than 500 characters.",
39729	//       "location": "query",
39730	//       "type": "string"
39731	//     },
39732	//     "orderBy": {
39733	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.",
39734	//       "location": "query",
39735	//       "type": "string"
39736	//     },
39737	//     "pageSize": {
39738	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
39739	//       "format": "int32",
39740	//       "location": "query",
39741	//       "type": "integer"
39742	//     },
39743	//     "pageToken": {
39744	//       "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListUsers` method. If not specified, the first page of results will be returned.",
39745	//       "location": "query",
39746	//       "type": "string"
39747	//     }
39748	//   },
39749	//   "path": "v1/users",
39750	//   "response": {
39751	//     "$ref": "ListUsersResponse"
39752	//   },
39753	//   "scopes": [
39754	//     "https://www.googleapis.com/auth/display-video-user-management"
39755	//   ]
39756	// }
39757
39758}
39759
39760// Pages invokes f for each page of results.
39761// A non-nil error returned from f will halt the iteration.
39762// The provided context supersedes any context provided to the Context method.
39763func (c *UsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error {
39764	c.ctx_ = ctx
39765	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39766	for {
39767		x, err := c.Do()
39768		if err != nil {
39769			return err
39770		}
39771		if err := f(x); err != nil {
39772			return err
39773		}
39774		if x.NextPageToken == "" {
39775			return nil
39776		}
39777		c.PageToken(x.NextPageToken)
39778	}
39779}
39780
39781// method id "displayvideo.users.patch":
39782
39783type UsersPatchCall struct {
39784	s          *Service
39785	userId     int64
39786	user       *User
39787	urlParams_ gensupport.URLParams
39788	ctx_       context.Context
39789	header_    http.Header
39790}
39791
39792// Patch: Updates an existing user. Returns the updated user if
39793// successful.
39794//
39795// - userId: Output only. The unique ID of the user. Assigned by the
39796//   system.
39797func (r *UsersService) Patch(userId int64, user *User) *UsersPatchCall {
39798	c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39799	c.userId = userId
39800	c.user = user
39801	return c
39802}
39803
39804// UpdateMask sets the optional parameter "updateMask": Required. The
39805// mask to control which fields to update.
39806func (c *UsersPatchCall) UpdateMask(updateMask string) *UsersPatchCall {
39807	c.urlParams_.Set("updateMask", updateMask)
39808	return c
39809}
39810
39811// Fields allows partial responses to be retrieved. See
39812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39813// for more information.
39814func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
39815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39816	return c
39817}
39818
39819// Context sets the context to be used in this call's Do method. Any
39820// pending HTTP request will be aborted if the provided context is
39821// canceled.
39822func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
39823	c.ctx_ = ctx
39824	return c
39825}
39826
39827// Header returns an http.Header that can be modified by the caller to
39828// add HTTP headers to the request.
39829func (c *UsersPatchCall) Header() http.Header {
39830	if c.header_ == nil {
39831		c.header_ = make(http.Header)
39832	}
39833	return c.header_
39834}
39835
39836func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
39837	reqHeaders := make(http.Header)
39838	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210629")
39839	for k, v := range c.header_ {
39840		reqHeaders[k] = v
39841	}
39842	reqHeaders.Set("User-Agent", c.s.userAgent())
39843	var body io.Reader = nil
39844	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
39845	if err != nil {
39846		return nil, err
39847	}
39848	reqHeaders.Set("Content-Type", "application/json")
39849	c.urlParams_.Set("alt", alt)
39850	c.urlParams_.Set("prettyPrint", "false")
39851	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
39852	urls += "?" + c.urlParams_.Encode()
39853	req, err := http.NewRequest("PATCH", urls, body)
39854	if err != nil {
39855		return nil, err
39856	}
39857	req.Header = reqHeaders
39858	googleapi.Expand(req.URL, map[string]string{
39859		"userId": strconv.FormatInt(c.userId, 10),
39860	})
39861	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39862}
39863
39864// Do executes the "displayvideo.users.patch" call.
39865// Exactly one of *User or error will be non-nil. Any non-2xx status
39866// code is an error. Response headers are in either
39867// *User.ServerResponse.Header or (if a response was returned at all) in
39868// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
39869// whether the returned error was because http.StatusNotModified was
39870// returned.
39871func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
39872	gensupport.SetOptions(c.urlParams_, opts...)
39873	res, err := c.doRequest("json")
39874	if res != nil && res.StatusCode == http.StatusNotModified {
39875		if res.Body != nil {
39876			res.Body.Close()
39877		}
39878		return nil, &googleapi.Error{
39879			Code:   res.StatusCode,
39880			Header: res.Header,
39881		}
39882	}
39883	if err != nil {
39884		return nil, err
39885	}
39886	defer googleapi.CloseBody(res)
39887	if err := googleapi.CheckResponse(res); err != nil {
39888		return nil, err
39889	}
39890	ret := &User{
39891		ServerResponse: googleapi.ServerResponse{
39892			Header:         res.Header,
39893			HTTPStatusCode: res.StatusCode,
39894		},
39895	}
39896	target := &ret
39897	if err := gensupport.DecodeResponse(target, res); err != nil {
39898		return nil, err
39899	}
39900	return ret, nil
39901	// {
39902	//   "description": "Updates an existing user. Returns the updated user if successful.",
39903	//   "flatPath": "v1/users/{usersId}",
39904	//   "httpMethod": "PATCH",
39905	//   "id": "displayvideo.users.patch",
39906	//   "parameterOrder": [
39907	//     "userId"
39908	//   ],
39909	//   "parameters": {
39910	//     "updateMask": {
39911	//       "description": "Required. The mask to control which fields to update.",
39912	//       "format": "google-fieldmask",
39913	//       "location": "query",
39914	//       "type": "string"
39915	//     },
39916	//     "userId": {
39917	//       "description": "Output only. The unique ID of the user. Assigned by the system.",
39918	//       "format": "int64",
39919	//       "location": "path",
39920	//       "pattern": "^[^/]+$",
39921	//       "required": true,
39922	//       "type": "string"
39923	//     }
39924	//   },
39925	//   "path": "v1/users/{+userId}",
39926	//   "request": {
39927	//     "$ref": "User"
39928	//   },
39929	//   "response": {
39930	//     "$ref": "User"
39931	//   },
39932	//   "scopes": [
39933	//     "https://www.googleapis.com/auth/display-video-user-management"
39934	//   ]
39935	// }
39936
39937}
39938