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 or default values are omitted from API requests. However, any
743	// non-pointer, non-interface field appearing in ForceSendFields will be
744	// sent to the server regardless of whether the field is empty or not.
745	// This may be 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 or default values are omitted
783	// from API requests. However, any non-pointer, non-interface field
784	// appearing in ForceSendFields will be sent to the server regardless of
785	// whether the field is empty or not. This may be used to include empty
786	// fields in 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 or default values are omitted from API requests. However, any
889	// non-pointer, non-interface field appearing in ForceSendFields will be
890	// sent to the server regardless of whether the field is empty or not.
891	// This may be 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 or default values are omitted from API requests. However, any
924	// non-pointer, non-interface field appearing in ForceSendFields will be
925	// sent to the server regardless of whether the field is empty or not.
926	// This may be 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 or default values are omitted from API
975	// requests. 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 or default values are omitted from API requests. However, any
1007	// non-pointer, non-interface field appearing in ForceSendFields will be
1008	// sent to the server regardless of whether the field is empty or not.
1009	// This may be 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 or default values are omitted from API requests. However, any
1064	// non-pointer, non-interface field appearing in ForceSendFields will be
1065	// sent to the server regardless of whether the field is empty or not.
1066	// This may be 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 or default values are omitted
1102	// from API requests. However, any non-pointer, non-interface field
1103	// appearing in ForceSendFields will be sent to the server regardless of
1104	// whether the field is empty or not. This may be used to include empty
1105	// fields in 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 or default values are omitted
1135	// from API requests. However, any non-pointer, non-interface field
1136	// appearing in ForceSendFields will be sent to the server regardless of
1137	// whether the field is empty or not. This may be used to include empty
1138	// fields in 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 or default values are omitted from API requests. However, any
1189	// non-pointer, non-interface field appearing in ForceSendFields will be
1190	// sent to the server regardless of whether the field is empty or not.
1191	// This may be 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 or default values are omitted from API requests. However, any
1231	// non-pointer, non-interface field appearing in ForceSendFields will be
1232	// sent to the server regardless of whether the field is empty or not.
1233	// This may be 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 or default values are omitted from API requests. However, any
1291	// non-pointer, non-interface field appearing in ForceSendFields will be
1292	// sent to the server regardless of whether the field is empty or not.
1293	// This may be 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 or default values are omitted from API requests. However, any
1329	// non-pointer, non-interface field appearing in ForceSendFields will be
1330	// sent to the server regardless of whether the field is empty or not.
1331	// This may be 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 or default values are omitted from API requests. However, any
1361	// non-pointer, non-interface field appearing in ForceSendFields will be
1362	// sent to the server regardless of whether the field is empty or not.
1363	// This may be 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 or default values are omitted from API requests. However, any
1395	// non-pointer, non-interface field appearing in ForceSendFields will be
1396	// sent to the server regardless of whether the field is empty or not.
1397	// This may be 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 or default values are omitted from API requests. However, any
1527	// non-pointer, non-interface field appearing in ForceSendFields will be
1528	// sent to the server regardless of whether the field is empty or not.
1529	// This may be 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 or default values are omitted
1570	// from API requests. However, any non-pointer, non-interface field
1571	// appearing in ForceSendFields will be sent to the server regardless of
1572	// whether the field is empty or not. This may be used to include empty
1573	// fields in 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 or default values are omitted from API requests. However, any
1615	// non-pointer, non-interface field appearing in ForceSendFields will be
1616	// sent to the server regardless of whether the field is empty or not.
1617	// This may be 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	// BusinessChainDetails: Business chain details. This field will be
1676	// populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.
1677	BusinessChainDetails *BusinessChainAssignedTargetingOptionDetails `json:"businessChainDetails,omitempty"`
1678
1679	// CarrierAndIspDetails: Carrier and ISP details. This field will be
1680	// populated when the targeting_type is
1681	// `TARGETING_TYPE_CARRIER_AND_ISP`.
1682	CarrierAndIspDetails *CarrierAndIspAssignedTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
1683
1684	// CategoryDetails: Category details. This field will be populated when
1685	// the targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category
1686	// will also target its subcategories. If a category is excluded from
1687	// targeting and a subcategory is included, the exclusion will take
1688	// precedence.
1689	CategoryDetails *CategoryAssignedTargetingOptionDetails `json:"categoryDetails,omitempty"`
1690
1691	// ChannelDetails: Channel details. This field will be populated when
1692	// the targeting_type is `TARGETING_TYPE_CHANNEL`.
1693	ChannelDetails *ChannelAssignedTargetingOptionDetails `json:"channelDetails,omitempty"`
1694
1695	// ContentInstreamPositionDetails: Content instream position details.
1696	// This field will be populated when the targeting_type is
1697	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
1698	ContentInstreamPositionDetails *ContentInstreamPositionAssignedTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
1699
1700	// ContentOutstreamPositionDetails: Content outstream position details.
1701	// This field will be populated when the targeting_type is
1702	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
1703	ContentOutstreamPositionDetails *ContentOutstreamPositionAssignedTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
1704
1705	// DayAndTimeDetails: Day and time details. This field will be populated
1706	// when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`.
1707	DayAndTimeDetails *DayAndTimeAssignedTargetingOptionDetails `json:"dayAndTimeDetails,omitempty"`
1708
1709	// DeviceMakeModelDetails: Device make and model details. This field
1710	// will be populated when the targeting_type is
1711	// `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
1712	DeviceMakeModelDetails *DeviceMakeModelAssignedTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
1713
1714	// DeviceTypeDetails: Device Type details. This field will be populated
1715	// when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
1716	DeviceTypeDetails *DeviceTypeAssignedTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
1717
1718	// DigitalContentLabelExclusionDetails: Digital content label details.
1719	// This field will be populated when the targeting_type is
1720	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content
1721	// labels are targeting exclusions. Advertiser level digital content
1722	// label exclusions, if set, are always applied in serving (even though
1723	// they aren't visible in resource settings). Resource settings can
1724	// exclude content labels in addition to advertiser exclusions, but
1725	// can't override them. A line item won't serve if all the digital
1726	// content labels are excluded.
1727	DigitalContentLabelExclusionDetails *DigitalContentLabelAssignedTargetingOptionDetails `json:"digitalContentLabelExclusionDetails,omitempty"`
1728
1729	// EnvironmentDetails: Environment details. This field will be populated
1730	// when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`.
1731	EnvironmentDetails *EnvironmentAssignedTargetingOptionDetails `json:"environmentDetails,omitempty"`
1732
1733	// ExchangeDetails: Exchange details. This field will be populated when
1734	// the targeting_type is `TARGETING_TYPE_EXCHANGE`.
1735	ExchangeDetails *ExchangeAssignedTargetingOptionDetails `json:"exchangeDetails,omitempty"`
1736
1737	// GenderDetails: Gender details. This field will be populated when the
1738	// targeting_type is `TARGETING_TYPE_GENDER`.
1739	GenderDetails *GenderAssignedTargetingOptionDetails `json:"genderDetails,omitempty"`
1740
1741	// GeoRegionDetails: Geographic region details. This field will be
1742	// populated when the targeting_type is `TARGETING_TYPE_GEO_REGION`.
1743	GeoRegionDetails *GeoRegionAssignedTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
1744
1745	// HouseholdIncomeDetails: Household income details. This field will be
1746	// populated when the targeting_type is
1747	// `TARGETING_TYPE_HOUSEHOLD_INCOME`.
1748	HouseholdIncomeDetails *HouseholdIncomeAssignedTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
1749
1750	// Inheritance: Output only. The inheritance status of the assigned
1751	// targeting option.
1752	//
1753	// Possible values:
1754	//   "INHERITANCE_UNSPECIFIED" - The inheritance is unspecified or
1755	// unknown.
1756	//   "NOT_INHERITED" - The assigned targeting option is not inherited
1757	// from higher level entity.
1758	//   "INHERITED_FROM_PARTNER" - The assigned targeting option is
1759	// inherited from partner targeting settings.
1760	//   "INHERITED_FROM_ADVERTISER" - The assigned targeting option is
1761	// inherited from advertiser targeting settings.
1762	Inheritance string `json:"inheritance,omitempty"`
1763
1764	// InventorySourceDetails: Inventory source details. This field will be
1765	// populated when the targeting_type is
1766	// `TARGETING_TYPE_INVENTORY_SOURCE`.
1767	InventorySourceDetails *InventorySourceAssignedTargetingOptionDetails `json:"inventorySourceDetails,omitempty"`
1768
1769	// InventorySourceGroupDetails: Inventory source group details. This
1770	// field will be populated when the targeting_type is
1771	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
1772	InventorySourceGroupDetails *InventorySourceGroupAssignedTargetingOptionDetails `json:"inventorySourceGroupDetails,omitempty"`
1773
1774	// KeywordDetails: Keyword details. This field will be populated when
1775	// the targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000
1776	// direct negative keywords can be assigned to a resource. No limit on
1777	// number of positive keywords that can be assigned.
1778	KeywordDetails *KeywordAssignedTargetingOptionDetails `json:"keywordDetails,omitempty"`
1779
1780	// LanguageDetails: Language details. This field will be populated when
1781	// the targeting_type is `TARGETING_TYPE_LANGUAGE`.
1782	LanguageDetails *LanguageAssignedTargetingOptionDetails `json:"languageDetails,omitempty"`
1783
1784	// Name: Output only. The resource name for this assigned targeting
1785	// option.
1786	Name string `json:"name,omitempty"`
1787
1788	// NativeContentPositionDetails: Native content position details. This
1789	// field will be populated when the targeting_type is
1790	// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
1791	NativeContentPositionDetails *NativeContentPositionAssignedTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
1792
1793	// NegativeKeywordListDetails: Keyword details. This field will be
1794	// populated when the targeting_type is
1795	// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative
1796	// keyword lists can be assigned to a resource.
1797	NegativeKeywordListDetails *NegativeKeywordListAssignedTargetingOptionDetails `json:"negativeKeywordListDetails,omitempty"`
1798
1799	// OmidDetails: Open Measurement enabled inventory details. This field
1800	// will be populated when the targeting_type is `TARGETING_TYPE_OMID`.
1801	OmidDetails *OmidAssignedTargetingOptionDetails `json:"omidDetails,omitempty"`
1802
1803	// OnScreenPositionDetails: On screen position details. This field will
1804	// be populated when the targeting_type is
1805	// `TARGETING_TYPE_ON_SCREEN_POSITION`.
1806	OnScreenPositionDetails *OnScreenPositionAssignedTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
1807
1808	// OperatingSystemDetails: Operating system details. This field will be
1809	// populated when the targeting_type is
1810	// `TARGETING_TYPE_OPERATING_SYSTEM`.
1811	OperatingSystemDetails *OperatingSystemAssignedTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
1812
1813	// ParentalStatusDetails: Parental status details. This field will be
1814	// populated when the targeting_type is
1815	// `TARGETING_TYPE_PARENTAL_STATUS`.
1816	ParentalStatusDetails *ParentalStatusAssignedTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
1817
1818	// PoiDetails: POI details. This field will be populated when the
1819	// targeting_type is `TARGETING_TYPE_POI`.
1820	PoiDetails *PoiAssignedTargetingOptionDetails `json:"poiDetails,omitempty"`
1821
1822	// ProximityLocationListDetails: Proximity location list details. This
1823	// field will be populated when the targeting_type is
1824	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
1825	ProximityLocationListDetails *ProximityLocationListAssignedTargetingOptionDetails `json:"proximityLocationListDetails,omitempty"`
1826
1827	// RegionalLocationListDetails: Regional location list details. This
1828	// field will be populated when the targeting_type is
1829	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
1830	RegionalLocationListDetails *RegionalLocationListAssignedTargetingOptionDetails `json:"regionalLocationListDetails,omitempty"`
1831
1832	// SensitiveCategoryExclusionDetails: Sensitive category details. This
1833	// field will be populated when the targeting_type is
1834	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories
1835	// are targeting exclusions. Advertiser level sensitive category
1836	// exclusions, if set, are always applied in serving (even though they
1837	// aren't visible in resource settings). Resource settings can exclude
1838	// sensitive categories in addition to advertiser exclusions, but can't
1839	// override them.
1840	SensitiveCategoryExclusionDetails *SensitiveCategoryAssignedTargetingOptionDetails `json:"sensitiveCategoryExclusionDetails,omitempty"`
1841
1842	// SubExchangeDetails: Sub-exchange details. This field will be
1843	// populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.
1844	SubExchangeDetails *SubExchangeAssignedTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
1845
1846	// TargetingType: Output only. Identifies the type of this assigned
1847	// targeting option.
1848	//
1849	// Possible values:
1850	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
1851	// specified or is unknown in this version.
1852	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
1853	// related websites or apps).
1854	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
1855	// example, education or puzzle games).
1856	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
1857	// Birds).
1858	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
1859	// quora.com).
1860	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
1861	// period on a specific day.
1862	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
1863	// (for example, 18-24).
1864	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
1865	// specified regions on a regional location list.
1866	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
1867	// specified points of interest on a proximity location list.
1868	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
1869	// example, female or male).
1870	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
1871	// size for video ads.
1872	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
1873	// content for video ads.
1874	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
1875	// parental status (for example, parent or not a parent).
1876	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
1877	// ads in a specific content instream position (for example, pre-roll,
1878	// mid-roll, or post-roll).
1879	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
1880	// specific content outstream position.
1881	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
1882	// (for example, tablet or connected TV).
1883	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
1884	// groups of audiences. Singleton field, at most one can exist on a
1885	// single Lineitem at a time.
1886	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
1887	// example, Chrome).
1888	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
1889	// household income range (for example, top 10%).
1890	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
1891	// screen position.
1892	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
1893	// third party verification (for example, IAS or DoubleVerify).
1894	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
1895	// by specific digital content label ratings (for example, DL-MA:
1896	// suitable only for mature audiences).
1897	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
1898	// content by sensitive categories (for example, adult).
1899	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
1900	// (for example, web or app).
1901	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
1902	// carrier or internet service provider (ISP) (for example, Comcast or
1903	// Orange).
1904	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
1905	// operating system (for example, macOS).
1906	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
1907	// device make or model (for example, Roku or Samsung).
1908	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
1909	// example, dog or retriever).
1910	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
1911	// negative keyword list.
1912	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
1913	// (for example, 80% viewable).
1914	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
1915	// category (for example, arts & entertainment).
1916	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
1917	// specific deals and auction packages.
1918	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
1919	// example, English or Japanese).
1920	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
1921	// authorized sellers.
1922	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
1923	// location (for example, a city or state).
1924	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
1925	// a group of deals and auction packages.
1926	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
1927	// exchanges.
1928	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
1929	// sub-exchanges.
1930	//   "TARGETING_TYPE_POI" - Target ads around a specific point of
1931	// interest, such as a notable building, a street address, or
1932	// latitude/longitude coordinates.
1933	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
1934	// business chain within a specific geo region.
1935	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
1936	// native content position.
1937	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
1938	// inventory.
1939	TargetingType string `json:"targetingType,omitempty"`
1940
1941	// ThirdPartyVerifierDetails: Third party verification details. This
1942	// field will be populated when the targeting_type is
1943	// `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
1944	ThirdPartyVerifierDetails *ThirdPartyVerifierAssignedTargetingOptionDetails `json:"thirdPartyVerifierDetails,omitempty"`
1945
1946	// UrlDetails: URL details. This field will be populated when the
1947	// targeting_type is `TARGETING_TYPE_URL`.
1948	UrlDetails *UrlAssignedTargetingOptionDetails `json:"urlDetails,omitempty"`
1949
1950	// UserRewardedContentDetails: User rewarded content details. This field
1951	// will be populated when the targeting_type is
1952	// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
1953	UserRewardedContentDetails *UserRewardedContentAssignedTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
1954
1955	// VideoPlayerSizeDetails: Video player size details. This field will be
1956	// populated when the targeting_type is
1957	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
1958	VideoPlayerSizeDetails *VideoPlayerSizeAssignedTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
1959
1960	// ViewabilityDetails: Viewability details. This field will be populated
1961	// when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only
1962	// target one viewability option per resource.
1963	ViewabilityDetails *ViewabilityAssignedTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
1964
1965	// ServerResponse contains the HTTP response code and headers from the
1966	// server.
1967	googleapi.ServerResponse `json:"-"`
1968
1969	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
1970	// unconditionally include in API requests. By default, fields with
1971	// empty or default values are omitted from API requests. However, any
1972	// non-pointer, non-interface field appearing in ForceSendFields will be
1973	// sent to the server regardless of whether the field is empty or not.
1974	// This may be used to include empty fields in Patch requests.
1975	ForceSendFields []string `json:"-"`
1976
1977	// NullFields is a list of field names (e.g. "AgeRangeDetails") to
1978	// include in API requests with the JSON null value. By default, fields
1979	// with empty values are omitted from API requests. However, any field
1980	// with an empty value appearing in NullFields will be sent to the
1981	// server as null. It is an error if a field in this list has a
1982	// non-empty value. This may be used to include null fields in Patch
1983	// requests.
1984	NullFields []string `json:"-"`
1985}
1986
1987func (s *AssignedTargetingOption) MarshalJSON() ([]byte, error) {
1988	type NoMethod AssignedTargetingOption
1989	raw := NoMethod(*s)
1990	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1991}
1992
1993// AssignedUserRole: A single assigned user role, which defines a user's
1994// authorized interaction with a specified partner or advertiser.
1995type AssignedUserRole struct {
1996	// AdvertiserId: The ID of the advertiser that the assigend user role
1997	// applies to.
1998	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1999
2000	// AssignedUserRoleId: Output only. The ID of the assigned user role.
2001	AssignedUserRoleId string `json:"assignedUserRoleId,omitempty"`
2002
2003	// PartnerId: The ID of the partner that the assigned user role applies
2004	// to.
2005	PartnerId int64 `json:"partnerId,omitempty,string"`
2006
2007	// UserRole: Required. The user role to assign to a user for the entity.
2008	//
2009	// Possible values:
2010	//   "USER_ROLE_UNSPECIFIED" - Default value when the user role is not
2011	// specified or is unknown in this version.
2012	//   "ADMIN" - The user can manage campaigns, creatives, insertion
2013	// orders, line items, and reports for the entity. They can view and
2014	// edit billing information, create or modify users, and enable or
2015	// disable exchanges. This role can only be assigned for a partner
2016	// entity.
2017	//   "ADMIN_PARTNER_CLIENT" - The user can manage campaigns, creatives,
2018	// insertion orders, line items, and reports for the entity. They can
2019	// create and modify other `ADMIN_PARTNER_CLIENT` users and view billing
2020	// information. They cannot view revenue models, markups, or any other
2021	// reseller-sensitive fields. This role can only be assigned for a
2022	// partner entity.
2023	//   "STANDARD" - The user can manage campaigns, creatives, insertion
2024	// orders, line items, and reports for the entity. They cannot create
2025	// and modify users or view billing information.
2026	//   "STANDARD_PLANNER" - The user can view all campaigns, creatives,
2027	// insertion orders, line items, and reports for the entity, including
2028	// all cost data. They can create and modify planning-related features,
2029	// including plans and inventory.
2030	//   "STANDARD_PLANNER_LIMITED" - The user can view all campaigns,
2031	// creatives, insertion orders, line items, and reports for the entity.
2032	// They can create or modify planning-related features, including plans
2033	// and inventory. They have no access to cost data and cannot start,
2034	// accept, or negotiate deals.
2035	//   "STANDARD_PARTNER_CLIENT" - The user can manage campaigns,
2036	// creatives, insertion orders, line items, and reports for the entity.
2037	// They cannot create or modify other users or view billing information.
2038	// They cannot view revenue models, markups, or any other
2039	// reseller-sensitive fields. This role can only be assigned for an
2040	// advertiser entity.
2041	//   "READ_ONLY" - The user can only build reports and view data for the
2042	// entity.
2043	//   "REPORTING_ONLY" - The user can only create and manage reports.
2044	//   "LIMITED_REPORTING_ONLY" - The user can only create and manage the
2045	// following client-safe reports: General, Audience Performance,
2046	// Cross-Partner, Keyword, Order ID, Category, and Third-Party Data
2047	// Provider.
2048	//   "CREATIVE" - The user can view media plan information they need to
2049	// collaborate, but can't view cost-related data or Marketplace.
2050	//   "CREATIVE_ADMIN" - The user can view media plan information they
2051	// need to collaborate, but can't view cost-related data or Marketplace.
2052	// In addition, they can add other creative admins or creative users to
2053	// the entity.
2054	UserRole string `json:"userRole,omitempty"`
2055
2056	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
2057	// unconditionally include in API requests. By default, fields with
2058	// empty or default values are omitted from API requests. However, any
2059	// non-pointer, non-interface field appearing in ForceSendFields will be
2060	// sent to the server regardless of whether the field is empty or not.
2061	// This may be used to include empty fields in Patch requests.
2062	ForceSendFields []string `json:"-"`
2063
2064	// NullFields is a list of field names (e.g. "AdvertiserId") to include
2065	// in API requests with the JSON null value. By default, fields with
2066	// empty values are omitted from API requests. However, any field with
2067	// an empty value appearing in NullFields will be sent to the server as
2068	// null. It is an error if a field in this list has a non-empty value.
2069	// This may be used to include null fields in Patch requests.
2070	NullFields []string `json:"-"`
2071}
2072
2073func (s *AssignedUserRole) MarshalJSON() ([]byte, error) {
2074	type NoMethod AssignedUserRole
2075	raw := NoMethod(*s)
2076	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2077}
2078
2079// AudienceGroupAssignedTargetingOptionDetails: Assigned audience group
2080// targeting option details. This will be populated in the details field
2081// of an AssignedTargetingOption when targeting_type is
2082// `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is
2083// UNION, except for excluded_first_and_third_party_audience_group and
2084// excluded_google_audience_group, of which COMPLEMENT is UNION'ed with
2085// other groups.
2086type AudienceGroupAssignedTargetingOptionDetails struct {
2087	// ExcludedFirstAndThirdPartyAudienceGroup: The first and third party
2088	// audience ids and recencies of the excluded first and third party
2089	// audience group. Used for negative targeting. Its COMPLEMENT is used
2090	// to UNION other audience groups.
2091	ExcludedFirstAndThirdPartyAudienceGroup *FirstAndThirdPartyAudienceGroup `json:"excludedFirstAndThirdPartyAudienceGroup,omitempty"`
2092
2093	// ExcludedGoogleAudienceGroup: The Google audience ids of the excluded
2094	// Google audience group. Used for negative targeting. It's COMPLEMENT
2095	// is used to UNION other audience groups. Only contains Affinity,
2096	// In-market and Installed-apps type Google audiences. All items are
2097	// logically ‘OR’ of each other.
2098	ExcludedGoogleAudienceGroup *GoogleAudienceGroup `json:"excludedGoogleAudienceGroup,omitempty"`
2099
2100	// IncludedCombinedAudienceGroup: The combined audience ids of the
2101	// included combined audience group. Contains combined audience ids
2102	// only.
2103	IncludedCombinedAudienceGroup *CombinedAudienceGroup `json:"includedCombinedAudienceGroup,omitempty"`
2104
2105	// IncludedCustomListGroup: The custom list ids of the included custom
2106	// list group. Contains custom list ids only.
2107	IncludedCustomListGroup *CustomListGroup `json:"includedCustomListGroup,omitempty"`
2108
2109	// IncludedFirstAndThirdPartyAudienceGroups: The first and third party
2110	// audience ids and recencies of included first and third party audience
2111	// groups. Each first and third party audience group contains first and
2112	// third party audience ids only. The relation between each first and
2113	// third party audience group is INTERSECTION, and the result is
2114	// UNION'ed with other audience groups. Repeated groups with same
2115	// settings will be ignored.
2116	IncludedFirstAndThirdPartyAudienceGroups []*FirstAndThirdPartyAudienceGroup `json:"includedFirstAndThirdPartyAudienceGroups,omitempty"`
2117
2118	// IncludedGoogleAudienceGroup: The Google audience ids of the included
2119	// Google audience group. Contains Google audience ids only.
2120	IncludedGoogleAudienceGroup *GoogleAudienceGroup `json:"includedGoogleAudienceGroup,omitempty"`
2121
2122	// ForceSendFields is a list of field names (e.g.
2123	// "ExcludedFirstAndThirdPartyAudienceGroup") to unconditionally include
2124	// in API requests. By default, fields with empty or default values are
2125	// omitted from API requests. However, any non-pointer, non-interface
2126	// field appearing in ForceSendFields will be sent to the server
2127	// regardless of whether the field is empty or not. This may be used to
2128	// include empty fields in Patch requests.
2129	ForceSendFields []string `json:"-"`
2130
2131	// NullFields is a list of field names (e.g.
2132	// "ExcludedFirstAndThirdPartyAudienceGroup") to include in API requests
2133	// with the JSON null value. By default, fields with empty values are
2134	// omitted from API requests. However, any field with an empty value
2135	// appearing in NullFields will be sent to the server as null. It is an
2136	// error if a field in this list has a non-empty value. This may be used
2137	// to include null fields in Patch requests.
2138	NullFields []string `json:"-"`
2139}
2140
2141func (s *AudienceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2142	type NoMethod AudienceGroupAssignedTargetingOptionDetails
2143	raw := NoMethod(*s)
2144	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2145}
2146
2147// AudioVideoOffset: The length an audio or a video has been played.
2148type AudioVideoOffset struct {
2149	// Percentage: The offset in percentage of the audio or video duration.
2150	Percentage int64 `json:"percentage,omitempty,string"`
2151
2152	// Seconds: The offset in seconds from the start of the audio or video.
2153	Seconds int64 `json:"seconds,omitempty,string"`
2154
2155	// ForceSendFields is a list of field names (e.g. "Percentage") to
2156	// unconditionally include in API requests. By default, fields with
2157	// empty or default values are omitted from API requests. However, any
2158	// non-pointer, non-interface field appearing in ForceSendFields will be
2159	// sent to the server regardless of whether the field is empty or not.
2160	// This may be used to include empty fields in Patch requests.
2161	ForceSendFields []string `json:"-"`
2162
2163	// NullFields is a list of field names (e.g. "Percentage") to include in
2164	// API requests with the JSON null value. By default, fields with empty
2165	// values are omitted from API requests. However, any field with an
2166	// empty value appearing in NullFields will be sent to the server as
2167	// null. It is an error if a field in this list has a non-empty value.
2168	// This may be used to include null fields in Patch requests.
2169	NullFields []string `json:"-"`
2170}
2171
2172func (s *AudioVideoOffset) MarshalJSON() ([]byte, error) {
2173	type NoMethod AudioVideoOffset
2174	raw := NoMethod(*s)
2175	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2176}
2177
2178// AuditAdvertiserResponse: Response message for
2179// AdvertiserService.AuditAdvertiser.
2180type AuditAdvertiserResponse struct {
2181	// AdGroupCriteriaCount: The number of individual targeting options from
2182	// the following targeting types that are assigned to a line item under
2183	// this advertiser. These individual targeting options count towards the
2184	// limit of 4500000 ad group targeting options per advertiser.
2185	// Qualifying Targeting types: * Channels, URLs, apps, and collections *
2186	// Demographic * Google Audiences, including Affinity, Custom Affinity,
2187	// and In-market audiences * Inventory source * Keyword * Mobile app
2188	// category * User lists * Video targeting * Viewability
2189	AdGroupCriteriaCount int64 `json:"adGroupCriteriaCount,omitempty,string"`
2190
2191	// CampaignCriteriaCount: The number of individual targeting options
2192	// from the following targeting types that are assigned to a line item
2193	// under this advertiser. These individual targeting options count
2194	// towards the limit of 900000 campaign targeting options per
2195	// advertiser. Qualifying Targeting types: * Position * Browser *
2196	// Connection speed * Day and time * Device and operating system *
2197	// Digital content label * Sensitive categories * Environment *
2198	// Geography, including business chains and proximity * ISP * Language *
2199	// Third-party verification
2200	CampaignCriteriaCount int64 `json:"campaignCriteriaCount,omitempty,string"`
2201
2202	// ChannelsCount: The number of channels created under this advertiser.
2203	// These channels count towards the limit of 1000 channels per
2204	// advertiser.
2205	ChannelsCount int64 `json:"channelsCount,omitempty,string"`
2206
2207	// NegativeKeywordListsCount: The number of negative keyword lists
2208	// created under this advertiser. These negative keyword lists count
2209	// towards the limit of 20 negative keyword lists per advertiser.
2210	NegativeKeywordListsCount int64 `json:"negativeKeywordListsCount,omitempty,string"`
2211
2212	// NegativelyTargetedChannelsCount: The number of negatively targeted
2213	// channels created under this advertiser. These negatively targeted
2214	// channels count towards the limit of 5 negatively targeted channels
2215	// per advertiser.
2216	NegativelyTargetedChannelsCount int64 `json:"negativelyTargetedChannelsCount,omitempty,string"`
2217
2218	// UsedCampaignsCount: The number of ACTIVE and PAUSED campaigns under
2219	// this advertiser. These campaigns count towards the limit of 9999
2220	// campaigns per advertiser.
2221	UsedCampaignsCount int64 `json:"usedCampaignsCount,omitempty,string"`
2222
2223	// UsedInsertionOrdersCount: The number of ACTIVE, PAUSED and DRAFT
2224	// insertion orders under this advertiser. These insertion orders count
2225	// towards the limit of 9999 insertion orders per advertiser.
2226	UsedInsertionOrdersCount int64 `json:"usedInsertionOrdersCount,omitempty,string"`
2227
2228	// UsedLineItemsCount: The number of ACTIVE, PAUSED, and DRAFT line
2229	// items under this advertiser. These line items count towards the limit
2230	// of 9999 line items per advertiser.
2231	UsedLineItemsCount int64 `json:"usedLineItemsCount,omitempty,string"`
2232
2233	// ServerResponse contains the HTTP response code and headers from the
2234	// server.
2235	googleapi.ServerResponse `json:"-"`
2236
2237	// ForceSendFields is a list of field names (e.g.
2238	// "AdGroupCriteriaCount") to unconditionally include in API requests.
2239	// By default, fields with empty or default values are omitted from API
2240	// requests. However, any non-pointer, non-interface field appearing in
2241	// ForceSendFields will be sent to the server regardless of whether the
2242	// field is empty or not. This may be used to include empty fields in
2243	// Patch requests.
2244	ForceSendFields []string `json:"-"`
2245
2246	// NullFields is a list of field names (e.g. "AdGroupCriteriaCount") to
2247	// include in API requests with the JSON null value. By default, fields
2248	// with empty values are omitted from API requests. However, any field
2249	// with an empty value appearing in NullFields will be sent to the
2250	// server as null. It is an error if a field in this list has a
2251	// non-empty value. This may be used to include null fields in Patch
2252	// requests.
2253	NullFields []string `json:"-"`
2254}
2255
2256func (s *AuditAdvertiserResponse) MarshalJSON() ([]byte, error) {
2257	type NoMethod AuditAdvertiserResponse
2258	raw := NoMethod(*s)
2259	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2260}
2261
2262// AuthorizedSellerStatusAssignedTargetingOptionDetails: Represents an
2263// assigned authorized seller status. This will be populated in the
2264// details field of an AssignedTargetingOption when targeting_type is
2265// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2266type AuthorizedSellerStatusAssignedTargetingOptionDetails struct {
2267	// AuthorizedSellerStatus: Output only. The authorized seller status to
2268	// target.
2269	//
2270	// Possible values:
2271	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when
2272	// authorized seller status is not specified in this version. This enum
2273	// is a placeholder for default value and does not represent a real
2274	// authorized seller status option.
2275	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
2276	// authorized sellers that directly own the inventory being monetized,
2277	// as indicated by a DIRECT declaration in the ads.txt file.
2278	//
2279	// "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
2280	//  - All authorized sellers, including publishers that have not posted
2281	// an ads.txt file. Display & Video 360 automatically disallows
2282	// unauthorized sellers.
2283	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
2284
2285	// TargetingOptionId: Required. The targeting_option_id of a
2286	// TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2287	TargetingOptionId string `json:"targetingOptionId,omitempty"`
2288
2289	// ForceSendFields is a list of field names (e.g.
2290	// "AuthorizedSellerStatus") to unconditionally include in API requests.
2291	// By default, fields with empty or default values are omitted from API
2292	// requests. However, any non-pointer, non-interface field appearing in
2293	// ForceSendFields will be sent to the server regardless of whether the
2294	// field is empty or not. This may be used to include empty fields in
2295	// Patch requests.
2296	ForceSendFields []string `json:"-"`
2297
2298	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus")
2299	// to include in API requests with the JSON null value. By default,
2300	// fields with empty values are omitted from API requests. However, any
2301	// field with an empty value appearing in NullFields will be sent to the
2302	// server as null. It is an error if a field in this list has a
2303	// non-empty value. This may be used to include null fields in Patch
2304	// requests.
2305	NullFields []string `json:"-"`
2306}
2307
2308func (s *AuthorizedSellerStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2309	type NoMethod AuthorizedSellerStatusAssignedTargetingOptionDetails
2310	raw := NoMethod(*s)
2311	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2312}
2313
2314// AuthorizedSellerStatusTargetingOptionDetails: Represents a targetable
2315// authorized seller status. This will be populated in the
2316// authorized_seller_status_details field when targeting_type is
2317// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2318type AuthorizedSellerStatusTargetingOptionDetails struct {
2319	// AuthorizedSellerStatus: Output only. The authorized seller status.
2320	//
2321	// Possible values:
2322	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when
2323	// authorized seller status is not specified in this version. This enum
2324	// is a placeholder for default value and does not represent a real
2325	// authorized seller status option.
2326	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
2327	// authorized sellers that directly own the inventory being monetized,
2328	// as indicated by a DIRECT declaration in the ads.txt file.
2329	//
2330	// "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
2331	//  - All authorized sellers, including publishers that have not posted
2332	// an ads.txt file. Display & Video 360 automatically disallows
2333	// unauthorized sellers.
2334	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
2335
2336	// ForceSendFields is a list of field names (e.g.
2337	// "AuthorizedSellerStatus") to unconditionally include in API requests.
2338	// By default, fields with empty or default values are omitted from API
2339	// requests. However, any non-pointer, non-interface field appearing in
2340	// ForceSendFields will be sent to the server regardless of whether the
2341	// field is empty or not. This may be used to include empty fields in
2342	// Patch requests.
2343	ForceSendFields []string `json:"-"`
2344
2345	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus")
2346	// to include in API requests with the JSON null value. By default,
2347	// fields with empty values are omitted from API requests. However, any
2348	// field with an empty value appearing in NullFields will be sent to the
2349	// server as null. It is an error if a field in this list has a
2350	// non-empty value. This may be used to include null fields in Patch
2351	// requests.
2352	NullFields []string `json:"-"`
2353}
2354
2355func (s *AuthorizedSellerStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2356	type NoMethod AuthorizedSellerStatusTargetingOptionDetails
2357	raw := NoMethod(*s)
2358	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2359}
2360
2361// BiddingStrategy: Settings that control the bid strategy. Bid strategy
2362// determines the bid price.
2363type BiddingStrategy struct {
2364	// FixedBid: A strategy that uses a fixed bid price.
2365	FixedBid *FixedBidStrategy `json:"fixedBid,omitempty"`
2366
2367	// MaximizeSpendAutoBid: A strategy that automatically adjusts the bid
2368	// to optimize to your performance goal while spending the full budget.
2369	// At insertion order level, the markup_type of line items cannot be set
2370	// to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when
2371	// performance_goal_type is one of: *
2372	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
2373	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
2374	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the
2375	// line_item_type of the insertion order line items must be either: *
2376	// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` ,
2377	// and when performance_goal_type is either: *
2378	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` *
2379	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type
2380	// of the insertion order line items must be
2381	// `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
2382	MaximizeSpendAutoBid *MaximizeSpendBidStrategy `json:"maximizeSpendAutoBid,omitempty"`
2383
2384	// PerformanceGoalAutoBid: A strategy that automatically adjusts the bid
2385	// to meet or beat a specified performance goal. It is to be used only
2386	// for a line item entity.
2387	PerformanceGoalAutoBid *PerformanceGoalBidStrategy `json:"performanceGoalAutoBid,omitempty"`
2388
2389	// ForceSendFields is a list of field names (e.g. "FixedBid") to
2390	// unconditionally include in API requests. By default, fields with
2391	// empty or default values are omitted from API requests. However, any
2392	// non-pointer, non-interface field appearing in ForceSendFields will be
2393	// sent to the server regardless of whether the field is empty or not.
2394	// This may be used to include empty fields in Patch requests.
2395	ForceSendFields []string `json:"-"`
2396
2397	// NullFields is a list of field names (e.g. "FixedBid") to include in
2398	// API requests with the JSON null value. By default, fields with empty
2399	// values are omitted from API requests. However, any field with an
2400	// empty value appearing in NullFields will be sent to the server as
2401	// null. It is an error if a field in this list has a non-empty value.
2402	// This may be used to include null fields in Patch requests.
2403	NullFields []string `json:"-"`
2404}
2405
2406func (s *BiddingStrategy) MarshalJSON() ([]byte, error) {
2407	type NoMethod BiddingStrategy
2408	raw := NoMethod(*s)
2409	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2410}
2411
2412// BrowserAssignedTargetingOptionDetails: Details for assigned browser
2413// targeting option. This will be populated in the details field of an
2414// AssignedTargetingOption when targeting_type is
2415// `TARGETING_TYPE_BROWSER`.
2416type BrowserAssignedTargetingOptionDetails struct {
2417	// DisplayName: Output only. The display name of the browser.
2418	DisplayName string `json:"displayName,omitempty"`
2419
2420	// Negative: Indicates if this option is being negatively targeted. All
2421	// assigned browser targeting options on the same resource must have the
2422	// same value for this field.
2423	Negative bool `json:"negative,omitempty"`
2424
2425	// TargetingOptionId: Required. The targeting_option_id of a
2426	// TargetingOption of type `TARGETING_TYPE_BROWSER`.
2427	TargetingOptionId string `json:"targetingOptionId,omitempty"`
2428
2429	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2430	// unconditionally include in API requests. By default, fields with
2431	// empty or default values are omitted from API requests. However, any
2432	// non-pointer, non-interface field appearing in ForceSendFields will be
2433	// sent to the server regardless of whether the field is empty or not.
2434	// This may be used to include empty fields in Patch requests.
2435	ForceSendFields []string `json:"-"`
2436
2437	// NullFields is a list of field names (e.g. "DisplayName") to include
2438	// in API requests with the JSON null value. By default, fields with
2439	// empty values are omitted from API requests. However, any field with
2440	// an empty value appearing in NullFields will be sent to the server as
2441	// null. It is an error if a field in this list has a non-empty value.
2442	// This may be used to include null fields in Patch requests.
2443	NullFields []string `json:"-"`
2444}
2445
2446func (s *BrowserAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2447	type NoMethod BrowserAssignedTargetingOptionDetails
2448	raw := NoMethod(*s)
2449	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2450}
2451
2452// BrowserTargetingOptionDetails: Represents a targetable browser. This
2453// will be populated in the browser_details field when targeting_type is
2454// `TARGETING_TYPE_BROWSER`.
2455type BrowserTargetingOptionDetails struct {
2456	// DisplayName: Output only. The display name of the browser.
2457	DisplayName string `json:"displayName,omitempty"`
2458
2459	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2460	// unconditionally include in API requests. By default, fields with
2461	// empty or default values are omitted from API requests. However, any
2462	// non-pointer, non-interface field appearing in ForceSendFields will be
2463	// sent to the server regardless of whether the field is empty or not.
2464	// This may be used to include empty fields in Patch requests.
2465	ForceSendFields []string `json:"-"`
2466
2467	// NullFields is a list of field names (e.g. "DisplayName") to include
2468	// in API requests with the JSON null value. By default, fields with
2469	// empty values are omitted from API requests. However, any field with
2470	// an empty value appearing in NullFields will be sent to the server as
2471	// null. It is an error if a field in this list has a non-empty value.
2472	// This may be used to include null fields in Patch requests.
2473	NullFields []string `json:"-"`
2474}
2475
2476func (s *BrowserTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2477	type NoMethod BrowserTargetingOptionDetails
2478	raw := NoMethod(*s)
2479	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2480}
2481
2482// BudgetSummary: Summarized information of an individual campaign
2483// budget.
2484type BudgetSummary struct {
2485	// ExternalBudgetId: Corresponds to the external_budget_id of a campaign
2486	// budget. If the value is not set in the campaign budget, this field
2487	// will be empty.
2488	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
2489
2490	// PreTaxAmountMicros: The sum of charges made under this budget before
2491	// taxes, in micros of the invoice's currency. For example, if
2492	// currency_code is `USD`, then 1000000 represents one US dollar.
2493	PreTaxAmountMicros int64 `json:"preTaxAmountMicros,omitempty,string"`
2494
2495	// PrismaCpeCode: Relevant client, product, and estimate codes from the
2496	// Mediaocean Prisma tool. Only applicable for campaign budgets with an
2497	// external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN.
2498	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
2499
2500	// TaxAmountMicros: The amount of tax applied to charges under this
2501	// budget, in micros of the invoice's currency. For example, if
2502	// currency_code is `USD`, then 1000000 represents one US dollar.
2503	TaxAmountMicros int64 `json:"taxAmountMicros,omitempty,string"`
2504
2505	// TotalAmountMicros: The total sum of charges made under this budget,
2506	// including tax, in micros of the invoice's currency. For example, if
2507	// currency_code is `USD`, then 1000000 represents one US dollar.
2508	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
2509
2510	// ForceSendFields is a list of field names (e.g. "ExternalBudgetId") to
2511	// unconditionally include in API requests. By default, fields with
2512	// empty or default values are omitted from API requests. However, any
2513	// non-pointer, non-interface field appearing in ForceSendFields will be
2514	// sent to the server regardless of whether the field is empty or not.
2515	// This may be used to include empty fields in Patch requests.
2516	ForceSendFields []string `json:"-"`
2517
2518	// NullFields is a list of field names (e.g. "ExternalBudgetId") to
2519	// include in API requests with the JSON null value. By default, fields
2520	// with empty values are omitted from API requests. However, any field
2521	// with an empty value appearing in NullFields will be sent to the
2522	// server as null. It is an error if a field in this list has a
2523	// non-empty value. This may be used to include null fields in Patch
2524	// requests.
2525	NullFields []string `json:"-"`
2526}
2527
2528func (s *BudgetSummary) MarshalJSON() ([]byte, error) {
2529	type NoMethod BudgetSummary
2530	raw := NoMethod(*s)
2531	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2532}
2533
2534// BulkEditAdvertiserAssignedTargetingOptionsRequest: Request message
2535// for BulkEditAdvertiserAssignedTargetingOptions.
2536type BulkEditAdvertiserAssignedTargetingOptionsRequest struct {
2537	// CreateRequests: The assigned targeting options to create in batch,
2538	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2539	// Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
2540	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
2541	// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
2542	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2543
2544	// DeleteRequests: The assigned targeting options to delete in batch,
2545	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2546	// Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
2547	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
2548	// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
2549	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2550
2551	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2552	// unconditionally include in API requests. By default, fields with
2553	// empty or default values are omitted from API requests. However, any
2554	// non-pointer, non-interface field appearing in ForceSendFields will be
2555	// sent to the server regardless of whether the field is empty or not.
2556	// This may be used to include empty fields in Patch requests.
2557	ForceSendFields []string `json:"-"`
2558
2559	// NullFields is a list of field names (e.g. "CreateRequests") to
2560	// include in API requests with the JSON null value. By default, fields
2561	// with empty values are omitted from API requests. However, any field
2562	// with an empty value appearing in NullFields will be sent to the
2563	// server as null. It is an error if a field in this list has a
2564	// non-empty value. This may be used to include null fields in Patch
2565	// requests.
2566	NullFields []string `json:"-"`
2567}
2568
2569func (s *BulkEditAdvertiserAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2570	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsRequest
2571	raw := NoMethod(*s)
2572	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2573}
2574
2575type BulkEditAdvertiserAssignedTargetingOptionsResponse struct {
2576	// CreatedAssignedTargetingOptions: The list of assigned targeting
2577	// options that have been successfully created. This list will be absent
2578	// if empty.
2579	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2580
2581	// ServerResponse contains the HTTP response code and headers from the
2582	// server.
2583	googleapi.ServerResponse `json:"-"`
2584
2585	// ForceSendFields is a list of field names (e.g.
2586	// "CreatedAssignedTargetingOptions") to unconditionally include in API
2587	// requests. By default, fields with empty or default values are omitted
2588	// from API requests. However, any non-pointer, non-interface field
2589	// appearing in ForceSendFields will be sent to the server regardless of
2590	// whether the field is empty or not. This may be used to include empty
2591	// fields in Patch requests.
2592	ForceSendFields []string `json:"-"`
2593
2594	// NullFields is a list of field names (e.g.
2595	// "CreatedAssignedTargetingOptions") to include in API requests with
2596	// the JSON null value. By default, fields with empty values are omitted
2597	// from API requests. However, any field with an empty value appearing
2598	// in NullFields will be sent to the server as null. It is an error if a
2599	// field in this list has a non-empty value. This may be used to include
2600	// null fields in Patch requests.
2601	NullFields []string `json:"-"`
2602}
2603
2604func (s *BulkEditAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2605	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsResponse
2606	raw := NoMethod(*s)
2607	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2608}
2609
2610// BulkEditAssignedInventorySourcesRequest: Request message for
2611// AssignedInventorySourceService.BulkEdit.
2612type BulkEditAssignedInventorySourcesRequest struct {
2613	// AdvertiserId: The ID of the advertiser that owns the parent inventory
2614	// source group. The parent partner does not have access to these
2615	// assigned inventory sources.
2616	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2617
2618	// CreatedAssignedInventorySources: The assigned inventory sources to
2619	// create in bulk, specified as a list of AssignedInventorySources.
2620	CreatedAssignedInventorySources []*AssignedInventorySource `json:"createdAssignedInventorySources,omitempty"`
2621
2622	// DeletedAssignedInventorySources: The IDs of the assigned inventory
2623	// sources to delete in bulk, specified as a list of
2624	// assigned_inventory_source_ids.
2625	DeletedAssignedInventorySources googleapi.Int64s `json:"deletedAssignedInventorySources,omitempty"`
2626
2627	// PartnerId: The ID of the partner that owns the inventory source
2628	// group. Only this partner has write access to these assigned inventory
2629	// sources.
2630	PartnerId int64 `json:"partnerId,omitempty,string"`
2631
2632	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
2633	// unconditionally include in API requests. By default, fields with
2634	// empty or default values are omitted from API requests. However, any
2635	// non-pointer, non-interface field appearing in ForceSendFields will be
2636	// sent to the server regardless of whether the field is empty or not.
2637	// This may be used to include empty fields in Patch requests.
2638	ForceSendFields []string `json:"-"`
2639
2640	// NullFields is a list of field names (e.g. "AdvertiserId") to include
2641	// in API requests with the JSON null value. By default, fields with
2642	// empty values are omitted from API requests. However, any field with
2643	// an empty value appearing in NullFields will be sent to the server as
2644	// null. It is an error if a field in this list has a non-empty value.
2645	// This may be used to include null fields in Patch requests.
2646	NullFields []string `json:"-"`
2647}
2648
2649func (s *BulkEditAssignedInventorySourcesRequest) MarshalJSON() ([]byte, error) {
2650	type NoMethod BulkEditAssignedInventorySourcesRequest
2651	raw := NoMethod(*s)
2652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2653}
2654
2655// BulkEditAssignedInventorySourcesResponse: Response message for
2656// AssignedInventorySourceService.BulkEdit.
2657type BulkEditAssignedInventorySourcesResponse struct {
2658	// AssignedInventorySources: The list of assigned inventory sources that
2659	// have been successfully created. This list will be absent if empty.
2660	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
2661
2662	// ServerResponse contains the HTTP response code and headers from the
2663	// server.
2664	googleapi.ServerResponse `json:"-"`
2665
2666	// ForceSendFields is a list of field names (e.g.
2667	// "AssignedInventorySources") to unconditionally include in API
2668	// requests. By default, fields with empty or default values are omitted
2669	// from API requests. However, any non-pointer, non-interface field
2670	// appearing in ForceSendFields will be sent to the server regardless of
2671	// whether the field is empty or not. This may be used to include empty
2672	// fields in Patch requests.
2673	ForceSendFields []string `json:"-"`
2674
2675	// NullFields is a list of field names (e.g. "AssignedInventorySources")
2676	// to include in API requests with the JSON null value. By default,
2677	// fields with empty values are omitted from API requests. However, any
2678	// field with an empty value appearing in NullFields will be sent to the
2679	// server as null. It is an error if a field in this list has a
2680	// non-empty value. This may be used to include null fields in Patch
2681	// requests.
2682	NullFields []string `json:"-"`
2683}
2684
2685func (s *BulkEditAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
2686	type NoMethod BulkEditAssignedInventorySourcesResponse
2687	raw := NoMethod(*s)
2688	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2689}
2690
2691// BulkEditAssignedLocationsRequest: Request message for
2692// AssignedLocationService.BulkEditAssignedLocations.
2693type BulkEditAssignedLocationsRequest struct {
2694	// CreatedAssignedLocations: The assigned locations to create in bulk,
2695	// specified as a list of AssignedLocations.
2696	CreatedAssignedLocations []*AssignedLocation `json:"createdAssignedLocations,omitempty"`
2697
2698	// DeletedAssignedLocations: The IDs of the assigned locations to delete
2699	// in bulk, specified as a list of assigned_location_ids.
2700	DeletedAssignedLocations googleapi.Int64s `json:"deletedAssignedLocations,omitempty"`
2701
2702	// ForceSendFields is a list of field names (e.g.
2703	// "CreatedAssignedLocations") to unconditionally include in API
2704	// requests. By default, fields with empty or default values are omitted
2705	// from API requests. However, any non-pointer, non-interface field
2706	// appearing in ForceSendFields will be sent to the server regardless of
2707	// whether the field is empty or not. This may be used to include empty
2708	// fields in Patch requests.
2709	ForceSendFields []string `json:"-"`
2710
2711	// NullFields is a list of field names (e.g. "CreatedAssignedLocations")
2712	// to include in API requests with the JSON null value. By default,
2713	// fields with empty values are omitted from API requests. However, any
2714	// field with an empty value appearing in NullFields will be sent to the
2715	// server as null. It is an error if a field in this list has a
2716	// non-empty value. This may be used to include null fields in Patch
2717	// requests.
2718	NullFields []string `json:"-"`
2719}
2720
2721func (s *BulkEditAssignedLocationsRequest) MarshalJSON() ([]byte, error) {
2722	type NoMethod BulkEditAssignedLocationsRequest
2723	raw := NoMethod(*s)
2724	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2725}
2726
2727// BulkEditAssignedLocationsResponse: Response message for
2728// AssignedLocationService.BulkEditAssignedLocations.
2729type BulkEditAssignedLocationsResponse struct {
2730	// AssignedLocations: The list of assigned locations that have been
2731	// successfully created. This list will be absent if empty.
2732	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
2733
2734	// ServerResponse contains the HTTP response code and headers from the
2735	// server.
2736	googleapi.ServerResponse `json:"-"`
2737
2738	// ForceSendFields is a list of field names (e.g. "AssignedLocations")
2739	// to unconditionally include in API requests. By default, fields with
2740	// empty or default values are omitted from API requests. However, any
2741	// non-pointer, non-interface field appearing in ForceSendFields will be
2742	// sent to the server regardless of whether the field is empty or not.
2743	// This may be used to include empty fields in Patch requests.
2744	ForceSendFields []string `json:"-"`
2745
2746	// NullFields is a list of field names (e.g. "AssignedLocations") to
2747	// include in API requests with the JSON null value. By default, fields
2748	// with empty values are omitted from API requests. However, any field
2749	// with an empty value appearing in NullFields will be sent to the
2750	// server as null. It is an error if a field in this list has a
2751	// non-empty value. This may be used to include null fields in Patch
2752	// requests.
2753	NullFields []string `json:"-"`
2754}
2755
2756func (s *BulkEditAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
2757	type NoMethod BulkEditAssignedLocationsResponse
2758	raw := NoMethod(*s)
2759	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2760}
2761
2762// BulkEditAssignedUserRolesRequest: Request message for
2763// BulkEditAssignedUserRoles.
2764type BulkEditAssignedUserRolesRequest struct {
2765	// CreatedAssignedUserRoles: The assigned user roles to create in batch,
2766	// specified as a list of AssignedUserRoles.
2767	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
2768
2769	// DeletedAssignedUserRoles: The assigned user roles to delete in batch,
2770	// specified as a list of assigned_user_role_ids. The format of
2771	// assigned_user_role_id is `entityType-entityid`, for example
2772	// `partner-123`.
2773	DeletedAssignedUserRoles []string `json:"deletedAssignedUserRoles,omitempty"`
2774
2775	// ForceSendFields is a list of field names (e.g.
2776	// "CreatedAssignedUserRoles") to unconditionally include in API
2777	// requests. By default, fields with empty or default values are omitted
2778	// from API requests. However, any non-pointer, non-interface field
2779	// appearing in ForceSendFields will be sent to the server regardless of
2780	// whether the field is empty or not. This may be used to include empty
2781	// fields in Patch requests.
2782	ForceSendFields []string `json:"-"`
2783
2784	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles")
2785	// to include in API requests with the JSON null value. By default,
2786	// fields with empty values are omitted from API requests. However, any
2787	// field with an empty value appearing in NullFields will be sent to the
2788	// server as null. It is an error if a field in this list has a
2789	// non-empty value. This may be used to include null fields in Patch
2790	// requests.
2791	NullFields []string `json:"-"`
2792}
2793
2794func (s *BulkEditAssignedUserRolesRequest) MarshalJSON() ([]byte, error) {
2795	type NoMethod BulkEditAssignedUserRolesRequest
2796	raw := NoMethod(*s)
2797	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2798}
2799
2800type BulkEditAssignedUserRolesResponse struct {
2801	// CreatedAssignedUserRoles: The list of assigned user roles that have
2802	// been successfully created. This list will be absent if empty.
2803	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
2804
2805	// ServerResponse contains the HTTP response code and headers from the
2806	// server.
2807	googleapi.ServerResponse `json:"-"`
2808
2809	// ForceSendFields is a list of field names (e.g.
2810	// "CreatedAssignedUserRoles") to unconditionally include in API
2811	// requests. By default, fields with empty or default values are omitted
2812	// from API requests. However, any non-pointer, non-interface field
2813	// appearing in ForceSendFields will be sent to the server regardless of
2814	// whether the field is empty or not. This may be used to include empty
2815	// fields in Patch requests.
2816	ForceSendFields []string `json:"-"`
2817
2818	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles")
2819	// to include in API requests with the JSON null value. By default,
2820	// fields with empty values are omitted from API requests. However, any
2821	// field with an empty value appearing in NullFields will be sent to the
2822	// server as null. It is an error if a field in this list has a
2823	// non-empty value. This may be used to include null fields in Patch
2824	// requests.
2825	NullFields []string `json:"-"`
2826}
2827
2828func (s *BulkEditAssignedUserRolesResponse) MarshalJSON() ([]byte, error) {
2829	type NoMethod BulkEditAssignedUserRolesResponse
2830	raw := NoMethod(*s)
2831	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2832}
2833
2834// BulkEditLineItemAssignedTargetingOptionsRequest: Request message for
2835// BulkEditLineItemAssignedTargetingOptions.
2836type BulkEditLineItemAssignedTargetingOptionsRequest struct {
2837	// CreateRequests: The assigned targeting options to create in batch,
2838	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2839	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2840
2841	// DeleteRequests: The assigned targeting options to delete in batch,
2842	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2843	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2844
2845	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2846	// unconditionally include in API requests. By default, fields with
2847	// empty or default values are omitted from API requests. However, any
2848	// non-pointer, non-interface field appearing in ForceSendFields will be
2849	// sent to the server regardless of whether the field is empty or not.
2850	// This may be used to include empty fields in Patch requests.
2851	ForceSendFields []string `json:"-"`
2852
2853	// NullFields is a list of field names (e.g. "CreateRequests") to
2854	// include in API requests with the JSON null value. By default, fields
2855	// with empty values are omitted from API requests. However, any field
2856	// with an empty value appearing in NullFields will be sent to the
2857	// server as null. It is an error if a field in this list has a
2858	// non-empty value. This may be used to include null fields in Patch
2859	// requests.
2860	NullFields []string `json:"-"`
2861}
2862
2863func (s *BulkEditLineItemAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2864	type NoMethod BulkEditLineItemAssignedTargetingOptionsRequest
2865	raw := NoMethod(*s)
2866	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2867}
2868
2869type BulkEditLineItemAssignedTargetingOptionsResponse struct {
2870	// CreatedAssignedTargetingOptions: The list of assigned targeting
2871	// options that have been successfully created. This list will be absent
2872	// if empty.
2873	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2874
2875	// ServerResponse contains the HTTP response code and headers from the
2876	// server.
2877	googleapi.ServerResponse `json:"-"`
2878
2879	// ForceSendFields is a list of field names (e.g.
2880	// "CreatedAssignedTargetingOptions") to unconditionally include in API
2881	// requests. By default, fields with empty or default values are omitted
2882	// from API requests. However, any non-pointer, non-interface field
2883	// appearing in ForceSendFields will be sent to the server regardless of
2884	// whether the field is empty or not. This may be used to include empty
2885	// fields in Patch requests.
2886	ForceSendFields []string `json:"-"`
2887
2888	// NullFields is a list of field names (e.g.
2889	// "CreatedAssignedTargetingOptions") to include in API requests with
2890	// the JSON null value. By default, fields with empty values are omitted
2891	// from API requests. However, any field with an empty value appearing
2892	// in NullFields will be sent to the server as null. It is an error if a
2893	// field in this list has a non-empty value. This may be used to include
2894	// null fields in Patch requests.
2895	NullFields []string `json:"-"`
2896}
2897
2898func (s *BulkEditLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2899	type NoMethod BulkEditLineItemAssignedTargetingOptionsResponse
2900	raw := NoMethod(*s)
2901	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2902}
2903
2904// BulkEditNegativeKeywordsRequest: Request message for
2905// NegativeKeywordService.BulkEditNegativeKeywords.
2906type BulkEditNegativeKeywordsRequest struct {
2907	// CreatedNegativeKeywords: The negative keywords to create in batch,
2908	// specified as a list of NegativeKeywords.
2909	CreatedNegativeKeywords []*NegativeKeyword `json:"createdNegativeKeywords,omitempty"`
2910
2911	// DeletedNegativeKeywords: The negative keywords to delete in batch,
2912	// specified as a list of keyword_values.
2913	DeletedNegativeKeywords []string `json:"deletedNegativeKeywords,omitempty"`
2914
2915	// ForceSendFields is a list of field names (e.g.
2916	// "CreatedNegativeKeywords") to unconditionally include in API
2917	// requests. By default, fields with empty or default values are omitted
2918	// from API requests. However, any non-pointer, non-interface field
2919	// appearing in ForceSendFields will be sent to the server regardless of
2920	// whether the field is empty or not. This may be used to include empty
2921	// fields in Patch requests.
2922	ForceSendFields []string `json:"-"`
2923
2924	// NullFields is a list of field names (e.g. "CreatedNegativeKeywords")
2925	// to include in API requests with the JSON null value. By default,
2926	// fields with empty values are omitted from API requests. However, any
2927	// field with an empty value appearing in NullFields will be sent to the
2928	// server as null. It is an error if a field in this list has a
2929	// non-empty value. This may be used to include null fields in Patch
2930	// requests.
2931	NullFields []string `json:"-"`
2932}
2933
2934func (s *BulkEditNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
2935	type NoMethod BulkEditNegativeKeywordsRequest
2936	raw := NoMethod(*s)
2937	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2938}
2939
2940// BulkEditNegativeKeywordsResponse: Response message for
2941// NegativeKeywordService.BulkEditNegativeKeywords.
2942type BulkEditNegativeKeywordsResponse struct {
2943	// NegativeKeywords: The list of negative keywords that have been
2944	// successfully created. This list will be absent if empty.
2945	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
2946
2947	// ServerResponse contains the HTTP response code and headers from the
2948	// server.
2949	googleapi.ServerResponse `json:"-"`
2950
2951	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
2952	// unconditionally include in API requests. By default, fields with
2953	// empty or default values are omitted from API requests. However, any
2954	// non-pointer, non-interface field appearing in ForceSendFields will be
2955	// sent to the server regardless of whether the field is empty or not.
2956	// This may be used to include empty fields in Patch requests.
2957	ForceSendFields []string `json:"-"`
2958
2959	// NullFields is a list of field names (e.g. "NegativeKeywords") to
2960	// include in API requests with the JSON null value. By default, fields
2961	// with empty values are omitted from API requests. However, any field
2962	// with an empty value appearing in NullFields will be sent to the
2963	// server as null. It is an error if a field in this list has a
2964	// non-empty value. This may be used to include null fields in Patch
2965	// requests.
2966	NullFields []string `json:"-"`
2967}
2968
2969func (s *BulkEditNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
2970	type NoMethod BulkEditNegativeKeywordsResponse
2971	raw := NoMethod(*s)
2972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2973}
2974
2975// BulkEditPartnerAssignedTargetingOptionsRequest: Request message for
2976// BulkEditPartnerAssignedTargetingOptions.
2977type BulkEditPartnerAssignedTargetingOptionsRequest struct {
2978	// CreateRequests: The assigned targeting options to create in batch,
2979	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2980	// Supported targeting types: * `TARGETING_TYPE_CHANNEL`
2981	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2982
2983	// DeleteRequests: The assigned targeting options to delete in batch,
2984	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2985	// Supported targeting types: * `TARGETING_TYPE_CHANNEL`
2986	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2987
2988	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2989	// unconditionally include in API requests. By default, fields with
2990	// empty or default values are omitted from API requests. However, any
2991	// non-pointer, non-interface field appearing in ForceSendFields will be
2992	// sent to the server regardless of whether the field is empty or not.
2993	// This may be used to include empty fields in Patch requests.
2994	ForceSendFields []string `json:"-"`
2995
2996	// NullFields is a list of field names (e.g. "CreateRequests") to
2997	// include in API requests with the JSON null value. By default, fields
2998	// with empty values are omitted from API requests. However, any field
2999	// with an empty value appearing in NullFields will be sent to the
3000	// server as null. It is an error if a field in this list has a
3001	// non-empty value. This may be used to include null fields in Patch
3002	// requests.
3003	NullFields []string `json:"-"`
3004}
3005
3006func (s *BulkEditPartnerAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
3007	type NoMethod BulkEditPartnerAssignedTargetingOptionsRequest
3008	raw := NoMethod(*s)
3009	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3010}
3011
3012type BulkEditPartnerAssignedTargetingOptionsResponse struct {
3013	// CreatedAssignedTargetingOptions: The list of assigned targeting
3014	// options that have been successfully created. This list will be absent
3015	// if empty.
3016	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
3017
3018	// ServerResponse contains the HTTP response code and headers from the
3019	// server.
3020	googleapi.ServerResponse `json:"-"`
3021
3022	// ForceSendFields is a list of field names (e.g.
3023	// "CreatedAssignedTargetingOptions") to unconditionally include in API
3024	// requests. By default, fields with empty or default values are omitted
3025	// from API requests. However, any non-pointer, non-interface field
3026	// appearing in ForceSendFields will be sent to the server regardless of
3027	// whether the field is empty or not. This may be used to include empty
3028	// fields in Patch requests.
3029	ForceSendFields []string `json:"-"`
3030
3031	// NullFields is a list of field names (e.g.
3032	// "CreatedAssignedTargetingOptions") to include in API requests with
3033	// the JSON null value. By default, fields with empty values are omitted
3034	// from API requests. However, any field with an empty value appearing
3035	// in NullFields will be sent to the server as null. It is an error if a
3036	// field in this list has a non-empty value. This may be used to include
3037	// null fields in Patch requests.
3038	NullFields []string `json:"-"`
3039}
3040
3041func (s *BulkEditPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3042	type NoMethod BulkEditPartnerAssignedTargetingOptionsResponse
3043	raw := NoMethod(*s)
3044	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3045}
3046
3047// BulkEditSitesRequest: Request message for SiteService.BulkEditSites.
3048type BulkEditSitesRequest struct {
3049	// AdvertiserId: The ID of the advertiser that owns the parent channel.
3050	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3051
3052	// CreatedSites: The sites to create in batch, specified as a list of
3053	// Sites.
3054	CreatedSites []*Site `json:"createdSites,omitempty"`
3055
3056	// DeletedSites: The sites to delete in batch, specified as a list of
3057	// site url_or_app_ids.
3058	DeletedSites []string `json:"deletedSites,omitempty"`
3059
3060	// PartnerId: The ID of the partner that owns the parent channel.
3061	PartnerId int64 `json:"partnerId,omitempty,string"`
3062
3063	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3064	// unconditionally include in API requests. By default, fields with
3065	// empty or default values are omitted from API requests. However, any
3066	// non-pointer, non-interface field appearing in ForceSendFields will be
3067	// sent to the server regardless of whether the field is empty or not.
3068	// This may be used to include empty fields in Patch requests.
3069	ForceSendFields []string `json:"-"`
3070
3071	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3072	// in API requests with the JSON null value. By default, fields with
3073	// empty values are omitted from API requests. However, any field with
3074	// an empty value appearing in NullFields will be sent to the server as
3075	// null. It is an error if a field in this list has a non-empty value.
3076	// This may be used to include null fields in Patch requests.
3077	NullFields []string `json:"-"`
3078}
3079
3080func (s *BulkEditSitesRequest) MarshalJSON() ([]byte, error) {
3081	type NoMethod BulkEditSitesRequest
3082	raw := NoMethod(*s)
3083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3084}
3085
3086// BulkEditSitesResponse: Response message for
3087// SiteService.BulkEditSites.
3088type BulkEditSitesResponse struct {
3089	// Sites: The list of sites that have been successfully created. This
3090	// list will be absent if empty.
3091	Sites []*Site `json:"sites,omitempty"`
3092
3093	// ServerResponse contains the HTTP response code and headers from the
3094	// server.
3095	googleapi.ServerResponse `json:"-"`
3096
3097	// ForceSendFields is a list of field names (e.g. "Sites") to
3098	// unconditionally include in API requests. By default, fields with
3099	// empty or default values are omitted from API requests. However, any
3100	// non-pointer, non-interface field appearing in ForceSendFields will be
3101	// sent to the server regardless of whether the field is empty or not.
3102	// This may be used to include empty fields in Patch requests.
3103	ForceSendFields []string `json:"-"`
3104
3105	// NullFields is a list of field names (e.g. "Sites") to include in API
3106	// requests with the JSON null value. By default, fields with empty
3107	// values are omitted from API requests. However, any field with an
3108	// empty value appearing in NullFields will be sent to the server as
3109	// null. It is an error if a field in this list has a non-empty value.
3110	// This may be used to include null fields in Patch requests.
3111	NullFields []string `json:"-"`
3112}
3113
3114func (s *BulkEditSitesResponse) MarshalJSON() ([]byte, error) {
3115	type NoMethod BulkEditSitesResponse
3116	raw := NoMethod(*s)
3117	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3118}
3119
3120type BulkListAdvertiserAssignedTargetingOptionsResponse struct {
3121	// AssignedTargetingOptions: The list of assigned targeting options.
3122	// This list will be absent if empty.
3123	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3124
3125	// NextPageToken: A token identifying the next page of results. This
3126	// value should be specified as the pageToken in a subsequent
3127	// BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next
3128	// page of results. This token will be absent if there are no more
3129	// assigned_targeting_options to return.
3130	NextPageToken string `json:"nextPageToken,omitempty"`
3131
3132	// ServerResponse contains the HTTP response code and headers from the
3133	// server.
3134	googleapi.ServerResponse `json:"-"`
3135
3136	// ForceSendFields is a list of field names (e.g.
3137	// "AssignedTargetingOptions") to unconditionally include in API
3138	// requests. By default, fields with empty or default values are omitted
3139	// from API requests. However, any non-pointer, non-interface field
3140	// appearing in ForceSendFields will be sent to the server regardless of
3141	// whether the field is empty or not. This may be used to include empty
3142	// fields in Patch requests.
3143	ForceSendFields []string `json:"-"`
3144
3145	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3146	// to include in API requests with the JSON null value. By default,
3147	// fields with empty values are omitted from API requests. However, any
3148	// field with an empty value appearing in NullFields will be sent to the
3149	// server as null. It is an error if a field in this list has a
3150	// non-empty value. This may be used to include null fields in Patch
3151	// requests.
3152	NullFields []string `json:"-"`
3153}
3154
3155func (s *BulkListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3156	type NoMethod BulkListAdvertiserAssignedTargetingOptionsResponse
3157	raw := NoMethod(*s)
3158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3159}
3160
3161// BulkListCampaignAssignedTargetingOptionsResponse: Response message
3162// for BulkListCampaignAssignedTargetingOptions.
3163type BulkListCampaignAssignedTargetingOptionsResponse struct {
3164	// AssignedTargetingOptions: The list of assigned targeting options.
3165	// This list will be absent if empty.
3166	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3167
3168	// NextPageToken: A token identifying the next page of results. This
3169	// value should be specified as the pageToken in a subsequent
3170	// BulkListCampaignAssignedTargetingOptionsRequest to fetch the next
3171	// page of results. This token will be absent if there are no more
3172	// assigned_targeting_options to return.
3173	NextPageToken string `json:"nextPageToken,omitempty"`
3174
3175	// ServerResponse contains the HTTP response code and headers from the
3176	// server.
3177	googleapi.ServerResponse `json:"-"`
3178
3179	// ForceSendFields is a list of field names (e.g.
3180	// "AssignedTargetingOptions") to unconditionally include in API
3181	// requests. By default, fields with empty or default values are omitted
3182	// from API requests. However, any non-pointer, non-interface field
3183	// appearing in ForceSendFields will be sent to the server regardless of
3184	// whether the field is empty or not. This may be used to include empty
3185	// fields in Patch requests.
3186	ForceSendFields []string `json:"-"`
3187
3188	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3189	// to include in API requests with the JSON null value. By default,
3190	// fields with empty values are omitted from API requests. However, any
3191	// field with an empty value appearing in NullFields will be sent to the
3192	// server as null. It is an error if a field in this list has a
3193	// non-empty value. This may be used to include null fields in Patch
3194	// requests.
3195	NullFields []string `json:"-"`
3196}
3197
3198func (s *BulkListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3199	type NoMethod BulkListCampaignAssignedTargetingOptionsResponse
3200	raw := NoMethod(*s)
3201	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3202}
3203
3204// BulkListInsertionOrderAssignedTargetingOptionsResponse: Response
3205// message for BulkListInsertionOrderAssignedTargetingOptions.
3206type BulkListInsertionOrderAssignedTargetingOptionsResponse struct {
3207	// AssignedTargetingOptions: The list of assigned targeting options.
3208	// This list will be absent if empty.
3209	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3210
3211	// NextPageToken: A token identifying the next page of results. This
3212	// value should be specified as the pageToken in a subsequent
3213	// BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the
3214	// next page of results. This token will be absent if there are no more
3215	// assigned_targeting_options to return.
3216	NextPageToken string `json:"nextPageToken,omitempty"`
3217
3218	// ServerResponse contains the HTTP response code and headers from the
3219	// server.
3220	googleapi.ServerResponse `json:"-"`
3221
3222	// ForceSendFields is a list of field names (e.g.
3223	// "AssignedTargetingOptions") to unconditionally include in API
3224	// requests. By default, fields with empty or default values are omitted
3225	// from API requests. However, any non-pointer, non-interface field
3226	// appearing in ForceSendFields will be sent to the server regardless of
3227	// whether the field is empty or not. This may be used to include empty
3228	// fields in Patch requests.
3229	ForceSendFields []string `json:"-"`
3230
3231	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3232	// to include in API requests with the JSON null value. By default,
3233	// fields with empty values are omitted from API requests. However, any
3234	// field with an empty value appearing in NullFields will be sent to the
3235	// server as null. It is an error if a field in this list has a
3236	// non-empty value. This may be used to include null fields in Patch
3237	// requests.
3238	NullFields []string `json:"-"`
3239}
3240
3241func (s *BulkListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3242	type NoMethod BulkListInsertionOrderAssignedTargetingOptionsResponse
3243	raw := NoMethod(*s)
3244	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3245}
3246
3247type BulkListLineItemAssignedTargetingOptionsResponse struct {
3248	// AssignedTargetingOptions: The list of assigned targeting options.
3249	// This list will be absent if empty.
3250	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3251
3252	// NextPageToken: A token identifying the next page of results. This
3253	// value should be specified as the pageToken in a subsequent
3254	// BulkListLineItemAssignedTargetingOptionsRequest to fetch the next
3255	// page of results. This token will be absent if there are no more
3256	// assigned_targeting_options to return.
3257	NextPageToken string `json:"nextPageToken,omitempty"`
3258
3259	// ServerResponse contains the HTTP response code and headers from the
3260	// server.
3261	googleapi.ServerResponse `json:"-"`
3262
3263	// ForceSendFields is a list of field names (e.g.
3264	// "AssignedTargetingOptions") to unconditionally include in API
3265	// requests. By default, fields with empty or default values are omitted
3266	// from API requests. However, any non-pointer, non-interface field
3267	// appearing in ForceSendFields will be sent to the server regardless of
3268	// whether the field is empty or not. This may be used to include empty
3269	// fields in Patch requests.
3270	ForceSendFields []string `json:"-"`
3271
3272	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3273	// to include in API requests with the JSON null value. By default,
3274	// fields with empty values are omitted from API requests. However, any
3275	// field with an empty value appearing in NullFields will be sent to the
3276	// server as null. It is an error if a field in this list has a
3277	// non-empty value. This may be used to include null fields in Patch
3278	// requests.
3279	NullFields []string `json:"-"`
3280}
3281
3282func (s *BulkListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3283	type NoMethod BulkListLineItemAssignedTargetingOptionsResponse
3284	raw := NoMethod(*s)
3285	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3286}
3287
3288// BusinessChainAssignedTargetingOptionDetails: Details for assigned
3289// Business chain targeting option. This will be populated in the
3290// details field of an AssignedTargetingOption when targeting_type is
3291// `TARGETING_TYPE_BUSINESS_CHAIN`.
3292type BusinessChainAssignedTargetingOptionDetails struct {
3293	// DisplayName: Output only. The display name of a business chain, e.g.
3294	// "KFC", "Chase Bank".
3295	DisplayName string `json:"displayName,omitempty"`
3296
3297	// ProximityRadiusAmount: Required. The radius of the area around the
3298	// business chain that will be targeted. The units of the radius are
3299	// specified by proximity_radius_unit. Must be 1 to 800 if unit is
3300	// `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is
3301	// `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1.
3302	// Inputs will be rounded to the nearest acceptable value if it is too
3303	// granular, e.g. 15.57 will become 15.6.
3304	ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"`
3305
3306	// ProximityRadiusUnit: Required. The unit of distance by which the
3307	// targeting radius is measured.
3308	//
3309	// Possible values:
3310	//   "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is
3311	// unknown in this version.
3312	//   "DISTANCE_UNIT_MILES" - Miles.
3313	//   "DISTANCE_UNIT_KILOMETERS" - Kilometers.
3314	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
3315
3316	// TargetingOptionId: Required. The targeting_option_id of a
3317	// TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`.
3318	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3319
3320	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3321	// unconditionally include in API requests. By default, fields with
3322	// empty or default values are omitted from API requests. However, any
3323	// non-pointer, non-interface field appearing in ForceSendFields will be
3324	// sent to the server regardless of whether the field is empty or not.
3325	// This may be used to include empty fields in Patch requests.
3326	ForceSendFields []string `json:"-"`
3327
3328	// NullFields is a list of field names (e.g. "DisplayName") to include
3329	// in API requests with the JSON null value. By default, fields with
3330	// empty values are omitted from API requests. However, any field with
3331	// an empty value appearing in NullFields will be sent to the server as
3332	// null. It is an error if a field in this list has a non-empty value.
3333	// This may be used to include null fields in Patch requests.
3334	NullFields []string `json:"-"`
3335}
3336
3337func (s *BusinessChainAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3338	type NoMethod BusinessChainAssignedTargetingOptionDetails
3339	raw := NoMethod(*s)
3340	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3341}
3342
3343func (s *BusinessChainAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
3344	type NoMethod BusinessChainAssignedTargetingOptionDetails
3345	var s1 struct {
3346		ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"`
3347		*NoMethod
3348	}
3349	s1.NoMethod = (*NoMethod)(s)
3350	if err := json.Unmarshal(data, &s1); err != nil {
3351		return err
3352	}
3353	s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount)
3354	return nil
3355}
3356
3357// BusinessChainSearchTerms: Search terms for Business Chain targeting
3358// options. At least one of the field should be populated.
3359type BusinessChainSearchTerms struct {
3360	// BusinessChainQuery: The search query for the desired business chain.
3361	// The query must be the full name of the business, e.g. "KFC",
3362	// "mercedes-benz".
3363	BusinessChainQuery string `json:"businessChainQuery,omitempty"`
3364
3365	// RegionQuery: The search query for the desired geo region, e.g.
3366	// "Seattle", "United State".
3367	RegionQuery string `json:"regionQuery,omitempty"`
3368
3369	// ForceSendFields is a list of field names (e.g. "BusinessChainQuery")
3370	// to unconditionally include in API requests. By default, fields with
3371	// empty or default values are omitted from API requests. However, any
3372	// non-pointer, non-interface field appearing in ForceSendFields will be
3373	// sent to the server regardless of whether the field is empty or not.
3374	// This may be used to include empty fields in Patch requests.
3375	ForceSendFields []string `json:"-"`
3376
3377	// NullFields is a list of field names (e.g. "BusinessChainQuery") to
3378	// include in API requests with the JSON null value. By default, fields
3379	// with empty values are omitted from API requests. However, any field
3380	// with an empty value appearing in NullFields will be sent to the
3381	// server as null. It is an error if a field in this list has a
3382	// non-empty value. This may be used to include null fields in Patch
3383	// requests.
3384	NullFields []string `json:"-"`
3385}
3386
3387func (s *BusinessChainSearchTerms) MarshalJSON() ([]byte, error) {
3388	type NoMethod BusinessChainSearchTerms
3389	raw := NoMethod(*s)
3390	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3391}
3392
3393// BusinessChainTargetingOptionDetails: Represents a targetable business
3394// chain within a geo region. This will be populated in the
3395// business_chain_details field when targeting_type is
3396// `TARGETING_TYPE_BUSINESS_CHAIN`.
3397type BusinessChainTargetingOptionDetails struct {
3398	// BusinessChain: Output only. The display name of the business chain,
3399	// e.g. "KFC", "Chase Bank".
3400	BusinessChain string `json:"businessChain,omitempty"`
3401
3402	// GeoRegion: Output only. The display name of the geographic region,
3403	// e.g. "Ontario, Canada".
3404	GeoRegion string `json:"geoRegion,omitempty"`
3405
3406	// GeoRegionType: Output only. The type of the geographic region.
3407	//
3408	// Possible values:
3409	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
3410	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
3411	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
3412	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
3413	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
3414	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
3415	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
3416	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a
3417	// prefecture.
3418	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a
3419	// governorate.
3420	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
3421	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a
3422	// union territory.
3423	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is
3424	// an autonomous community.
3425	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a
3426	// designated market area (DMA) region.
3427	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
3428	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is
3429	// a congressional district.
3430	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
3431	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a
3432	// municipality.
3433	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
3434	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting
3435	// type is postal code.
3436	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type
3437	// is department.
3438	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
3439	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
3440	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
3441	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
3442	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city
3443	// region.
3444	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
3445	// arrondissement.
3446	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a
3447	// neighborhood.
3448	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a
3449	// university.
3450	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
3451	GeoRegionType string `json:"geoRegionType,omitempty"`
3452
3453	// ForceSendFields is a list of field names (e.g. "BusinessChain") to
3454	// unconditionally include in API requests. By default, fields with
3455	// empty or default values are omitted from API requests. However, any
3456	// non-pointer, non-interface field appearing in ForceSendFields will be
3457	// sent to the server regardless of whether the field is empty or not.
3458	// This may be used to include empty fields in Patch requests.
3459	ForceSendFields []string `json:"-"`
3460
3461	// NullFields is a list of field names (e.g. "BusinessChain") to include
3462	// in API requests with the JSON null value. By default, fields with
3463	// empty values are omitted from API requests. However, any field with
3464	// an empty value appearing in NullFields will be sent to the server as
3465	// null. It is an error if a field in this list has a non-empty value.
3466	// This may be used to include null fields in Patch requests.
3467	NullFields []string `json:"-"`
3468}
3469
3470func (s *BusinessChainTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3471	type NoMethod BusinessChainTargetingOptionDetails
3472	raw := NoMethod(*s)
3473	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3474}
3475
3476// Campaign: A single campaign.
3477type Campaign struct {
3478	// AdvertiserId: Output only. The unique ID of the advertiser the
3479	// campaign belongs to.
3480	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3481
3482	// CampaignBudgets: The list of budgets available to this campaign. If
3483	// this field is not set, the campaign uses an unlimited budget.
3484	CampaignBudgets []*CampaignBudget `json:"campaignBudgets,omitempty"`
3485
3486	// CampaignFlight: Required. The planned spend and duration of the
3487	// campaign.
3488	CampaignFlight *CampaignFlight `json:"campaignFlight,omitempty"`
3489
3490	// CampaignGoal: Required. The goal of the campaign.
3491	CampaignGoal *CampaignGoal `json:"campaignGoal,omitempty"`
3492
3493	// CampaignId: Output only. The unique ID of the campaign. Assigned by
3494	// the system.
3495	CampaignId int64 `json:"campaignId,omitempty,string"`
3496
3497	// DisplayName: Required. The display name of the campaign. Must be
3498	// UTF-8 encoded with a maximum size of 240 bytes.
3499	DisplayName string `json:"displayName,omitempty"`
3500
3501	// EntityStatus: Required. Controls whether or not the insertion orders
3502	// under this campaign can spend their budgets and bid on inventory. *
3503	// Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`,
3504	// and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method,
3505	// `ENTITY_STATUS_ARCHIVED` is not allowed.
3506	//
3507	// Possible values:
3508	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
3509	// specified or is unknown in this version.
3510	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
3511	// budget.
3512	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
3513	// budget spending are disabled. An entity can be deleted after
3514	// archived. Deleted entities cannot be retrieved.
3515	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
3516	// budget spending are disabled.
3517	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
3518	// the entity.
3519	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
3520	// for deletion.
3521	EntityStatus string `json:"entityStatus,omitempty"`
3522
3523	// FrequencyCap: Required. The frequency cap setting of the campaign.
3524	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
3525
3526	// Name: Output only. The resource name of the campaign.
3527	Name string `json:"name,omitempty"`
3528
3529	// UpdateTime: Output only. The timestamp when the campaign was last
3530	// updated. Assigned by the system.
3531	UpdateTime string `json:"updateTime,omitempty"`
3532
3533	// ServerResponse contains the HTTP response code and headers from the
3534	// server.
3535	googleapi.ServerResponse `json:"-"`
3536
3537	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3538	// unconditionally include in API requests. By default, fields with
3539	// empty or default values are omitted from API requests. However, any
3540	// non-pointer, non-interface field appearing in ForceSendFields will be
3541	// sent to the server regardless of whether the field is empty or not.
3542	// This may be used to include empty fields in Patch requests.
3543	ForceSendFields []string `json:"-"`
3544
3545	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3546	// in API requests with the JSON null value. By default, fields with
3547	// empty values are omitted from API requests. However, any field with
3548	// an empty value appearing in NullFields will be sent to the server as
3549	// null. It is an error if a field in this list has a non-empty value.
3550	// This may be used to include null fields in Patch requests.
3551	NullFields []string `json:"-"`
3552}
3553
3554func (s *Campaign) MarshalJSON() ([]byte, error) {
3555	type NoMethod Campaign
3556	raw := NoMethod(*s)
3557	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3558}
3559
3560// CampaignBudget: Settings that control how the campaign budget is
3561// allocated.
3562type CampaignBudget struct {
3563	// BudgetAmountMicros: Required. The total amount the linked insertion
3564	// order segments can budget. The amount is in micros. Must be greater
3565	// than 0. For example, 500000000 represents 500 standard units of the
3566	// currency.
3567	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
3568
3569	// BudgetId: The unique ID of the campaign budget. Assigned by the
3570	// system. Do not set for new budgets. Must be included when updating or
3571	// adding budgets to campaign_budgets. Otherwise, a new ID will be
3572	// generated and assigned.
3573	BudgetId int64 `json:"budgetId,omitempty,string"`
3574
3575	// BudgetUnit: Required. Immutable. Specifies whether the budget is
3576	// measured in currency or impressions.
3577	//
3578	// Possible values:
3579	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
3580	// unknown in this version.
3581	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
3582	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
3583	BudgetUnit string `json:"budgetUnit,omitempty"`
3584
3585	// DateRange: Required. The date range for the campaign budget. Linked
3586	// budget segments may have a different date range. They are resolved
3587	// relative to the parent advertiser's time zone. Both `start_date` and
3588	// `end_date` must be before the year 2037.
3589	DateRange *DateRange `json:"dateRange,omitempty"`
3590
3591	// DisplayName: Required. The display name of the budget. Must be UTF-8
3592	// encoded with a maximum size of 240 bytes.
3593	DisplayName string `json:"displayName,omitempty"`
3594
3595	// ExternalBudgetId: Immutable. The ID identifying this budget to the
3596	// external source. If this field is set and the invoice detail level of
3597	// the corresponding billing profile is set to "Budget level PO", all
3598	// impressions served against this budget will include this ID on the
3599	// invoice. Must be unique under the campaign.
3600	ExternalBudgetId string `json:"externalBudgetId,omitempty"`
3601
3602	// ExternalBudgetSource: Required. The external source of the budget.
3603	//
3604	// Possible values:
3605	//   "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED" - External budget source value
3606	// is not specified or unknown in this version.
3607	//   "EXTERNAL_BUDGET_SOURCE_NONE" - Budget has no external source.
3608	//   "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" - Budget source is Mediaocean.
3609	ExternalBudgetSource string `json:"externalBudgetSource,omitempty"`
3610
3611	// InvoiceGroupingId: Immutable. The ID used to group budgets to be
3612	// included the same invoice. If this field is set and the invoice level
3613	// of the corresponding billing profile is set to "Budget invoice
3614	// grouping ID", all external_budget_id sharing the same
3615	// invoice_grouping_id will be grouped in the same invoice.
3616	InvoiceGroupingId string `json:"invoiceGroupingId,omitempty"`
3617
3618	// PrismaConfig: Additional metadata for use by the Mediaocean Prisma
3619	// tool. Required for Mediaocean budgets. Only applicable to
3620	// prisma_enabled advertisers.
3621	PrismaConfig *PrismaConfig `json:"prismaConfig,omitempty"`
3622
3623	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros")
3624	// to unconditionally include in API requests. By default, fields with
3625	// empty or default values are omitted from API requests. However, any
3626	// non-pointer, non-interface field appearing in ForceSendFields will be
3627	// sent to the server regardless of whether the field is empty or not.
3628	// This may be used to include empty fields in Patch requests.
3629	ForceSendFields []string `json:"-"`
3630
3631	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to
3632	// include in API requests with the JSON null value. By default, fields
3633	// with empty values are omitted from API requests. However, any field
3634	// with an empty value appearing in NullFields will be sent to the
3635	// server as null. It is an error if a field in this list has a
3636	// non-empty value. This may be used to include null fields in Patch
3637	// requests.
3638	NullFields []string `json:"-"`
3639}
3640
3641func (s *CampaignBudget) MarshalJSON() ([]byte, error) {
3642	type NoMethod CampaignBudget
3643	raw := NoMethod(*s)
3644	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3645}
3646
3647// CampaignFlight: Settings that track the planned spend and duration of
3648// a campaign.
3649type CampaignFlight struct {
3650	// PlannedDates: Required. The dates that the campaign is expected to
3651	// run. They are resolved relative to the parent advertiser's time zone.
3652	// * The dates specified here will not affect serving. They are used to
3653	// generate alerts and warnings. For example, if the flight date of any
3654	// child insertion order is outside the range of these dates, the user
3655	// interface will show a warning. * `start_date` is required and must be
3656	// the current date or later. * `end_date` is optional. If specified, it
3657	// must be the `start_date` or later. * Any specified date must be
3658	// before the year 2037.
3659	PlannedDates *DateRange `json:"plannedDates,omitempty"`
3660
3661	// PlannedSpendAmountMicros: The amount the campaign is expected to
3662	// spend for its given planned_dates. This will not limit serving, but
3663	// will be used for tracking spend in the DV360 UI. The amount is in
3664	// micros. Must be greater than or equal to 0. For example, 500000000
3665	// represents 500 standard units of the currency.
3666	PlannedSpendAmountMicros int64 `json:"plannedSpendAmountMicros,omitempty,string"`
3667
3668	// ForceSendFields is a list of field names (e.g. "PlannedDates") to
3669	// unconditionally include in API requests. By default, fields with
3670	// empty or default values are omitted from API requests. However, any
3671	// non-pointer, non-interface field appearing in ForceSendFields will be
3672	// sent to the server regardless of whether the field is empty or not.
3673	// This may be used to include empty fields in Patch requests.
3674	ForceSendFields []string `json:"-"`
3675
3676	// NullFields is a list of field names (e.g. "PlannedDates") to include
3677	// in API requests with the JSON null value. By default, fields with
3678	// empty values are omitted from API requests. However, any field with
3679	// an empty value appearing in NullFields will be sent to the server as
3680	// null. It is an error if a field in this list has a non-empty value.
3681	// This may be used to include null fields in Patch requests.
3682	NullFields []string `json:"-"`
3683}
3684
3685func (s *CampaignFlight) MarshalJSON() ([]byte, error) {
3686	type NoMethod CampaignFlight
3687	raw := NoMethod(*s)
3688	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3689}
3690
3691// CampaignGoal: Settings that control the goal of a campaign.
3692type CampaignGoal struct {
3693	// CampaignGoalType: Required. The type of the campaign goal.
3694	//
3695	// Possible values:
3696	//   "CAMPAIGN_GOAL_TYPE_UNSPECIFIED" - Goal value is not specified or
3697	// unknown in this version.
3698	//   "CAMPAIGN_GOAL_TYPE_APP_INSTALL" - Drive app installs or
3699	// engagements.
3700	//   "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS" - Raise awareness of a brand
3701	// or product.
3702	//   "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION" - Drive offline or in-store
3703	// sales.
3704	//   "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" - Drive online action or visits.
3705	CampaignGoalType string `json:"campaignGoalType,omitempty"`
3706
3707	// PerformanceGoal: Required. The performance goal of the campaign.
3708	// Acceptable values for performance_goal_type are: *
3709	// `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
3710	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` *
3711	// `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` *
3712	// `PERFORMANCE_GOAL_TYPE_OTHER`
3713	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
3714
3715	// ForceSendFields is a list of field names (e.g. "CampaignGoalType") to
3716	// unconditionally include in API requests. By default, fields with
3717	// empty or default values are omitted from API requests. However, any
3718	// non-pointer, non-interface field appearing in ForceSendFields will be
3719	// sent to the server regardless of whether the field is empty or not.
3720	// This may be used to include empty fields in Patch requests.
3721	ForceSendFields []string `json:"-"`
3722
3723	// NullFields is a list of field names (e.g. "CampaignGoalType") to
3724	// include in API requests with the JSON null value. By default, fields
3725	// with empty values are omitted from API requests. However, any field
3726	// with an empty value appearing in NullFields will be sent to the
3727	// server as null. It is an error if a field in this list has a
3728	// non-empty value. This may be used to include null fields in Patch
3729	// requests.
3730	NullFields []string `json:"-"`
3731}
3732
3733func (s *CampaignGoal) MarshalJSON() ([]byte, error) {
3734	type NoMethod CampaignGoal
3735	raw := NoMethod(*s)
3736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3737}
3738
3739// CarrierAndIspAssignedTargetingOptionDetails: Details for assigned
3740// carrier and ISP targeting option. This will be populated in the
3741// details field of an AssignedTargetingOption when targeting_type is
3742// `TARGETING_TYPE_CARRIER_AND_ISP`.
3743type CarrierAndIspAssignedTargetingOptionDetails struct {
3744	// DisplayName: Output only. The display name of the carrier or ISP.
3745	DisplayName string `json:"displayName,omitempty"`
3746
3747	// Negative: Indicates if this option is being negatively targeted. All
3748	// assigned carrier and ISP targeting options on the same resource must
3749	// have the same value for this field.
3750	Negative bool `json:"negative,omitempty"`
3751
3752	// TargetingOptionId: Required. The targeting_option_id of a
3753	// TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.
3754	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3755
3756	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3757	// unconditionally include in API requests. By default, fields with
3758	// empty or default values are omitted from API requests. However, any
3759	// non-pointer, non-interface field appearing in ForceSendFields will be
3760	// sent to the server regardless of whether the field is empty or not.
3761	// This may be used to include empty fields in Patch requests.
3762	ForceSendFields []string `json:"-"`
3763
3764	// NullFields is a list of field names (e.g. "DisplayName") to include
3765	// in API requests with the JSON null value. By default, fields with
3766	// empty values are omitted from API requests. However, any field with
3767	// an empty value appearing in NullFields will be sent to the server as
3768	// null. It is an error if a field in this list has a non-empty value.
3769	// This may be used to include null fields in Patch requests.
3770	NullFields []string `json:"-"`
3771}
3772
3773func (s *CarrierAndIspAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3774	type NoMethod CarrierAndIspAssignedTargetingOptionDetails
3775	raw := NoMethod(*s)
3776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3777}
3778
3779// CarrierAndIspTargetingOptionDetails: Represents a targetable carrier
3780// or ISP. This will be populated in the carrier_and_isp_details field
3781// of a TargetingOption when targeting_type is
3782// `TARGETING_TYPE_CARRIER_AND_ISP`.
3783type CarrierAndIspTargetingOptionDetails struct {
3784	// DisplayName: Output only. The display name of the carrier or ISP.
3785	DisplayName string `json:"displayName,omitempty"`
3786
3787	// Type: Output only. The type indicating if it's carrier or ISP.
3788	//
3789	// Possible values:
3790	//   "CARRIER_AND_ISP_TYPE_UNSPECIFIED" - Default value when type is not
3791	// specified or is unknown in this version.
3792	//   "CARRIER_AND_ISP_TYPE_ISP" - Indicates this targeting resource
3793	// refers to an ISP.
3794	//   "CARRIER_AND_ISP_TYPE_CARRIER" - Indicates this targeting resource
3795	// refers to a mobile carrier.
3796	Type string `json:"type,omitempty"`
3797
3798	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3799	// unconditionally include in API requests. By default, fields with
3800	// empty or default values are omitted from API requests. However, any
3801	// non-pointer, non-interface field appearing in ForceSendFields will be
3802	// sent to the server regardless of whether the field is empty or not.
3803	// This may be used to include empty fields in Patch requests.
3804	ForceSendFields []string `json:"-"`
3805
3806	// NullFields is a list of field names (e.g. "DisplayName") to include
3807	// in API requests with the JSON null value. By default, fields with
3808	// empty values are omitted from API requests. However, any field with
3809	// an empty value appearing in NullFields will be sent to the server as
3810	// null. It is an error if a field in this list has a non-empty value.
3811	// This may be used to include null fields in Patch requests.
3812	NullFields []string `json:"-"`
3813}
3814
3815func (s *CarrierAndIspTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3816	type NoMethod CarrierAndIspTargetingOptionDetails
3817	raw := NoMethod(*s)
3818	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3819}
3820
3821// CategoryAssignedTargetingOptionDetails: Assigned category targeting
3822// option details. This will be populated in the category_details field
3823// when targeting_type is `TARGETING_TYPE_CATEGORY`.
3824type CategoryAssignedTargetingOptionDetails struct {
3825	// DisplayName: Output only. The display name of the category.
3826	DisplayName string `json:"displayName,omitempty"`
3827
3828	// Negative: Indicates if this option is being negatively targeted.
3829	Negative bool `json:"negative,omitempty"`
3830
3831	// TargetingOptionId: Required. The targeting_option_id field when
3832	// targeting_type is `TARGETING_TYPE_CATEGORY`.
3833	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3834
3835	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3836	// unconditionally include in API requests. By default, fields with
3837	// empty or default values are omitted from API requests. However, any
3838	// non-pointer, non-interface field appearing in ForceSendFields will be
3839	// sent to the server regardless of whether the field is empty or not.
3840	// This may be used to include empty fields in Patch requests.
3841	ForceSendFields []string `json:"-"`
3842
3843	// NullFields is a list of field names (e.g. "DisplayName") to include
3844	// in API requests with the JSON null value. By default, fields with
3845	// empty values are omitted from API requests. However, any field with
3846	// an empty value appearing in NullFields will be sent to the server as
3847	// null. It is an error if a field in this list has a non-empty value.
3848	// This may be used to include null fields in Patch requests.
3849	NullFields []string `json:"-"`
3850}
3851
3852func (s *CategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3853	type NoMethod CategoryAssignedTargetingOptionDetails
3854	raw := NoMethod(*s)
3855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3856}
3857
3858// CategoryTargetingOptionDetails: Represents a targetable category.
3859// This will be populated in the category_details field of a
3860// TargetingOption when targeting_type is `TARGETING_TYPE_CATEGORY`.
3861type CategoryTargetingOptionDetails struct {
3862	// DisplayName: Output only. The display name of the category.
3863	DisplayName string `json:"displayName,omitempty"`
3864
3865	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3866	// unconditionally include in API requests. By default, fields with
3867	// empty or default values are omitted from API requests. However, any
3868	// non-pointer, non-interface field appearing in ForceSendFields will be
3869	// sent to the server regardless of whether the field is empty or not.
3870	// This may be used to include empty fields in Patch requests.
3871	ForceSendFields []string `json:"-"`
3872
3873	// NullFields is a list of field names (e.g. "DisplayName") to include
3874	// in API requests with the JSON null value. By default, fields with
3875	// empty values are omitted from API requests. However, any field with
3876	// an empty value appearing in NullFields will be sent to the server as
3877	// null. It is an error if a field in this list has a non-empty value.
3878	// This may be used to include null fields in Patch requests.
3879	NullFields []string `json:"-"`
3880}
3881
3882func (s *CategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3883	type NoMethod CategoryTargetingOptionDetails
3884	raw := NoMethod(*s)
3885	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3886}
3887
3888// Channel: A single channel. Channels are custom groups of related
3889// websites and apps.
3890type Channel struct {
3891	// AdvertiserId: The ID of the advertiser that owns the channel.
3892	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3893
3894	// ChannelId: Output only. The unique ID of the channel. Assigned by the
3895	// system.
3896	ChannelId int64 `json:"channelId,omitempty,string"`
3897
3898	// DisplayName: Required. The display name of the channel. Must be UTF-8
3899	// encoded with a maximum length of 240 bytes.
3900	DisplayName string `json:"displayName,omitempty"`
3901
3902	// Name: Output only. The resource name of the channel.
3903	Name string `json:"name,omitempty"`
3904
3905	// NegativelyTargetedLineItemCount: Output only. Number of line items
3906	// that are directly targeting this channel negatively.
3907	NegativelyTargetedLineItemCount int64 `json:"negativelyTargetedLineItemCount,omitempty,string"`
3908
3909	// PartnerId: The ID of the partner that owns the channel.
3910	PartnerId int64 `json:"partnerId,omitempty,string"`
3911
3912	// PositivelyTargetedLineItemCount: Output only. Number of line items
3913	// that are directly targeting this channel positively.
3914	PositivelyTargetedLineItemCount int64 `json:"positivelyTargetedLineItemCount,omitempty,string"`
3915
3916	// ServerResponse contains the HTTP response code and headers from the
3917	// server.
3918	googleapi.ServerResponse `json:"-"`
3919
3920	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3921	// unconditionally include in API requests. By default, fields with
3922	// empty or default values are omitted from API requests. However, any
3923	// non-pointer, non-interface field appearing in ForceSendFields will be
3924	// sent to the server regardless of whether the field is empty or not.
3925	// This may be used to include empty fields in Patch requests.
3926	ForceSendFields []string `json:"-"`
3927
3928	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3929	// in API requests with the JSON null value. By default, fields with
3930	// empty values are omitted from API requests. However, any field with
3931	// an empty value appearing in NullFields will be sent to the server as
3932	// null. It is an error if a field in this list has a non-empty value.
3933	// This may be used to include null fields in Patch requests.
3934	NullFields []string `json:"-"`
3935}
3936
3937func (s *Channel) MarshalJSON() ([]byte, error) {
3938	type NoMethod Channel
3939	raw := NoMethod(*s)
3940	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3941}
3942
3943// ChannelAssignedTargetingOptionDetails: Details for assigned channel
3944// targeting option. This will be populated in the details field of an
3945// AssignedTargetingOption when targeting_type is
3946// `TARGETING_TYPE_CHANNEL`.
3947type ChannelAssignedTargetingOptionDetails struct {
3948	// ChannelId: Required. ID of the channel. Should refer to the channel
3949	// ID field on a Partner-owned channel
3950	// (partners.channels#Channel.FIELDS.channel_id) or advertiser-owned
3951	// channel (advertisers.channels#Channel.FIELDS.channel_id) resource.
3952	ChannelId int64 `json:"channelId,omitempty,string"`
3953
3954	// Negative: Indicates if this option is being negatively targeted. For
3955	// advertiser level assigned targeting option, this field must be true.
3956	Negative bool `json:"negative,omitempty"`
3957
3958	// ForceSendFields is a list of field names (e.g. "ChannelId") to
3959	// unconditionally include in API requests. By default, fields with
3960	// empty or default values are omitted from API requests. However, any
3961	// non-pointer, non-interface field appearing in ForceSendFields will be
3962	// sent to the server regardless of whether the field is empty or not.
3963	// This may be used to include empty fields in Patch requests.
3964	ForceSendFields []string `json:"-"`
3965
3966	// NullFields is a list of field names (e.g. "ChannelId") to include in
3967	// API requests with the JSON null value. By default, fields with empty
3968	// values are omitted from API requests. However, any field with an
3969	// empty value appearing in NullFields will be sent to the server as
3970	// null. It is an error if a field in this list has a non-empty value.
3971	// This may be used to include null fields in Patch requests.
3972	NullFields []string `json:"-"`
3973}
3974
3975func (s *ChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3976	type NoMethod ChannelAssignedTargetingOptionDetails
3977	raw := NoMethod(*s)
3978	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3979}
3980
3981// CmHybridConfig: Settings for advertisers that use both Campaign
3982// Manager 360 (CM360) and third-party ad servers.
3983type CmHybridConfig struct {
3984	// CmAccountId: Required. Immutable. Account ID of the CM360 Floodlight
3985	// configuration linked with the DV360 advertiser.
3986	CmAccountId int64 `json:"cmAccountId,omitempty,string"`
3987
3988	// CmFloodlightConfigId: Required. Immutable. ID of the CM360 Floodlight
3989	// configuration linked with the DV360 advertiser.
3990	CmFloodlightConfigId int64 `json:"cmFloodlightConfigId,omitempty,string"`
3991
3992	// CmFloodlightLinkingAuthorized: Required. Immutable. By setting this
3993	// field to `true`, you, on behalf of your company, authorize the
3994	// sharing of information from the given Floodlight configuration to
3995	// this Display & Video 360 advertiser.
3996	CmFloodlightLinkingAuthorized bool `json:"cmFloodlightLinkingAuthorized,omitempty"`
3997
3998	// CmSyncableSiteIds: A list of CM360 sites whose placements will be
3999	// synced to DV360 as creatives. If absent or empty in CreateAdvertiser
4000	// method, the system will automatically create a CM360 site. Removing
4001	// sites from this list may cause DV360 creatives synced from CM360 to
4002	// be deleted. At least one site must be specified.
4003	CmSyncableSiteIds googleapi.Int64s `json:"cmSyncableSiteIds,omitempty"`
4004
4005	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to
4006	// CM360.
4007	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
4008
4009	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in
4010	// CM360 data transfer reports.
4011	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
4012
4013	// ForceSendFields is a list of field names (e.g. "CmAccountId") to
4014	// unconditionally include in API requests. By default, fields with
4015	// empty or default values are omitted from API requests. However, any
4016	// non-pointer, non-interface field appearing in ForceSendFields will be
4017	// sent to the server regardless of whether the field is empty or not.
4018	// This may be used to include empty fields in Patch requests.
4019	ForceSendFields []string `json:"-"`
4020
4021	// NullFields is a list of field names (e.g. "CmAccountId") to include
4022	// in API requests with the JSON null value. By default, fields with
4023	// empty values are omitted from API requests. However, any field with
4024	// an empty value appearing in NullFields will be sent to the server as
4025	// null. It is an error if a field in this list has a non-empty value.
4026	// This may be used to include null fields in Patch requests.
4027	NullFields []string `json:"-"`
4028}
4029
4030func (s *CmHybridConfig) MarshalJSON() ([]byte, error) {
4031	type NoMethod CmHybridConfig
4032	raw := NoMethod(*s)
4033	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4034}
4035
4036// CmTrackingAd: A Campaign Manager 360 tracking ad.
4037type CmTrackingAd struct {
4038	// CmAdId: The ad ID of the campaign manager 360 tracking Ad.
4039	CmAdId int64 `json:"cmAdId,omitempty,string"`
4040
4041	// CmCreativeId: The creative ID of the campaign manager 360 tracking
4042	// Ad.
4043	CmCreativeId int64 `json:"cmCreativeId,omitempty,string"`
4044
4045	// CmPlacementId: The placement ID of the campaign manager 360 tracking
4046	// Ad.
4047	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
4048
4049	// ForceSendFields is a list of field names (e.g. "CmAdId") to
4050	// unconditionally include in API requests. By default, fields with
4051	// empty or default values are omitted from API requests. However, any
4052	// non-pointer, non-interface field appearing in ForceSendFields will be
4053	// sent to the server regardless of whether the field is empty or not.
4054	// This may be used to include empty fields in Patch requests.
4055	ForceSendFields []string `json:"-"`
4056
4057	// NullFields is a list of field names (e.g. "CmAdId") to include in API
4058	// requests with the JSON null value. By default, fields with empty
4059	// values are omitted from API requests. However, any field with an
4060	// empty value appearing in NullFields will be sent to the server as
4061	// null. It is an error if a field in this list has a non-empty value.
4062	// This may be used to include null fields in Patch requests.
4063	NullFields []string `json:"-"`
4064}
4065
4066func (s *CmTrackingAd) MarshalJSON() ([]byte, error) {
4067	type NoMethod CmTrackingAd
4068	raw := NoMethod(*s)
4069	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4070}
4071
4072// CombinedAudience: Describes a combined audience resource.
4073type CombinedAudience struct {
4074	// CombinedAudienceId: Output only. The unique ID of the combined
4075	// audience. Assigned by the system.
4076	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
4077
4078	// DisplayName: Output only. The display name of the combined audience.
4079	// .
4080	DisplayName string `json:"displayName,omitempty"`
4081
4082	// Name: Output only. The resource name of the combined audience.
4083	Name string `json:"name,omitempty"`
4084
4085	// ServerResponse contains the HTTP response code and headers from the
4086	// server.
4087	googleapi.ServerResponse `json:"-"`
4088
4089	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId")
4090	// to unconditionally include in API requests. By default, fields with
4091	// empty or default values are omitted from API requests. However, any
4092	// non-pointer, non-interface field appearing in ForceSendFields will be
4093	// sent to the server regardless of whether the field is empty or not.
4094	// This may be used to include empty fields in Patch requests.
4095	ForceSendFields []string `json:"-"`
4096
4097	// NullFields is a list of field names (e.g. "CombinedAudienceId") to
4098	// include in API requests with the JSON null value. By default, fields
4099	// with empty values are omitted from API requests. However, any field
4100	// with an empty value appearing in NullFields will be sent to the
4101	// server as null. It is an error if a field in this list has a
4102	// non-empty value. This may be used to include null fields in Patch
4103	// requests.
4104	NullFields []string `json:"-"`
4105}
4106
4107func (s *CombinedAudience) MarshalJSON() ([]byte, error) {
4108	type NoMethod CombinedAudience
4109	raw := NoMethod(*s)
4110	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4111}
4112
4113// CombinedAudienceGroup: Details of combined audience group. All
4114// combined audience targeting settings are logically ‘OR’ of each
4115// other.
4116type CombinedAudienceGroup struct {
4117	// Settings: Required. All combined audience targeting settings in
4118	// combined audience group. Repeated settings with same id will be
4119	// ignored. The number of combined audience settings should be no more
4120	// than five, error will be thrown otherwise.
4121	Settings []*CombinedAudienceTargetingSetting `json:"settings,omitempty"`
4122
4123	// ForceSendFields is a list of field names (e.g. "Settings") to
4124	// unconditionally include in API requests. By default, fields with
4125	// empty or default values are omitted from API requests. However, any
4126	// non-pointer, non-interface field appearing in ForceSendFields will be
4127	// sent to the server regardless of whether the field is empty or not.
4128	// This may be used to include empty fields in Patch requests.
4129	ForceSendFields []string `json:"-"`
4130
4131	// NullFields is a list of field names (e.g. "Settings") to include in
4132	// API requests with the JSON null value. By default, fields with empty
4133	// values are omitted from API requests. However, any field with an
4134	// empty value appearing in NullFields will be sent to the server as
4135	// null. It is an error if a field in this list has a non-empty value.
4136	// This may be used to include null fields in Patch requests.
4137	NullFields []string `json:"-"`
4138}
4139
4140func (s *CombinedAudienceGroup) MarshalJSON() ([]byte, error) {
4141	type NoMethod CombinedAudienceGroup
4142	raw := NoMethod(*s)
4143	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4144}
4145
4146// CombinedAudienceTargetingSetting: Details of combined audience
4147// targeting setting.
4148type CombinedAudienceTargetingSetting struct {
4149	// CombinedAudienceId: Required. Combined audience id of combined
4150	// audience targeting setting. This id is combined_audience_id.
4151	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
4152
4153	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId")
4154	// to unconditionally include in API requests. By default, fields with
4155	// empty or default values are omitted from API requests. However, any
4156	// non-pointer, non-interface field appearing in ForceSendFields will be
4157	// sent to the server regardless of whether the field is empty or not.
4158	// This may be used to include empty fields in Patch requests.
4159	ForceSendFields []string `json:"-"`
4160
4161	// NullFields is a list of field names (e.g. "CombinedAudienceId") to
4162	// include in API requests with the JSON null value. By default, fields
4163	// with empty values are omitted from API requests. However, any field
4164	// with an empty value appearing in NullFields will be sent to the
4165	// server as null. It is an error if a field in this list has a
4166	// non-empty value. This may be used to include null fields in Patch
4167	// requests.
4168	NullFields []string `json:"-"`
4169}
4170
4171func (s *CombinedAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
4172	type NoMethod CombinedAudienceTargetingSetting
4173	raw := NoMethod(*s)
4174	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4175}
4176
4177// ContentInstreamPositionAssignedTargetingOptionDetails: Assigned
4178// content instream position targeting option details. This will be
4179// populated in the content_instream_position_details field when
4180// targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
4181type ContentInstreamPositionAssignedTargetingOptionDetails struct {
4182	// AdType: Output only. The ad type to target. Only applicable to
4183	// insertion order targeting and new line items supporting the specified
4184	// ad type will inherit this targeting option by default. Possible
4185	// values are: * `AD_TYPE_VIDEO`, the setting will be inherited by new
4186	// line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. *
4187	// `AD_TYPE_AUDIO`, the setting will be inherited by new line item when
4188	// line_item_type is `LINE_ITEM_TYPE_AUDIO_DEFAULT`.
4189	//
4190	// Possible values:
4191	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in
4192	// this version.
4193	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
4194	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
4195	// streaming content in video players.
4196	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during
4197	// audio content.
4198	AdType string `json:"adType,omitempty"`
4199
4200	// ContentInstreamPosition: Output only. The content instream position
4201	// for video or audio ads.
4202	//
4203	// Possible values:
4204	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position
4205	// is not specified in this version. This enum is a place holder for a
4206	// default value and does not represent a real in stream ad position.
4207	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before
4208	// streaming content.
4209	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the
4210	// beginning and end of streaming content.
4211	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
4212	// streaming content.
4213	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is
4214	// unknown.
4215	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
4216
4217	// TargetingOptionId: Required. The targeting_option_id field when
4218	// targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
4219	TargetingOptionId string `json:"targetingOptionId,omitempty"`
4220
4221	// ForceSendFields is a list of field names (e.g. "AdType") to
4222	// unconditionally include in API requests. By default, fields with
4223	// empty or default values are omitted from API requests. However, any
4224	// non-pointer, non-interface field appearing in ForceSendFields will be
4225	// sent to the server regardless of whether the field is empty or not.
4226	// This may be used to include empty fields in Patch requests.
4227	ForceSendFields []string `json:"-"`
4228
4229	// NullFields is a list of field names (e.g. "AdType") to include in API
4230	// requests with the JSON null value. By default, fields with empty
4231	// values are omitted from API requests. However, any field with an
4232	// empty value appearing in NullFields will be sent to the server as
4233	// null. It is an error if a field in this list has a non-empty value.
4234	// This may be used to include null fields in Patch requests.
4235	NullFields []string `json:"-"`
4236}
4237
4238func (s *ContentInstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4239	type NoMethod ContentInstreamPositionAssignedTargetingOptionDetails
4240	raw := NoMethod(*s)
4241	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4242}
4243
4244// ContentInstreamPositionTargetingOptionDetails: Represents a
4245// targetable content instream position, which could be used by video
4246// and audio ads. This will be populated in the
4247// content_instream_position_details field when targeting_type is
4248// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
4249type ContentInstreamPositionTargetingOptionDetails struct {
4250	// ContentInstreamPosition: Output only. The content instream position.
4251	//
4252	// Possible values:
4253	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position
4254	// is not specified in this version. This enum is a place holder for a
4255	// default value and does not represent a real in stream ad position.
4256	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before
4257	// streaming content.
4258	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the
4259	// beginning and end of streaming content.
4260	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
4261	// streaming content.
4262	//   "CONTENT_INSTREAM_POSITION_UNKNOWN" - Ads instream position is
4263	// unknown.
4264	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
4265
4266	// ForceSendFields is a list of field names (e.g.
4267	// "ContentInstreamPosition") to unconditionally include in API
4268	// requests. By default, fields with empty or default values are omitted
4269	// from API requests. However, any non-pointer, non-interface field
4270	// appearing in ForceSendFields will be sent to the server regardless of
4271	// whether the field is empty or not. This may be used to include empty
4272	// fields in Patch requests.
4273	ForceSendFields []string `json:"-"`
4274
4275	// NullFields is a list of field names (e.g. "ContentInstreamPosition")
4276	// to include in API requests with the JSON null value. By default,
4277	// fields with empty values are omitted from API requests. However, any
4278	// field with an empty value appearing in NullFields will be sent to the
4279	// server as null. It is an error if a field in this list has a
4280	// non-empty value. This may be used to include null fields in Patch
4281	// requests.
4282	NullFields []string `json:"-"`
4283}
4284
4285func (s *ContentInstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4286	type NoMethod ContentInstreamPositionTargetingOptionDetails
4287	raw := NoMethod(*s)
4288	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4289}
4290
4291// ContentOutstreamPositionAssignedTargetingOptionDetails: Assigned
4292// content outstream position targeting option details. This will be
4293// populated in the content_outstream_position_details field when
4294// targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
4295type ContentOutstreamPositionAssignedTargetingOptionDetails struct {
4296	// AdType: Output only. The ad type to target. Only applicable to
4297	// insertion order targeting and new line items supporting the specified
4298	// ad type will inherit this targeting option by default. Possible
4299	// values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new
4300	// line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. *
4301	// `AD_TYPE_VIDEO`, the setting will be inherited by new line item when
4302	// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
4303	//
4304	// Possible values:
4305	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in
4306	// this version.
4307	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
4308	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
4309	// streaming content in video players.
4310	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during
4311	// audio content.
4312	AdType string `json:"adType,omitempty"`
4313
4314	// ContentOutstreamPosition: Output only. The content outstream
4315	// position.
4316	//
4317	// Possible values:
4318	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream
4319	// position is not specified in this version. This enum is a place
4320	// holder for a default value and does not represent a real content
4321	// outstream position.
4322	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown
4323	// in the content outstream.
4324	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between
4325	// the paragraphs of your pages.
4326	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the
4327	// top and the sides of a page.
4328	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a
4329	// scrollable stream of content. A feed is typically editorial (e.g. a
4330	// list of articles or news) or listings (e.g. a list of products or
4331	// services).
4332	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or
4333	// between content loads.
4334	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
4335
4336	// TargetingOptionId: Required. The targeting_option_id field when
4337	// targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
4338	TargetingOptionId string `json:"targetingOptionId,omitempty"`
4339
4340	// ForceSendFields is a list of field names (e.g. "AdType") to
4341	// unconditionally include in API requests. By default, fields with
4342	// empty or default values are omitted from API requests. However, any
4343	// non-pointer, non-interface field appearing in ForceSendFields will be
4344	// sent to the server regardless of whether the field is empty or not.
4345	// This may be used to include empty fields in Patch requests.
4346	ForceSendFields []string `json:"-"`
4347
4348	// NullFields is a list of field names (e.g. "AdType") to include in API
4349	// requests with the JSON null value. By default, fields with empty
4350	// values are omitted from API requests. However, any field with an
4351	// empty value appearing in NullFields will be sent to the server as
4352	// null. It is an error if a field in this list has a non-empty value.
4353	// This may be used to include null fields in Patch requests.
4354	NullFields []string `json:"-"`
4355}
4356
4357func (s *ContentOutstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4358	type NoMethod ContentOutstreamPositionAssignedTargetingOptionDetails
4359	raw := NoMethod(*s)
4360	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4361}
4362
4363// ContentOutstreamPositionTargetingOptionDetails: Represents a
4364// targetable content outstream position, which could be used by display
4365// and video ads. This will be populated in the
4366// content_outstream_position_details field when targeting_type is
4367// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
4368type ContentOutstreamPositionTargetingOptionDetails struct {
4369	// ContentOutstreamPosition: Output only. The content outstream
4370	// position.
4371	//
4372	// Possible values:
4373	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream
4374	// position is not specified in this version. This enum is a place
4375	// holder for a default value and does not represent a real content
4376	// outstream position.
4377	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown
4378	// in the content outstream.
4379	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between
4380	// the paragraphs of your pages.
4381	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the
4382	// top and the sides of a page.
4383	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a
4384	// scrollable stream of content. A feed is typically editorial (e.g. a
4385	// list of articles or news) or listings (e.g. a list of products or
4386	// services).
4387	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or
4388	// between content loads.
4389	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
4390
4391	// ForceSendFields is a list of field names (e.g.
4392	// "ContentOutstreamPosition") to unconditionally include in API
4393	// requests. By default, fields with empty or default values are omitted
4394	// from API requests. However, any non-pointer, non-interface field
4395	// appearing in ForceSendFields will be sent to the server regardless of
4396	// whether the field is empty or not. This may be used to include empty
4397	// fields in Patch requests.
4398	ForceSendFields []string `json:"-"`
4399
4400	// NullFields is a list of field names (e.g. "ContentOutstreamPosition")
4401	// to include in API requests with the JSON null value. By default,
4402	// fields with empty values are omitted from API requests. However, any
4403	// field with an empty value appearing in NullFields will be sent to the
4404	// server as null. It is an error if a field in this list has a
4405	// non-empty value. This may be used to include null fields in Patch
4406	// requests.
4407	NullFields []string `json:"-"`
4408}
4409
4410func (s *ContentOutstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
4411	type NoMethod ContentOutstreamPositionTargetingOptionDetails
4412	raw := NoMethod(*s)
4413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4414}
4415
4416// ConversionCountingConfig: Settings that control how conversions are
4417// counted. All post-click conversions will be counted. A percentage
4418// value can be set for post-view conversions counting.
4419type ConversionCountingConfig struct {
4420	// FloodlightActivityConfigs: The Floodlight activity configs used to
4421	// track conversions. The number of conversions counted is the sum of
4422	// all of the conversions counted by all of the Floodlight activity IDs
4423	// specified in this field.
4424	FloodlightActivityConfigs []*TrackingFloodlightActivityConfig `json:"floodlightActivityConfigs,omitempty"`
4425
4426	// PostViewCountPercentageMillis: The percentage of post-view
4427	// conversions to count, in millis (1/1000 of a percent). Must be
4428	// between 0 and 100000 inclusive. For example, to track 50% of the
4429	// post-click conversions, set a value of 50000.
4430	PostViewCountPercentageMillis int64 `json:"postViewCountPercentageMillis,omitempty,string"`
4431
4432	// ForceSendFields is a list of field names (e.g.
4433	// "FloodlightActivityConfigs") to unconditionally include in API
4434	// requests. By default, fields with empty or default values are omitted
4435	// from API requests. However, any non-pointer, non-interface field
4436	// appearing in ForceSendFields will be sent to the server regardless of
4437	// whether the field is empty or not. This may be used to include empty
4438	// fields in Patch requests.
4439	ForceSendFields []string `json:"-"`
4440
4441	// NullFields is a list of field names (e.g.
4442	// "FloodlightActivityConfigs") to include in API requests with the JSON
4443	// null value. By default, fields with empty values are omitted from API
4444	// requests. However, any field with an empty value appearing in
4445	// NullFields will be sent to the server as null. It is an error if a
4446	// field in this list has a non-empty value. This may be used to include
4447	// null fields in Patch requests.
4448	NullFields []string `json:"-"`
4449}
4450
4451func (s *ConversionCountingConfig) MarshalJSON() ([]byte, error) {
4452	type NoMethod ConversionCountingConfig
4453	raw := NoMethod(*s)
4454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4455}
4456
4457// CounterEvent: Counter event of the creative.
4458type CounterEvent struct {
4459	// Name: Required. The name of the counter event.
4460	Name string `json:"name,omitempty"`
4461
4462	// ReportingName: Required. The name used to identify this counter event
4463	// in reports.
4464	ReportingName string `json:"reportingName,omitempty"`
4465
4466	// ForceSendFields is a list of field names (e.g. "Name") to
4467	// unconditionally include in API requests. By default, fields with
4468	// empty or default values are omitted from API requests. However, any
4469	// non-pointer, non-interface field appearing in ForceSendFields will be
4470	// sent to the server regardless of whether the field is empty or not.
4471	// This may be used to include empty fields in Patch requests.
4472	ForceSendFields []string `json:"-"`
4473
4474	// NullFields is a list of field names (e.g. "Name") to include in API
4475	// requests with the JSON null value. By default, fields with empty
4476	// values are omitted from API requests. However, any field with an
4477	// empty value appearing in NullFields will be sent to the server as
4478	// null. It is an error if a field in this list has a non-empty value.
4479	// This may be used to include null fields in Patch requests.
4480	NullFields []string `json:"-"`
4481}
4482
4483func (s *CounterEvent) MarshalJSON() ([]byte, error) {
4484	type NoMethod CounterEvent
4485	raw := NoMethod(*s)
4486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4487}
4488
4489// CreateAssetRequest: A request message for CreateAsset.
4490type CreateAssetRequest struct {
4491	// Filename: Required. The filename of the asset, including the file
4492	// extension. The filename must be UTF-8 encoded with a maximum size of
4493	// 240 bytes.
4494	Filename string `json:"filename,omitempty"`
4495
4496	// ForceSendFields is a list of field names (e.g. "Filename") to
4497	// unconditionally include in API requests. By default, fields with
4498	// empty or default values are omitted from API requests. However, any
4499	// non-pointer, non-interface field appearing in ForceSendFields will be
4500	// sent to the server regardless of whether the field is empty or not.
4501	// This may be used to include empty fields in Patch requests.
4502	ForceSendFields []string `json:"-"`
4503
4504	// NullFields is a list of field names (e.g. "Filename") to include in
4505	// API requests with the JSON null value. By default, fields with empty
4506	// values are omitted from API requests. However, any field with an
4507	// empty value appearing in NullFields will be sent to the server as
4508	// null. It is an error if a field in this list has a non-empty value.
4509	// This may be used to include null fields in Patch requests.
4510	NullFields []string `json:"-"`
4511}
4512
4513func (s *CreateAssetRequest) MarshalJSON() ([]byte, error) {
4514	type NoMethod CreateAssetRequest
4515	raw := NoMethod(*s)
4516	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4517}
4518
4519// CreateAssetResponse: A response message for CreateAsset.
4520type CreateAssetResponse struct {
4521	// Asset: The uploaded asset, if successful.
4522	Asset *Asset `json:"asset,omitempty"`
4523
4524	// ServerResponse contains the HTTP response code and headers from the
4525	// server.
4526	googleapi.ServerResponse `json:"-"`
4527
4528	// ForceSendFields is a list of field names (e.g. "Asset") to
4529	// unconditionally include in API requests. By default, fields with
4530	// empty or default values are omitted from API requests. However, any
4531	// non-pointer, non-interface field appearing in ForceSendFields will be
4532	// sent to the server regardless of whether the field is empty or not.
4533	// This may be used to include empty fields in Patch requests.
4534	ForceSendFields []string `json:"-"`
4535
4536	// NullFields is a list of field names (e.g. "Asset") to include in API
4537	// requests with the JSON null value. By default, fields with empty
4538	// values are omitted from API requests. However, any field with an
4539	// empty value appearing in NullFields will be sent to the server as
4540	// null. It is an error if a field in this list has a non-empty value.
4541	// This may be used to include null fields in Patch requests.
4542	NullFields []string `json:"-"`
4543}
4544
4545func (s *CreateAssetResponse) MarshalJSON() ([]byte, error) {
4546	type NoMethod CreateAssetResponse
4547	raw := NoMethod(*s)
4548	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4549}
4550
4551// CreateAssignedTargetingOptionsRequest: A request listing which
4552// assigned targeting options of a given targeting type should be
4553// created and added.
4554type CreateAssignedTargetingOptionsRequest struct {
4555	// AssignedTargetingOptions: Required. The assigned targeting options to
4556	// create and add.
4557	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
4558
4559	// TargetingType: Required. Identifies the type of this assigned
4560	// targeting option.
4561	//
4562	// Possible values:
4563	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
4564	// specified or is unknown in this version.
4565	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
4566	// related websites or apps).
4567	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
4568	// example, education or puzzle games).
4569	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
4570	// Birds).
4571	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
4572	// quora.com).
4573	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
4574	// period on a specific day.
4575	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
4576	// (for example, 18-24).
4577	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
4578	// specified regions on a regional location list.
4579	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
4580	// specified points of interest on a proximity location list.
4581	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
4582	// example, female or male).
4583	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
4584	// size for video ads.
4585	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
4586	// content for video ads.
4587	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
4588	// parental status (for example, parent or not a parent).
4589	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
4590	// ads in a specific content instream position (for example, pre-roll,
4591	// mid-roll, or post-roll).
4592	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
4593	// specific content outstream position.
4594	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
4595	// (for example, tablet or connected TV).
4596	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
4597	// groups of audiences. Singleton field, at most one can exist on a
4598	// single Lineitem at a time.
4599	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
4600	// example, Chrome).
4601	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
4602	// household income range (for example, top 10%).
4603	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
4604	// screen position.
4605	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
4606	// third party verification (for example, IAS or DoubleVerify).
4607	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
4608	// by specific digital content label ratings (for example, DL-MA:
4609	// suitable only for mature audiences).
4610	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
4611	// content by sensitive categories (for example, adult).
4612	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
4613	// (for example, web or app).
4614	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
4615	// carrier or internet service provider (ISP) (for example, Comcast or
4616	// Orange).
4617	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
4618	// operating system (for example, macOS).
4619	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
4620	// device make or model (for example, Roku or Samsung).
4621	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
4622	// example, dog or retriever).
4623	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
4624	// negative keyword list.
4625	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
4626	// (for example, 80% viewable).
4627	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
4628	// category (for example, arts & entertainment).
4629	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
4630	// specific deals and auction packages.
4631	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
4632	// example, English or Japanese).
4633	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
4634	// authorized sellers.
4635	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
4636	// location (for example, a city or state).
4637	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
4638	// a group of deals and auction packages.
4639	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
4640	// exchanges.
4641	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
4642	// sub-exchanges.
4643	//   "TARGETING_TYPE_POI" - Target ads around a specific point of
4644	// interest, such as a notable building, a street address, or
4645	// latitude/longitude coordinates.
4646	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
4647	// business chain within a specific geo region.
4648	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
4649	// native content position.
4650	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
4651	// inventory.
4652	TargetingType string `json:"targetingType,omitempty"`
4653
4654	// ForceSendFields is a list of field names (e.g.
4655	// "AssignedTargetingOptions") to unconditionally include in API
4656	// requests. By default, fields with empty or default values are omitted
4657	// from API requests. However, any non-pointer, non-interface field
4658	// appearing in ForceSendFields will be sent to the server regardless of
4659	// whether the field is empty or not. This may be used to include empty
4660	// fields in Patch requests.
4661	ForceSendFields []string `json:"-"`
4662
4663	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
4664	// to include in API requests with the JSON null value. By default,
4665	// fields with empty values are omitted from API requests. However, any
4666	// field with an empty value appearing in NullFields will be sent to the
4667	// server as null. It is an error if a field in this list has a
4668	// non-empty value. This may be used to include null fields in Patch
4669	// requests.
4670	NullFields []string `json:"-"`
4671}
4672
4673func (s *CreateAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
4674	type NoMethod CreateAssignedTargetingOptionsRequest
4675	raw := NoMethod(*s)
4676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4677}
4678
4679// CreateSdfDownloadTaskRequest: Request message for
4680// [SdfDownloadTaskService.CreateSdfDownloadTask].
4681type CreateSdfDownloadTaskRequest struct {
4682	// AdvertiserId: The ID of the advertiser to download SDF for.
4683	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4684
4685	// IdFilter: Filters on entities by their entity IDs.
4686	IdFilter *IdFilter `json:"idFilter,omitempty"`
4687
4688	// InventorySourceFilter: Filters on Inventory Sources by their IDs.
4689	InventorySourceFilter *InventorySourceFilter `json:"inventorySourceFilter,omitempty"`
4690
4691	// ParentEntityFilter: Filters on selected file types. The entities in
4692	// each file are filtered by a chosen set of filter entities. The filter
4693	// entities must be the same type as, or a parent type of, the selected
4694	// file types.
4695	ParentEntityFilter *ParentEntityFilter `json:"parentEntityFilter,omitempty"`
4696
4697	// PartnerId: The ID of the partner to download SDF for.
4698	PartnerId int64 `json:"partnerId,omitempty,string"`
4699
4700	// Version: Required. The SDF version of the downloaded file. If set to
4701	// `SDF_VERSION_UNSPECIFIED`, this will default to the version specified
4702	// by the advertiser or partner identified by `root_id`. An advertiser
4703	// inherits its SDF version from its partner unless configured
4704	// otherwise.
4705	//
4706	// Possible values:
4707	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
4708	// is unknown in this version.
4709	//   "SDF_VERSION_3_1" - SDF version 3.1
4710	//   "SDF_VERSION_4" - SDF version 4
4711	//   "SDF_VERSION_4_1" - SDF version 4.1
4712	//   "SDF_VERSION_4_2" - SDF version 4.2
4713	//   "SDF_VERSION_5" - SDF version 5.
4714	//   "SDF_VERSION_5_1" - SDF version 5.1
4715	//   "SDF_VERSION_5_2" - SDF version 5.2
4716	//   "SDF_VERSION_5_3" - SDF version 5.3
4717	Version string `json:"version,omitempty"`
4718
4719	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
4720	// unconditionally include in API requests. By default, fields with
4721	// empty or default values are omitted from API requests. However, any
4722	// non-pointer, non-interface field appearing in ForceSendFields will be
4723	// sent to the server regardless of whether the field is empty or not.
4724	// This may be used to include empty fields in Patch requests.
4725	ForceSendFields []string `json:"-"`
4726
4727	// NullFields is a list of field names (e.g. "AdvertiserId") to include
4728	// in API requests with the JSON null value. By default, fields with
4729	// empty values are omitted from API requests. However, any field with
4730	// an empty value appearing in NullFields will be sent to the server as
4731	// null. It is an error if a field in this list has a non-empty value.
4732	// This may be used to include null fields in Patch requests.
4733	NullFields []string `json:"-"`
4734}
4735
4736func (s *CreateSdfDownloadTaskRequest) MarshalJSON() ([]byte, error) {
4737	type NoMethod CreateSdfDownloadTaskRequest
4738	raw := NoMethod(*s)
4739	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4740}
4741
4742// Creative: A single Creative.
4743type Creative struct {
4744	// AdditionalDimensions: Additional dimensions. Applicable when
4745	// creative_type is one of: * `CREATIVE_TYPE_STANDARD` *
4746	// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` *
4747	// `CREATIVE_TYPE_TEMPLATED_APP_INSTALL` *
4748	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` *
4749	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4750	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4751	// `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified,
4752	// width_pixels and height_pixels are both required and must be greater
4753	// than or equal to 0.
4754	AdditionalDimensions []*Dimensions `json:"additionalDimensions,omitempty"`
4755
4756	// AdvertiserId: Output only. The unique ID of the advertiser the
4757	// creative belongs to.
4758	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4759
4760	// AppendedTag: Third-party HTML tracking tag to be appended to the
4761	// creative tag.
4762	AppendedTag string `json:"appendedTag,omitempty"`
4763
4764	// Assets: Required. Assets associated to this creative. Assets can be
4765	// associated to the creative in one of following roles: *
4766	// `ASSET_ROLE_UNSPECIFIED` * `ASSET_ROLE_MAIN` * `ASSET_ROLE_BACKUP` *
4767	// `ASSET_ROLE_POLITE_LOAD`
4768	Assets []*AssetAssociation `json:"assets,omitempty"`
4769
4770	// CmPlacementId: Output only. The unique ID of the Campaign Manager 360
4771	// placement associated with the creative. This field is only applicable
4772	// for creatives that are synced from Campaign Manager.
4773	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
4774
4775	// CmTrackingAd: The Campaign Manager 360 tracking ad associated with
4776	// the creative. Optional for the following creative_type when created
4777	// by an advertiser that uses both Campaign Manager 360 and third-party
4778	// ad serving: * `CREATIVE_TYPE_NATIVE` *
4779	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
4780	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4781	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` Output only for other
4782	// cases.
4783	CmTrackingAd *CmTrackingAd `json:"cmTrackingAd,omitempty"`
4784
4785	// CompanionCreativeIds: The IDs of companion creatives for a video
4786	// creative. You can assign existing display creatives (with image or
4787	// HTML5 assets) to serve surrounding the publisher's video player.
4788	// Companions display around the video player while the video is playing
4789	// and remain after the video has completed. Creatives contain
4790	// additional dimensions can not be companion creatives. This field is
4791	// only supported for following creative_type: * `CREATIVE_TYPE_AUDIO` *
4792	// `CREATIVE_TYPE_VIDEO`
4793	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4794
4795	// CounterEvents: Counter events for a rich media creative. Counters
4796	// track the number of times that a user interacts with any part of a
4797	// rich media creative in a specified way (mouse-overs, mouse-outs,
4798	// clicks, taps, data loading, keyboard entries, etc.). Any event that
4799	// can be captured in the creative can be recorded as a counter. Leave
4800	// it empty or unset for creatives containing image assets only.
4801	CounterEvents []*CounterEvent `json:"counterEvents,omitempty"`
4802
4803	// CreateTime: Output only. The timestamp when the creative was created.
4804	// Assigned by the system.
4805	CreateTime string `json:"createTime,omitempty"`
4806
4807	// CreativeAttributes: Output only. A list of attributes of the creative
4808	// that is generated by the system.
4809	//
4810	// Possible values:
4811	//   "CREATIVE_ATTRIBUTE_UNSPECIFIED" - The creative attribute is not
4812	// specified or is unknown in this version.
4813	//   "CREATIVE_ATTRIBUTE_VAST" - The creative is a VAST creative.
4814	//   "CREATIVE_ATTRIBUTE_VPAID_LINEAR" - The creative is a linear VPAID
4815	// creative.
4816	//   "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" - The creative is a
4817	// non-linear VPAID creative.
4818	CreativeAttributes []string `json:"creativeAttributes,omitempty"`
4819
4820	// CreativeId: Output only. The unique ID of the creative. Assigned by
4821	// the system.
4822	CreativeId int64 `json:"creativeId,omitempty,string"`
4823
4824	// CreativeType: Required. Immutable. The type of the creative.
4825	//
4826	// Possible values:
4827	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is
4828	// unknown in this version.
4829	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and
4830	// update methods are supported for this creative type if the
4831	// hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` *
4832	// `HOSTING_SOURCE_THIRD_PARTY`
4833	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
4834	// methods are supported for this creative type if the hosting_source is
4835	// `HOSTING_SOURCE_THIRD_PARTY`
4836	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods
4837	// are supported for this creative type if the hosting_source is one of
4838	// the following: * `HOSTING_SOURCE_HOSTED` *
4839	// `HOSTING_SOURCE_THIRD_PARTY`
4840	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers
4841	// with assets from advertiser. Create and update methods are supported
4842	// for this creative type if the hosting_source is
4843	// `HOSTING_SOURCE_HOSTED`
4844	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install
4845	// mobile creative (banner). Create and update methods are **not**
4846	// supported for this creative type.
4847	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create
4848	// and update methods are supported for this creative type if the
4849	// hosting_source is `HOSTING_SOURCE_HOSTED`
4850	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial
4851	// creative including both display and video. Create and update methods
4852	// are **not** supported for this creative type.
4853	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox
4854	// creative. Create and update methods are **not** supported for this
4855	// creative type.
4856	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative.
4857	// Create and update methods are supported for this creative type if the
4858	// hosting_source is `HOSTING_SOURCE_HOSTED`
4859	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app
4860	// install creative. Create and update methods are supported for this
4861	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
4862	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods
4863	// are supported for this creative type if the hosting_source is
4864	// `HOSTING_SOURCE_HOSTED`
4865	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative.
4866	// Create and update methods are **not** supported for this creative
4867	// type.
4868	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and
4869	// update methods are supported for this creative type if the
4870	// hosting_source is `HOSTING_SOURCE_HOSTED`
4871	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install
4872	// mobile video creative. Create and update methods are **not**
4873	// supported for this creative type.
4874	CreativeType string `json:"creativeType,omitempty"`
4875
4876	// Dimensions: Required. Primary dimensions of the creative. Applicable
4877	// to all creative types. The value of width_pixels and height_pixels
4878	// defaults to `0` when creative_type is one of: * `CREATIVE_TYPE_VIDEO`
4879	// * `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL` *
4880	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4881	// `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO`
4882	Dimensions *Dimensions `json:"dimensions,omitempty"`
4883
4884	// DisplayName: Required. The display name of the creative. Must be
4885	// UTF-8 encoded with a maximum size of 240 bytes.
4886	DisplayName string `json:"displayName,omitempty"`
4887
4888	// Dynamic: Output only. Indicates whether the creative is dynamic.
4889	Dynamic bool `json:"dynamic,omitempty"`
4890
4891	// EntityStatus: Required. Controls whether or not the creative can
4892	// serve. Accepted values are: * `ENTITY_STATUS_ACTIVE` *
4893	// `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED`
4894	//
4895	// Possible values:
4896	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
4897	// specified or is unknown in this version.
4898	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
4899	// budget.
4900	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
4901	// budget spending are disabled. An entity can be deleted after
4902	// archived. Deleted entities cannot be retrieved.
4903	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
4904	// budget spending are disabled.
4905	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
4906	// the entity.
4907	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
4908	// for deletion.
4909	EntityStatus string `json:"entityStatus,omitempty"`
4910
4911	// ExitEvents: Required. Exit events for this creative. An exit (also
4912	// known as a click tag) is any area in your creative that someone can
4913	// click or tap to open an advertiser's landing page. Every creative
4914	// must include at least one exit. You can add an exit to your creative
4915	// in any of the following ways: * Use Google Web Designer's tap area. *
4916	// Define a JavaScript variable called "clickTag". * Use the Enabler
4917	// (Enabler.exit()) to track exits in rich media formats.
4918	ExitEvents []*ExitEvent `json:"exitEvents,omitempty"`
4919
4920	// ExpandOnHover: Optional. Indicates the creative will automatically
4921	// expand on hover. Optional and only valid for third-party expandable
4922	// creatives. Third-party expandable creatives are creatives with
4923	// following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4924	// with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`
4925	ExpandOnHover bool `json:"expandOnHover,omitempty"`
4926
4927	// ExpandingDirection: Optional. Specifies the expanding direction of
4928	// the creative. Required and only valid for third-party expandable
4929	// creatives. Third-party expandable creatives are creatives with
4930	// following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4931	// with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`
4932	//
4933	// Possible values:
4934	//   "EXPANDING_DIRECTION_UNSPECIFIED" - The expanding direction is not
4935	// specified.
4936	//   "EXPANDING_DIRECTION_NONE" - Does not expand in any direction.
4937	//   "EXPANDING_DIRECTION_UP" - Expands up.
4938	//   "EXPANDING_DIRECTION_DOWN" - Expands down.
4939	//   "EXPANDING_DIRECTION_LEFT" - Expands left.
4940	//   "EXPANDING_DIRECTION_RIGHT" - Expands right.
4941	//   "EXPANDING_DIRECTION_UP_AND_LEFT" - Expands up and to the left
4942	// side.
4943	//   "EXPANDING_DIRECTION_UP_AND_RIGHT" - Expands up and to the right
4944	// side.
4945	//   "EXPANDING_DIRECTION_DOWN_AND_LEFT" - Expands down and to the left
4946	// side.
4947	//   "EXPANDING_DIRECTION_DOWN_AND_RIGHT" - Expands down and to the
4948	// right side.
4949	//   "EXPANDING_DIRECTION_UP_OR_DOWN" - Expands either up or down.
4950	//   "EXPANDING_DIRECTION_LEFT_OR_RIGHT" - Expands to either the left or
4951	// the right side.
4952	//   "EXPANDING_DIRECTION_ANY_DIAGONAL" - Can expand in any diagonal
4953	// direction.
4954	ExpandingDirection string `json:"expandingDirection,omitempty"`
4955
4956	// HostingSource: Required. Indicates where the creative is hosted.
4957	//
4958	// Possible values:
4959	//   "HOSTING_SOURCE_UNSPECIFIED" - Hosting source is not specified or
4960	// is unknown in this version.
4961	//   "HOSTING_SOURCE_CM" - A creative synced from Campaign Manager 360.
4962	// Create and update methods are **not** supported for this hosting
4963	// type.
4964	//   "HOSTING_SOURCE_THIRD_PARTY" - A creative hosted by a third-party
4965	// ad server (3PAS). Create and update methods are supported for this
4966	// hosting type if the creative_type is one of the following: *
4967	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_EXPANDABLE` *
4968	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`
4969	//   "HOSTING_SOURCE_HOSTED" - A creative created in DV360 and hosted by
4970	// Campaign Manager 360. Create and update methods are supported for
4971	// this hosting type if the creative_type is one of the following: *
4972	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` *
4973	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4974	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4975	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4976	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`
4977	//   "HOSTING_SOURCE_RICH_MEDIA" - A rich media creative created in
4978	// Studio and hosted by Campaign Manager 360. Create and update methods
4979	// are **not** supported for this hosting type.
4980	HostingSource string `json:"hostingSource,omitempty"`
4981
4982	// Html5Video: Output only. Indicates the third-party VAST tag creative
4983	// requires HTML5 Video support. Output only and only valid for
4984	// third-party VAST tag creatives. Third-party VAST tag creatives are
4985	// creatives with following hosting_source: *
4986	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
4987	// `CREATIVE_TYPE_VIDEO`
4988	Html5Video bool `json:"html5Video,omitempty"`
4989
4990	// IasCampaignMonitoring: Indicates whether Integral Ad Science (IAS)
4991	// campaign monitoring is enabled. To enable this for the creative, make
4992	// sure the Advertiser.creative_config.ias_client_id has been set to
4993	// your IAS client ID.
4994	IasCampaignMonitoring bool `json:"iasCampaignMonitoring,omitempty"`
4995
4996	// IntegrationCode: ID information used to link this creative to an
4997	// external system. Must be UTF-8 encoded with a length of no more than
4998	// 10,000 characters.
4999	IntegrationCode string `json:"integrationCode,omitempty"`
5000
5001	// JsTrackerUrl: JavaScript measurement URL from supported third-party
5002	// verification providers (ComScore, DoubleVerify, IAS, Moat). HTML
5003	// script tags are not supported. This field is only supported in
5004	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
5005	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
5006	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
5007	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
5008	// `CREATIVE_TYPE_NATIVE_VIDEO`
5009	JsTrackerUrl string `json:"jsTrackerUrl,omitempty"`
5010
5011	// LineItemIds: Output only. The IDs of the line items this creative is
5012	// associated with. To associate a creative to a line item, use
5013	// LineItem.creative_ids instead.
5014	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
5015
5016	// MediaDuration: Output only. Media duration of the creative.
5017	// Applicable when creative_type is one of: * `CREATIVE_TYPE_VIDEO` *
5018	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` *
5019	// `CREATIVE_TYPE_PUBLISHER_HOSTED`
5020	MediaDuration string `json:"mediaDuration,omitempty"`
5021
5022	// Mp3Audio: Output only. Indicates the third-party audio creative
5023	// supports MP3. Output only and only valid for third-party audio
5024	// creatives. Third-party audio creatives are creatives with following
5025	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
5026	// following creative_type: * `CREATIVE_TYPE_AUDIO`
5027	Mp3Audio bool `json:"mp3Audio,omitempty"`
5028
5029	// Name: Output only. The resource name of the creative.
5030	Name string `json:"name,omitempty"`
5031
5032	// Notes: User notes for this creative. Must be UTF-8 encoded with a
5033	// length of no more than 20,000 characters.
5034	Notes string `json:"notes,omitempty"`
5035
5036	// ObaIcon: Specifies the OBA icon for a video creative. This field is
5037	// only supported in following creative_type: * `CREATIVE_TYPE_VIDEO`
5038	ObaIcon *ObaIcon `json:"obaIcon,omitempty"`
5039
5040	// OggAudio: Output only. Indicates the third-party audio creative
5041	// supports OGG. Output only and only valid for third-party audio
5042	// creatives. Third-party audio creatives are creatives with following
5043	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
5044	// following creative_type: * `CREATIVE_TYPE_AUDIO`
5045	OggAudio bool `json:"oggAudio,omitempty"`
5046
5047	// ProgressOffset: Amount of time to play the video before counting a
5048	// view. This field is required when skippable is true. This field is
5049	// only supported for the following creative_type: *
5050	// `CREATIVE_TYPE_VIDEO`
5051	ProgressOffset *AudioVideoOffset `json:"progressOffset,omitempty"`
5052
5053	// RequireHtml5: Optional. Indicates that the creative relies on HTML5
5054	// to render properly. Optional and only valid for third-party tag
5055	// creatives. Third-party tag creatives are creatives with following
5056	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
5057	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
5058	// `CREATIVE_TYPE_EXPANDABLE`
5059	RequireHtml5 bool `json:"requireHtml5,omitempty"`
5060
5061	// RequireMraid: Optional. Indicates that the creative requires MRAID
5062	// (Mobile Rich Media Ad Interface Definitions system). Set this if the
5063	// creative relies on mobile gestures for interactivity, such as swiping
5064	// or tapping. Optional and only valid for third-party tag creatives.
5065	// Third-party tag creatives are creatives with following
5066	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
5067	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
5068	// `CREATIVE_TYPE_EXPANDABLE`
5069	RequireMraid bool `json:"requireMraid,omitempty"`
5070
5071	// RequirePingForAttribution: Optional. Indicates that the creative will
5072	// wait for a return ping for attribution. Only valid when using a
5073	// Campaign Manager 360 tracking ad with a third-party ad server
5074	// parameter and the ${DC_DBM_TOKEN} macro. Optional and only valid for
5075	// third-party tag creatives or third-party VAST tag creatives.
5076	// Third-party tag creatives are creatives with following
5077	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
5078	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
5079	// `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are
5080	// creatives with following hosting_source: *
5081	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
5082	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
5083	RequirePingForAttribution bool `json:"requirePingForAttribution,omitempty"`
5084
5085	// ReviewStatus: Output only. The current status of the creative review
5086	// process.
5087	ReviewStatus *ReviewStatusInfo `json:"reviewStatus,omitempty"`
5088
5089	// SkipOffset: Amount of time to play the video before the skip button
5090	// appears. This field is required when skippable is true. This field is
5091	// only supported for the following creative_type: *
5092	// `CREATIVE_TYPE_VIDEO`
5093	SkipOffset *AudioVideoOffset `json:"skipOffset,omitempty"`
5094
5095	// Skippable: Whether the user can choose to skip a video creative. This
5096	// field is only supported for the following creative_type: *
5097	// `CREATIVE_TYPE_VIDEO`
5098	Skippable bool `json:"skippable,omitempty"`
5099
5100	// ThirdPartyTag: Optional. The original third-party tag used for the
5101	// creative. Required and only valid for third-party tag creatives.
5102	// Third-party tag creatives are creatives with following
5103	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
5104	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
5105	// `CREATIVE_TYPE_EXPANDABLE`
5106	ThirdPartyTag string `json:"thirdPartyTag,omitempty"`
5107
5108	// ThirdPartyUrls: Tracking URLs from third parties to track
5109	// interactions with a video creative. This field is only supported for
5110	// the following creative_type: * `CREATIVE_TYPE_AUDIO` *
5111	// `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`
5112	ThirdPartyUrls []*ThirdPartyUrl `json:"thirdPartyUrls,omitempty"`
5113
5114	// TimerEvents: Timer custom events for a rich media creative. Timers
5115	// track the time during which a user views and interacts with a
5116	// specified part of a rich media creative. A creative can have multiple
5117	// timer events, each timed independently. Leave it empty or unset for
5118	// creatives containing image assets only.
5119	TimerEvents []*TimerEvent `json:"timerEvents,omitempty"`
5120
5121	// TrackerUrls: Tracking URLs for analytics providers or third-party ad
5122	// technology vendors. The URLs must start with https (except on
5123	// inventory that doesn't require SSL compliance). If using macros in
5124	// your URL, use only macros supported by Display & Video 360. Standard
5125	// URLs only, no IMG or SCRIPT tags. This field is only supported in
5126	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
5127	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
5128	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
5129	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
5130	// `CREATIVE_TYPE_NATIVE_VIDEO`
5131	TrackerUrls []string `json:"trackerUrls,omitempty"`
5132
5133	// Transcodes: Output only. Audio/Video transcodes. Display & Video 360
5134	// transcodes the main asset into a number of alternative versions that
5135	// use different file formats or have different properties (resolution,
5136	// audio bit rate, and video bit rate), each designed for specific video
5137	// players or bandwidths. These transcodes give a publisher's system
5138	// more options to choose from for each impression on your video and
5139	// ensures that the appropriate file serves based on the viewer’s
5140	// connection and screen size. This field is only supported in following
5141	// creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`
5142	// * `CREATIVE_TYPE_AUDIO`
5143	Transcodes []*Transcode `json:"transcodes,omitempty"`
5144
5145	// UniversalAdId: Optional. An optional creative identifier provided by
5146	// a registry that is unique across all platforms. Universal Ad ID is
5147	// part of the VAST 4.0 standard. It can be modified after the creative
5148	// is created. This field is only supported for the following
5149	// creative_type: * `CREATIVE_TYPE_VIDEO`
5150	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
5151
5152	// UpdateTime: Output only. The timestamp when the creative was last
5153	// updated. Assigned by the system.
5154	UpdateTime string `json:"updateTime,omitempty"`
5155
5156	// VastTagUrl: Optional. The URL of the VAST tag for a third-party VAST
5157	// tag creative. Required and only valid for third-party VAST tag
5158	// creatives. Third-party VAST tag creatives are creatives with
5159	// following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined
5160	// with following creative_type: * `CREATIVE_TYPE_AUDIO` *
5161	// `CREATIVE_TYPE_VIDEO`
5162	VastTagUrl string `json:"vastTagUrl,omitempty"`
5163
5164	// Vpaid: Output only. Indicates the third-party VAST tag creative
5165	// requires VPAID (Digital Video Player-Ad Interface). Output only and
5166	// only valid for third-party VAST tag creatives. Third-party VAST tag
5167	// creatives are creatives with following hosting_source: *
5168	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
5169	// `CREATIVE_TYPE_VIDEO`
5170	Vpaid bool `json:"vpaid,omitempty"`
5171
5172	// ServerResponse contains the HTTP response code and headers from the
5173	// server.
5174	googleapi.ServerResponse `json:"-"`
5175
5176	// ForceSendFields is a list of field names (e.g.
5177	// "AdditionalDimensions") to unconditionally include in API requests.
5178	// By default, fields with empty or default values are omitted from API
5179	// requests. However, any non-pointer, non-interface field appearing in
5180	// ForceSendFields will be sent to the server regardless of whether the
5181	// field is empty or not. This may be used to include empty fields in
5182	// Patch requests.
5183	ForceSendFields []string `json:"-"`
5184
5185	// NullFields is a list of field names (e.g. "AdditionalDimensions") to
5186	// include in API requests with the JSON null value. By default, fields
5187	// with empty values are omitted from API requests. However, any field
5188	// with an empty value appearing in NullFields will be sent to the
5189	// server as null. It is an error if a field in this list has a
5190	// non-empty value. This may be used to include null fields in Patch
5191	// requests.
5192	NullFields []string `json:"-"`
5193}
5194
5195func (s *Creative) MarshalJSON() ([]byte, error) {
5196	type NoMethod Creative
5197	raw := NoMethod(*s)
5198	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5199}
5200
5201// CreativeConfig: Creative requirements configuration for the inventory
5202// source.
5203type CreativeConfig struct {
5204	// CreativeType: The type of creative that can be assigned to the
5205	// inventory source.
5206	//
5207	// Possible values:
5208	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is
5209	// unknown in this version.
5210	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and
5211	// update methods are supported for this creative type if the
5212	// hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` *
5213	// `HOSTING_SOURCE_THIRD_PARTY`
5214	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
5215	// methods are supported for this creative type if the hosting_source is
5216	// `HOSTING_SOURCE_THIRD_PARTY`
5217	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods
5218	// are supported for this creative type if the hosting_source is one of
5219	// the following: * `HOSTING_SOURCE_HOSTED` *
5220	// `HOSTING_SOURCE_THIRD_PARTY`
5221	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers
5222	// with assets from advertiser. Create and update methods are supported
5223	// for this creative type if the hosting_source is
5224	// `HOSTING_SOURCE_HOSTED`
5225	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install
5226	// mobile creative (banner). Create and update methods are **not**
5227	// supported for this creative type.
5228	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create
5229	// and update methods are supported for this creative type if the
5230	// hosting_source is `HOSTING_SOURCE_HOSTED`
5231	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial
5232	// creative including both display and video. Create and update methods
5233	// are **not** supported for this creative type.
5234	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox
5235	// creative. Create and update methods are **not** supported for this
5236	// creative type.
5237	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative.
5238	// Create and update methods are supported for this creative type if the
5239	// hosting_source is `HOSTING_SOURCE_HOSTED`
5240	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app
5241	// install creative. Create and update methods are supported for this
5242	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
5243	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods
5244	// are supported for this creative type if the hosting_source is
5245	// `HOSTING_SOURCE_HOSTED`
5246	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative.
5247	// Create and update methods are **not** supported for this creative
5248	// type.
5249	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and
5250	// update methods are supported for this creative type if the
5251	// hosting_source is `HOSTING_SOURCE_HOSTED`
5252	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install
5253	// mobile video creative. Create and update methods are **not**
5254	// supported for this creative type.
5255	CreativeType string `json:"creativeType,omitempty"`
5256
5257	// DisplayCreativeConfig: The configuration for display creatives.
5258	// Applicable when creative_type is `CREATIVE_TYPE_STANDARD`.
5259	DisplayCreativeConfig *InventorySourceDisplayCreativeConfig `json:"displayCreativeConfig,omitempty"`
5260
5261	// VideoCreativeConfig: The configuration for video creatives.
5262	// Applicable when creative_type is `CREATIVE_TYPE_VIDEO`.
5263	VideoCreativeConfig *InventorySourceVideoCreativeConfig `json:"videoCreativeConfig,omitempty"`
5264
5265	// ForceSendFields is a list of field names (e.g. "CreativeType") to
5266	// unconditionally include in API requests. By default, fields with
5267	// empty or default values are omitted from API requests. However, any
5268	// non-pointer, non-interface field appearing in ForceSendFields will be
5269	// sent to the server regardless of whether the field is empty or not.
5270	// This may be used to include empty fields in Patch requests.
5271	ForceSendFields []string `json:"-"`
5272
5273	// NullFields is a list of field names (e.g. "CreativeType") to include
5274	// in API requests with the JSON null value. By default, fields with
5275	// empty values are omitted from API requests. However, any field with
5276	// an empty value appearing in NullFields will be sent to the server as
5277	// null. It is an error if a field in this list has a non-empty value.
5278	// This may be used to include null fields in Patch requests.
5279	NullFields []string `json:"-"`
5280}
5281
5282func (s *CreativeConfig) MarshalJSON() ([]byte, error) {
5283	type NoMethod CreativeConfig
5284	raw := NoMethod(*s)
5285	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5286}
5287
5288// CustomBiddingAlgorithm: A single custom bidding algorithm.
5289type CustomBiddingAlgorithm struct {
5290	// AdvertiserId: Immutable. The unique ID of the advertiser that owns
5291	// the custom bidding algorithm.
5292	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5293
5294	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom
5295	// bidding algorithm. Assigned by the system.
5296	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
5297
5298	// CustomBiddingAlgorithmState: Output only. The status of custom
5299	// bidding algorithm.
5300	//
5301	// Possible values:
5302	//   "STATE_UNSPECIFIED" - State is not specified or is unknown in this
5303	// version.
5304	//   "ENABLED" - Algorithm is enabled, either recently used, currently
5305	// used or scheduled to be used. The algorithm is actively scoring
5306	// impressions.
5307	//   "DORMANT" - Algorithm has not been used recently. Although the
5308	// algorithm still acts as `ENABLED`, it will eventually be suspended if
5309	// not used.
5310	//   "SUSPENDED" - Algorithm is susepended from scoring impressions and
5311	// doesn't have a serving model trained. If the algorithm is assigned to
5312	// a line item or otherwise updated, it will switch back to the
5313	// `ENABLED` state and require time to prepare the serving model again.
5314	CustomBiddingAlgorithmState string `json:"customBiddingAlgorithmState,omitempty"`
5315
5316	// CustomBiddingAlgorithmType: Required. Immutable. The type of custom
5317	// bidding algorithm.
5318	//
5319	// Possible values:
5320	//   "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED" - Algorithm type is not
5321	// specified or is unknown in this version.
5322	//   "SCRIPT_BASED" - Algorithm generated through customer-uploaded
5323	// custom bidding script files.
5324	//   "ADS_DATA_HUB_BASED" - Algorithm created through Ads Data Hub
5325	// product.
5326	//   "GOAL_BUILDER_BASED" - Algorithm created through goal builder in
5327	// DV3 UI.
5328	CustomBiddingAlgorithmType string `json:"customBiddingAlgorithmType,omitempty"`
5329
5330	// DisplayName: Required. The display name of the custom bidding
5331	// algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
5332	DisplayName string `json:"displayName,omitempty"`
5333
5334	// EntityStatus: Controls whether or not the custom bidding algorithm
5335	// can be used as a bidding strategy. Accepted values are: *
5336	// `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
5337	//
5338	// Possible values:
5339	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
5340	// specified or is unknown in this version.
5341	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
5342	// budget.
5343	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
5344	// budget spending are disabled. An entity can be deleted after
5345	// archived. Deleted entities cannot be retrieved.
5346	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
5347	// budget spending are disabled.
5348	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
5349	// the entity.
5350	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
5351	// for deletion.
5352	EntityStatus string `json:"entityStatus,omitempty"`
5353
5354	// Name: Output only. The resource name of the custom bidding algorithm.
5355	Name string `json:"name,omitempty"`
5356
5357	// PartnerId: Immutable. The unique ID of the partner that owns the
5358	// custom bidding algorithm.
5359	PartnerId int64 `json:"partnerId,omitempty,string"`
5360
5361	// SharedAdvertiserIds: The IDs of the advertisers who have access to
5362	// this algorithm. This field will not be set if the algorithm owner is
5363	// a partner and is being retrieved using an advertiser accessor.
5364	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
5365
5366	// ServerResponse contains the HTTP response code and headers from the
5367	// server.
5368	googleapi.ServerResponse `json:"-"`
5369
5370	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
5371	// unconditionally include in API requests. By default, fields with
5372	// empty or default values are omitted from API requests. However, any
5373	// non-pointer, non-interface field appearing in ForceSendFields will be
5374	// sent to the server regardless of whether the field is empty or not.
5375	// This may be used to include empty fields in Patch requests.
5376	ForceSendFields []string `json:"-"`
5377
5378	// NullFields is a list of field names (e.g. "AdvertiserId") to include
5379	// in API requests with the JSON null value. By default, fields with
5380	// empty values are omitted from API requests. However, any field with
5381	// an empty value appearing in NullFields will be sent to the server as
5382	// null. It is an error if a field in this list has a non-empty value.
5383	// This may be used to include null fields in Patch requests.
5384	NullFields []string `json:"-"`
5385}
5386
5387func (s *CustomBiddingAlgorithm) MarshalJSON() ([]byte, error) {
5388	type NoMethod CustomBiddingAlgorithm
5389	raw := NoMethod(*s)
5390	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5391}
5392
5393// CustomList: Describes a custom list entity, such as a custom affinity
5394// or custom intent audience list.
5395type CustomList struct {
5396	// CustomListId: Output only. The unique ID of the custom list. Assigned
5397	// by the system.
5398	CustomListId int64 `json:"customListId,omitempty,string"`
5399
5400	// DisplayName: Output only. The display name of the custom list. .
5401	DisplayName string `json:"displayName,omitempty"`
5402
5403	// Name: Output only. The resource name of the custom list.
5404	Name string `json:"name,omitempty"`
5405
5406	// ServerResponse contains the HTTP response code and headers from the
5407	// server.
5408	googleapi.ServerResponse `json:"-"`
5409
5410	// ForceSendFields is a list of field names (e.g. "CustomListId") to
5411	// unconditionally include in API requests. By default, fields with
5412	// empty or default values are omitted from API requests. However, any
5413	// non-pointer, non-interface field appearing in ForceSendFields will be
5414	// sent to the server regardless of whether the field is empty or not.
5415	// This may be used to include empty fields in Patch requests.
5416	ForceSendFields []string `json:"-"`
5417
5418	// NullFields is a list of field names (e.g. "CustomListId") to include
5419	// in API requests with the JSON null value. By default, fields with
5420	// empty values are omitted from API requests. However, any field with
5421	// an empty value appearing in NullFields will be sent to the server as
5422	// null. It is an error if a field in this list has a non-empty value.
5423	// This may be used to include null fields in Patch requests.
5424	NullFields []string `json:"-"`
5425}
5426
5427func (s *CustomList) MarshalJSON() ([]byte, error) {
5428	type NoMethod CustomList
5429	raw := NoMethod(*s)
5430	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5431}
5432
5433// CustomListGroup: Details of custom list group. All custom list
5434// targeting settings are logically ‘OR’ of each other.
5435type CustomListGroup struct {
5436	// Settings: Required. All custom list targeting settings in custom list
5437	// group. Repeated settings with same id will be ignored.
5438	Settings []*CustomListTargetingSetting `json:"settings,omitempty"`
5439
5440	// ForceSendFields is a list of field names (e.g. "Settings") to
5441	// unconditionally include in API requests. By default, fields with
5442	// empty or default values are omitted from API requests. However, any
5443	// non-pointer, non-interface field appearing in ForceSendFields will be
5444	// sent to the server regardless of whether the field is empty or not.
5445	// This may be used to include empty fields in Patch requests.
5446	ForceSendFields []string `json:"-"`
5447
5448	// NullFields is a list of field names (e.g. "Settings") to include in
5449	// API requests with the JSON null value. By default, fields with empty
5450	// values are omitted from API requests. However, any field with an
5451	// empty value appearing in NullFields will be sent to the server as
5452	// null. It is an error if a field in this list has a non-empty value.
5453	// This may be used to include null fields in Patch requests.
5454	NullFields []string `json:"-"`
5455}
5456
5457func (s *CustomListGroup) MarshalJSON() ([]byte, error) {
5458	type NoMethod CustomListGroup
5459	raw := NoMethod(*s)
5460	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5461}
5462
5463// CustomListTargetingSetting: Details of custom list targeting setting.
5464type CustomListTargetingSetting struct {
5465	// CustomListId: Required. Custom id of custom list targeting setting.
5466	// This id is custom_list_id.
5467	CustomListId int64 `json:"customListId,omitempty,string"`
5468
5469	// ForceSendFields is a list of field names (e.g. "CustomListId") to
5470	// unconditionally include in API requests. By default, fields with
5471	// empty or default values are omitted from API requests. However, any
5472	// non-pointer, non-interface field appearing in ForceSendFields will be
5473	// sent to the server regardless of whether the field is empty or not.
5474	// This may be used to include empty fields in Patch requests.
5475	ForceSendFields []string `json:"-"`
5476
5477	// NullFields is a list of field names (e.g. "CustomListId") to include
5478	// in API requests with the JSON null value. By default, fields with
5479	// empty values are omitted from API requests. However, any field with
5480	// an empty value appearing in NullFields will be sent to the server as
5481	// null. It is an error if a field in this list has a non-empty value.
5482	// This may be used to include null fields in Patch requests.
5483	NullFields []string `json:"-"`
5484}
5485
5486func (s *CustomListTargetingSetting) MarshalJSON() ([]byte, error) {
5487	type NoMethod CustomListTargetingSetting
5488	raw := NoMethod(*s)
5489	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5490}
5491
5492// Date: Represents a whole or partial calendar date, such as a
5493// birthday. The time of day and time zone are either specified
5494// elsewhere or are insignificant. The date is relative to the Gregorian
5495// Calendar. This can represent one of the following: * A full date,
5496// with non-zero year, month, and day values * A month and day value,
5497// with a zero year, such as an anniversary * A year on its own, with
5498// zero month and day values * A year and month value, with a zero day,
5499// such as a credit card expiration date Related types are
5500// google.type.TimeOfDay and `google.protobuf.Timestamp`.
5501type Date struct {
5502	// Day: Day of a month. Must be from 1 to 31 and valid for the year and
5503	// month, or 0 to specify a year by itself or a year and month where the
5504	// day isn't significant.
5505	Day int64 `json:"day,omitempty"`
5506
5507	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year
5508	// without a month and day.
5509	Month int64 `json:"month,omitempty"`
5510
5511	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a
5512	// date without a year.
5513	Year int64 `json:"year,omitempty"`
5514
5515	// ForceSendFields is a list of field names (e.g. "Day") to
5516	// unconditionally include in API requests. By default, fields with
5517	// empty or default values are omitted from API requests. However, any
5518	// non-pointer, non-interface field appearing in ForceSendFields will be
5519	// sent to the server regardless of whether the field is empty or not.
5520	// This may be used to include empty fields in Patch requests.
5521	ForceSendFields []string `json:"-"`
5522
5523	// NullFields is a list of field names (e.g. "Day") to include in API
5524	// requests with the JSON null value. By default, fields with empty
5525	// values are omitted from API requests. However, any field with an
5526	// empty value appearing in NullFields will be sent to the server as
5527	// null. It is an error if a field in this list has a non-empty value.
5528	// This may be used to include null fields in Patch requests.
5529	NullFields []string `json:"-"`
5530}
5531
5532func (s *Date) MarshalJSON() ([]byte, error) {
5533	type NoMethod Date
5534	raw := NoMethod(*s)
5535	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5536}
5537
5538// DateRange: A date range.
5539type DateRange struct {
5540	// EndDate: The upper bound of the date range, inclusive. Must specify a
5541	// positive value for `year`, `month`, and `day`.
5542	EndDate *Date `json:"endDate,omitempty"`
5543
5544	// StartDate: The lower bound of the date range, inclusive. Must specify
5545	// a positive value for `year`, `month`, and `day`.
5546	StartDate *Date `json:"startDate,omitempty"`
5547
5548	// ForceSendFields is a list of field names (e.g. "EndDate") to
5549	// unconditionally include in API requests. By default, fields with
5550	// empty or default values are omitted from API requests. However, any
5551	// non-pointer, non-interface field appearing in ForceSendFields will be
5552	// sent to the server regardless of whether the field is empty or not.
5553	// This may be used to include empty fields in Patch requests.
5554	ForceSendFields []string `json:"-"`
5555
5556	// NullFields is a list of field names (e.g. "EndDate") to include in
5557	// API requests with the JSON null value. By default, fields with empty
5558	// values are omitted from API requests. However, any field with an
5559	// empty value appearing in NullFields will be sent to the server as
5560	// null. It is an error if a field in this list has a non-empty value.
5561	// This may be used to include null fields in Patch requests.
5562	NullFields []string `json:"-"`
5563}
5564
5565func (s *DateRange) MarshalJSON() ([]byte, error) {
5566	type NoMethod DateRange
5567	raw := NoMethod(*s)
5568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5569}
5570
5571// DayAndTimeAssignedTargetingOptionDetails: Representation of a segment
5572// of time defined on a specific day of the week and with a start and
5573// end time. The time represented by `start_hour` must be before the
5574// time represented by `end_hour`.
5575type DayAndTimeAssignedTargetingOptionDetails struct {
5576	// DayOfWeek: Required. The day of the week for this day and time
5577	// targeting setting.
5578	//
5579	// Possible values:
5580	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
5581	//   "MONDAY" - Monday
5582	//   "TUESDAY" - Tuesday
5583	//   "WEDNESDAY" - Wednesday
5584	//   "THURSDAY" - Thursday
5585	//   "FRIDAY" - Friday
5586	//   "SATURDAY" - Saturday
5587	//   "SUNDAY" - Sunday
5588	DayOfWeek string `json:"dayOfWeek,omitempty"`
5589
5590	// EndHour: Required. The end hour for day and time targeting. Must be
5591	// between 1 (1 hour after start of day) and 24 (end of day).
5592	EndHour int64 `json:"endHour,omitempty"`
5593
5594	// StartHour: Required. The start hour for day and time targeting. Must
5595	// be between 0 (start of day) and 23 (1 hour before end of day).
5596	StartHour int64 `json:"startHour,omitempty"`
5597
5598	// TimeZoneResolution: Required. The mechanism used to determine which
5599	// timezone to use for this day and time targeting setting.
5600	//
5601	// Possible values:
5602	//   "TIME_ZONE_RESOLUTION_UNSPECIFIED" - Time zone resolution is either
5603	// unspecific or unknown.
5604	//   "TIME_ZONE_RESOLUTION_END_USER" - Times are resolved in the time
5605	// zone of the user that saw the ad.
5606	//   "TIME_ZONE_RESOLUTION_ADVERTISER" - Times are resolved in the time
5607	// zone of the advertiser that served the ad.
5608	TimeZoneResolution string `json:"timeZoneResolution,omitempty"`
5609
5610	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
5611	// unconditionally include in API requests. By default, fields with
5612	// empty or default values are omitted from API requests. However, any
5613	// non-pointer, non-interface field appearing in ForceSendFields will be
5614	// sent to the server regardless of whether the field is empty or not.
5615	// This may be used to include empty fields in Patch requests.
5616	ForceSendFields []string `json:"-"`
5617
5618	// NullFields is a list of field names (e.g. "DayOfWeek") to include in
5619	// API requests with the JSON null value. By default, fields with empty
5620	// values are omitted from API requests. However, any field with an
5621	// empty value appearing in NullFields will be sent to the server as
5622	// null. It is an error if a field in this list has a non-empty value.
5623	// This may be used to include null fields in Patch requests.
5624	NullFields []string `json:"-"`
5625}
5626
5627func (s *DayAndTimeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5628	type NoMethod DayAndTimeAssignedTargetingOptionDetails
5629	raw := NoMethod(*s)
5630	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5631}
5632
5633// DeactivateManualTriggerRequest: Request message for
5634// ManualTriggerService.DeactivateManualTrigger.
5635type DeactivateManualTriggerRequest struct {
5636}
5637
5638// DeleteAssignedTargetingOptionsRequest: A request listing which
5639// assigned targeting options of a given targeting type should be
5640// deleted.
5641type DeleteAssignedTargetingOptionsRequest struct {
5642	// AssignedTargetingOptionIds: Required. The assigned targeting option
5643	// IDs to delete.
5644	AssignedTargetingOptionIds []string `json:"assignedTargetingOptionIds,omitempty"`
5645
5646	// TargetingType: Required. Identifies the type of this assigned
5647	// targeting option.
5648	//
5649	// Possible values:
5650	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
5651	// specified or is unknown in this version.
5652	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
5653	// related websites or apps).
5654	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
5655	// example, education or puzzle games).
5656	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
5657	// Birds).
5658	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
5659	// quora.com).
5660	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
5661	// period on a specific day.
5662	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
5663	// (for example, 18-24).
5664	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
5665	// specified regions on a regional location list.
5666	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
5667	// specified points of interest on a proximity location list.
5668	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
5669	// example, female or male).
5670	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
5671	// size for video ads.
5672	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
5673	// content for video ads.
5674	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
5675	// parental status (for example, parent or not a parent).
5676	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
5677	// ads in a specific content instream position (for example, pre-roll,
5678	// mid-roll, or post-roll).
5679	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
5680	// specific content outstream position.
5681	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
5682	// (for example, tablet or connected TV).
5683	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
5684	// groups of audiences. Singleton field, at most one can exist on a
5685	// single Lineitem at a time.
5686	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
5687	// example, Chrome).
5688	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
5689	// household income range (for example, top 10%).
5690	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
5691	// screen position.
5692	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
5693	// third party verification (for example, IAS or DoubleVerify).
5694	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
5695	// by specific digital content label ratings (for example, DL-MA:
5696	// suitable only for mature audiences).
5697	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
5698	// content by sensitive categories (for example, adult).
5699	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
5700	// (for example, web or app).
5701	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
5702	// carrier or internet service provider (ISP) (for example, Comcast or
5703	// Orange).
5704	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
5705	// operating system (for example, macOS).
5706	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
5707	// device make or model (for example, Roku or Samsung).
5708	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
5709	// example, dog or retriever).
5710	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
5711	// negative keyword list.
5712	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
5713	// (for example, 80% viewable).
5714	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
5715	// category (for example, arts & entertainment).
5716	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
5717	// specific deals and auction packages.
5718	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
5719	// example, English or Japanese).
5720	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
5721	// authorized sellers.
5722	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
5723	// location (for example, a city or state).
5724	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
5725	// a group of deals and auction packages.
5726	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
5727	// exchanges.
5728	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
5729	// sub-exchanges.
5730	//   "TARGETING_TYPE_POI" - Target ads around a specific point of
5731	// interest, such as a notable building, a street address, or
5732	// latitude/longitude coordinates.
5733	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
5734	// business chain within a specific geo region.
5735	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
5736	// native content position.
5737	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
5738	// inventory.
5739	TargetingType string `json:"targetingType,omitempty"`
5740
5741	// ForceSendFields is a list of field names (e.g.
5742	// "AssignedTargetingOptionIds") to unconditionally include in API
5743	// requests. By default, fields with empty or default values are omitted
5744	// from API requests. However, any non-pointer, non-interface field
5745	// appearing in ForceSendFields will be sent to the server regardless of
5746	// whether the field is empty or not. This may be used to include empty
5747	// fields in Patch requests.
5748	ForceSendFields []string `json:"-"`
5749
5750	// NullFields is a list of field names (e.g.
5751	// "AssignedTargetingOptionIds") to include in API requests with the
5752	// JSON null value. By default, fields with empty values are omitted
5753	// from API requests. However, any field with an empty value appearing
5754	// in NullFields will be sent to the server as null. It is an error if a
5755	// field in this list has a non-empty value. This may be used to include
5756	// null fields in Patch requests.
5757	NullFields []string `json:"-"`
5758}
5759
5760func (s *DeleteAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
5761	type NoMethod DeleteAssignedTargetingOptionsRequest
5762	raw := NoMethod(*s)
5763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5764}
5765
5766// DeviceMakeModelAssignedTargetingOptionDetails: Assigned device make
5767// and model targeting option details. This will be populated in the
5768// device_make_model_details field when targeting_type is
5769// `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5770type DeviceMakeModelAssignedTargetingOptionDetails struct {
5771	// DisplayName: Output only. The display name of the device make and
5772	// model.
5773	DisplayName string `json:"displayName,omitempty"`
5774
5775	// Negative: Indicates if this option is being negatively targeted.
5776	Negative bool `json:"negative,omitempty"`
5777
5778	// TargetingOptionId: Required. The targeting_option_id field when
5779	// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5780	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5781
5782	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5783	// unconditionally include in API requests. By default, fields with
5784	// empty or default values are omitted from API requests. However, any
5785	// non-pointer, non-interface field appearing in ForceSendFields will be
5786	// sent to the server regardless of whether the field is empty or not.
5787	// This may be used to include empty fields in Patch requests.
5788	ForceSendFields []string `json:"-"`
5789
5790	// NullFields is a list of field names (e.g. "DisplayName") to include
5791	// in API requests with the JSON null value. By default, fields with
5792	// empty values are omitted from API requests. However, any field with
5793	// an empty value appearing in NullFields will be sent to the server as
5794	// null. It is an error if a field in this list has a non-empty value.
5795	// This may be used to include null fields in Patch requests.
5796	NullFields []string `json:"-"`
5797}
5798
5799func (s *DeviceMakeModelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5800	type NoMethod DeviceMakeModelAssignedTargetingOptionDetails
5801	raw := NoMethod(*s)
5802	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5803}
5804
5805// DeviceMakeModelTargetingOptionDetails: Represents a targetable device
5806// make and model. This will be populated in the
5807// device_make_model_details field of a TargetingOption when
5808// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5809type DeviceMakeModelTargetingOptionDetails struct {
5810	// DisplayName: Output only. The display name of the device make and
5811	// model.
5812	DisplayName string `json:"displayName,omitempty"`
5813
5814	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5815	// unconditionally include in API requests. By default, fields with
5816	// empty or default values are omitted from API requests. However, any
5817	// non-pointer, non-interface field appearing in ForceSendFields will be
5818	// sent to the server regardless of whether the field is empty or not.
5819	// This may be used to include empty fields in Patch requests.
5820	ForceSendFields []string `json:"-"`
5821
5822	// NullFields is a list of field names (e.g. "DisplayName") to include
5823	// in API requests with the JSON null value. By default, fields with
5824	// empty values are omitted from API requests. However, any field with
5825	// an empty value appearing in NullFields will be sent to the server as
5826	// null. It is an error if a field in this list has a non-empty value.
5827	// This may be used to include null fields in Patch requests.
5828	NullFields []string `json:"-"`
5829}
5830
5831func (s *DeviceMakeModelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5832	type NoMethod DeviceMakeModelTargetingOptionDetails
5833	raw := NoMethod(*s)
5834	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5835}
5836
5837// DeviceTypeAssignedTargetingOptionDetails: Targeting details for
5838// device type. This will be populated in the details field of an
5839// AssignedTargetingOption when targeting_type is
5840// `TARGETING_TYPE_DEVICE_TYPE`.
5841type DeviceTypeAssignedTargetingOptionDetails struct {
5842	// DeviceType: Output only. The display name of the device type.
5843	//
5844	// Possible values:
5845	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
5846	// specified in this version. This enum is a placeholder for default
5847	// value and does not represent a real device type option.
5848	//   "DEVICE_TYPE_COMPUTER" - The device type is computer.
5849	//   "DEVICE_TYPE_CONNECTED_TV" - The device type is connected TV.
5850	//   "DEVICE_TYPE_SMART_PHONE" - The device type is smart phone..
5851	//   "DEVICE_TYPE_TABLET" - The device type is tablet.
5852	DeviceType string `json:"deviceType,omitempty"`
5853
5854	// TargetingOptionId: Required. ID of the device type.
5855	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5856
5857	// ForceSendFields is a list of field names (e.g. "DeviceType") to
5858	// unconditionally include in API requests. By default, fields with
5859	// empty or default values are omitted from API requests. However, any
5860	// non-pointer, non-interface field appearing in ForceSendFields will be
5861	// sent to the server regardless of whether the field is empty or not.
5862	// This may be used to include empty fields in Patch requests.
5863	ForceSendFields []string `json:"-"`
5864
5865	// NullFields is a list of field names (e.g. "DeviceType") to include in
5866	// API requests with the JSON null value. By default, fields with empty
5867	// values are omitted from API requests. However, any field with an
5868	// empty value appearing in NullFields will be sent to the server as
5869	// null. It is an error if a field in this list has a non-empty value.
5870	// This may be used to include null fields in Patch requests.
5871	NullFields []string `json:"-"`
5872}
5873
5874func (s *DeviceTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5875	type NoMethod DeviceTypeAssignedTargetingOptionDetails
5876	raw := NoMethod(*s)
5877	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5878}
5879
5880// DeviceTypeTargetingOptionDetails: Represents a targetable device
5881// type. This will be populated in the device_type_details field of a
5882// TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
5883type DeviceTypeTargetingOptionDetails struct {
5884	// DeviceType: Output only. The device type that is used to be targeted.
5885	//
5886	// Possible values:
5887	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
5888	// specified in this version. This enum is a placeholder for default
5889	// value and does not represent a real device type option.
5890	//   "DEVICE_TYPE_COMPUTER" - The device type is computer.
5891	//   "DEVICE_TYPE_CONNECTED_TV" - The device type is connected TV.
5892	//   "DEVICE_TYPE_SMART_PHONE" - The device type is smart phone..
5893	//   "DEVICE_TYPE_TABLET" - The device type is tablet.
5894	DeviceType string `json:"deviceType,omitempty"`
5895
5896	// ForceSendFields is a list of field names (e.g. "DeviceType") to
5897	// unconditionally include in API requests. By default, fields with
5898	// empty or default values are omitted from API requests. However, any
5899	// non-pointer, non-interface field appearing in ForceSendFields will be
5900	// sent to the server regardless of whether the field is empty or not.
5901	// This may be used to include empty fields in Patch requests.
5902	ForceSendFields []string `json:"-"`
5903
5904	// NullFields is a list of field names (e.g. "DeviceType") to include in
5905	// API requests with the JSON null value. By default, fields with empty
5906	// values are omitted from API requests. However, any field with an
5907	// empty value appearing in NullFields will be sent to the server as
5908	// null. It is an error if a field in this list has a non-empty value.
5909	// This may be used to include null fields in Patch requests.
5910	NullFields []string `json:"-"`
5911}
5912
5913func (s *DeviceTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5914	type NoMethod DeviceTypeTargetingOptionDetails
5915	raw := NoMethod(*s)
5916	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5917}
5918
5919// DigitalContentLabelAssignedTargetingOptionDetails: Targeting details
5920// for digital content label. This will be populated in the details
5921// field of an AssignedTargetingOption when targeting_type is
5922// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
5923type DigitalContentLabelAssignedTargetingOptionDetails struct {
5924	// ContentRatingTier: Output only. The display name of the digital
5925	// content label rating tier.
5926	//
5927	// Possible values:
5928	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified
5929	// in this version. This enum is a place holder for a default value and
5930	// does not represent a real content rating.
5931	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
5932	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general
5933	// audiences.
5934	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
5935	// audiences with parental guidance.
5936	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
5937	// audiences.
5938	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature
5939	// audiences.
5940	ContentRatingTier string `json:"contentRatingTier,omitempty"`
5941
5942	// ExcludedTargetingOptionId: Required. ID of the digital content label
5943	// to be EXCLUDED.
5944	ExcludedTargetingOptionId string `json:"excludedTargetingOptionId,omitempty"`
5945
5946	// ForceSendFields is a list of field names (e.g. "ContentRatingTier")
5947	// to unconditionally include in API requests. By default, fields with
5948	// empty or default values are omitted from API requests. However, any
5949	// non-pointer, non-interface field appearing in ForceSendFields will be
5950	// sent to the server regardless of whether the field is empty or not.
5951	// This may be used to include empty fields in Patch requests.
5952	ForceSendFields []string `json:"-"`
5953
5954	// NullFields is a list of field names (e.g. "ContentRatingTier") to
5955	// include in API requests with the JSON null value. By default, fields
5956	// with empty values are omitted from API requests. However, any field
5957	// with an empty value appearing in NullFields will be sent to the
5958	// server as null. It is an error if a field in this list has a
5959	// non-empty value. This may be used to include null fields in Patch
5960	// requests.
5961	NullFields []string `json:"-"`
5962}
5963
5964func (s *DigitalContentLabelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5965	type NoMethod DigitalContentLabelAssignedTargetingOptionDetails
5966	raw := NoMethod(*s)
5967	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5968}
5969
5970// DigitalContentLabelTargetingOptionDetails: Represents a targetable
5971// digital content label rating tier. This will be populated in the
5972// digital_content_label_details field of the TargetingOption when
5973// targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
5974type DigitalContentLabelTargetingOptionDetails struct {
5975	// ContentRatingTier: Output only. An enum for the content label brand
5976	// safety tiers.
5977	//
5978	// Possible values:
5979	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified
5980	// in this version. This enum is a place holder for a default value and
5981	// does not represent a real content rating.
5982	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
5983	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general
5984	// audiences.
5985	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
5986	// audiences with parental guidance.
5987	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
5988	// audiences.
5989	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature
5990	// audiences.
5991	ContentRatingTier string `json:"contentRatingTier,omitempty"`
5992
5993	// ForceSendFields is a list of field names (e.g. "ContentRatingTier")
5994	// to unconditionally include in API requests. By default, fields with
5995	// empty or default values are omitted from API requests. However, any
5996	// non-pointer, non-interface field appearing in ForceSendFields will be
5997	// sent to the server regardless of whether the field is empty or not.
5998	// This may be used to include empty fields in Patch requests.
5999	ForceSendFields []string `json:"-"`
6000
6001	// NullFields is a list of field names (e.g. "ContentRatingTier") to
6002	// include in API requests with the JSON null value. By default, fields
6003	// with empty values are omitted from API requests. However, any field
6004	// with an empty value appearing in NullFields will be sent to the
6005	// server as null. It is an error if a field in this list has a
6006	// non-empty value. This may be used to include null fields in Patch
6007	// requests.
6008	NullFields []string `json:"-"`
6009}
6010
6011func (s *DigitalContentLabelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6012	type NoMethod DigitalContentLabelTargetingOptionDetails
6013	raw := NoMethod(*s)
6014	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6015}
6016
6017// Dimensions: Dimensions.
6018type Dimensions struct {
6019	// HeightPixels: The height in pixels.
6020	HeightPixels int64 `json:"heightPixels,omitempty"`
6021
6022	// WidthPixels: The width in pixels.
6023	WidthPixels int64 `json:"widthPixels,omitempty"`
6024
6025	// ForceSendFields is a list of field names (e.g. "HeightPixels") to
6026	// unconditionally include in API requests. By default, fields with
6027	// empty or default values are omitted from API requests. However, any
6028	// non-pointer, non-interface field appearing in ForceSendFields will be
6029	// sent to the server regardless of whether the field is empty or not.
6030	// This may be used to include empty fields in Patch requests.
6031	ForceSendFields []string `json:"-"`
6032
6033	// NullFields is a list of field names (e.g. "HeightPixels") to include
6034	// in API requests with the JSON null value. By default, fields with
6035	// empty values are omitted from API requests. However, any field with
6036	// an empty value appearing in NullFields will be sent to the server as
6037	// null. It is an error if a field in this list has a non-empty value.
6038	// This may be used to include null fields in Patch requests.
6039	NullFields []string `json:"-"`
6040}
6041
6042func (s *Dimensions) MarshalJSON() ([]byte, error) {
6043	type NoMethod Dimensions
6044	raw := NoMethod(*s)
6045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6046}
6047
6048// DoubleVerify: Details of DoubleVerify settings.
6049type DoubleVerify struct {
6050	// AppStarRating: Avoid bidding on apps with the star ratings.
6051	AppStarRating *DoubleVerifyAppStarRating `json:"appStarRating,omitempty"`
6052
6053	// AvoidedAgeRatings: Avoid bidding on apps with the age rating.
6054	//
6055	// Possible values:
6056	//   "AGE_RATING_UNSPECIFIED" - This enum is only a placeholder and it
6057	// doesn't specify any age rating options.
6058	//   "APP_AGE_RATE_UNKNOWN" - Apps with unknown age rating.
6059	//   "APP_AGE_RATE_4_PLUS" - Apps rated for Everyone (4+).
6060	//   "APP_AGE_RATE_9_PLUS" - Apps rated for Everyone (9+).
6061	//   "APP_AGE_RATE_12_PLUS" - Apps rated for Teens (12+).
6062	//   "APP_AGE_RATE_17_PLUS" - Apps rated for Mature (17+).
6063	//   "APP_AGE_RATE_18_PLUS" - Apps rated for Adults Only (18+).
6064	AvoidedAgeRatings []string `json:"avoidedAgeRatings,omitempty"`
6065
6066	// BrandSafetyCategories: DV Brand Safety Controls.
6067	BrandSafetyCategories *DoubleVerifyBrandSafetyCategories `json:"brandSafetyCategories,omitempty"`
6068
6069	// CustomSegmentId: The custom segment ID provided by DoubleVerify. The
6070	// ID must start with "51" and consist of eight digits. Custom segment
6071	// ID cannot be specified along with any of the following fields: *
6072	// brand_safety_categories * avoided_age_ratings * app_star_rating *
6073	// fraud_invalid_traffic
6074	CustomSegmentId int64 `json:"customSegmentId,omitempty,string"`
6075
6076	// DisplayViewability: Display viewability settings (applicable to
6077	// display line items only).
6078	DisplayViewability *DoubleVerifyDisplayViewability `json:"displayViewability,omitempty"`
6079
6080	// FraudInvalidTraffic: Avoid Sites and Apps with historical Fraud & IVT
6081	// Rates.
6082	FraudInvalidTraffic *DoubleVerifyFraudInvalidTraffic `json:"fraudInvalidTraffic,omitempty"`
6083
6084	// VideoViewability: Video viewability settings (applicable to video
6085	// line items only).
6086	VideoViewability *DoubleVerifyVideoViewability `json:"videoViewability,omitempty"`
6087
6088	// ForceSendFields is a list of field names (e.g. "AppStarRating") to
6089	// unconditionally include in API requests. By default, fields with
6090	// empty or default values are omitted from API requests. However, any
6091	// non-pointer, non-interface field appearing in ForceSendFields will be
6092	// sent to the server regardless of whether the field is empty or not.
6093	// This may be used to include empty fields in Patch requests.
6094	ForceSendFields []string `json:"-"`
6095
6096	// NullFields is a list of field names (e.g. "AppStarRating") to include
6097	// in API requests with the JSON null value. By default, fields with
6098	// empty values are omitted from API requests. However, any field with
6099	// an empty value appearing in NullFields will be sent to the server as
6100	// null. It is an error if a field in this list has a non-empty value.
6101	// This may be used to include null fields in Patch requests.
6102	NullFields []string `json:"-"`
6103}
6104
6105func (s *DoubleVerify) MarshalJSON() ([]byte, error) {
6106	type NoMethod DoubleVerify
6107	raw := NoMethod(*s)
6108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6109}
6110
6111// DoubleVerifyAppStarRating: Details of DoubleVerify star ratings
6112// settings.
6113type DoubleVerifyAppStarRating struct {
6114	// AvoidInsufficientStarRating: Avoid bidding on apps with insufficient
6115	// star ratings.
6116	AvoidInsufficientStarRating bool `json:"avoidInsufficientStarRating,omitempty"`
6117
6118	// AvoidedStarRating: Avoid bidding on apps with the star ratings.
6119	//
6120	// Possible values:
6121	//   "APP_STAR_RATE_UNSPECIFIED" - This enum is only a placeholder and
6122	// it doesn't specify any app star rating options.
6123	//   "APP_STAR_RATE_1_POINT_5_LESS" - Official Apps with rating < 1.5
6124	// Stars.
6125	//   "APP_STAR_RATE_2_LESS" - Official Apps with rating < 2 Stars.
6126	//   "APP_STAR_RATE_2_POINT_5_LESS" - Official Apps with rating < 2.5
6127	// Stars.
6128	//   "APP_STAR_RATE_3_LESS" - Official Apps with rating < 3 Stars.
6129	//   "APP_STAR_RATE_3_POINT_5_LESS" - Official Apps with rating < 3.5
6130	// Stars.
6131	//   "APP_STAR_RATE_4_LESS" - Official Apps with rating < 4 Stars.
6132	//   "APP_STAR_RATE_4_POINT_5_LESS" - Official Apps with rating < 4.5
6133	// Stars.
6134	AvoidedStarRating string `json:"avoidedStarRating,omitempty"`
6135
6136	// ForceSendFields is a list of field names (e.g.
6137	// "AvoidInsufficientStarRating") to unconditionally include in API
6138	// requests. By default, fields with empty or default values are omitted
6139	// from API requests. However, any non-pointer, non-interface field
6140	// appearing in ForceSendFields will be sent to the server regardless of
6141	// whether the field is empty or not. This may be used to include empty
6142	// fields in Patch requests.
6143	ForceSendFields []string `json:"-"`
6144
6145	// NullFields is a list of field names (e.g.
6146	// "AvoidInsufficientStarRating") to include in API requests with the
6147	// JSON null value. By default, fields with empty values are omitted
6148	// from API requests. However, any field with an empty value appearing
6149	// in NullFields will be sent to the server as null. It is an error if a
6150	// field in this list has a non-empty value. This may be used to include
6151	// null fields in Patch requests.
6152	NullFields []string `json:"-"`
6153}
6154
6155func (s *DoubleVerifyAppStarRating) MarshalJSON() ([]byte, error) {
6156	type NoMethod DoubleVerifyAppStarRating
6157	raw := NoMethod(*s)
6158	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6159}
6160
6161// DoubleVerifyBrandSafetyCategories: Settings for brand safety
6162// controls.
6163type DoubleVerifyBrandSafetyCategories struct {
6164	// AvoidUnknownBrandSafetyCategory: Unknown or unrateable.
6165	AvoidUnknownBrandSafetyCategory bool `json:"avoidUnknownBrandSafetyCategory,omitempty"`
6166
6167	// AvoidedHighSeverityCategories: Brand safety high severity avoidance
6168	// categories.
6169	//
6170	// Possible values:
6171	//   "HIGHER_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and
6172	// it doesn't specify any high severity categories.
6173	//   "ADULT_CONTENT_PORNOGRAPHY" - Adult Content: Pornography, Mature
6174	// Topics & Nudity.
6175	//   "COPYRIGHT_INFRINGEMENT" - Copyright Infringement.
6176	//   "SUBSTANCE_ABUSE" - Drugs/Alcohol/Controlled Substances: Substance
6177	// Abuse.
6178	//   "GRAPHIC_VIOLENCE_WEAPONS" - Extreme Graphic/Explicit
6179	// Violence/Weapons.
6180	//   "HATE_PROFANITY" - Hate/Profanity.
6181	//   "CRIMINAL_SKILLS" - Illegal Activities: Criminal Skills.
6182	//   "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" -
6183	// Incentivized/Malware/Clutter.
6184	AvoidedHighSeverityCategories []string `json:"avoidedHighSeverityCategories,omitempty"`
6185
6186	// AvoidedMediumSeverityCategories: Brand safety medium severity
6187	// avoidance categories.
6188	//
6189	// Possible values:
6190	//   "MEDIUM_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and
6191	// it doesn't specify any medium severity categories.
6192	//   "AD_SERVERS" - Ad Servers.
6193	//   "ADULT_CONTENT_SWIMSUIT" - Adult Content: Swimsuit.
6194	//   "ALTERNATIVE_LIFESTYLES" - Controversial Subjects: Alternative
6195	// Lifestyles.
6196	//   "CELEBRITY_GOSSIP" - Controversial Subjects: Celebrity Gossip.
6197	//   "GAMBLING" - Controversial Subjects: Gambling.
6198	//   "OCCULT" - Controversial Subjects: Occult.
6199	//   "SEX_EDUCATION" - Controversial Subjects: Sex Education.
6200	//   "DISASTER_AVIATION" - Disaster: Aviation.
6201	//   "DISASTER_MAN_MADE" - Disaster: Man-made.
6202	//   "DISASTER_NATURAL" - Disaster: Natural.
6203	//   "DISASTER_TERRORIST_EVENTS" - Disaster: Terrorist Events.
6204	//   "DISASTER_VEHICLE" - Disaster: Vehicle.
6205	//   "ALCOHOL" - Drugs/Alcohol/Controlled Substances: Alcohol.
6206	//   "SMOKING" - Drugs/Alcohol/Controlled Substances: Smoking.
6207	//   "NEGATIVE_NEWS_FINANCIAL" - Negative News: Financial.
6208	//   "NON_ENGLISH" - Non-Std Content: Non-English.
6209	//   "PARKING_PAGE" - Non-Std Content: Parking Page.
6210	//   "UNMODERATED_UGC" - Unmoderated UGC: Forums, Images & Video.
6211	//   "INFLAMMATORY_POLITICS_AND_NEWS" - Controversial Subjects:
6212	// Inflammatory Politics and News.
6213	//   "NEGATIVE_NEWS_PHARMACEUTICAL" - Negative News: Pharmaceutical.
6214	AvoidedMediumSeverityCategories []string `json:"avoidedMediumSeverityCategories,omitempty"`
6215
6216	// ForceSendFields is a list of field names (e.g.
6217	// "AvoidUnknownBrandSafetyCategory") to unconditionally include in API
6218	// requests. By default, fields with empty or default values are omitted
6219	// from API requests. However, any non-pointer, non-interface field
6220	// appearing in ForceSendFields will be sent to the server regardless of
6221	// whether the field is empty or not. This may be used to include empty
6222	// fields in Patch requests.
6223	ForceSendFields []string `json:"-"`
6224
6225	// NullFields is a list of field names (e.g.
6226	// "AvoidUnknownBrandSafetyCategory") to include in API requests with
6227	// the JSON null value. By default, fields with empty values are omitted
6228	// from API requests. However, any field with an empty value appearing
6229	// in NullFields will be sent to the server as null. It is an error if a
6230	// field in this list has a non-empty value. This may be used to include
6231	// null fields in Patch requests.
6232	NullFields []string `json:"-"`
6233}
6234
6235func (s *DoubleVerifyBrandSafetyCategories) MarshalJSON() ([]byte, error) {
6236	type NoMethod DoubleVerifyBrandSafetyCategories
6237	raw := NoMethod(*s)
6238	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6239}
6240
6241// DoubleVerifyDisplayViewability: Details of DoubleVerify display
6242// viewability settings.
6243type DoubleVerifyDisplayViewability struct {
6244	// Iab: Target web and app inventory to maximize IAB viewable rate.
6245	//
6246	// Possible values:
6247	//   "IAB_VIEWED_RATE_UNSPECIFIED" - This enum is only a placeholder and
6248	// it doesn't specify any IAB viewed rate options.
6249	//   "IAB_VIEWED_RATE_80_PERCENT_HIGHER" - Target web and app inventory
6250	// to maximize IAB viewable rate 80% or higher.
6251	//   "IAB_VIEWED_RATE_75_PERCENT_HIGHER" - Target web and app inventory
6252	// to maximize IAB viewable rate 75% or higher.
6253	//   "IAB_VIEWED_RATE_70_PERCENT_HIGHER" - Target web and app inventory
6254	// to maximize IAB viewable rate 70% or higher.
6255	//   "IAB_VIEWED_RATE_65_PERCENT_HIGHER" - Target web and app inventory
6256	// to maximize IAB viewable rate 65% or higher.
6257	//   "IAB_VIEWED_RATE_60_PERCENT_HIGHER" - Target web and app inventory
6258	// to maximize IAB viewable rate 60% or higher.
6259	//   "IAB_VIEWED_RATE_55_PERCENT_HIGHER" - Target web and app inventory
6260	// to maximize IAB viewable rate 55% or higher.
6261	//   "IAB_VIEWED_RATE_50_PERCENT_HIGHER" - Target web and app inventory
6262	// to maximize IAB viewable rate 50% or higher.
6263	//   "IAB_VIEWED_RATE_40_PERCENT_HIGHER" - Target web and app inventory
6264	// to maximize IAB viewable rate 40% or higher.
6265	//   "IAB_VIEWED_RATE_30_PERCENT_HIGHER" - Target web and app inventory
6266	// to maximize IAB viewable rate 30% or higher.
6267	Iab string `json:"iab,omitempty"`
6268
6269	// ViewableDuring: Target web and app inventory to maximize 100%
6270	// viewable duration.
6271	//
6272	// Possible values:
6273	//   "AVERAGE_VIEW_DURATION_UNSPECIFIED" - This enum is only a
6274	// placeholder and it doesn't specify any average view duration options.
6275	//   "AVERAGE_VIEW_DURATION_5_SEC" - Target web and app inventory to
6276	// maximize 100% viewable duration 5 seconds or more.
6277	//   "AVERAGE_VIEW_DURATION_10_SEC" - Target web and app inventory to
6278	// maximize 100% viewable duration 10 seconds or more.
6279	//   "AVERAGE_VIEW_DURATION_15_SEC" - Target web and app inventory to
6280	// maximize 100% viewable duration 15 seconds or more.
6281	ViewableDuring string `json:"viewableDuring,omitempty"`
6282
6283	// ForceSendFields is a list of field names (e.g. "Iab") to
6284	// unconditionally include in API requests. By default, fields with
6285	// empty or default values are omitted from API requests. However, any
6286	// non-pointer, non-interface field appearing in ForceSendFields will be
6287	// sent to the server regardless of whether the field is empty or not.
6288	// This may be used to include empty fields in Patch requests.
6289	ForceSendFields []string `json:"-"`
6290
6291	// NullFields is a list of field names (e.g. "Iab") to include in API
6292	// requests with the JSON null value. By default, fields with empty
6293	// values are omitted from API requests. However, any field with an
6294	// empty value appearing in NullFields will be sent to the server as
6295	// null. It is an error if a field in this list has a non-empty value.
6296	// This may be used to include null fields in Patch requests.
6297	NullFields []string `json:"-"`
6298}
6299
6300func (s *DoubleVerifyDisplayViewability) MarshalJSON() ([]byte, error) {
6301	type NoMethod DoubleVerifyDisplayViewability
6302	raw := NoMethod(*s)
6303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6304}
6305
6306// DoubleVerifyFraudInvalidTraffic: DoubleVerify Fraud & Invalid Traffic
6307// settings.
6308type DoubleVerifyFraudInvalidTraffic struct {
6309	// AvoidInsufficientOption: Insufficient Historical Fraud & IVT Stats.
6310	AvoidInsufficientOption bool `json:"avoidInsufficientOption,omitempty"`
6311
6312	// AvoidedFraudOption: Avoid Sites and Apps with historical Fraud & IVT.
6313	//
6314	// Possible values:
6315	//   "FRAUD_UNSPECIFIED" - This enum is only a placeholder and it
6316	// doesn't specify any fraud and invalid traffic options.
6317	//   "AD_IMPRESSION_FRAUD_100" - 100% Fraud & IVT.
6318	//   "AD_IMPRESSION_FRAUD_50" - 50% or Higher Fraud & IVT.
6319	//   "AD_IMPRESSION_FRAUD_25" - 25% or Higher Fraud & IVT.
6320	//   "AD_IMPRESSION_FRAUD_10" - 10% or Higher Fraud & IVT.
6321	//   "AD_IMPRESSION_FRAUD_8" - 8% or Higher Fraud & IVT.
6322	//   "AD_IMPRESSION_FRAUD_6" - 6% or Higher Fraud & IVT.
6323	//   "AD_IMPRESSION_FRAUD_4" - 4% or Higher Fraud & IVT.
6324	//   "AD_IMPRESSION_FRAUD_2" - 2% or Higher Fraud & IVT.
6325	AvoidedFraudOption string `json:"avoidedFraudOption,omitempty"`
6326
6327	// ForceSendFields is a list of field names (e.g.
6328	// "AvoidInsufficientOption") to unconditionally include in API
6329	// requests. By default, fields with empty or default values are omitted
6330	// from API requests. However, any non-pointer, non-interface field
6331	// appearing in ForceSendFields will be sent to the server regardless of
6332	// whether the field is empty or not. This may be used to include empty
6333	// fields in Patch requests.
6334	ForceSendFields []string `json:"-"`
6335
6336	// NullFields is a list of field names (e.g. "AvoidInsufficientOption")
6337	// to include in API requests with the JSON null value. By default,
6338	// fields with empty values are omitted from API requests. However, any
6339	// field with an empty value appearing in NullFields will be sent to the
6340	// server as null. It is an error if a field in this list has a
6341	// non-empty value. This may be used to include null fields in Patch
6342	// requests.
6343	NullFields []string `json:"-"`
6344}
6345
6346func (s *DoubleVerifyFraudInvalidTraffic) MarshalJSON() ([]byte, error) {
6347	type NoMethod DoubleVerifyFraudInvalidTraffic
6348	raw := NoMethod(*s)
6349	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6350}
6351
6352// DoubleVerifyVideoViewability: Details of DoubleVerify video
6353// viewability settings.
6354type DoubleVerifyVideoViewability struct {
6355	// PlayerImpressionRate: Target inventory to maximize impressions with
6356	// 400x300 or greater player size.
6357	//
6358	// Possible values:
6359	//   "PLAYER_SIZE_400X300_UNSPECIFIED" - This enum is only a placeholder
6360	// and it doesn't specify any impressions options.
6361	//   "PLAYER_SIZE_400X300_95" - Sites with 95%+ of impressions.
6362	//   "PLAYER_SIZE_400X300_70" - Sites with 70%+ of impressions.
6363	//   "PLAYER_SIZE_400X300_25" - Sites with 25%+ of impressions.
6364	//   "PLAYER_SIZE_400X300_5" - Sites with 5%+ of impressions.
6365	PlayerImpressionRate string `json:"playerImpressionRate,omitempty"`
6366
6367	// VideoIab: Target web inventory to maximize IAB viewable rate.
6368	//
6369	// Possible values:
6370	//   "VIDEO_IAB_UNSPECIFIED" - This enum is only a placeholder and it
6371	// doesn't specify any video IAB viewable rate options.
6372	//   "IAB_VIEWABILITY_80_PERCENT_HIGHER" - Target web and app inventory
6373	// to maximize IAB viewable rate 80% or higher.
6374	//   "IAB_VIEWABILITY_75_PERCENT_HIGHER" - Target web and app inventory
6375	// to maximize IAB viewable rate 75% or higher.
6376	//   "IAB_VIEWABILITY_70_PERCENT_HIGHER" - Target web and app inventory
6377	// to maximize IAB viewable rate 70% or higher.
6378	//   "IAB_VIEWABILITY_65_PERCENT_HIHGER" - Target web and app inventory
6379	// to maximize IAB viewable rate 65% or higher.
6380	//   "IAB_VIEWABILITY_60_PERCENT_HIGHER" - Target web and app inventory
6381	// to maximize IAB viewable rate 60% or higher.
6382	//   "IAB_VIEWABILITY_55_PERCENT_HIHGER" - Target web and app inventory
6383	// to maximize IAB viewable rate 55% or higher.
6384	//   "IAB_VIEWABILITY_50_PERCENT_HIGHER" - Target web and app inventory
6385	// to maximize IAB viewable rate 50% or higher.
6386	//   "IAB_VIEWABILITY_40_PERCENT_HIHGER" - Target web and app inventory
6387	// to maximize IAB viewable rate 40% or higher.
6388	//   "IAB_VIEWABILITY_30_PERCENT_HIHGER" - Target web and app inventory
6389	// to maximize IAB viewable rate 30% or higher.
6390	VideoIab string `json:"videoIab,omitempty"`
6391
6392	// VideoViewableRate: Target web inventory to maximize fully viewable
6393	// rate.
6394	//
6395	// Possible values:
6396	//   "VIDEO_VIEWABLE_RATE_UNSPECIFIED" - This enum is only a placeholder
6397	// and it doesn't specify any video viewable rate options.
6398	//   "VIEWED_PERFORMANCE_40_PERCENT_HIGHER" - Target web inventory to
6399	// maximize fully viewable rate 40% or higher.
6400	//   "VIEWED_PERFORMANCE_35_PERCENT_HIGHER" - Target web inventory to
6401	// maximize fully viewable rate 35% or higher.
6402	//   "VIEWED_PERFORMANCE_30_PERCENT_HIGHER" - Target web inventory to
6403	// maximize fully viewable rate 30% or higher.
6404	//   "VIEWED_PERFORMANCE_25_PERCENT_HIGHER" - Target web inventory to
6405	// maximize fully viewable rate 25% or higher.
6406	//   "VIEWED_PERFORMANCE_20_PERCENT_HIGHER" - Target web inventory to
6407	// maximize fully viewable rate 20% or higher.
6408	//   "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" - Target web inventory to
6409	// maximize fully viewable rate 10% or higher.
6410	VideoViewableRate string `json:"videoViewableRate,omitempty"`
6411
6412	// ForceSendFields is a list of field names (e.g.
6413	// "PlayerImpressionRate") to unconditionally include in API requests.
6414	// By default, fields with empty or default values are omitted from API
6415	// requests. However, any non-pointer, non-interface field appearing in
6416	// ForceSendFields will be sent to the server regardless of whether the
6417	// field is empty or not. This may be used to include empty fields in
6418	// Patch requests.
6419	ForceSendFields []string `json:"-"`
6420
6421	// NullFields is a list of field names (e.g. "PlayerImpressionRate") to
6422	// include in API requests with the JSON null value. By default, fields
6423	// with empty values are omitted from API requests. However, any field
6424	// with an empty value appearing in NullFields will be sent to the
6425	// server as null. It is an error if a field in this list has a
6426	// non-empty value. This may be used to include null fields in Patch
6427	// requests.
6428	NullFields []string `json:"-"`
6429}
6430
6431func (s *DoubleVerifyVideoViewability) MarshalJSON() ([]byte, error) {
6432	type NoMethod DoubleVerifyVideoViewability
6433	raw := NoMethod(*s)
6434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6435}
6436
6437// Empty: A generic empty message that you can re-use to avoid defining
6438// duplicated empty messages in your APIs. A typical example is to use
6439// it as the request or the response type of an API method. For
6440// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
6441// (google.protobuf.Empty); } The JSON representation for `Empty` is
6442// empty JSON object `{}`.
6443type Empty struct {
6444	// ServerResponse contains the HTTP response code and headers from the
6445	// server.
6446	googleapi.ServerResponse `json:"-"`
6447}
6448
6449// EnvironmentAssignedTargetingOptionDetails: Assigned environment
6450// targeting option details. This will be populated in the details field
6451// of an AssignedTargetingOption when targeting_type is
6452// `TARGETING_TYPE_ENVIRONMENT`.
6453type EnvironmentAssignedTargetingOptionDetails struct {
6454	// Environment: Output only. The serving environment.
6455	//
6456	// Possible values:
6457	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
6458	// specified in this version. This enum is a placeholder for default
6459	// value and does not represent a real environment option.
6460	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in
6461	// browsers. This includes inventory that was designed for the device it
6462	// was viewed on, such as mobile websites viewed on a mobile device.
6463	// ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior
6464	// to the deletion of this targeting option.
6465	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in
6466	// browsers. This includes inventory that was not designed for the
6467	// device but viewed on it, such as websites optimized for desktop but
6468	// viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be
6469	// targeted prior to the addition of this targeting option.
6470	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
6471	Environment string `json:"environment,omitempty"`
6472
6473	// TargetingOptionId: Required. The targeting_option_id of a
6474	// TargetingOption of type `TARGETING_TYPE_ENVIRONMENT` (e.g., "508010"
6475	// for targeting the `ENVIRONMENT_WEB_OPTIMIZED` option).
6476	TargetingOptionId string `json:"targetingOptionId,omitempty"`
6477
6478	// ForceSendFields is a list of field names (e.g. "Environment") to
6479	// unconditionally include in API requests. By default, fields with
6480	// empty or default values are omitted from API requests. However, any
6481	// non-pointer, non-interface field appearing in ForceSendFields will be
6482	// sent to the server regardless of whether the field is empty or not.
6483	// This may be used to include empty fields in Patch requests.
6484	ForceSendFields []string `json:"-"`
6485
6486	// NullFields is a list of field names (e.g. "Environment") to include
6487	// in API requests with the JSON null value. By default, fields with
6488	// empty values are omitted from API requests. However, any field with
6489	// an empty value appearing in NullFields will be sent to the server as
6490	// null. It is an error if a field in this list has a non-empty value.
6491	// This may be used to include null fields in Patch requests.
6492	NullFields []string `json:"-"`
6493}
6494
6495func (s *EnvironmentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6496	type NoMethod EnvironmentAssignedTargetingOptionDetails
6497	raw := NoMethod(*s)
6498	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6499}
6500
6501// EnvironmentTargetingOptionDetails: Represents a targetable
6502// environment. This will be populated in the environment_details field
6503// of a TargetingOption when targeting_type is
6504// `TARGETING_TYPE_ENVIRONMENT`.
6505type EnvironmentTargetingOptionDetails struct {
6506	// Environment: Output only. The serving environment.
6507	//
6508	// Possible values:
6509	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
6510	// specified in this version. This enum is a placeholder for default
6511	// value and does not represent a real environment option.
6512	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in
6513	// browsers. This includes inventory that was designed for the device it
6514	// was viewed on, such as mobile websites viewed on a mobile device.
6515	// ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior
6516	// to the deletion of this targeting option.
6517	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in
6518	// browsers. This includes inventory that was not designed for the
6519	// device but viewed on it, such as websites optimized for desktop but
6520	// viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be
6521	// targeted prior to the addition of this targeting option.
6522	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
6523	Environment string `json:"environment,omitempty"`
6524
6525	// ForceSendFields is a list of field names (e.g. "Environment") to
6526	// unconditionally include in API requests. By default, fields with
6527	// empty or default values are omitted from API requests. However, any
6528	// non-pointer, non-interface field appearing in ForceSendFields will be
6529	// sent to the server regardless of whether the field is empty or not.
6530	// This may be used to include empty fields in Patch requests.
6531	ForceSendFields []string `json:"-"`
6532
6533	// NullFields is a list of field names (e.g. "Environment") to include
6534	// in API requests with the JSON null value. By default, fields with
6535	// empty values are omitted from API requests. However, any field with
6536	// an empty value appearing in NullFields will be sent to the server as
6537	// null. It is an error if a field in this list has a non-empty value.
6538	// This may be used to include null fields in Patch requests.
6539	NullFields []string `json:"-"`
6540}
6541
6542func (s *EnvironmentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6543	type NoMethod EnvironmentTargetingOptionDetails
6544	raw := NoMethod(*s)
6545	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6546}
6547
6548// ExchangeAssignedTargetingOptionDetails: Details for assigned exchange
6549// targeting option. This will be populated in the details field of an
6550// AssignedTargetingOption when targeting_type is
6551// `TARGETING_TYPE_EXCHANGE`.
6552type ExchangeAssignedTargetingOptionDetails struct {
6553	// TargetingOptionId: Required. The targeting_option_id of a
6554	// TargetingOption of type `TARGETING_TYPE_EXCHANGE`.
6555	TargetingOptionId string `json:"targetingOptionId,omitempty"`
6556
6557	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
6558	// to unconditionally include in API requests. By default, fields with
6559	// empty or default values are omitted from API requests. However, any
6560	// non-pointer, non-interface field appearing in ForceSendFields will be
6561	// sent to the server regardless of whether the field is empty or not.
6562	// This may be used to include empty fields in Patch requests.
6563	ForceSendFields []string `json:"-"`
6564
6565	// NullFields is a list of field names (e.g. "TargetingOptionId") to
6566	// include in API requests with the JSON null value. By default, fields
6567	// with empty values are omitted from API requests. However, any field
6568	// with an empty value appearing in NullFields will be sent to the
6569	// server as null. It is an error if a field in this list has a
6570	// non-empty value. This may be used to include null fields in Patch
6571	// requests.
6572	NullFields []string `json:"-"`
6573}
6574
6575func (s *ExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6576	type NoMethod ExchangeAssignedTargetingOptionDetails
6577	raw := NoMethod(*s)
6578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6579}
6580
6581// ExchangeConfig: Settings that control which exchanges are enabled for
6582// a partner.
6583type ExchangeConfig struct {
6584	// EnabledExchanges: All enabled exchanges in the partner. Duplicate
6585	// enabled exchanges will be ignored.
6586	EnabledExchanges []*ExchangeConfigEnabledExchange `json:"enabledExchanges,omitempty"`
6587
6588	// ForceSendFields is a list of field names (e.g. "EnabledExchanges") to
6589	// unconditionally include in API requests. By default, fields with
6590	// empty or default values are omitted from API requests. However, any
6591	// non-pointer, non-interface field appearing in ForceSendFields will be
6592	// sent to the server regardless of whether the field is empty or not.
6593	// This may be used to include empty fields in Patch requests.
6594	ForceSendFields []string `json:"-"`
6595
6596	// NullFields is a list of field names (e.g. "EnabledExchanges") to
6597	// include in API requests with the JSON null value. By default, fields
6598	// with empty values are omitted from API requests. However, any field
6599	// with an empty value appearing in NullFields will be sent to the
6600	// server as null. It is an error if a field in this list has a
6601	// non-empty value. This may be used to include null fields in Patch
6602	// requests.
6603	NullFields []string `json:"-"`
6604}
6605
6606func (s *ExchangeConfig) MarshalJSON() ([]byte, error) {
6607	type NoMethod ExchangeConfig
6608	raw := NoMethod(*s)
6609	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6610}
6611
6612// ExchangeConfigEnabledExchange: An enabled exchange in the partner.
6613type ExchangeConfigEnabledExchange struct {
6614	// Exchange: The enabled exchange.
6615	//
6616	// Possible values:
6617	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6618	// this version.
6619	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6620	//   "EXCHANGE_APPNEXUS" - AppNexus.
6621	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6622	//   "EXCHANGE_ADFORM" - Adform.
6623	//   "EXCHANGE_ADMETA" - Admeta.
6624	//   "EXCHANGE_ADMIXER" - Admixer.
6625	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6626	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6627	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6628	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6629	// from Yahoo!.
6630	//   "EXCHANGE_CADREON" - Cadreon.
6631	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6632	//   "EXCHANGE_FIVE" - Five.
6633	//   "EXCHANGE_FLUCT" - Fluct.
6634	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6635	//   "EXCHANGE_GENIEE" - Geniee.
6636	//   "EXCHANGE_GUMGUM" - GumGum.
6637	//   "EXCHANGE_IMOBILE" - i-mobile.
6638	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6639	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6640	//   "EXCHANGE_INDEX" - Index Exchange.
6641	//   "EXCHANGE_KARGO" - Kargo.
6642	//   "EXCHANGE_MICROAD" - MicroAd.
6643	//   "EXCHANGE_MOPUB" - MoPub.
6644	//   "EXCHANGE_NEND" - Nend.
6645	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6646	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6647	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6648	//   "EXCHANGE_OOYALA" - Ooyala.
6649	//   "EXCHANGE_OPENX" - OpenX.
6650	//   "EXCHANGE_PERMODO" - Permodo.
6651	//   "EXCHANGE_PLATFORMONE" - Platform One.
6652	//   "EXCHANGE_PLATFORMID" - PlatformId.
6653	//   "EXCHANGE_PUBMATIC" - PubMatic.
6654	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6655	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6656	//   "EXCHANGE_RUBICON" - Rubicon.
6657	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6658	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6659	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6660	//   "EXCHANGE_SOVRN" - Sovrn.
6661	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6662	//   "EXCHANGE_STROER" - Ströer SSP.
6663	//   "EXCHANGE_TEADSTV" - TeadsTv.
6664	//   "EXCHANGE_TELARIA" - Telaria.
6665	//   "EXCHANGE_TVN" - TVN.
6666	//   "EXCHANGE_UNITED" - United.
6667	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6668	//   "EXCHANGE_YIELDMO" - Yieldmo.
6669	//   "EXCHANGE_UNRULYX" - UnrulyX.
6670	//   "EXCHANGE_OPEN8" - Open8.
6671	//   "EXCHANGE_TRITON" - Triton.
6672	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
6673	//   "EXCHANGE_TABOOLA" - Taboola.
6674	//   "EXCHANGE_INMOBI" - InMobi.
6675	//   "EXCHANGE_SMAATO" - Smaato.
6676	//   "EXCHANGE_AJA" - Aja.
6677	//   "EXCHANGE_SUPERSHIP" - Supership.
6678	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6679	//   "EXCHANGE_WAZE" - Waze.
6680	//   "EXCHANGE_SOUNDCAST" - SoundCast.
6681	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
6682	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
6683	//   "EXCHANGE_MEDIANET" - Media.net.
6684	//   "EXCHANGE_TAPJOY" - Tapjoy.
6685	Exchange string `json:"exchange,omitempty"`
6686
6687	// GoogleAdManagerAgencyId: Output only. Agency ID of Google Ad Manager.
6688	// The field is only relevant when Google Ad Manager is the enabled
6689	// exchange.
6690	GoogleAdManagerAgencyId string `json:"googleAdManagerAgencyId,omitempty"`
6691
6692	// GoogleAdManagerBuyerNetworkId: Output only. Network ID of Google Ad
6693	// Manager. The field is only relevant when Google Ad Manager is the
6694	// enabled exchange.
6695	GoogleAdManagerBuyerNetworkId string `json:"googleAdManagerBuyerNetworkId,omitempty"`
6696
6697	// SeatId: Output only. Seat ID of the enabled exchange.
6698	SeatId string `json:"seatId,omitempty"`
6699
6700	// ForceSendFields is a list of field names (e.g. "Exchange") to
6701	// unconditionally include in API requests. By default, fields with
6702	// empty or default values are omitted from API requests. However, any
6703	// non-pointer, non-interface field appearing in ForceSendFields will be
6704	// sent to the server regardless of whether the field is empty or not.
6705	// This may be used to include empty fields in Patch requests.
6706	ForceSendFields []string `json:"-"`
6707
6708	// NullFields is a list of field names (e.g. "Exchange") to include in
6709	// API requests with the JSON null value. By default, fields with empty
6710	// values are omitted from API requests. However, any field with an
6711	// empty value appearing in NullFields will be sent to the server as
6712	// null. It is an error if a field in this list has a non-empty value.
6713	// This may be used to include null fields in Patch requests.
6714	NullFields []string `json:"-"`
6715}
6716
6717func (s *ExchangeConfigEnabledExchange) MarshalJSON() ([]byte, error) {
6718	type NoMethod ExchangeConfigEnabledExchange
6719	raw := NoMethod(*s)
6720	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6721}
6722
6723// ExchangeReviewStatus: Exchange review status for the creative.
6724type ExchangeReviewStatus struct {
6725	// Exchange: The exchange reviewing the creative.
6726	//
6727	// Possible values:
6728	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6729	// this version.
6730	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6731	//   "EXCHANGE_APPNEXUS" - AppNexus.
6732	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6733	//   "EXCHANGE_ADFORM" - Adform.
6734	//   "EXCHANGE_ADMETA" - Admeta.
6735	//   "EXCHANGE_ADMIXER" - Admixer.
6736	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6737	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6738	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6739	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6740	// from Yahoo!.
6741	//   "EXCHANGE_CADREON" - Cadreon.
6742	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6743	//   "EXCHANGE_FIVE" - Five.
6744	//   "EXCHANGE_FLUCT" - Fluct.
6745	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6746	//   "EXCHANGE_GENIEE" - Geniee.
6747	//   "EXCHANGE_GUMGUM" - GumGum.
6748	//   "EXCHANGE_IMOBILE" - i-mobile.
6749	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6750	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6751	//   "EXCHANGE_INDEX" - Index Exchange.
6752	//   "EXCHANGE_KARGO" - Kargo.
6753	//   "EXCHANGE_MICROAD" - MicroAd.
6754	//   "EXCHANGE_MOPUB" - MoPub.
6755	//   "EXCHANGE_NEND" - Nend.
6756	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6757	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6758	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6759	//   "EXCHANGE_OOYALA" - Ooyala.
6760	//   "EXCHANGE_OPENX" - OpenX.
6761	//   "EXCHANGE_PERMODO" - Permodo.
6762	//   "EXCHANGE_PLATFORMONE" - Platform One.
6763	//   "EXCHANGE_PLATFORMID" - PlatformId.
6764	//   "EXCHANGE_PUBMATIC" - PubMatic.
6765	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6766	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6767	//   "EXCHANGE_RUBICON" - Rubicon.
6768	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6769	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6770	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6771	//   "EXCHANGE_SOVRN" - Sovrn.
6772	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6773	//   "EXCHANGE_STROER" - Ströer SSP.
6774	//   "EXCHANGE_TEADSTV" - TeadsTv.
6775	//   "EXCHANGE_TELARIA" - Telaria.
6776	//   "EXCHANGE_TVN" - TVN.
6777	//   "EXCHANGE_UNITED" - United.
6778	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6779	//   "EXCHANGE_YIELDMO" - Yieldmo.
6780	//   "EXCHANGE_UNRULYX" - UnrulyX.
6781	//   "EXCHANGE_OPEN8" - Open8.
6782	//   "EXCHANGE_TRITON" - Triton.
6783	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
6784	//   "EXCHANGE_TABOOLA" - Taboola.
6785	//   "EXCHANGE_INMOBI" - InMobi.
6786	//   "EXCHANGE_SMAATO" - Smaato.
6787	//   "EXCHANGE_AJA" - Aja.
6788	//   "EXCHANGE_SUPERSHIP" - Supership.
6789	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6790	//   "EXCHANGE_WAZE" - Waze.
6791	//   "EXCHANGE_SOUNDCAST" - SoundCast.
6792	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
6793	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
6794	//   "EXCHANGE_MEDIANET" - Media.net.
6795	//   "EXCHANGE_TAPJOY" - Tapjoy.
6796	Exchange string `json:"exchange,omitempty"`
6797
6798	// Status: Status of the exchange review.
6799	//
6800	// Possible values:
6801	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
6802	// unknown in this version.
6803	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
6804	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
6805	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
6806	Status string `json:"status,omitempty"`
6807
6808	// ForceSendFields is a list of field names (e.g. "Exchange") to
6809	// unconditionally include in API requests. By default, fields with
6810	// empty or default values are omitted from API requests. However, any
6811	// non-pointer, non-interface field appearing in ForceSendFields will be
6812	// sent to the server regardless of whether the field is empty or not.
6813	// This may be used to include empty fields in Patch requests.
6814	ForceSendFields []string `json:"-"`
6815
6816	// NullFields is a list of field names (e.g. "Exchange") to include in
6817	// API requests with the JSON null value. By default, fields with empty
6818	// values are omitted from API requests. However, any field with an
6819	// empty value appearing in NullFields will be sent to the server as
6820	// null. It is an error if a field in this list has a non-empty value.
6821	// This may be used to include null fields in Patch requests.
6822	NullFields []string `json:"-"`
6823}
6824
6825func (s *ExchangeReviewStatus) MarshalJSON() ([]byte, error) {
6826	type NoMethod ExchangeReviewStatus
6827	raw := NoMethod(*s)
6828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6829}
6830
6831// ExchangeTargetingOptionDetails: Represents a targetable exchange.
6832// This will be populated in the exchange_details field of a
6833// TargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.
6834type ExchangeTargetingOptionDetails struct {
6835	// Exchange: Output only. The type of exchange.
6836	//
6837	// Possible values:
6838	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6839	// this version.
6840	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6841	//   "EXCHANGE_APPNEXUS" - AppNexus.
6842	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6843	//   "EXCHANGE_ADFORM" - Adform.
6844	//   "EXCHANGE_ADMETA" - Admeta.
6845	//   "EXCHANGE_ADMIXER" - Admixer.
6846	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6847	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6848	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6849	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6850	// from Yahoo!.
6851	//   "EXCHANGE_CADREON" - Cadreon.
6852	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6853	//   "EXCHANGE_FIVE" - Five.
6854	//   "EXCHANGE_FLUCT" - Fluct.
6855	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6856	//   "EXCHANGE_GENIEE" - Geniee.
6857	//   "EXCHANGE_GUMGUM" - GumGum.
6858	//   "EXCHANGE_IMOBILE" - i-mobile.
6859	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6860	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6861	//   "EXCHANGE_INDEX" - Index Exchange.
6862	//   "EXCHANGE_KARGO" - Kargo.
6863	//   "EXCHANGE_MICROAD" - MicroAd.
6864	//   "EXCHANGE_MOPUB" - MoPub.
6865	//   "EXCHANGE_NEND" - Nend.
6866	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6867	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6868	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6869	//   "EXCHANGE_OOYALA" - Ooyala.
6870	//   "EXCHANGE_OPENX" - OpenX.
6871	//   "EXCHANGE_PERMODO" - Permodo.
6872	//   "EXCHANGE_PLATFORMONE" - Platform One.
6873	//   "EXCHANGE_PLATFORMID" - PlatformId.
6874	//   "EXCHANGE_PUBMATIC" - PubMatic.
6875	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6876	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6877	//   "EXCHANGE_RUBICON" - Rubicon.
6878	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6879	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6880	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6881	//   "EXCHANGE_SOVRN" - Sovrn.
6882	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6883	//   "EXCHANGE_STROER" - Ströer SSP.
6884	//   "EXCHANGE_TEADSTV" - TeadsTv.
6885	//   "EXCHANGE_TELARIA" - Telaria.
6886	//   "EXCHANGE_TVN" - TVN.
6887	//   "EXCHANGE_UNITED" - United.
6888	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6889	//   "EXCHANGE_YIELDMO" - Yieldmo.
6890	//   "EXCHANGE_UNRULYX" - UnrulyX.
6891	//   "EXCHANGE_OPEN8" - Open8.
6892	//   "EXCHANGE_TRITON" - Triton.
6893	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
6894	//   "EXCHANGE_TABOOLA" - Taboola.
6895	//   "EXCHANGE_INMOBI" - InMobi.
6896	//   "EXCHANGE_SMAATO" - Smaato.
6897	//   "EXCHANGE_AJA" - Aja.
6898	//   "EXCHANGE_SUPERSHIP" - Supership.
6899	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6900	//   "EXCHANGE_WAZE" - Waze.
6901	//   "EXCHANGE_SOUNDCAST" - SoundCast.
6902	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
6903	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
6904	//   "EXCHANGE_MEDIANET" - Media.net.
6905	//   "EXCHANGE_TAPJOY" - Tapjoy.
6906	Exchange string `json:"exchange,omitempty"`
6907
6908	// ForceSendFields is a list of field names (e.g. "Exchange") to
6909	// unconditionally include in API requests. By default, fields with
6910	// empty or default values are omitted from API requests. However, any
6911	// non-pointer, non-interface field appearing in ForceSendFields will be
6912	// sent to the server regardless of whether the field is empty or not.
6913	// This may be used to include empty fields in Patch requests.
6914	ForceSendFields []string `json:"-"`
6915
6916	// NullFields is a list of field names (e.g. "Exchange") to include in
6917	// API requests with the JSON null value. By default, fields with empty
6918	// values are omitted from API requests. However, any field with an
6919	// empty value appearing in NullFields will be sent to the server as
6920	// null. It is an error if a field in this list has a non-empty value.
6921	// This may be used to include null fields in Patch requests.
6922	NullFields []string `json:"-"`
6923}
6924
6925func (s *ExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6926	type NoMethod ExchangeTargetingOptionDetails
6927	raw := NoMethod(*s)
6928	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6929}
6930
6931// ExitEvent: Exit event of the creative.
6932type ExitEvent struct {
6933	// Name: The name of the click tag of the exit event. The name must be
6934	// unique within one creative. Leave it empty or unset for creatives
6935	// containing image assets only.
6936	Name string `json:"name,omitempty"`
6937
6938	// ReportingName: The name used to identify this event in reports. Leave
6939	// it empty or unset for creatives containing image assets only.
6940	ReportingName string `json:"reportingName,omitempty"`
6941
6942	// Type: Required. The type of the exit event.
6943	//
6944	// Possible values:
6945	//   "EXIT_EVENT_TYPE_UNSPECIFIED" - Exit event type is not specified or
6946	// is unknown in this version.
6947	//   "EXIT_EVENT_TYPE_DEFAULT" - The exit event is the default one.
6948	//   "EXIT_EVENT_TYPE_BACKUP" - The exit event is a backup exit event.
6949	// There could be multiple backup exit events in a creative.
6950	Type string `json:"type,omitempty"`
6951
6952	// Url: Required. The click through URL of the exit event. This is
6953	// required when type is: * `EXIT_EVENT_TYPE_DEFAULT` *
6954	// `EXIT_EVENT_TYPE_BACKUP`
6955	Url string `json:"url,omitempty"`
6956
6957	// ForceSendFields is a list of field names (e.g. "Name") to
6958	// unconditionally include in API requests. By default, fields with
6959	// empty or default values are omitted from API requests. However, any
6960	// non-pointer, non-interface field appearing in ForceSendFields will be
6961	// sent to the server regardless of whether the field is empty or not.
6962	// This may be used to include empty fields in Patch requests.
6963	ForceSendFields []string `json:"-"`
6964
6965	// NullFields is a list of field names (e.g. "Name") to include in API
6966	// requests with the JSON null value. By default, fields with empty
6967	// values are omitted from API requests. However, any field with an
6968	// empty value appearing in NullFields will be sent to the server as
6969	// null. It is an error if a field in this list has a non-empty value.
6970	// This may be used to include null fields in Patch requests.
6971	NullFields []string `json:"-"`
6972}
6973
6974func (s *ExitEvent) MarshalJSON() ([]byte, error) {
6975	type NoMethod ExitEvent
6976	raw := NoMethod(*s)
6977	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6978}
6979
6980// FirstAndThirdPartyAudience: Describes a first or third party audience
6981// list used for targeting. First party audiences are created via usage
6982// of client data. Third party audiences are provided by Third Party
6983// data providers and can only be licensed to customers.
6984type FirstAndThirdPartyAudience struct {
6985	// ActiveDisplayAudienceSize: Output only. The estimated audience size
6986	// for the Display network in the past month. If the size is less than
6987	// 1000, the number will be hidden and 0 will be returned due to privacy
6988	// reasons. Otherwise, the number will be rounded off to two significant
6989	// digits. Only returned in GET request.
6990	ActiveDisplayAudienceSize int64 `json:"activeDisplayAudienceSize,omitempty,string"`
6991
6992	// AudienceSource: Output only. The source of the audience.
6993	//
6994	// Possible values:
6995	//   "AUDIENCE_SOURCE_UNSPECIFIED" - Default value when audience source
6996	// is not specified or is unknown.
6997	//   "DISPLAY_VIDEO_360" - Originated from Display & Video 360.
6998	//   "CAMPAIGN_MANAGER" - Originated from Campaign Manager 360.
6999	//   "AD_MANAGER" - Originated from Google Ad Manager.
7000	//   "SEARCH_ADS_360" - Originated from Search Ads 360.
7001	//   "YOUTUBE" - Originated from Youtube.
7002	//   "ADS_DATA_HUB" - Originated from Ads Data Hub.
7003	AudienceSource string `json:"audienceSource,omitempty"`
7004
7005	// AudienceType: Output only. The type of the audience.
7006	//
7007	// Possible values:
7008	//   "AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
7009	// specified or is unknown.
7010	//   "CUSTOMER_MATCH_CONTACT_INFO" - Audience was generated through
7011	// matching customers to known contact information.
7012	//   "CUSTOMER_MATCH_DEVICE_ID" - Audience was generated through
7013	// matching customers to known Mobile device IDs.
7014	//   "CUSTOMER_MATCH_USER_ID" - Audience was generated through matching
7015	// customers to known User IDs.
7016	//   "ACTIVITY_BASED" - Audience was created based on campaign activity.
7017	//   "FREQUENCY_CAP" - Audience was created based on excluding the
7018	// number of impressions they were served.
7019	//   "TAG_BASED" - Audience was created based on custom variables
7020	// attached to pixel.
7021	//   "YOUTUBE_USERS" - Audience was created based on past interactions
7022	// with videos, YouTube ads, or YouTube channel.
7023	//   "LICENSED" - Subtype of third party audience type.
7024	AudienceType string `json:"audienceType,omitempty"`
7025
7026	// Description: The user-provided description of the audience. Only
7027	// applicable to first party audiences.
7028	Description string `json:"description,omitempty"`
7029
7030	// DisplayAudienceSize: Output only. The estimated audience size for the
7031	// Display network. If the size is less than 1000, the number will be
7032	// hidden and 0 will be returned due to privacy reasons. Otherwise, the
7033	// number will be rounded off to two significant digits. Only returned
7034	// in GET request.
7035	DisplayAudienceSize int64 `json:"displayAudienceSize,omitempty,string"`
7036
7037	// DisplayDesktopAudienceSize: Output only. The estimated desktop
7038	// audience size in Display network. If the size is less than 1000, the
7039	// number will be hidden and 0 will be returned due to privacy reasons.
7040	// Otherwise, the number will be rounded off to two significant digits.
7041	// Only applicable to first party audiences. Only returned in GET
7042	// request.
7043	DisplayDesktopAudienceSize int64 `json:"displayDesktopAudienceSize,omitempty,string"`
7044
7045	// DisplayMobileAppAudienceSize: Output only. The estimated mobile app
7046	// audience size in Display network. If the size is less than 1000, the
7047	// number will be hidden and 0 will be returned due to privacy reasons.
7048	// Otherwise, the number will be rounded off to two significant digits.
7049	// Only applicable to first party audiences. Only returned in GET
7050	// request.
7051	DisplayMobileAppAudienceSize int64 `json:"displayMobileAppAudienceSize,omitempty,string"`
7052
7053	// DisplayMobileWebAudienceSize: Output only. The estimated mobile web
7054	// audience size in Display network. If the size is less than 1000, the
7055	// number will be hidden and 0 will be returned due to privacy reasons.
7056	// Otherwise, the number will be rounded off to two significant digits.
7057	// Only applicable to first party audiences. Only returned in GET
7058	// request.
7059	DisplayMobileWebAudienceSize int64 `json:"displayMobileWebAudienceSize,omitempty,string"`
7060
7061	// DisplayName: The display name of the first and third party audience.
7062	DisplayName string `json:"displayName,omitempty"`
7063
7064	// FirstAndThirdPartyAudienceId: Output only. The unique ID of the first
7065	// and third party audience. Assigned by the system.
7066	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
7067
7068	// FirstAndThirdPartyAudienceType: Output only. Whether the audience is
7069	// a first or third party audience.
7070	//
7071	// Possible values:
7072	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED" - Default value
7073	// when type is not specified or is unknown.
7074	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" - Audience that
7075	// is created via usage of client data.
7076	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" - Audience that
7077	// is provided by Third Party data providers.
7078	FirstAndThirdPartyAudienceType string `json:"firstAndThirdPartyAudienceType,omitempty"`
7079
7080	// GmailAudienceSize: Output only. The estimated audience size for Gmail
7081	// network. If the size is less than 1000, the number will be hidden and
7082	// 0 will be returned due to privacy reasons. Otherwise, the number will
7083	// be rounded off to two significant digits. Only applicable to first
7084	// party audiences. Only returned in GET request.
7085	GmailAudienceSize int64 `json:"gmailAudienceSize,omitempty,string"`
7086
7087	// MembershipDurationDays: The duration in days that an entry remains in
7088	// the audience after the qualifying event. Only applicable to first
7089	// party audiences.
7090	MembershipDurationDays int64 `json:"membershipDurationDays,omitempty,string"`
7091
7092	// Name: Output only. The resource name of the first and third party
7093	// audience.
7094	Name string `json:"name,omitempty"`
7095
7096	// YoutubeAudienceSize: Output only. The estimated audience size for
7097	// YouTube network. If the size is less than 1000, the number will be
7098	// hidden and 0 will be returned due to privacy reasons. Otherwise, the
7099	// number will be rounded off to two significant digits. Only applicable
7100	// to first party audiences. Only returned in GET request.
7101	YoutubeAudienceSize int64 `json:"youtubeAudienceSize,omitempty,string"`
7102
7103	// ServerResponse contains the HTTP response code and headers from the
7104	// server.
7105	googleapi.ServerResponse `json:"-"`
7106
7107	// ForceSendFields is a list of field names (e.g.
7108	// "ActiveDisplayAudienceSize") to unconditionally include in API
7109	// requests. By default, fields with empty or default values are omitted
7110	// from API requests. However, any non-pointer, non-interface field
7111	// appearing in ForceSendFields will be sent to the server regardless of
7112	// whether the field is empty or not. This may be used to include empty
7113	// fields in Patch requests.
7114	ForceSendFields []string `json:"-"`
7115
7116	// NullFields is a list of field names (e.g.
7117	// "ActiveDisplayAudienceSize") to include in API requests with the JSON
7118	// null value. By default, fields with empty values are omitted from API
7119	// requests. However, any field with an empty value appearing in
7120	// NullFields will be sent to the server as null. It is an error if a
7121	// field in this list has a non-empty value. This may be used to include
7122	// null fields in Patch requests.
7123	NullFields []string `json:"-"`
7124}
7125
7126func (s *FirstAndThirdPartyAudience) MarshalJSON() ([]byte, error) {
7127	type NoMethod FirstAndThirdPartyAudience
7128	raw := NoMethod(*s)
7129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7130}
7131
7132// FirstAndThirdPartyAudienceGroup: Details of first and third party
7133// audience group. All first and third party audience targeting settings
7134// are logically ‘OR’ of each other.
7135type FirstAndThirdPartyAudienceGroup struct {
7136	// Settings: Required. All first and third party audience targeting
7137	// settings in first and third party audience group. Repeated settings
7138	// with same id are not allowed.
7139	Settings []*FirstAndThirdPartyAudienceTargetingSetting `json:"settings,omitempty"`
7140
7141	// ForceSendFields is a list of field names (e.g. "Settings") to
7142	// unconditionally include in API requests. By default, fields with
7143	// empty or default values are omitted from API requests. However, any
7144	// non-pointer, non-interface field appearing in ForceSendFields will be
7145	// sent to the server regardless of whether the field is empty or not.
7146	// This may be used to include empty fields in Patch requests.
7147	ForceSendFields []string `json:"-"`
7148
7149	// NullFields is a list of field names (e.g. "Settings") to include in
7150	// API requests with the JSON null value. By default, fields with empty
7151	// values are omitted from API requests. However, any field with an
7152	// empty value appearing in NullFields will be sent to the server as
7153	// null. It is an error if a field in this list has a non-empty value.
7154	// This may be used to include null fields in Patch requests.
7155	NullFields []string `json:"-"`
7156}
7157
7158func (s *FirstAndThirdPartyAudienceGroup) MarshalJSON() ([]byte, error) {
7159	type NoMethod FirstAndThirdPartyAudienceGroup
7160	raw := NoMethod(*s)
7161	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7162}
7163
7164// FirstAndThirdPartyAudienceTargetingSetting: Details of first and
7165// third party audience targeting setting.
7166type FirstAndThirdPartyAudienceTargetingSetting struct {
7167	// FirstAndThirdPartyAudienceId: Required. First and third party
7168	// audience id of the first and third party audience targeting setting.
7169	// This id is first_and_third_party_audience_id.
7170	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
7171
7172	// Recency: The recency of the first and third party audience targeting
7173	// setting. Only applicable to first party audiences, otherwise will be
7174	// ignored. For more info, refer to
7175	// https://support.google.com/displayvideo/answer/2949947#recency When
7176	// unspecified, no recency limit will be used.
7177	//
7178	// Possible values:
7179	//   "RECENCY_NO_LIMIT" - No limit of recency.
7180	//   "RECENCY_1_MINUTE" - Recency is 1 minute.
7181	//   "RECENCY_5_MINUTES" - Recency is 5 minutes.
7182	//   "RECENCY_10_MINUTES" - Recency is 10 minutes.
7183	//   "RECENCY_15_MINUTES" - Recency is 15 minutes.
7184	//   "RECENCY_30_MINUTES" - Recency is 30 minutes.
7185	//   "RECENCY_1_HOUR" - Recency is 1 hour.
7186	//   "RECENCY_2_HOURS" - Recency is 2 hours.
7187	//   "RECENCY_3_HOURS" - Recency is 3 hours.
7188	//   "RECENCY_6_HOURS" - Recency is 6 hours.
7189	//   "RECENCY_12_HOURS" - Recency is 12 hours.
7190	//   "RECENCY_1_DAY" - Recency is 1 day.
7191	//   "RECENCY_2_DAYS" - Recency is 2 days.
7192	//   "RECENCY_3_DAYS" - Recency is 3 days.
7193	//   "RECENCY_5_DAYS" - Recency is 5 days.
7194	//   "RECENCY_7_DAYS" - Recency is 7 days.
7195	//   "RECENCY_10_DAYS" - Recency is 10 days.
7196	//   "RECENCY_14_DAYS" - Recency is 14 days.
7197	//   "RECENCY_15_DAYS" - Recency is 15 days.
7198	//   "RECENCY_21_DAYS" - Recency is 21 days.
7199	//   "RECENCY_28_DAYS" - Recency is 28 days.
7200	//   "RECENCY_30_DAYS" - Recency is 30 days.
7201	//   "RECENCY_40_DAYS" - Recency is 40 days.
7202	//   "RECENCY_45_DAYS" - Recency is 45 days.
7203	//   "RECENCY_60_DAYS" - Recency is 60 days.
7204	//   "RECENCY_90_DAYS" - Recency is 90 days.
7205	//   "RECENCY_120_DAYS" - Recency is 120 days.
7206	//   "RECENCY_180_DAYS" - Recency is 180 days.
7207	//   "RECENCY_270_DAYS" - Recency is 270 days.
7208	//   "RECENCY_365_DAYS" - Recency is 365 days.
7209	Recency string `json:"recency,omitempty"`
7210
7211	// ForceSendFields is a list of field names (e.g.
7212	// "FirstAndThirdPartyAudienceId") to unconditionally include in API
7213	// requests. By default, fields with empty or default values are omitted
7214	// from API requests. However, any non-pointer, non-interface field
7215	// appearing in ForceSendFields will be sent to the server regardless of
7216	// whether the field is empty or not. This may be used to include empty
7217	// fields in Patch requests.
7218	ForceSendFields []string `json:"-"`
7219
7220	// NullFields is a list of field names (e.g.
7221	// "FirstAndThirdPartyAudienceId") to include in API requests with the
7222	// JSON null value. By default, fields with empty values are omitted
7223	// from API requests. However, any field with an empty value appearing
7224	// in NullFields will be sent to the server as null. It is an error if a
7225	// field in this list has a non-empty value. This may be used to include
7226	// null fields in Patch requests.
7227	NullFields []string `json:"-"`
7228}
7229
7230func (s *FirstAndThirdPartyAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
7231	type NoMethod FirstAndThirdPartyAudienceTargetingSetting
7232	raw := NoMethod(*s)
7233	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7234}
7235
7236// FixedBidStrategy: A strategy that uses a fixed bidding price.
7237type FixedBidStrategy struct {
7238	// BidAmountMicros: The fixed bid amount, in micros of the advertiser's
7239	// currency. For insertion order entity, bid_amount_micros should be set
7240	// as 0. For line item entity, bid_amount_micros must be greater than or
7241	// equal to billable unit of the given currency and smaller than or
7242	// equal to the upper limit 1000000000. For example, 1500000 represents
7243	// 1.5 standard units of the currency.
7244	BidAmountMicros int64 `json:"bidAmountMicros,omitempty,string"`
7245
7246	// ForceSendFields is a list of field names (e.g. "BidAmountMicros") to
7247	// unconditionally include in API requests. By default, fields with
7248	// empty or default values are omitted from API requests. However, any
7249	// non-pointer, non-interface field appearing in ForceSendFields will be
7250	// sent to the server regardless of whether the field is empty or not.
7251	// This may be used to include empty fields in Patch requests.
7252	ForceSendFields []string `json:"-"`
7253
7254	// NullFields is a list of field names (e.g. "BidAmountMicros") to
7255	// include in API requests with the JSON null value. By default, fields
7256	// with empty values are omitted from API requests. However, any field
7257	// with an empty value appearing in NullFields will be sent to the
7258	// server as null. It is an error if a field in this list has a
7259	// non-empty value. This may be used to include null fields in Patch
7260	// requests.
7261	NullFields []string `json:"-"`
7262}
7263
7264func (s *FixedBidStrategy) MarshalJSON() ([]byte, error) {
7265	type NoMethod FixedBidStrategy
7266	raw := NoMethod(*s)
7267	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7268}
7269
7270// FloodlightGroup: A single Floodlight group.
7271type FloodlightGroup struct {
7272	// ActiveViewConfig: The Active View video viewability metric
7273	// configuration for the Floodlight group.
7274	ActiveViewConfig *ActiveViewVideoViewabilityMetricConfig `json:"activeViewConfig,omitempty"`
7275
7276	// CustomVariables: User-defined custom variables owned by the
7277	// Floodlight group. Use custom Floodlight variables to create reporting
7278	// data that is tailored to your unique business needs. Custom
7279	// Floodlight variables use the keys `U1=`, `U2=`, and so on, and can
7280	// take any values that you choose to pass to them. You can use them to
7281	// track virtually any type of data that you collect about your
7282	// customers, such as the genre of movie that a customer purchases, the
7283	// country to which the item is shipped, and so on. Custom Floodlight
7284	// variables may not be used to pass any data that could be used or
7285	// recognized as personally identifiable information (PII). Example:
7286	// `custom_variables { fields { "U1": value { number_value: 123.4 },
7287	// "U2": value { string_value: "MyVariable2" }, "U3": value {
7288	// string_value: "MyVariable3" } } }` Acceptable values for keys are
7289	// "U1" through "U100", inclusive. String values must be less than 64
7290	// characters long, and cannot contain the following characters: "<>`.
7291	CustomVariables googleapi.RawMessage `json:"customVariables,omitempty"`
7292
7293	// DisplayName: Required. The display name of the Floodlight group.
7294	DisplayName string `json:"displayName,omitempty"`
7295
7296	// FloodlightGroupId: Output only. The unique ID of the Floodlight
7297	// group. Assigned by the system.
7298	FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"`
7299
7300	// LookbackWindow: Required. The lookback window for the Floodlight
7301	// group. Both click_days and impression_days are required. Acceptable
7302	// values for both are `0` to `90`, inclusive.
7303	LookbackWindow *LookbackWindow `json:"lookbackWindow,omitempty"`
7304
7305	// Name: Output only. The resource name of the Floodlight group.
7306	Name string `json:"name,omitempty"`
7307
7308	// WebTagType: Required. The web tag type enabled for the Floodlight
7309	// group.
7310	//
7311	// Possible values:
7312	//   "WEB_TAG_TYPE_UNSPECIFIED" - Type value is not specified or is
7313	// unknown in this version.
7314	//   "WEB_TAG_TYPE_NONE" - No tag type.
7315	//   "WEB_TAG_TYPE_IMAGE" - Image tag.
7316	//   "WEB_TAG_TYPE_DYNAMIC" - Dynamic tag.
7317	WebTagType string `json:"webTagType,omitempty"`
7318
7319	// ServerResponse contains the HTTP response code and headers from the
7320	// server.
7321	googleapi.ServerResponse `json:"-"`
7322
7323	// ForceSendFields is a list of field names (e.g. "ActiveViewConfig") to
7324	// unconditionally include in API requests. By default, fields with
7325	// empty or default values are omitted from API requests. However, any
7326	// non-pointer, non-interface field appearing in ForceSendFields will be
7327	// sent to the server regardless of whether the field is empty or not.
7328	// This may be used to include empty fields in Patch requests.
7329	ForceSendFields []string `json:"-"`
7330
7331	// NullFields is a list of field names (e.g. "ActiveViewConfig") to
7332	// include in API requests with the JSON null value. By default, fields
7333	// with empty values are omitted from API requests. However, any field
7334	// with an empty value appearing in NullFields will be sent to the
7335	// server as null. It is an error if a field in this list has a
7336	// non-empty value. This may be used to include null fields in Patch
7337	// requests.
7338	NullFields []string `json:"-"`
7339}
7340
7341func (s *FloodlightGroup) MarshalJSON() ([]byte, error) {
7342	type NoMethod FloodlightGroup
7343	raw := NoMethod(*s)
7344	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7345}
7346
7347// FrequencyCap: Settings that control the number of times a user may be
7348// shown with the same ad during a given time period.
7349type FrequencyCap struct {
7350	// MaxImpressions: The maximum number of times a user may be shown with
7351	// the same ad during this period. Must be greater than 0. Required when
7352	// unlimited is `false`.
7353	MaxImpressions int64 `json:"maxImpressions,omitempty"`
7354
7355	// TimeUnit: The time unit in which the frequency cap will be applied.
7356	// Required when unlimited is `false`.
7357	//
7358	// Possible values:
7359	//   "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is
7360	// unknown in this version.
7361	//   "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the
7362	// whole life time of the line item.
7363	//   "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number
7364	// of months.
7365	//   "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number
7366	// of weeks.
7367	//   "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of
7368	// days.
7369	//   "TIME_UNIT_HOURS" - The frequency cap will be applied to a number
7370	// of hours.
7371	//   "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number
7372	// of minutes.
7373	TimeUnit string `json:"timeUnit,omitempty"`
7374
7375	// TimeUnitCount: The number of time_unit the frequency cap will last.
7376	// Required when unlimited is `false`. The following restrictions apply
7377	// based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field
7378	// is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be
7379	// between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 *
7380	// `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must
7381	// be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
7382	TimeUnitCount int64 `json:"timeUnitCount,omitempty"`
7383
7384	// Unlimited: Whether unlimited frequency capping is applied. When this
7385	// field is set to `true`, the remaining frequency cap fields are not
7386	// applicable.
7387	Unlimited bool `json:"unlimited,omitempty"`
7388
7389	// ForceSendFields is a list of field names (e.g. "MaxImpressions") to
7390	// unconditionally include in API requests. By default, fields with
7391	// empty or default values are omitted from API requests. However, any
7392	// non-pointer, non-interface field appearing in ForceSendFields will be
7393	// sent to the server regardless of whether the field is empty or not.
7394	// This may be used to include empty fields in Patch requests.
7395	ForceSendFields []string `json:"-"`
7396
7397	// NullFields is a list of field names (e.g. "MaxImpressions") to
7398	// include in API requests with the JSON null value. By default, fields
7399	// with empty values are omitted from API requests. However, any field
7400	// with an empty value appearing in NullFields will be sent to the
7401	// server as null. It is an error if a field in this list has a
7402	// non-empty value. This may be used to include null fields in Patch
7403	// requests.
7404	NullFields []string `json:"-"`
7405}
7406
7407func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
7408	type NoMethod FrequencyCap
7409	raw := NoMethod(*s)
7410	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7411}
7412
7413// GenderAssignedTargetingOptionDetails: Details for assigned gender
7414// targeting option. This will be populated in the details field of an
7415// AssignedTargetingOption when targeting_type is
7416// `TARTGETING_TYPE_GENDER`.
7417type GenderAssignedTargetingOptionDetails struct {
7418	// Gender: Output only. The gender of the audience.
7419	//
7420	// Possible values:
7421	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified
7422	// in this version. This enum is a place holder for default value and
7423	// does not represent a real gender option.
7424	//   "GENDER_MALE" - The audience gender is male.
7425	//   "GENDER_FEMALE" - The audience gender is female.
7426	//   "GENDER_UNKNOWN" - The audience gender is unknown.
7427	Gender string `json:"gender,omitempty"`
7428
7429	// TargetingOptionId: Required. The targeting_option_id of a
7430	// TargetingOption of type `TARGETING_TYPE_GENDER`.
7431	TargetingOptionId string `json:"targetingOptionId,omitempty"`
7432
7433	// ForceSendFields is a list of field names (e.g. "Gender") to
7434	// unconditionally include in API requests. By default, fields with
7435	// empty or default values are omitted from API requests. However, any
7436	// non-pointer, non-interface field appearing in ForceSendFields will be
7437	// sent to the server regardless of whether the field is empty or not.
7438	// This may be used to include empty fields in Patch requests.
7439	ForceSendFields []string `json:"-"`
7440
7441	// NullFields is a list of field names (e.g. "Gender") to include in API
7442	// requests with the JSON null value. By default, fields with empty
7443	// values are omitted from API requests. However, any field with an
7444	// empty value appearing in NullFields will be sent to the server as
7445	// null. It is an error if a field in this list has a non-empty value.
7446	// This may be used to include null fields in Patch requests.
7447	NullFields []string `json:"-"`
7448}
7449
7450func (s *GenderAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7451	type NoMethod GenderAssignedTargetingOptionDetails
7452	raw := NoMethod(*s)
7453	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7454}
7455
7456// GenderTargetingOptionDetails: Represents a targetable gender. This
7457// will be populated in the gender_details field of a TargetingOption
7458// when targeting_type is `TARGETING_TYPE_GENDER`.
7459type GenderTargetingOptionDetails struct {
7460	// Gender: Output only. The gender of an audience.
7461	//
7462	// Possible values:
7463	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified
7464	// in this version. This enum is a place holder for default value and
7465	// does not represent a real gender option.
7466	//   "GENDER_MALE" - The audience gender is male.
7467	//   "GENDER_FEMALE" - The audience gender is female.
7468	//   "GENDER_UNKNOWN" - The audience gender is unknown.
7469	Gender string `json:"gender,omitempty"`
7470
7471	// ForceSendFields is a list of field names (e.g. "Gender") to
7472	// unconditionally include in API requests. By default, fields with
7473	// empty or default values are omitted from API requests. However, any
7474	// non-pointer, non-interface field appearing in ForceSendFields will be
7475	// sent to the server regardless of whether the field is empty or not.
7476	// This may be used to include empty fields in Patch requests.
7477	ForceSendFields []string `json:"-"`
7478
7479	// NullFields is a list of field names (e.g. "Gender") to include in API
7480	// requests with the JSON null value. By default, fields with empty
7481	// values are omitted from API requests. However, any field with an
7482	// empty value appearing in NullFields will be sent to the server as
7483	// null. It is an error if a field in this list has a non-empty value.
7484	// This may be used to include null fields in Patch requests.
7485	NullFields []string `json:"-"`
7486}
7487
7488func (s *GenderTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7489	type NoMethod GenderTargetingOptionDetails
7490	raw := NoMethod(*s)
7491	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7492}
7493
7494// GenerateDefaultLineItemRequest: Request message for
7495// LineItemService.GenerateDefaultLineItem.
7496type GenerateDefaultLineItemRequest struct {
7497	// DisplayName: Required. The display name of the line item. Must be
7498	// UTF-8 encoded with a maximum size of 240 bytes.
7499	DisplayName string `json:"displayName,omitempty"`
7500
7501	// InsertionOrderId: Required. The unique ID of the insertion order that
7502	// the line item belongs to.
7503	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
7504
7505	// LineItemType: Required. The type of the line item.
7506	//
7507	// Possible values:
7508	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is
7509	// unknown in this version.
7510	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich
7511	// media ads.
7512	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that
7513	// drive installs of an app.
7514	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for
7515	// a variety of environments.
7516	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive
7517	// installs of an app.
7518	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served
7519	// on mobile app inventory.
7520	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on
7521	// mobile app inventory.
7522	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety
7523	// of environments.
7524	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in
7525	// OTT insertion orders. This type is only applicable to line items with
7526	// an insertion order of insertion_order_type `OVER_THE_TOP`.
7527	LineItemType string `json:"lineItemType,omitempty"`
7528
7529	// MobileApp: The mobile app promoted by the line item. This is
7530	// applicable only when line_item_type is either
7531	// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
7532	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
7533	MobileApp *MobileApp `json:"mobileApp,omitempty"`
7534
7535	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7536	// unconditionally include in API requests. By default, fields with
7537	// empty or default values are omitted from API requests. However, any
7538	// non-pointer, non-interface field appearing in ForceSendFields will be
7539	// sent to the server regardless of whether the field is empty or not.
7540	// This may be used to include empty fields in Patch requests.
7541	ForceSendFields []string `json:"-"`
7542
7543	// NullFields is a list of field names (e.g. "DisplayName") to include
7544	// in API requests with the JSON null value. By default, fields with
7545	// empty values are omitted from API requests. However, any field with
7546	// an empty value appearing in NullFields will be sent to the server as
7547	// null. It is an error if a field in this list has a non-empty value.
7548	// This may be used to include null fields in Patch requests.
7549	NullFields []string `json:"-"`
7550}
7551
7552func (s *GenerateDefaultLineItemRequest) MarshalJSON() ([]byte, error) {
7553	type NoMethod GenerateDefaultLineItemRequest
7554	raw := NoMethod(*s)
7555	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7556}
7557
7558// GeoRegionAssignedTargetingOptionDetails: Details for assigned
7559// geographic region targeting option. This will be populated in the
7560// details field of an AssignedTargetingOption when targeting_type is
7561// `TARGETING_TYPE_GEO_REGION`.
7562type GeoRegionAssignedTargetingOptionDetails struct {
7563	// DisplayName: Output only. The display name of the geographic region
7564	// (e.g., "Ontario, Canada").
7565	DisplayName string `json:"displayName,omitempty"`
7566
7567	// GeoRegionType: Output only. The type of geographic region targeting.
7568	//
7569	// Possible values:
7570	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
7571	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
7572	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
7573	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
7574	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
7575	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
7576	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
7577	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a
7578	// prefecture.
7579	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a
7580	// governorate.
7581	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
7582	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a
7583	// union territory.
7584	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is
7585	// an autonomous community.
7586	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a
7587	// designated market area (DMA) region.
7588	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
7589	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is
7590	// a congressional district.
7591	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
7592	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a
7593	// municipality.
7594	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
7595	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting
7596	// type is postal code.
7597	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type
7598	// is department.
7599	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
7600	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
7601	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
7602	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
7603	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city
7604	// region.
7605	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
7606	// arrondissement.
7607	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a
7608	// neighborhood.
7609	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a
7610	// university.
7611	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
7612	GeoRegionType string `json:"geoRegionType,omitempty"`
7613
7614	// Negative: Indicates if this option is being negatively targeted.
7615	Negative bool `json:"negative,omitempty"`
7616
7617	// TargetingOptionId: Required. The targeting_option_id of a
7618	// TargetingOption of type `TARGETING_TYPE_GEO_REGION`.
7619	TargetingOptionId string `json:"targetingOptionId,omitempty"`
7620
7621	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7622	// unconditionally include in API requests. By default, fields with
7623	// empty or default values are omitted from API requests. However, any
7624	// non-pointer, non-interface field appearing in ForceSendFields will be
7625	// sent to the server regardless of whether the field is empty or not.
7626	// This may be used to include empty fields in Patch requests.
7627	ForceSendFields []string `json:"-"`
7628
7629	// NullFields is a list of field names (e.g. "DisplayName") to include
7630	// in API requests with the JSON null value. By default, fields with
7631	// empty values are omitted from API requests. However, any field with
7632	// an empty value appearing in NullFields will be sent to the server as
7633	// null. It is an error if a field in this list has a non-empty value.
7634	// This may be used to include null fields in Patch requests.
7635	NullFields []string `json:"-"`
7636}
7637
7638func (s *GeoRegionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7639	type NoMethod GeoRegionAssignedTargetingOptionDetails
7640	raw := NoMethod(*s)
7641	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7642}
7643
7644// GeoRegionSearchTerms: Search terms for geo region targeting options.
7645type GeoRegionSearchTerms struct {
7646	// GeoRegionQuery: The search query for the desired geo region. The
7647	// query can be a prefix, e.g. "New Yor", "Seattle", "USA", etc.
7648	GeoRegionQuery string `json:"geoRegionQuery,omitempty"`
7649
7650	// ForceSendFields is a list of field names (e.g. "GeoRegionQuery") to
7651	// unconditionally include in API requests. By default, fields with
7652	// empty or default values are omitted from API requests. However, any
7653	// non-pointer, non-interface field appearing in ForceSendFields will be
7654	// sent to the server regardless of whether the field is empty or not.
7655	// This may be used to include empty fields in Patch requests.
7656	ForceSendFields []string `json:"-"`
7657
7658	// NullFields is a list of field names (e.g. "GeoRegionQuery") to
7659	// include in API requests with the JSON null value. By default, fields
7660	// with empty values are omitted from API requests. However, any field
7661	// with an empty value appearing in NullFields will be sent to the
7662	// server as null. It is an error if a field in this list has a
7663	// non-empty value. This may be used to include null fields in Patch
7664	// requests.
7665	NullFields []string `json:"-"`
7666}
7667
7668func (s *GeoRegionSearchTerms) MarshalJSON() ([]byte, error) {
7669	type NoMethod GeoRegionSearchTerms
7670	raw := NoMethod(*s)
7671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7672}
7673
7674// GeoRegionTargetingOptionDetails: Represents a targetable geographic
7675// region. This will be populated in the geo_region_details field when
7676// targeting_type is `TARGETING_TYPE_GEO_REGION`.
7677type GeoRegionTargetingOptionDetails struct {
7678	// DisplayName: Output only. The display name of the geographic region
7679	// (e.g., "Ontario, Canada").
7680	DisplayName string `json:"displayName,omitempty"`
7681
7682	// GeoRegionType: Output only. The type of geographic region targeting.
7683	//
7684	// Possible values:
7685	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
7686	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
7687	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
7688	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
7689	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
7690	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
7691	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
7692	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a
7693	// prefecture.
7694	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a
7695	// governorate.
7696	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
7697	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a
7698	// union territory.
7699	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is
7700	// an autonomous community.
7701	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a
7702	// designated market area (DMA) region.
7703	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
7704	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is
7705	// a congressional district.
7706	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
7707	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a
7708	// municipality.
7709	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
7710	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting
7711	// type is postal code.
7712	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type
7713	// is department.
7714	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
7715	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
7716	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
7717	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
7718	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city
7719	// region.
7720	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
7721	// arrondissement.
7722	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a
7723	// neighborhood.
7724	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a
7725	// university.
7726	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
7727	GeoRegionType string `json:"geoRegionType,omitempty"`
7728
7729	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7730	// unconditionally include in API requests. By default, fields with
7731	// empty or default values are omitted from API requests. However, any
7732	// non-pointer, non-interface field appearing in ForceSendFields will be
7733	// sent to the server regardless of whether the field is empty or not.
7734	// This may be used to include empty fields in Patch requests.
7735	ForceSendFields []string `json:"-"`
7736
7737	// NullFields is a list of field names (e.g. "DisplayName") to include
7738	// in API requests with the JSON null value. By default, fields with
7739	// empty values are omitted from API requests. However, any field with
7740	// an empty value appearing in NullFields will be sent to the server as
7741	// null. It is an error if a field in this list has a non-empty value.
7742	// This may be used to include null fields in Patch requests.
7743	NullFields []string `json:"-"`
7744}
7745
7746func (s *GeoRegionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7747	type NoMethod GeoRegionTargetingOptionDetails
7748	raw := NoMethod(*s)
7749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7750}
7751
7752// GoogleAudience: Describes a Google audience resource. Includes Google
7753// audience lists.
7754type GoogleAudience struct {
7755	// DisplayName: Output only. The display name of the Google audience. .
7756	DisplayName string `json:"displayName,omitempty"`
7757
7758	// GoogleAudienceId: Output only. The unique ID of the Google audience.
7759	// Assigned by the system.
7760	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
7761
7762	// GoogleAudienceType: Output only. The type of Google audience. .
7763	//
7764	// Possible values:
7765	//   "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
7766	// specified or is unknown.
7767	//   "GOOGLE_AUDIENCE_TYPE_AFFINITY" - Affinity type Google audience.
7768	//   "GOOGLE_AUDIENCE_TYPE_IN_MARKET" - In-Market type Google audience.
7769	//   "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS" - Installed-Apps type Google
7770	// audience.
7771	//   "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES" - New-Mobile-Devices type
7772	// Google audience.
7773	//   "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT" - Life-Event type Google
7774	// audience.
7775	//   "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC" - Extended-Demographic
7776	// type Google audience.
7777	GoogleAudienceType string `json:"googleAudienceType,omitempty"`
7778
7779	// Name: Output only. The resource name of the google audience.
7780	Name string `json:"name,omitempty"`
7781
7782	// ServerResponse contains the HTTP response code and headers from the
7783	// server.
7784	googleapi.ServerResponse `json:"-"`
7785
7786	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7787	// unconditionally include in API requests. By default, fields with
7788	// empty or default values are omitted from API requests. However, any
7789	// non-pointer, non-interface field appearing in ForceSendFields will be
7790	// sent to the server regardless of whether the field is empty or not.
7791	// This may be used to include empty fields in Patch requests.
7792	ForceSendFields []string `json:"-"`
7793
7794	// NullFields is a list of field names (e.g. "DisplayName") to include
7795	// in API requests with the JSON null value. By default, fields with
7796	// empty values are omitted from API requests. However, any field with
7797	// an empty value appearing in NullFields will be sent to the server as
7798	// null. It is an error if a field in this list has a non-empty value.
7799	// This may be used to include null fields in Patch requests.
7800	NullFields []string `json:"-"`
7801}
7802
7803func (s *GoogleAudience) MarshalJSON() ([]byte, error) {
7804	type NoMethod GoogleAudience
7805	raw := NoMethod(*s)
7806	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7807}
7808
7809// GoogleAudienceGroup: Details of Google audience group. All Google
7810// audience targeting settings are logically ‘OR’ of each other.
7811type GoogleAudienceGroup struct {
7812	// Settings: Required. All Google audience targeting settings in Google
7813	// audience group. Repeated settings with same id will be ignored.
7814	Settings []*GoogleAudienceTargetingSetting `json:"settings,omitempty"`
7815
7816	// ForceSendFields is a list of field names (e.g. "Settings") to
7817	// unconditionally include in API requests. By default, fields with
7818	// empty or default values are omitted from API requests. However, any
7819	// non-pointer, non-interface field appearing in ForceSendFields will be
7820	// sent to the server regardless of whether the field is empty or not.
7821	// This may be used to include empty fields in Patch requests.
7822	ForceSendFields []string `json:"-"`
7823
7824	// NullFields is a list of field names (e.g. "Settings") to include in
7825	// API requests with the JSON null value. By default, fields with empty
7826	// values are omitted from API requests. However, any field with an
7827	// empty value appearing in NullFields will be sent to the server as
7828	// null. It is an error if a field in this list has a non-empty value.
7829	// This may be used to include null fields in Patch requests.
7830	NullFields []string `json:"-"`
7831}
7832
7833func (s *GoogleAudienceGroup) MarshalJSON() ([]byte, error) {
7834	type NoMethod GoogleAudienceGroup
7835	raw := NoMethod(*s)
7836	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7837}
7838
7839// GoogleAudienceTargetingSetting: Details of Google audience targeting
7840// setting.
7841type GoogleAudienceTargetingSetting struct {
7842	// GoogleAudienceId: Required. Google audience id of the Google audience
7843	// targeting setting. This id is google_audience_id.
7844	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
7845
7846	// ForceSendFields is a list of field names (e.g. "GoogleAudienceId") to
7847	// unconditionally include in API requests. By default, fields with
7848	// empty or default values are omitted from API requests. However, any
7849	// non-pointer, non-interface field appearing in ForceSendFields will be
7850	// sent to the server regardless of whether the field is empty or not.
7851	// This may be used to include empty fields in Patch requests.
7852	ForceSendFields []string `json:"-"`
7853
7854	// NullFields is a list of field names (e.g. "GoogleAudienceId") to
7855	// include in API requests with the JSON null value. By default, fields
7856	// with empty values are omitted from API requests. However, any field
7857	// with an empty value appearing in NullFields will be sent to the
7858	// server as null. It is an error if a field in this list has a
7859	// non-empty value. This may be used to include null fields in Patch
7860	// requests.
7861	NullFields []string `json:"-"`
7862}
7863
7864func (s *GoogleAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
7865	type NoMethod GoogleAudienceTargetingSetting
7866	raw := NoMethod(*s)
7867	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7868}
7869
7870// GoogleBytestreamMedia: Media resource.
7871type GoogleBytestreamMedia struct {
7872	// ResourceName: Name of the media resource.
7873	ResourceName string `json:"resourceName,omitempty"`
7874
7875	// ServerResponse contains the HTTP response code and headers from the
7876	// server.
7877	googleapi.ServerResponse `json:"-"`
7878
7879	// ForceSendFields is a list of field names (e.g. "ResourceName") to
7880	// unconditionally include in API requests. By default, fields with
7881	// empty or default values are omitted from API requests. However, any
7882	// non-pointer, non-interface field appearing in ForceSendFields will be
7883	// sent to the server regardless of whether the field is empty or not.
7884	// This may be used to include empty fields in Patch requests.
7885	ForceSendFields []string `json:"-"`
7886
7887	// NullFields is a list of field names (e.g. "ResourceName") to include
7888	// in API requests with the JSON null value. By default, fields with
7889	// empty values are omitted from API requests. However, any field with
7890	// an empty value appearing in NullFields will be sent to the server as
7891	// null. It is an error if a field in this list has a non-empty value.
7892	// This may be used to include null fields in Patch requests.
7893	NullFields []string `json:"-"`
7894}
7895
7896func (s *GoogleBytestreamMedia) MarshalJSON() ([]byte, error) {
7897	type NoMethod GoogleBytestreamMedia
7898	raw := NoMethod(*s)
7899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7900}
7901
7902// HouseholdIncomeAssignedTargetingOptionDetails: Details for assigned
7903// household income targeting option. This will be populated in the
7904// details field of an AssignedTargetingOption when targeting_type is
7905// `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7906type HouseholdIncomeAssignedTargetingOptionDetails struct {
7907	// HouseholdIncome: Output only. The household income of the audience.
7908	//
7909	// Possible values:
7910	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household
7911	// income is not specified in this version. This enum is a placeholder
7912	// for default value and does not represent a real household income
7913	// option.
7914	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience
7915	// is unknown.
7916	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower
7917	// 50% of U.S. household incomes.
7918	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the
7919	// top 41-50% of U.S. household incomes.
7920	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the
7921	// top 31-40% of U.S. household incomes.
7922	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the
7923	// top 21-30% of U.S. household incomes.
7924	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the
7925	// top 11-20% of U.S. household incomes.
7926	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10%
7927	// of U.S. household incomes.
7928	HouseholdIncome string `json:"householdIncome,omitempty"`
7929
7930	// TargetingOptionId: Required. The targeting_option_id of a
7931	// TargetingOption of type `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7932	TargetingOptionId string `json:"targetingOptionId,omitempty"`
7933
7934	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
7935	// unconditionally include in API requests. By default, fields with
7936	// empty or default values are omitted from API requests. However, any
7937	// non-pointer, non-interface field appearing in ForceSendFields will be
7938	// sent to the server regardless of whether the field is empty or not.
7939	// This may be used to include empty fields in Patch requests.
7940	ForceSendFields []string `json:"-"`
7941
7942	// NullFields is a list of field names (e.g. "HouseholdIncome") to
7943	// include in API requests with the JSON null value. By default, fields
7944	// with empty values are omitted from API requests. However, any field
7945	// with an empty value appearing in NullFields will be sent to the
7946	// server as null. It is an error if a field in this list has a
7947	// non-empty value. This may be used to include null fields in Patch
7948	// requests.
7949	NullFields []string `json:"-"`
7950}
7951
7952func (s *HouseholdIncomeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7953	type NoMethod HouseholdIncomeAssignedTargetingOptionDetails
7954	raw := NoMethod(*s)
7955	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7956}
7957
7958// HouseholdIncomeTargetingOptionDetails: Represents a targetable
7959// household income. This will be populated in the
7960// household_income_details field of a TargetingOption when
7961// targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7962type HouseholdIncomeTargetingOptionDetails struct {
7963	// HouseholdIncome: Output only. The household income of an audience.
7964	//
7965	// Possible values:
7966	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household
7967	// income is not specified in this version. This enum is a placeholder
7968	// for default value and does not represent a real household income
7969	// option.
7970	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience
7971	// is unknown.
7972	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower
7973	// 50% of U.S. household incomes.
7974	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the
7975	// top 41-50% of U.S. household incomes.
7976	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the
7977	// top 31-40% of U.S. household incomes.
7978	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the
7979	// top 21-30% of U.S. household incomes.
7980	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the
7981	// top 11-20% of U.S. household incomes.
7982	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10%
7983	// of U.S. household incomes.
7984	HouseholdIncome string `json:"householdIncome,omitempty"`
7985
7986	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
7987	// unconditionally include in API requests. By default, fields with
7988	// empty or default values are omitted from API requests. However, any
7989	// non-pointer, non-interface field appearing in ForceSendFields will be
7990	// sent to the server regardless of whether the field is empty or not.
7991	// This may be used to include empty fields in Patch requests.
7992	ForceSendFields []string `json:"-"`
7993
7994	// NullFields is a list of field names (e.g. "HouseholdIncome") to
7995	// include in API requests with the JSON null value. By default, fields
7996	// with empty values are omitted from API requests. However, any field
7997	// with an empty value appearing in NullFields will be sent to the
7998	// server as null. It is an error if a field in this list has a
7999	// non-empty value. This may be used to include null fields in Patch
8000	// requests.
8001	NullFields []string `json:"-"`
8002}
8003
8004func (s *HouseholdIncomeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8005	type NoMethod HouseholdIncomeTargetingOptionDetails
8006	raw := NoMethod(*s)
8007	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8008}
8009
8010// IdFilter: A filtering option that filters entities by their entity
8011// IDs.
8012type IdFilter struct {
8013	// AdGroupAdIds: YouTube Ads to download by ID. All IDs must belong to
8014	// the same Advertiser or Partner specified in
8015	// CreateSdfDownloadTaskRequest.
8016	AdGroupAdIds googleapi.Int64s `json:"adGroupAdIds,omitempty"`
8017
8018	// AdGroupIds: YouTube Ad Groups to download by ID. All IDs must belong
8019	// to the same Advertiser or Partner specified in
8020	// CreateSdfDownloadTaskRequest.
8021	AdGroupIds googleapi.Int64s `json:"adGroupIds,omitempty"`
8022
8023	// CampaignIds: Campaigns to download by ID. All IDs must belong to the
8024	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
8025	CampaignIds googleapi.Int64s `json:"campaignIds,omitempty"`
8026
8027	// InsertionOrderIds: Insertion Orders to download by ID. All IDs must
8028	// belong to the same Advertiser or Partner specified in
8029	// CreateSdfDownloadTaskRequest.
8030	InsertionOrderIds googleapi.Int64s `json:"insertionOrderIds,omitempty"`
8031
8032	// LineItemIds: Line Items to download by ID. All IDs must belong to the
8033	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
8034	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
8035
8036	// MediaProductIds: Media Products to download by ID. All IDs must
8037	// belong to the same Advertiser or Partner specified in
8038	// CreateSdfDownloadTaskRequest.
8039	MediaProductIds googleapi.Int64s `json:"mediaProductIds,omitempty"`
8040
8041	// ForceSendFields is a list of field names (e.g. "AdGroupAdIds") to
8042	// unconditionally include in API requests. By default, fields with
8043	// empty or default values are omitted from API requests. However, any
8044	// non-pointer, non-interface field appearing in ForceSendFields will be
8045	// sent to the server regardless of whether the field is empty or not.
8046	// This may be used to include empty fields in Patch requests.
8047	ForceSendFields []string `json:"-"`
8048
8049	// NullFields is a list of field names (e.g. "AdGroupAdIds") to include
8050	// in API requests with the JSON null value. By default, fields with
8051	// empty values are omitted from API requests. However, any field with
8052	// an empty value appearing in NullFields will be sent to the server as
8053	// null. It is an error if a field in this list has a non-empty value.
8054	// This may be used to include null fields in Patch requests.
8055	NullFields []string `json:"-"`
8056}
8057
8058func (s *IdFilter) MarshalJSON() ([]byte, error) {
8059	type NoMethod IdFilter
8060	raw := NoMethod(*s)
8061	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8062}
8063
8064// InsertionOrder: A single insertion order.
8065type InsertionOrder struct {
8066	// AdvertiserId: Output only. The unique ID of the advertiser the
8067	// insertion order belongs to.
8068	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8069
8070	// BidStrategy: The bidding strategy of the insertion order. By default,
8071	// fixed_bid is set.
8072	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
8073
8074	// Budget: Required. The budget allocation settings of the insertion
8075	// order.
8076	Budget *InsertionOrderBudget `json:"budget,omitempty"`
8077
8078	// CampaignId: Required. Immutable. The unique ID of the campaign that
8079	// the insertion order belongs to.
8080	CampaignId int64 `json:"campaignId,omitempty,string"`
8081
8082	// DisplayName: Required. The display name of the insertion order. Must
8083	// be UTF-8 encoded with a maximum size of 240 bytes.
8084	DisplayName string `json:"displayName,omitempty"`
8085
8086	// EntityStatus: Required. Controls whether or not the insertion order
8087	// can spend its budget and bid on inventory. * For CreateInsertionOrder
8088	// method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an
8089	// insertion order, use UpdateInsertionOrder method and update the
8090	// status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion order
8091	// cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other
8092	// status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE`
8093	// if its parent campaign is not active.
8094	//
8095	// Possible values:
8096	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8097	// specified or is unknown in this version.
8098	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8099	// budget.
8100	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8101	// budget spending are disabled. An entity can be deleted after
8102	// archived. Deleted entities cannot be retrieved.
8103	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8104	// budget spending are disabled.
8105	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8106	// the entity.
8107	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8108	// for deletion.
8109	EntityStatus string `json:"entityStatus,omitempty"`
8110
8111	// FrequencyCap: Required. The frequency capping setting of the
8112	// insertion order.
8113	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
8114
8115	// InsertionOrderId: Output only. The unique ID of the insertion order.
8116	// Assigned by the system.
8117	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
8118
8119	// InsertionOrderType: The type of insertion order. If this field is
8120	// unspecified in creation, the value defaults to `RTB`.
8121	//
8122	// Possible values:
8123	//   "INSERTION_ORDER_TYPE_UNSPECIFIED" - Insertion order type is not
8124	// specified or is unknown.
8125	//   "RTB" - Real-time bidding.
8126	//   "OVER_THE_TOP" - Over-the-top.
8127	InsertionOrderType string `json:"insertionOrderType,omitempty"`
8128
8129	// IntegrationDetails: Additional integration details of the insertion
8130	// order.
8131	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
8132
8133	// Name: Output only. The resource name of the insertion order.
8134	Name string `json:"name,omitempty"`
8135
8136	// Pacing: Required. The budget spending speed setting of the insertion
8137	// order.
8138	Pacing *Pacing `json:"pacing,omitempty"`
8139
8140	// PartnerCosts: The partner costs associated with the insertion order.
8141	// If absent or empty in CreateInsertionOrder method, the newly created
8142	// insertion order will inherit partner costs from the partner settings.
8143	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
8144
8145	// PerformanceGoal: Required. Performance goal of the insertion order.
8146	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
8147
8148	// UpdateTime: Output only. The timestamp when the insertion order was
8149	// last updated. Assigned by the system.
8150	UpdateTime string `json:"updateTime,omitempty"`
8151
8152	// ServerResponse contains the HTTP response code and headers from the
8153	// server.
8154	googleapi.ServerResponse `json:"-"`
8155
8156	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8157	// unconditionally include in API requests. By default, fields with
8158	// empty or default values are omitted from API requests. However, any
8159	// non-pointer, non-interface field appearing in ForceSendFields will be
8160	// sent to the server regardless of whether the field is empty or not.
8161	// This may be used to include empty fields in Patch requests.
8162	ForceSendFields []string `json:"-"`
8163
8164	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8165	// in API requests with the JSON null value. By default, fields with
8166	// empty values are omitted from API requests. However, any field with
8167	// an empty value appearing in NullFields will be sent to the server as
8168	// null. It is an error if a field in this list has a non-empty value.
8169	// This may be used to include null fields in Patch requests.
8170	NullFields []string `json:"-"`
8171}
8172
8173func (s *InsertionOrder) MarshalJSON() ([]byte, error) {
8174	type NoMethod InsertionOrder
8175	raw := NoMethod(*s)
8176	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8177}
8178
8179// InsertionOrderBudget: Settings that control how insertion order
8180// budget is allocated.
8181type InsertionOrderBudget struct {
8182	// AutomationType: The type of automation used to manage bid and budget
8183	// for the insertion order. If this field is unspecified in creation,
8184	// the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.
8185	//
8186	// Possible values:
8187	//   "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" - Insertion order
8188	// automation option is not specified or is unknown in this version.
8189	//   "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET" - Automatic budget
8190	// allocation. Allow the system to automatically shift budget to owning
8191	// line items to optimize performance defined by performance_goal. No
8192	// automation on bid settings.
8193	//   "INSERTION_ORDER_AUTOMATION_TYPE_NONE" - No automation of bid or
8194	// budget on insertion order level. Bid and budget must be manually
8195	// configured at the line item level.
8196	//   "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" - Allow the system to
8197	// automatically adjust bids and shift budget to owning line items to
8198	// optimize performance defined by performance_goal.
8199	AutomationType string `json:"automationType,omitempty"`
8200
8201	// BudgetSegments: Required. The list of budget segments. Use a budget
8202	// segment to specify a specific budget for a given period of time an
8203	// insertion order is running.
8204	BudgetSegments []*InsertionOrderBudgetSegment `json:"budgetSegments,omitempty"`
8205
8206	// BudgetUnit: Required. Immutable. The budget unit specifies whether
8207	// the budget is currency based or impression based.
8208	//
8209	// Possible values:
8210	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
8211	// unknown in this version.
8212	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
8213	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
8214	BudgetUnit string `json:"budgetUnit,omitempty"`
8215
8216	// ForceSendFields is a list of field names (e.g. "AutomationType") to
8217	// unconditionally include in API requests. By default, fields with
8218	// empty or default values are omitted from API requests. However, any
8219	// non-pointer, non-interface field appearing in ForceSendFields will be
8220	// sent to the server regardless of whether the field is empty or not.
8221	// This may be used to include empty fields in Patch requests.
8222	ForceSendFields []string `json:"-"`
8223
8224	// NullFields is a list of field names (e.g. "AutomationType") to
8225	// include in API requests with the JSON null value. By default, fields
8226	// with empty values are omitted from API requests. However, any field
8227	// with an empty value appearing in NullFields will be sent to the
8228	// server as null. It is an error if a field in this list has a
8229	// non-empty value. This may be used to include null fields in Patch
8230	// requests.
8231	NullFields []string `json:"-"`
8232}
8233
8234func (s *InsertionOrderBudget) MarshalJSON() ([]byte, error) {
8235	type NoMethod InsertionOrderBudget
8236	raw := NoMethod(*s)
8237	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8238}
8239
8240// InsertionOrderBudgetSegment: Settings that control the budget of a
8241// single budget segment.
8242type InsertionOrderBudgetSegment struct {
8243	// BudgetAmountMicros: Required. The budget amount the insertion order
8244	// will spend for the given date_range. The amount is in micros. Must be
8245	// greater than 0. For example, 500000000 represents 500 standard units
8246	// of the currency.
8247	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
8248
8249	// CampaignBudgetId: The budget_id of the campaign budget that this
8250	// insertion order budget segment is a part of.
8251	CampaignBudgetId int64 `json:"campaignBudgetId,omitempty,string"`
8252
8253	// DateRange: Required. The start and end date settings of the budget
8254	// segment. They are resolved relative to the parent advertiser's time
8255	// zone. * When creating a new budget segment, both `start_date` and
8256	// `end_date` must be in the future. * An existing budget segment with a
8257	// `start_date` in the past has a mutable `end_date` but an immutable
8258	// `start_date`. * `end_date` must be the `start_date` or later, both
8259	// before the year 2037.
8260	DateRange *DateRange `json:"dateRange,omitempty"`
8261
8262	// Description: The budget segment description. It can be used to enter
8263	// Purchase Order information for each budget segment and have that
8264	// information printed on the invoices. Must be UTF-8 encoded with a
8265	// length of no more than 80 characters.
8266	Description string `json:"description,omitempty"`
8267
8268	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros")
8269	// to unconditionally include in API requests. By default, fields with
8270	// empty or default values are omitted from API requests. However, any
8271	// non-pointer, non-interface field appearing in ForceSendFields will be
8272	// sent to the server regardless of whether the field is empty or not.
8273	// This may be used to include empty fields in Patch requests.
8274	ForceSendFields []string `json:"-"`
8275
8276	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to
8277	// include in API requests with the JSON null value. By default, fields
8278	// with empty values are omitted from API requests. However, any field
8279	// with an empty value appearing in NullFields will be sent to the
8280	// server as null. It is an error if a field in this list has a
8281	// non-empty value. This may be used to include null fields in Patch
8282	// requests.
8283	NullFields []string `json:"-"`
8284}
8285
8286func (s *InsertionOrderBudgetSegment) MarshalJSON() ([]byte, error) {
8287	type NoMethod InsertionOrderBudgetSegment
8288	raw := NoMethod(*s)
8289	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8290}
8291
8292// IntegralAdScience: Details of Integral Ad Science settings.
8293type IntegralAdScience struct {
8294	// CustomSegmentId: The custom segment ID provided by Integral Ad
8295	// Science. The ID must be between `1000001` and `1999999`, inclusive.
8296	CustomSegmentId googleapi.Int64s `json:"customSegmentId,omitempty"`
8297
8298	// DisplayViewability: Display Viewability section (applicable to
8299	// display line items only).
8300	//
8301	// Possible values:
8302	//   "PERFORMANCE_VIEWABILITY_UNSPECIFIED" - This enum is only a
8303	// placeholder and it doesn't specify any display viewability options.
8304	//   "PERFORMANCE_VIEWABILITY_40" - Target 40% Viewability or Higher.
8305	//   "PERFORMANCE_VIEWABILITY_50" - Target 50% Viewability or Higher.
8306	//   "PERFORMANCE_VIEWABILITY_60" - Target 60% Viewability or Higher.
8307	//   "PERFORMANCE_VIEWABILITY_70" - Target 70% Viewability or Higher.
8308	DisplayViewability string `json:"displayViewability,omitempty"`
8309
8310	// ExcludeUnrateable: Brand Safety - **Unrateable**.
8311	ExcludeUnrateable bool `json:"excludeUnrateable,omitempty"`
8312
8313	// ExcludedAdFraudRisk: Ad Fraud settings.
8314	//
8315	// Possible values:
8316	//   "SUSPICIOUS_ACTIVITY_UNSPECIFIED" - This enum is only a placeholder
8317	// and it doesn't specify any ad fraud prevention options.
8318	//   "SUSPICIOUS_ACTIVITY_HR" - Ad Fraud - Exclude High Risk.
8319	//   "SUSPICIOUS_ACTIVITY_HMR" - Ad Fraud - Exclude High and Moderate
8320	// Risk.
8321	ExcludedAdFraudRisk string `json:"excludedAdFraudRisk,omitempty"`
8322
8323	// ExcludedAdultRisk: Brand Safety - **Adult content**.
8324	//
8325	// Possible values:
8326	//   "ADULT_UNSPECIFIED" - This enum is only a placeholder and it
8327	// doesn't specify any adult options.
8328	//   "ADULT_HR" - Adult - Exclude High Risk.
8329	//   "ADULT_HMR" - Adult - Exclude High and Moderate Risk.
8330	ExcludedAdultRisk string `json:"excludedAdultRisk,omitempty"`
8331
8332	// ExcludedAlcoholRisk: Brand Safety - **Alcohol**.
8333	//
8334	// Possible values:
8335	//   "ALCOHOL_UNSPECIFIED" - This enum is only a placeholder and it
8336	// doesn't specify any alcohol options.
8337	//   "ALCOHOL_HR" - Alcohol - Exclude High Risk.
8338	//   "ALCOHOL_HMR" - Alcohol - Exclude High and Moderate Risk.
8339	ExcludedAlcoholRisk string `json:"excludedAlcoholRisk,omitempty"`
8340
8341	// ExcludedDrugsRisk: Brand Safety - **Drugs**.
8342	//
8343	// Possible values:
8344	//   "DRUGS_UNSPECIFIED" - This enum is only a placeholder and it
8345	// doesn't specify any drugs options.
8346	//   "DRUGS_HR" - Drugs - Exclude High Risk.
8347	//   "DRUGS_HMR" - Drugs - Exclude High and Moderate Risk.
8348	ExcludedDrugsRisk string `json:"excludedDrugsRisk,omitempty"`
8349
8350	// ExcludedGamblingRisk: Brand Safety - **Gambling**.
8351	//
8352	// Possible values:
8353	//   "GAMBLING_UNSPECIFIED" - This enum is only a placeholder and it
8354	// doesn't specify any gambling options.
8355	//   "GAMBLING_HR" - Gambling - Exclude High Risk.
8356	//   "GAMBLING_HMR" - Gambling - Exclude High and Moderate Risk.
8357	ExcludedGamblingRisk string `json:"excludedGamblingRisk,omitempty"`
8358
8359	// ExcludedHateSpeechRisk: Brand Safety - **Hate speech**.
8360	//
8361	// Possible values:
8362	//   "HATE_SPEECH_UNSPECIFIED" - This enum is only a placeholder and it
8363	// doesn't specify any hate speech options.
8364	//   "HATE_SPEECH_HR" - Hate Speech - Exclude High Risk.
8365	//   "HATE_SPEECH_HMR" - Hate Speech - Exclude High and Moderate Risk.
8366	ExcludedHateSpeechRisk string `json:"excludedHateSpeechRisk,omitempty"`
8367
8368	// ExcludedIllegalDownloadsRisk: Brand Safety - **Illegal downloads**.
8369	//
8370	// Possible values:
8371	//   "ILLEGAL_DOWNLOADS_UNSPECIFIED" - This enum is only a placeholder
8372	// and it doesn't specify any illegal downloads options.
8373	//   "ILLEGAL_DOWNLOADS_HR" - Illegal Downloads - Exclude High Risk.
8374	//   "ILLEGAL_DOWNLOADS_HMR" - Illegal Downloads - Exclude High and
8375	// Moderate Risk.
8376	ExcludedIllegalDownloadsRisk string `json:"excludedIllegalDownloadsRisk,omitempty"`
8377
8378	// ExcludedOffensiveLanguageRisk: Brand Safety - **Offensive language**.
8379	//
8380	// Possible values:
8381	//   "OFFENSIVE_LANGUAGE_UNSPECIFIED" - This enum is only a placeholder
8382	// and it doesn't specify any language options.
8383	//   "OFFENSIVE_LANGUAGE_HR" - Offensive Language - Exclude High Risk.
8384	//   "OFFENSIVE_LANGUAGE_HMR" - Offensive Language - Exclude High and
8385	// Moderate Risk.
8386	ExcludedOffensiveLanguageRisk string `json:"excludedOffensiveLanguageRisk,omitempty"`
8387
8388	// ExcludedViolenceRisk: Brand Safety - **Violence**.
8389	//
8390	// Possible values:
8391	//   "VIOLENCE_UNSPECIFIED" - This enum is only a placeholder and it
8392	// doesn't specify any violence options.
8393	//   "VIOLENCE_HR" - Violence - Exclude High Risk.
8394	//   "VIOLENCE_HMR" - Violence - Exclude High and Moderate Risk.
8395	ExcludedViolenceRisk string `json:"excludedViolenceRisk,omitempty"`
8396
8397	// TraqScoreOption: True advertising quality (applicable to Display line
8398	// items only).
8399	//
8400	// Possible values:
8401	//   "TRAQ_UNSPECIFIED" - This enum is only a placeholder and it doesn't
8402	// specify any true advertising quality scores.
8403	//   "TRAQ_250" - TRAQ score 250-1000.
8404	//   "TRAQ_500" - TRAQ score 500-1000.
8405	//   "TRAQ_600" - TRAQ score 600-1000.
8406	//   "TRAQ_700" - TRAQ score 700-1000.
8407	//   "TRAQ_750" - TRAQ score 750-1000.
8408	//   "TRAQ_875" - TRAQ score 875-1000.
8409	//   "TRAQ_1000" - TRAQ score 1000.
8410	TraqScoreOption string `json:"traqScoreOption,omitempty"`
8411
8412	// VideoViewability: Video Viewability Section (applicable to video line
8413	// items only).
8414	//
8415	// Possible values:
8416	//   "VIDEO_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder
8417	// and it doesn't specify any video viewability options.
8418	//   "VIDEO_VIEWABILITY_40" - 40%+ in view (IAB video viewability
8419	// standard).
8420	//   "VIDEO_VIEWABILITY_50" - 50%+ in view (IAB video viewability
8421	// standard).
8422	//   "VIDEO_VIEWABILITY_60" - 60%+ in view (IAB video viewability
8423	// standard).
8424	//   "VIDEO_VIEWABILITY_70" - 70%+ in view (IAB video viewability
8425	// standard).
8426	VideoViewability string `json:"videoViewability,omitempty"`
8427
8428	// ForceSendFields is a list of field names (e.g. "CustomSegmentId") to
8429	// unconditionally include in API requests. By default, fields with
8430	// empty or default values are omitted from API requests. However, any
8431	// non-pointer, non-interface field appearing in ForceSendFields will be
8432	// sent to the server regardless of whether the field is empty or not.
8433	// This may be used to include empty fields in Patch requests.
8434	ForceSendFields []string `json:"-"`
8435
8436	// NullFields is a list of field names (e.g. "CustomSegmentId") to
8437	// include in API requests with the JSON null value. By default, fields
8438	// with empty values are omitted from API requests. However, any field
8439	// with an empty value appearing in NullFields will be sent to the
8440	// server as null. It is an error if a field in this list has a
8441	// non-empty value. This may be used to include null fields in Patch
8442	// requests.
8443	NullFields []string `json:"-"`
8444}
8445
8446func (s *IntegralAdScience) MarshalJSON() ([]byte, error) {
8447	type NoMethod IntegralAdScience
8448	raw := NoMethod(*s)
8449	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8450}
8451
8452// IntegrationDetails: Integration details of an entry.
8453type IntegrationDetails struct {
8454	// Details: Additional details of the entry in string format. Must be
8455	// UTF-8 encoded with a length of no more than 1000 characters.
8456	Details string `json:"details,omitempty"`
8457
8458	// IntegrationCode: An external identifier to be associated with the
8459	// entry. The integration code will show up together with the entry in
8460	// many places in the system, for example, reporting. Must be UTF-8
8461	// encoded with a length of no more than 500 characters.
8462	IntegrationCode string `json:"integrationCode,omitempty"`
8463
8464	// ForceSendFields is a list of field names (e.g. "Details") to
8465	// unconditionally include in API requests. By default, fields with
8466	// empty or default values are omitted from API requests. However, any
8467	// non-pointer, non-interface field appearing in ForceSendFields will be
8468	// sent to the server regardless of whether the field is empty or not.
8469	// This may be used to include empty fields in Patch requests.
8470	ForceSendFields []string `json:"-"`
8471
8472	// NullFields is a list of field names (e.g. "Details") to include in
8473	// API requests with the JSON null value. By default, fields with empty
8474	// values are omitted from API requests. However, any field with an
8475	// empty value appearing in NullFields will be sent to the server as
8476	// null. It is an error if a field in this list has a non-empty value.
8477	// This may be used to include null fields in Patch requests.
8478	NullFields []string `json:"-"`
8479}
8480
8481func (s *IntegrationDetails) MarshalJSON() ([]byte, error) {
8482	type NoMethod IntegrationDetails
8483	raw := NoMethod(*s)
8484	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8485}
8486
8487// InventorySource: An inventory source.
8488type InventorySource struct {
8489	// Commitment: Whether the inventory source has a guaranteed or
8490	// non-guaranteed delivery.
8491	//
8492	// Possible values:
8493	//   "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED" - The commitment is not
8494	// specified or is unknown in this version.
8495	//   "INVENTORY_SOURCE_COMMITMENT_GUARANTEED" - The commitment is
8496	// guaranteed delivery.
8497	//   "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" - The commitment is
8498	// non-guaranteed delivery.
8499	Commitment string `json:"commitment,omitempty"`
8500
8501	// CreativeConfigs: The creative requirements of the inventory source.
8502	// Not applicable for auction packages.
8503	CreativeConfigs []*CreativeConfig `json:"creativeConfigs,omitempty"`
8504
8505	// DealId: The ID in the exchange space that uniquely identifies the
8506	// inventory source. Must be unique across buyers within each exchange
8507	// but not necessarily unique across exchanges.
8508	DealId string `json:"dealId,omitempty"`
8509
8510	// DeliveryMethod: The delivery method of the inventory source. * For
8511	// non-guaranteed inventory sources, the only acceptable value is
8512	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed
8513	// inventory sources, acceptable values are
8514	// `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and
8515	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.
8516	//
8517	// Possible values:
8518	//   "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED" - The delivery
8519	// method is not specified or is unknown in this version.
8520	//   "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC" - The delivery
8521	// method is programmatic.
8522	//   "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" - The delivery method is
8523	// tag.
8524	DeliveryMethod string `json:"deliveryMethod,omitempty"`
8525
8526	// DisplayName: The display name of the inventory source. Must be UTF-8
8527	// encoded with a maximum size of 240 bytes.
8528	DisplayName string `json:"displayName,omitempty"`
8529
8530	// Exchange: The exchange to which the inventory source belongs.
8531	//
8532	// Possible values:
8533	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
8534	// this version.
8535	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
8536	//   "EXCHANGE_APPNEXUS" - AppNexus.
8537	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
8538	//   "EXCHANGE_ADFORM" - Adform.
8539	//   "EXCHANGE_ADMETA" - Admeta.
8540	//   "EXCHANGE_ADMIXER" - Admixer.
8541	//   "EXCHANGE_ADSMOGO" - AdsMogo.
8542	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
8543	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
8544	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
8545	// from Yahoo!.
8546	//   "EXCHANGE_CADREON" - Cadreon.
8547	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
8548	//   "EXCHANGE_FIVE" - Five.
8549	//   "EXCHANGE_FLUCT" - Fluct.
8550	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
8551	//   "EXCHANGE_GENIEE" - Geniee.
8552	//   "EXCHANGE_GUMGUM" - GumGum.
8553	//   "EXCHANGE_IMOBILE" - i-mobile.
8554	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
8555	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
8556	//   "EXCHANGE_INDEX" - Index Exchange.
8557	//   "EXCHANGE_KARGO" - Kargo.
8558	//   "EXCHANGE_MICROAD" - MicroAd.
8559	//   "EXCHANGE_MOPUB" - MoPub.
8560	//   "EXCHANGE_NEND" - Nend.
8561	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
8562	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
8563	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
8564	//   "EXCHANGE_OOYALA" - Ooyala.
8565	//   "EXCHANGE_OPENX" - OpenX.
8566	//   "EXCHANGE_PERMODO" - Permodo.
8567	//   "EXCHANGE_PLATFORMONE" - Platform One.
8568	//   "EXCHANGE_PLATFORMID" - PlatformId.
8569	//   "EXCHANGE_PUBMATIC" - PubMatic.
8570	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
8571	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
8572	//   "EXCHANGE_RUBICON" - Rubicon.
8573	//   "EXCHANGE_SMARTCLIP" - SmartClip.
8574	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
8575	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
8576	//   "EXCHANGE_SOVRN" - Sovrn.
8577	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
8578	//   "EXCHANGE_STROER" - Ströer SSP.
8579	//   "EXCHANGE_TEADSTV" - TeadsTv.
8580	//   "EXCHANGE_TELARIA" - Telaria.
8581	//   "EXCHANGE_TVN" - TVN.
8582	//   "EXCHANGE_UNITED" - United.
8583	//   "EXCHANGE_YIELDLAB" - Yieldlab.
8584	//   "EXCHANGE_YIELDMO" - Yieldmo.
8585	//   "EXCHANGE_UNRULYX" - UnrulyX.
8586	//   "EXCHANGE_OPEN8" - Open8.
8587	//   "EXCHANGE_TRITON" - Triton.
8588	//   "EXCHANGE_TRIPLELIFT" - TripleLift.
8589	//   "EXCHANGE_TABOOLA" - Taboola.
8590	//   "EXCHANGE_INMOBI" - InMobi.
8591	//   "EXCHANGE_SMAATO" - Smaato.
8592	//   "EXCHANGE_AJA" - Aja.
8593	//   "EXCHANGE_SUPERSHIP" - Supership.
8594	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
8595	//   "EXCHANGE_WAZE" - Waze.
8596	//   "EXCHANGE_SOUNDCAST" - SoundCast.
8597	//   "EXCHANGE_SHARETHROUGH" - Sharethrough.
8598	//   "EXCHANGE_RED_FOR_PUBLISHERS" - Red For Publishers.
8599	//   "EXCHANGE_MEDIANET" - Media.net.
8600	//   "EXCHANGE_TAPJOY" - Tapjoy.
8601	Exchange string `json:"exchange,omitempty"`
8602
8603	// InventorySourceId: Output only. The unique ID of the inventory
8604	// source. Assigned by the system.
8605	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
8606
8607	// InventorySourceType: Denotes the type of the inventory source.
8608	//
8609	// Possible values:
8610	//   "INVENTORY_SOURCE_TYPE_UNSPECIFIED" - The inventory source type is
8611	// not specified or is unknown in this version.
8612	//   "INVENTORY_SOURCE_TYPE_PRIVATE" - Private inventory source.
8613	//   "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" - Auction package.
8614	InventorySourceType string `json:"inventorySourceType,omitempty"`
8615
8616	// Name: Output only. The resource name of the inventory source.
8617	Name string `json:"name,omitempty"`
8618
8619	// PublisherName: The publisher/seller name of the inventory source.
8620	PublisherName string `json:"publisherName,omitempty"`
8621
8622	// RateDetails: Required. The rate details of the inventory source.
8623	RateDetails *RateDetails `json:"rateDetails,omitempty"`
8624
8625	// Status: The status settings of the inventory source.
8626	Status *InventorySourceStatus `json:"status,omitempty"`
8627
8628	// TimeRange: The time range when this inventory source starts and stops
8629	// serving.
8630	TimeRange *TimeRange `json:"timeRange,omitempty"`
8631
8632	// UpdateTime: Output only. The timestamp when the inventory source was
8633	// last updated. Assigned by the system.
8634	UpdateTime string `json:"updateTime,omitempty"`
8635
8636	// ServerResponse contains the HTTP response code and headers from the
8637	// server.
8638	googleapi.ServerResponse `json:"-"`
8639
8640	// ForceSendFields is a list of field names (e.g. "Commitment") to
8641	// unconditionally include in API requests. By default, fields with
8642	// empty or default values are omitted from API requests. However, any
8643	// non-pointer, non-interface field appearing in ForceSendFields will be
8644	// sent to the server regardless of whether the field is empty or not.
8645	// This may be used to include empty fields in Patch requests.
8646	ForceSendFields []string `json:"-"`
8647
8648	// NullFields is a list of field names (e.g. "Commitment") to include in
8649	// API requests with the JSON null value. By default, fields with empty
8650	// values are omitted from API requests. However, any field with an
8651	// empty value appearing in NullFields will be sent to the server as
8652	// null. It is an error if a field in this list has a non-empty value.
8653	// This may be used to include null fields in Patch requests.
8654	NullFields []string `json:"-"`
8655}
8656
8657func (s *InventorySource) MarshalJSON() ([]byte, error) {
8658	type NoMethod InventorySource
8659	raw := NoMethod(*s)
8660	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8661}
8662
8663// InventorySourceAssignedTargetingOptionDetails: Targeting details for
8664// inventory source. This will be populated in the details field of an
8665// AssignedTargetingOption when targeting_type is
8666// `TARGETING_TYPE_INVENTORY_SOURCE`.
8667type InventorySourceAssignedTargetingOptionDetails struct {
8668	// InventorySourceId: Required. ID of the inventory source. Should refer
8669	// to the inventory_source_id field of an InventorySource resource.
8670	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
8671
8672	// ForceSendFields is a list of field names (e.g. "InventorySourceId")
8673	// to unconditionally include in API requests. By default, fields with
8674	// empty or default values are omitted from API requests. However, any
8675	// non-pointer, non-interface field appearing in ForceSendFields will be
8676	// sent to the server regardless of whether the field is empty or not.
8677	// This may be used to include empty fields in Patch requests.
8678	ForceSendFields []string `json:"-"`
8679
8680	// NullFields is a list of field names (e.g. "InventorySourceId") to
8681	// include in API requests with the JSON null value. By default, fields
8682	// with empty values are omitted from API requests. However, any field
8683	// with an empty value appearing in NullFields will be sent to the
8684	// server as null. It is an error if a field in this list has a
8685	// non-empty value. This may be used to include null fields in Patch
8686	// requests.
8687	NullFields []string `json:"-"`
8688}
8689
8690func (s *InventorySourceAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8691	type NoMethod InventorySourceAssignedTargetingOptionDetails
8692	raw := NoMethod(*s)
8693	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8694}
8695
8696// InventorySourceDisplayCreativeConfig: The configuration for display
8697// creatives.
8698type InventorySourceDisplayCreativeConfig struct {
8699	// CreativeSize: The size requirements for display creatives that can be
8700	// assigned to the inventory source.
8701	CreativeSize *Dimensions `json:"creativeSize,omitempty"`
8702
8703	// ForceSendFields is a list of field names (e.g. "CreativeSize") to
8704	// unconditionally include in API requests. By default, fields with
8705	// empty or default values are omitted from API requests. However, any
8706	// non-pointer, non-interface field appearing in ForceSendFields will be
8707	// sent to the server regardless of whether the field is empty or not.
8708	// This may be used to include empty fields in Patch requests.
8709	ForceSendFields []string `json:"-"`
8710
8711	// NullFields is a list of field names (e.g. "CreativeSize") to include
8712	// in API requests with the JSON null value. By default, fields with
8713	// empty values are omitted from API requests. However, any field with
8714	// an empty value appearing in NullFields will be sent to the server as
8715	// null. It is an error if a field in this list has a non-empty value.
8716	// This may be used to include null fields in Patch requests.
8717	NullFields []string `json:"-"`
8718}
8719
8720func (s *InventorySourceDisplayCreativeConfig) MarshalJSON() ([]byte, error) {
8721	type NoMethod InventorySourceDisplayCreativeConfig
8722	raw := NoMethod(*s)
8723	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8724}
8725
8726// InventorySourceFilter: A filtering option for filtering on Inventory
8727// Source entities.
8728type InventorySourceFilter struct {
8729	// InventorySourceIds: Inventory Sources to download by ID. All IDs must
8730	// belong to the same Advertiser or Partner specified in
8731	// CreateSdfDownloadTaskRequest. Leave empty to download all Inventory
8732	// Sources for the selected Advertiser or Partner.
8733	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
8734
8735	// ForceSendFields is a list of field names (e.g. "InventorySourceIds")
8736	// to unconditionally include in API requests. By default, fields with
8737	// empty or default values are omitted from API requests. However, any
8738	// non-pointer, non-interface field appearing in ForceSendFields will be
8739	// sent to the server regardless of whether the field is empty or not.
8740	// This may be used to include empty fields in Patch requests.
8741	ForceSendFields []string `json:"-"`
8742
8743	// NullFields is a list of field names (e.g. "InventorySourceIds") to
8744	// include in API requests with the JSON null value. By default, fields
8745	// with empty values are omitted from API requests. However, any field
8746	// with an empty value appearing in NullFields will be sent to the
8747	// server as null. It is an error if a field in this list has a
8748	// non-empty value. This may be used to include null fields in Patch
8749	// requests.
8750	NullFields []string `json:"-"`
8751}
8752
8753func (s *InventorySourceFilter) MarshalJSON() ([]byte, error) {
8754	type NoMethod InventorySourceFilter
8755	raw := NoMethod(*s)
8756	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8757}
8758
8759// InventorySourceGroup: A collection of targetable inventory sources.
8760type InventorySourceGroup struct {
8761	// DisplayName: Required. The display name of the inventory source
8762	// group. Must be UTF-8 encoded with a maximum size of 240 bytes.
8763	DisplayName string `json:"displayName,omitempty"`
8764
8765	// InventorySourceGroupId: Output only. The unique ID of the inventory
8766	// source group. Assigned by the system.
8767	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
8768
8769	// Name: Output only. The resource name of the inventory source group.
8770	Name string `json:"name,omitempty"`
8771
8772	// ServerResponse contains the HTTP response code and headers from the
8773	// server.
8774	googleapi.ServerResponse `json:"-"`
8775
8776	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8777	// unconditionally include in API requests. By default, fields with
8778	// empty or default values are omitted from API requests. However, any
8779	// non-pointer, non-interface field appearing in ForceSendFields will be
8780	// sent to the server regardless of whether the field is empty or not.
8781	// This may be used to include empty fields in Patch requests.
8782	ForceSendFields []string `json:"-"`
8783
8784	// NullFields is a list of field names (e.g. "DisplayName") to include
8785	// in API requests with the JSON null value. By default, fields with
8786	// empty values are omitted from API requests. However, any field with
8787	// an empty value appearing in NullFields will be sent to the server as
8788	// null. It is an error if a field in this list has a non-empty value.
8789	// This may be used to include null fields in Patch requests.
8790	NullFields []string `json:"-"`
8791}
8792
8793func (s *InventorySourceGroup) MarshalJSON() ([]byte, error) {
8794	type NoMethod InventorySourceGroup
8795	raw := NoMethod(*s)
8796	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8797}
8798
8799// InventorySourceGroupAssignedTargetingOptionDetails: Targeting details
8800// for inventory source group. This will be populated in the details
8801// field of an AssignedTargetingOption when targeting_type is
8802// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
8803type InventorySourceGroupAssignedTargetingOptionDetails struct {
8804	// InventorySourceGroupId: Required. ID of the inventory source group.
8805	// Should refer to the inventory_source_group_id field of an
8806	// InventorySourceGroup resource.
8807	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
8808
8809	// ForceSendFields is a list of field names (e.g.
8810	// "InventorySourceGroupId") to unconditionally include in API requests.
8811	// By default, fields with empty or default values are omitted from API
8812	// requests. However, any non-pointer, non-interface field appearing in
8813	// ForceSendFields will be sent to the server regardless of whether the
8814	// field is empty or not. This may be used to include empty fields in
8815	// Patch requests.
8816	ForceSendFields []string `json:"-"`
8817
8818	// NullFields is a list of field names (e.g. "InventorySourceGroupId")
8819	// to include in API requests with the JSON null value. By default,
8820	// fields with empty values are omitted from API requests. However, any
8821	// field with an empty value appearing in NullFields will be sent to the
8822	// server as null. It is an error if a field in this list has a
8823	// non-empty value. This may be used to include null fields in Patch
8824	// requests.
8825	NullFields []string `json:"-"`
8826}
8827
8828func (s *InventorySourceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8829	type NoMethod InventorySourceGroupAssignedTargetingOptionDetails
8830	raw := NoMethod(*s)
8831	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8832}
8833
8834// InventorySourceStatus: The status related settings of the inventory
8835// source.
8836type InventorySourceStatus struct {
8837	// ConfigStatus: Output only. The configuration status of the inventory
8838	// source. Only applicable for guaranteed inventory sources. Acceptable
8839	// values are `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and
8840	// `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must
8841	// be configured (fill in the required fields, choose creatives, and
8842	// select a default campaign) before it can serve.
8843	//
8844	// Possible values:
8845	//   "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED" - The approval status
8846	// is not specified or is unknown in this version.
8847	//   "INVENTORY_SOURCE_CONFIG_STATUS_PENDING" - The beginning state of a
8848	// guaranteed inventory source. The inventory source in this state needs
8849	// to be configured.
8850	//   "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" - The state after the
8851	// buyer configures a guaranteed inventory source.
8852	ConfigStatus string `json:"configStatus,omitempty"`
8853
8854	// EntityPauseReason: The user-provided reason for pausing this
8855	// inventory source. Must not exceed 100 characters. Only applicable
8856	// when entity_status is set to `ENTITY_STATUS_PAUSED`.
8857	EntityPauseReason string `json:"entityPauseReason,omitempty"`
8858
8859	// EntityStatus: Whether or not the inventory source is servable.
8860	// Acceptable values are `ENTITY_STATUS_ACTIVE`,
8861	// `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value
8862	// is `ENTITY_STATUS_ACTIVE`.
8863	//
8864	// Possible values:
8865	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8866	// specified or is unknown in this version.
8867	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8868	// budget.
8869	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8870	// budget spending are disabled. An entity can be deleted after
8871	// archived. Deleted entities cannot be retrieved.
8872	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8873	// budget spending are disabled.
8874	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8875	// the entity.
8876	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8877	// for deletion.
8878	EntityStatus string `json:"entityStatus,omitempty"`
8879
8880	// SellerPauseReason: Output only. The seller-provided reason for
8881	// pausing this inventory source. Only applicable for inventory sources
8882	// synced directly from the publishers and when seller_status is set to
8883	// `ENTITY_STATUS_PAUSED`.
8884	SellerPauseReason string `json:"sellerPauseReason,omitempty"`
8885
8886	// SellerStatus: Output only. The status set by the seller for the
8887	// inventory source. Only applicable for inventory sources synced
8888	// directly from the publishers. Acceptable values are
8889	// `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_PAUSED`.
8890	//
8891	// Possible values:
8892	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8893	// specified or is unknown in this version.
8894	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8895	// budget.
8896	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8897	// budget spending are disabled. An entity can be deleted after
8898	// archived. Deleted entities cannot be retrieved.
8899	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8900	// budget spending are disabled.
8901	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8902	// the entity.
8903	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8904	// for deletion.
8905	SellerStatus string `json:"sellerStatus,omitempty"`
8906
8907	// ForceSendFields is a list of field names (e.g. "ConfigStatus") to
8908	// unconditionally include in API requests. By default, fields with
8909	// empty or default values are omitted from API requests. However, any
8910	// non-pointer, non-interface field appearing in ForceSendFields will be
8911	// sent to the server regardless of whether the field is empty or not.
8912	// This may be used to include empty fields in Patch requests.
8913	ForceSendFields []string `json:"-"`
8914
8915	// NullFields is a list of field names (e.g. "ConfigStatus") to include
8916	// in API requests with the JSON null value. By default, fields with
8917	// empty values are omitted from API requests. However, any field with
8918	// an empty value appearing in NullFields will be sent to the server as
8919	// null. It is an error if a field in this list has a non-empty value.
8920	// This may be used to include null fields in Patch requests.
8921	NullFields []string `json:"-"`
8922}
8923
8924func (s *InventorySourceStatus) MarshalJSON() ([]byte, error) {
8925	type NoMethod InventorySourceStatus
8926	raw := NoMethod(*s)
8927	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8928}
8929
8930// InventorySourceVideoCreativeConfig: The configuration for video
8931// creatives.
8932type InventorySourceVideoCreativeConfig struct {
8933	// Duration: The duration requirements for the video creatives that can
8934	// be assigned to the inventory source.
8935	Duration string `json:"duration,omitempty"`
8936
8937	// ForceSendFields is a list of field names (e.g. "Duration") to
8938	// unconditionally include in API requests. By default, fields with
8939	// empty or default values are omitted from API requests. However, any
8940	// non-pointer, non-interface field appearing in ForceSendFields will be
8941	// sent to the server regardless of whether the field is empty or not.
8942	// This may be used to include empty fields in Patch requests.
8943	ForceSendFields []string `json:"-"`
8944
8945	// NullFields is a list of field names (e.g. "Duration") to include in
8946	// API requests with the JSON null value. By default, fields with empty
8947	// values are omitted from API requests. However, any field with an
8948	// empty value appearing in NullFields will be sent to the server as
8949	// null. It is an error if a field in this list has a non-empty value.
8950	// This may be used to include null fields in Patch requests.
8951	NullFields []string `json:"-"`
8952}
8953
8954func (s *InventorySourceVideoCreativeConfig) MarshalJSON() ([]byte, error) {
8955	type NoMethod InventorySourceVideoCreativeConfig
8956	raw := NoMethod(*s)
8957	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8958}
8959
8960// Invoice: A single invoice.
8961type Invoice struct {
8962	// BudgetInvoiceGroupingId: The budget grouping ID for this invoice.
8963	// This field will only be set if the invoice level of the corresponding
8964	// billing profile was set to "Budget invoice grouping ID".
8965	BudgetInvoiceGroupingId string `json:"budgetInvoiceGroupingId,omitempty"`
8966
8967	// BudgetSummaries: The list of summarized information for each budget
8968	// associated with this invoice. This field will only be set if the
8969	// invoice detail level of the corresponding billing profile was set to
8970	// "Budget level PO".
8971	BudgetSummaries []*BudgetSummary `json:"budgetSummaries,omitempty"`
8972
8973	// CorrectedInvoiceId: The ID of the original invoice being adjusted by
8974	// this invoice, if applicable. May appear on the invoice PDF as
8975	// `Reference invoice number`. If replaced_invoice_ids is set, this
8976	// field will be empty.
8977	CorrectedInvoiceId string `json:"correctedInvoiceId,omitempty"`
8978
8979	// CurrencyCode: The currency used in the invoice in ISO 4217 format.
8980	CurrencyCode string `json:"currencyCode,omitempty"`
8981
8982	// DisplayName: The display name of the invoice.
8983	DisplayName string `json:"displayName,omitempty"`
8984
8985	// DueDate: The date when the invoice is due.
8986	DueDate *Date `json:"dueDate,omitempty"`
8987
8988	// InvoiceId: The unique ID of the invoice.
8989	InvoiceId string `json:"invoiceId,omitempty"`
8990
8991	// InvoiceType: The type of invoice document.
8992	//
8993	// Possible values:
8994	//   "INVOICE_TYPE_UNSPECIFIED" - Not specified or is unknown in this
8995	// version.
8996	//   "INVOICE_TYPE_CREDIT" - The invoice has a negative amount.
8997	//   "INVOICE_TYPE_INVOICE" - The invoice has a positive amount.
8998	InvoiceType string `json:"invoiceType,omitempty"`
8999
9000	// IssueDate: The date when the invoice was issued.
9001	IssueDate *Date `json:"issueDate,omitempty"`
9002
9003	// Name: The resource name of the invoice.
9004	Name string `json:"name,omitempty"`
9005
9006	// NonBudgetMicros: The total amount of costs or adjustments not tied to
9007	// a particular budget, in micros of the invoice's currency. For
9008	// example, if currency_code is `USD`, then 1000000 represents one US
9009	// dollar.
9010	NonBudgetMicros int64 `json:"nonBudgetMicros,omitempty,string"`
9011
9012	// PaymentsAccountId: The ID of the payments account the invoice belongs
9013	// to. Appears on the invoice PDF as `Billing Account Number`.
9014	PaymentsAccountId string `json:"paymentsAccountId,omitempty"`
9015
9016	// PaymentsProfileId: The ID of the payments profile the invoice belongs
9017	// to. Appears on the invoice PDF as `Billing ID`.
9018	PaymentsProfileId string `json:"paymentsProfileId,omitempty"`
9019
9020	// PdfUrl: The URL to download a PDF copy of the invoice. This URL is
9021	// user specific and requires a valid OAuth 2.0 access token to access.
9022	// The access token must be provided in an `Authorization: Bearer` HTTP
9023	// header and be authorized for one of the following scopes: *
9024	// `https://www.googleapis.com/auth/display-video-mediaplanning` *
9025	// `https://www.googleapis.com/auth/display-video` The URL will be valid
9026	// for 7 days after retrieval of this invoice object or until this
9027	// invoice is retrieved again.
9028	PdfUrl string `json:"pdfUrl,omitempty"`
9029
9030	// PurchaseOrderNumber: Purchase order number associated with the
9031	// invoice.
9032	PurchaseOrderNumber string `json:"purchaseOrderNumber,omitempty"`
9033
9034	// ReplacedInvoiceIds: The ID(s) of any originally issued invoice that
9035	// is being cancelled by this invoice, if applicable. Multiple invoices
9036	// may be listed if those invoices are being consolidated into a single
9037	// invoice. May appear on invoice PDF as `Replaced invoice numbers`. If
9038	// corrected_invoice_id is set, this field will be empty.
9039	ReplacedInvoiceIds []string `json:"replacedInvoiceIds,omitempty"`
9040
9041	// ServiceDateRange: The service start and end dates which are covered
9042	// by this invoice.
9043	ServiceDateRange *DateRange `json:"serviceDateRange,omitempty"`
9044
9045	// SubtotalAmountMicros: The pre-tax subtotal amount, in micros of the
9046	// invoice's currency. For example, if currency_code is `USD`, then
9047	// 1000000 represents one US dollar.
9048	SubtotalAmountMicros int64 `json:"subtotalAmountMicros,omitempty,string"`
9049
9050	// TotalAmountMicros: The invoice total amount, in micros of the
9051	// invoice's currency. For example, if currency_code is `USD`, then
9052	// 1000000 represents one US dollar.
9053	TotalAmountMicros int64 `json:"totalAmountMicros,omitempty,string"`
9054
9055	// TotalTaxAmountMicros: The sum of all taxes in invoice, in micros of
9056	// the invoice's currency. For example, if currency_code is `USD`, then
9057	// 1000000 represents one US dollar.
9058	TotalTaxAmountMicros int64 `json:"totalTaxAmountMicros,omitempty,string"`
9059
9060	// ForceSendFields is a list of field names (e.g.
9061	// "BudgetInvoiceGroupingId") to unconditionally include in API
9062	// requests. By default, fields with empty or default values are omitted
9063	// from API requests. However, any non-pointer, non-interface field
9064	// appearing in ForceSendFields will be sent to the server regardless of
9065	// whether the field is empty or not. This may be used to include empty
9066	// fields in Patch requests.
9067	ForceSendFields []string `json:"-"`
9068
9069	// NullFields is a list of field names (e.g. "BudgetInvoiceGroupingId")
9070	// to include in API requests with the JSON null value. By default,
9071	// fields with empty values are omitted from API requests. However, any
9072	// field with an empty value appearing in NullFields will be sent to the
9073	// server as null. It is an error if a field in this list has a
9074	// non-empty value. This may be used to include null fields in Patch
9075	// requests.
9076	NullFields []string `json:"-"`
9077}
9078
9079func (s *Invoice) MarshalJSON() ([]byte, error) {
9080	type NoMethod Invoice
9081	raw := NoMethod(*s)
9082	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9083}
9084
9085// KeywordAssignedTargetingOptionDetails: Details for assigned keyword
9086// targeting option. This will be populated in the details field of an
9087// AssignedTargetingOption when targeting_type is
9088// `TARGETING_TYPE_KEYWORD`.
9089type KeywordAssignedTargetingOptionDetails struct {
9090	// Keyword: Required. The keyword, for example `car insurance`. Positive
9091	// keyword cannot be offensive word. Must be UTF-8 encoded with a
9092	// maximum size of 255 bytes. Maximum number of characters is 80.
9093	// Maximum number of words is 10.
9094	Keyword string `json:"keyword,omitempty"`
9095
9096	// Negative: Indicates if this option is being negatively targeted.
9097	Negative bool `json:"negative,omitempty"`
9098
9099	// ForceSendFields is a list of field names (e.g. "Keyword") to
9100	// unconditionally include in API requests. By default, fields with
9101	// empty or default values are omitted from API requests. However, any
9102	// non-pointer, non-interface field appearing in ForceSendFields will be
9103	// sent to the server regardless of whether the field is empty or not.
9104	// This may be used to include empty fields in Patch requests.
9105	ForceSendFields []string `json:"-"`
9106
9107	// NullFields is a list of field names (e.g. "Keyword") to include in
9108	// API requests with the JSON null value. By default, fields with empty
9109	// values are omitted from API requests. However, any field with an
9110	// empty value appearing in NullFields will be sent to the server as
9111	// null. It is an error if a field in this list has a non-empty value.
9112	// This may be used to include null fields in Patch requests.
9113	NullFields []string `json:"-"`
9114}
9115
9116func (s *KeywordAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
9117	type NoMethod KeywordAssignedTargetingOptionDetails
9118	raw := NoMethod(*s)
9119	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9120}
9121
9122// LanguageAssignedTargetingOptionDetails: Details for assigned language
9123// targeting option. This will be populated in the details field of an
9124// AssignedTargetingOption when targeting_type is
9125// `TARGETING_TYPE_LANGUAGE`.
9126type LanguageAssignedTargetingOptionDetails struct {
9127	// DisplayName: Output only. The display name of the language (e.g.,
9128	// "French").
9129	DisplayName string `json:"displayName,omitempty"`
9130
9131	// Negative: Indicates if this option is being negatively targeted. All
9132	// assigned language targeting options on the same resource must have
9133	// the same value for this field.
9134	Negative bool `json:"negative,omitempty"`
9135
9136	// TargetingOptionId: Required. The targeting_option_id of a
9137	// TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
9138	TargetingOptionId string `json:"targetingOptionId,omitempty"`
9139
9140	// ForceSendFields is a list of field names (e.g. "DisplayName") to
9141	// unconditionally include in API requests. By default, fields with
9142	// empty or default values are omitted from API requests. However, any
9143	// non-pointer, non-interface field appearing in ForceSendFields will be
9144	// sent to the server regardless of whether the field is empty or not.
9145	// This may be used to include empty fields in Patch requests.
9146	ForceSendFields []string `json:"-"`
9147
9148	// NullFields is a list of field names (e.g. "DisplayName") to include
9149	// in API requests with the JSON null value. By default, fields with
9150	// empty values are omitted from API requests. However, any field with
9151	// an empty value appearing in NullFields will be sent to the server as
9152	// null. It is an error if a field in this list has a non-empty value.
9153	// This may be used to include null fields in Patch requests.
9154	NullFields []string `json:"-"`
9155}
9156
9157func (s *LanguageAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
9158	type NoMethod LanguageAssignedTargetingOptionDetails
9159	raw := NoMethod(*s)
9160	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9161}
9162
9163// LanguageTargetingOptionDetails: Represents a targetable language.
9164// This will be populated in the language_details field when
9165// targeting_type is `TARGETING_TYPE_LANGUAGE`.
9166type LanguageTargetingOptionDetails struct {
9167	// DisplayName: Output only. The display name of the language (e.g.,
9168	// "French").
9169	DisplayName string `json:"displayName,omitempty"`
9170
9171	// ForceSendFields is a list of field names (e.g. "DisplayName") to
9172	// unconditionally include in API requests. By default, fields with
9173	// empty or default values are omitted from API requests. However, any
9174	// non-pointer, non-interface field appearing in ForceSendFields will be
9175	// sent to the server regardless of whether the field is empty or not.
9176	// This may be used to include empty fields in Patch requests.
9177	ForceSendFields []string `json:"-"`
9178
9179	// NullFields is a list of field names (e.g. "DisplayName") to include
9180	// in API requests with the JSON null value. By default, fields with
9181	// empty values are omitted from API requests. However, any field with
9182	// an empty value appearing in NullFields will be sent to the server as
9183	// null. It is an error if a field in this list has a non-empty value.
9184	// This may be used to include null fields in Patch requests.
9185	NullFields []string `json:"-"`
9186}
9187
9188func (s *LanguageTargetingOptionDetails) MarshalJSON() ([]byte, error) {
9189	type NoMethod LanguageTargetingOptionDetails
9190	raw := NoMethod(*s)
9191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9192}
9193
9194// LineItem: A single line item.
9195type LineItem struct {
9196	// AdvertiserId: Output only. The unique ID of the advertiser the line
9197	// item belongs to.
9198	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9199
9200	// BidStrategy: Required. The bidding strategy of the line item.
9201	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
9202
9203	// Budget: Required. The budget allocation setting of the line item.
9204	Budget *LineItemBudget `json:"budget,omitempty"`
9205
9206	// CampaignId: Output only. The unique ID of the campaign that the line
9207	// item belongs to.
9208	CampaignId int64 `json:"campaignId,omitempty,string"`
9209
9210	// ConversionCounting: The conversion tracking setting of the line item.
9211	ConversionCounting *ConversionCountingConfig `json:"conversionCounting,omitempty"`
9212
9213	// CreativeIds: The IDs of the creatives associated with the line item.
9214	CreativeIds googleapi.Int64s `json:"creativeIds,omitempty"`
9215
9216	// DisplayName: Required. The display name of the line item. Must be
9217	// UTF-8 encoded with a maximum size of 240 bytes.
9218	DisplayName string `json:"displayName,omitempty"`
9219
9220	// EntityStatus: Required. Controls whether or not the line item can
9221	// spend its budget and bid on inventory. * For CreateLineItem method,
9222	// only `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use
9223	// UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE`
9224	// after creation. * A line item cannot be changed back to
9225	// `ENTITY_STATUS_DRAFT` status from any other status. * If the line
9226	// item's parent insertion order is not active, the line item can't
9227	// spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.
9228	//
9229	// Possible values:
9230	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
9231	// specified or is unknown in this version.
9232	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
9233	// budget.
9234	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
9235	// budget spending are disabled. An entity can be deleted after
9236	// archived. Deleted entities cannot be retrieved.
9237	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
9238	// budget spending are disabled.
9239	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
9240	// the entity.
9241	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
9242	// for deletion.
9243	EntityStatus string `json:"entityStatus,omitempty"`
9244
9245	// Flight: Required. The start and end time of the line item's flight.
9246	Flight *LineItemFlight `json:"flight,omitempty"`
9247
9248	// FrequencyCap: Required. The frequency capping setting of the line
9249	// item.
9250	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
9251
9252	// InsertionOrderId: Required. Immutable. The unique ID of the insertion
9253	// order that the line item belongs to.
9254	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
9255
9256	// IntegrationDetails: Integration details of the line item.
9257	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
9258
9259	// InventorySourceIds: The IDs of the private inventory sources assigned
9260	// to the line item.
9261	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
9262
9263	// LineItemId: Output only. The unique ID of the line item. Assigned by
9264	// the system.
9265	LineItemId int64 `json:"lineItemId,omitempty,string"`
9266
9267	// LineItemType: Required. Immutable. The type of the line item.
9268	//
9269	// Possible values:
9270	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is
9271	// unknown in this version.
9272	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich
9273	// media ads.
9274	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that
9275	// drive installs of an app.
9276	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for
9277	// a variety of environments.
9278	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive
9279	// installs of an app.
9280	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served
9281	// on mobile app inventory.
9282	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on
9283	// mobile app inventory.
9284	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - RTB Audio ads sold for a variety
9285	// of environments.
9286	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over-the-top ads present in
9287	// OTT insertion orders. This type is only applicable to line items with
9288	// an insertion order of insertion_order_type `OVER_THE_TOP`.
9289	LineItemType string `json:"lineItemType,omitempty"`
9290
9291	// MobileApp: The mobile app promoted by the line item. This is
9292	// applicable only when line_item_type is either
9293	// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or
9294	// `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`.
9295	MobileApp *MobileApp `json:"mobileApp,omitempty"`
9296
9297	// Name: Output only. The resource name of the line item.
9298	Name string `json:"name,omitempty"`
9299
9300	// Pacing: Required. The budget spending speed setting of the line item.
9301	Pacing *Pacing `json:"pacing,omitempty"`
9302
9303	// PartnerCosts: The partner costs associated with the line item. If
9304	// absent or empty in CreateLineItem method, the newly created line item
9305	// will inherit partner costs from its parent insertion order.
9306	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
9307
9308	// PartnerRevenueModel: Required. The partner revenue model setting of
9309	// the line item.
9310	PartnerRevenueModel *PartnerRevenueModel `json:"partnerRevenueModel,omitempty"`
9311
9312	// TargetingExpansion: The targeting expansion
9313	// (https://support.google.com/displayvideo/answer/10191558) settings of
9314	// the line item. This config is only applicable when eligible audience
9315	// list targeting is assigned to the line item.
9316	TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"`
9317
9318	// UpdateTime: Output only. The timestamp when the line item was last
9319	// updated. Assigned by the system.
9320	UpdateTime string `json:"updateTime,omitempty"`
9321
9322	// WarningMessages: Output only. The warning messages generated by the
9323	// line item. These warnings do not block saving the line item, but some
9324	// may block the line item from running.
9325	//
9326	// Possible values:
9327	//   "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED" - Not specified or is
9328	// unknown.
9329	//   "INVALID_FLIGHT_DATES" - This line item has invalid flight dates.
9330	// The line item will not run.
9331	//   "EXPIRED" - This line item's end date is in the past.
9332	//   "PENDING_FLIGHT" - This line item will begin running in the future.
9333	//   "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED" - All partner
9334	// enabled exchanges are negatively targeted. The line item will not
9335	// run.
9336	//   "INVALID_INVENTORY_SOURCE" - No active inventory sources are being
9337	// targeted. The line item will not run.
9338	//   "APP_INVENTORY_INVALID_SITE_TARGETING" - This line item's Apps &
9339	// URLs targeting doesn't include any mobile apps. This line item's type
9340	// requires you to include mobile apps in your channel, sitelist, or
9341	// apps targeting. The line item will not run.
9342	//   "APP_INVENTORY_INVALID_AUDIENCE_LISTS" - This line item isn't
9343	// targeting any mobile users. This line item's type requires you to
9344	// target a user list with mobile users. The line item will not run.
9345	//   "NO_VALID_CREATIVE" - This line item does not contain any valid
9346	// creative. The line item will not run.
9347	//   "PARENT_INSERTION_ORDER_PAUSED" - The insertion order of this line
9348	// item is paused. The line item will not run.
9349	//   "PARENT_INSERTION_ORDER_EXPIRED" - The insertion order of this line
9350	// item has its end date set in the past. The line item will not run.
9351	//   "NO_POSITIVE_AUDIENCE_LIST_TARGETED" - This line item does not
9352	// target any audience lists, which may result in spending your budget
9353	// too quickly.
9354	//   "APP_INSTALL_NO_CONVERSION_PIXEL" - This app install line item does
9355	// not have any conversion pixel set up.
9356	//   "TARGETING_REVOKED_OR_CLOSED_USER_LIST" - This line item targets
9357	// one or more user lists that are no longer available. In the future,
9358	// this will prevent the line item from serving, so consider removing
9359	// these lists from your targeting.
9360	//   "APP_INSTALL_NO_OPTIMAL_BIDDING_STRATEGY" - This app install line
9361	// item does not have an optimal bidding strategy.
9362	//   "CREATIVE_SIZE_NOT_IN_USE_FOR_TARGETED_DEALS" - Deals targeted by
9363	// this line item accept creative sizes which are not in use. This may
9364	// limit the line item's delivery or performance.
9365	//   "NO_CREATIVE_FOR_TARGETED_DEALS" - This line item does not contain
9366	// any creative for the targeted deals.
9367	//   "TARGETING_DEPRECATED_GEO_TARGET" - This line item targets a geo
9368	// target that is deprecated.
9369	WarningMessages []string `json:"warningMessages,omitempty"`
9370
9371	// ServerResponse contains the HTTP response code and headers from the
9372	// server.
9373	googleapi.ServerResponse `json:"-"`
9374
9375	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
9376	// unconditionally include in API requests. By default, fields with
9377	// empty or default values are omitted from API requests. However, any
9378	// non-pointer, non-interface field appearing in ForceSendFields will be
9379	// sent to the server regardless of whether the field is empty or not.
9380	// This may be used to include empty fields in Patch requests.
9381	ForceSendFields []string `json:"-"`
9382
9383	// NullFields is a list of field names (e.g. "AdvertiserId") to include
9384	// in API requests with the JSON null value. By default, fields with
9385	// empty values are omitted from API requests. However, any field with
9386	// an empty value appearing in NullFields will be sent to the server as
9387	// null. It is an error if a field in this list has a non-empty value.
9388	// This may be used to include null fields in Patch requests.
9389	NullFields []string `json:"-"`
9390}
9391
9392func (s *LineItem) MarshalJSON() ([]byte, error) {
9393	type NoMethod LineItem
9394	raw := NoMethod(*s)
9395	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9396}
9397
9398// LineItemBudget: Settings that control how budget is allocated.
9399type LineItemBudget struct {
9400	// BudgetAllocationType: Required. The type of the budget allocation.
9401	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when
9402	// automatic budget allocation is enabled for the parent insertion
9403	// order.
9404	//
9405	// Possible values:
9406	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED" - Type value is not
9407	// specified or is unknown in this version.
9408	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC" - Automatic budget
9409	// allocation is enabled for the line item.
9410	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED" - A fixed max budget
9411	// amount is allocated for the line item.
9412	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" - No budget limit is
9413	// applied to the line item.
9414	BudgetAllocationType string `json:"budgetAllocationType,omitempty"`
9415
9416	// BudgetUnit: Output only. The budget unit specifies whether the budget
9417	// is currency based or impression based. This value is inherited from
9418	// the parent insertion order.
9419	//
9420	// Possible values:
9421	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
9422	// unknown in this version.
9423	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
9424	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
9425	BudgetUnit string `json:"budgetUnit,omitempty"`
9426
9427	// MaxAmount: The maximum budget amount the line item will spend. Must
9428	// be greater than 0. When budget_allocation_type is: *
9429	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable
9430	// and is set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`,
9431	// if budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents
9432	// maximum budget amount to spend, in micros of the advertiser's
9433	// currency. For example, 1500000 represents 1.5 standard units of the
9434	// currency. - `BUDGET_UNIT_IMPRESSIONS`, this field represents the
9435	// maximum number of impressions to serve. *
9436	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not
9437	// applicable and will be ignored by the system.
9438	MaxAmount int64 `json:"maxAmount,omitempty,string"`
9439
9440	// ForceSendFields is a list of field names (e.g.
9441	// "BudgetAllocationType") to unconditionally include in API requests.
9442	// By default, fields with empty or default values are omitted from API
9443	// requests. However, any non-pointer, non-interface field appearing in
9444	// ForceSendFields will be sent to the server regardless of whether the
9445	// field is empty or not. This may be used to include empty fields in
9446	// Patch requests.
9447	ForceSendFields []string `json:"-"`
9448
9449	// NullFields is a list of field names (e.g. "BudgetAllocationType") to
9450	// include in API requests with the JSON null value. By default, fields
9451	// with empty values are omitted from API requests. However, any field
9452	// with an empty value appearing in NullFields will be sent to the
9453	// server as null. It is an error if a field in this list has a
9454	// non-empty value. This may be used to include null fields in Patch
9455	// requests.
9456	NullFields []string `json:"-"`
9457}
9458
9459func (s *LineItemBudget) MarshalJSON() ([]byte, error) {
9460	type NoMethod LineItemBudget
9461	raw := NoMethod(*s)
9462	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9463}
9464
9465// LineItemFlight: Settings that control the active duration of a line
9466// item.
9467type LineItemFlight struct {
9468	// DateRange: The flight start and end dates of the line item. They are
9469	// resolved relative to the parent advertiser's time zone. * Required
9470	// when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output
9471	// only otherwise. * When creating a new flight, both `start_date` and
9472	// `end_date` must be in the future. * An existing flight with a
9473	// `start_date` in the past has a mutable `end_date` but an immutable
9474	// `start_date`. * `end_date` must be the `start_date` or later, both
9475	// before the year 2037.
9476	DateRange *DateRange `json:"dateRange,omitempty"`
9477
9478	// FlightDateType: Required. The type of the line item's flight dates.
9479	//
9480	// Possible values:
9481	//   "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED" - Type value is not
9482	// specified or is unknown in this version.
9483	//   "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED" - The line item's flight
9484	// dates are inherited from its parent insertion order.
9485	//   "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" - The line item uses its own
9486	// custom flight dates.
9487	//   "LINE_ITEM_FLIGHT_DATE_TYPE_TRIGGER" - The line item uses a
9488	// trigger.
9489	FlightDateType string `json:"flightDateType,omitempty"`
9490
9491	// TriggerId: The ID of the manual trigger associated with the line
9492	// item. * Required when flight_date_type is
9493	// `LINE_ITEM_FLIGHT_DATE_TYPE_TRIGGER`. Must not be set otherwise. *
9494	// When set, the line item's flight dates are inherited from its parent
9495	// insertion order. * Active line items will spend when the selected
9496	// trigger is activated within the parent insertion order's flight
9497	// dates.
9498	TriggerId int64 `json:"triggerId,omitempty,string"`
9499
9500	// ForceSendFields is a list of field names (e.g. "DateRange") to
9501	// unconditionally include in API requests. By default, fields with
9502	// empty or default values are omitted from API requests. However, any
9503	// non-pointer, non-interface field appearing in ForceSendFields will be
9504	// sent to the server regardless of whether the field is empty or not.
9505	// This may be used to include empty fields in Patch requests.
9506	ForceSendFields []string `json:"-"`
9507
9508	// NullFields is a list of field names (e.g. "DateRange") to include in
9509	// API requests with the JSON null value. By default, fields with empty
9510	// values are omitted from API requests. However, any field with an
9511	// empty value appearing in NullFields will be sent to the server as
9512	// null. It is an error if a field in this list has a non-empty value.
9513	// This may be used to include null fields in Patch requests.
9514	NullFields []string `json:"-"`
9515}
9516
9517func (s *LineItemFlight) MarshalJSON() ([]byte, error) {
9518	type NoMethod LineItemFlight
9519	raw := NoMethod(*s)
9520	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9521}
9522
9523// ListAdvertiserAssignedTargetingOptionsResponse: Response message for
9524// ListAdvertiserAssignedTargetingOptions.
9525type ListAdvertiserAssignedTargetingOptionsResponse struct {
9526	// AssignedTargetingOptions: The list of assigned targeting options.
9527	// This list will be absent if empty.
9528	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9529
9530	// NextPageToken: A token identifying the next page of results. This
9531	// value should be specified as the pageToken in a subsequent
9532	// ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page
9533	// of results. This token will be absent if there are no more
9534	// assigned_targeting_options to return.
9535	NextPageToken string `json:"nextPageToken,omitempty"`
9536
9537	// ServerResponse contains the HTTP response code and headers from the
9538	// server.
9539	googleapi.ServerResponse `json:"-"`
9540
9541	// ForceSendFields is a list of field names (e.g.
9542	// "AssignedTargetingOptions") to unconditionally include in API
9543	// requests. By default, fields with empty or default values are omitted
9544	// from API requests. However, any non-pointer, non-interface field
9545	// appearing in ForceSendFields will be sent to the server regardless of
9546	// whether the field is empty or not. This may be used to include empty
9547	// fields in Patch requests.
9548	ForceSendFields []string `json:"-"`
9549
9550	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
9551	// to include in API requests with the JSON null value. By default,
9552	// fields with empty values are omitted from API requests. However, any
9553	// field with an empty value appearing in NullFields will be sent to the
9554	// server as null. It is an error if a field in this list has a
9555	// non-empty value. This may be used to include null fields in Patch
9556	// requests.
9557	NullFields []string `json:"-"`
9558}
9559
9560func (s *ListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9561	type NoMethod ListAdvertiserAssignedTargetingOptionsResponse
9562	raw := NoMethod(*s)
9563	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9564}
9565
9566type ListAdvertisersResponse struct {
9567	// Advertisers: The list of advertisers. This list will be absent if
9568	// empty.
9569	Advertisers []*Advertiser `json:"advertisers,omitempty"`
9570
9571	// NextPageToken: A token to retrieve the next page of results. Pass
9572	// this value in the page_token field in the subsequent call to
9573	// `ListAdvertisers` method to retrieve the next page of results.
9574	NextPageToken string `json:"nextPageToken,omitempty"`
9575
9576	// ServerResponse contains the HTTP response code and headers from the
9577	// server.
9578	googleapi.ServerResponse `json:"-"`
9579
9580	// ForceSendFields is a list of field names (e.g. "Advertisers") to
9581	// unconditionally include in API requests. By default, fields with
9582	// empty or default values are omitted from API requests. However, any
9583	// non-pointer, non-interface field appearing in ForceSendFields will be
9584	// sent to the server regardless of whether the field is empty or not.
9585	// This may be used to include empty fields in Patch requests.
9586	ForceSendFields []string `json:"-"`
9587
9588	// NullFields is a list of field names (e.g. "Advertisers") to include
9589	// in API requests with the JSON null value. By default, fields with
9590	// empty values are omitted from API requests. However, any field with
9591	// an empty value appearing in NullFields will be sent to the server as
9592	// null. It is an error if a field in this list has a non-empty value.
9593	// This may be used to include null fields in Patch requests.
9594	NullFields []string `json:"-"`
9595}
9596
9597func (s *ListAdvertisersResponse) MarshalJSON() ([]byte, error) {
9598	type NoMethod ListAdvertisersResponse
9599	raw := NoMethod(*s)
9600	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9601}
9602
9603// ListAssignedInventorySourcesResponse: Response message for
9604// AssignedInventorySourceService.ListAssignedInventorySources.
9605type ListAssignedInventorySourcesResponse struct {
9606	// AssignedInventorySources: The list of assigned inventory sources.
9607	// This list will be absent if empty.
9608	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
9609
9610	// NextPageToken: A token to retrieve the next page of results. Pass
9611	// this value in the page_token field in the subsequent call to
9612	// `ListAssignedInventorySources` method to retrieve the next page of
9613	// results.
9614	NextPageToken string `json:"nextPageToken,omitempty"`
9615
9616	// ServerResponse contains the HTTP response code and headers from the
9617	// server.
9618	googleapi.ServerResponse `json:"-"`
9619
9620	// ForceSendFields is a list of field names (e.g.
9621	// "AssignedInventorySources") to unconditionally include in API
9622	// requests. By default, fields with empty or default values are omitted
9623	// from API requests. However, any non-pointer, non-interface field
9624	// appearing in ForceSendFields will be sent to the server regardless of
9625	// whether the field is empty or not. This may be used to include empty
9626	// fields in Patch requests.
9627	ForceSendFields []string `json:"-"`
9628
9629	// NullFields is a list of field names (e.g. "AssignedInventorySources")
9630	// to include in API requests with the JSON null value. By default,
9631	// fields with empty values are omitted from API requests. However, any
9632	// field with an empty value appearing in NullFields will be sent to the
9633	// server as null. It is an error if a field in this list has a
9634	// non-empty value. This may be used to include null fields in Patch
9635	// requests.
9636	NullFields []string `json:"-"`
9637}
9638
9639func (s *ListAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
9640	type NoMethod ListAssignedInventorySourcesResponse
9641	raw := NoMethod(*s)
9642	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9643}
9644
9645// ListAssignedLocationsResponse: Response message for
9646// AssignedLocationService.ListAssignedLocations.
9647type ListAssignedLocationsResponse struct {
9648	// AssignedLocations: The list of assigned locations. This list will be
9649	// absent if empty.
9650	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
9651
9652	// NextPageToken: A token to retrieve the next page of results. Pass
9653	// this value in the page_token field in the subsequent call to
9654	// `ListAssignedLocations` method to retrieve the next page of results.
9655	NextPageToken string `json:"nextPageToken,omitempty"`
9656
9657	// ServerResponse contains the HTTP response code and headers from the
9658	// server.
9659	googleapi.ServerResponse `json:"-"`
9660
9661	// ForceSendFields is a list of field names (e.g. "AssignedLocations")
9662	// to unconditionally include in API requests. By default, fields with
9663	// empty or default values are omitted from API requests. However, any
9664	// non-pointer, non-interface field appearing in ForceSendFields will be
9665	// sent to the server regardless of whether the field is empty or not.
9666	// This may be used to include empty fields in Patch requests.
9667	ForceSendFields []string `json:"-"`
9668
9669	// NullFields is a list of field names (e.g. "AssignedLocations") to
9670	// include in API requests with the JSON null value. By default, fields
9671	// with empty values are omitted from API requests. However, any field
9672	// with an empty value appearing in NullFields will be sent to the
9673	// server as null. It is an error if a field in this list has a
9674	// non-empty value. This may be used to include null fields in Patch
9675	// requests.
9676	NullFields []string `json:"-"`
9677}
9678
9679func (s *ListAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
9680	type NoMethod ListAssignedLocationsResponse
9681	raw := NoMethod(*s)
9682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9683}
9684
9685// ListCampaignAssignedTargetingOptionsResponse: Response message for
9686// ListCampaignAssignedTargetingOptions.
9687type ListCampaignAssignedTargetingOptionsResponse struct {
9688	// AssignedTargetingOptions: The list of assigned targeting options.
9689	// This list will be absent if empty.
9690	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9691
9692	// NextPageToken: A token identifying the next page of results. This
9693	// value should be specified as the pageToken in a subsequent
9694	// ListCampaignAssignedTargetingOptionsRequest to fetch the next page of
9695	// results. This token will be absent if there are no more
9696	// assigned_targeting_options to return.
9697	NextPageToken string `json:"nextPageToken,omitempty"`
9698
9699	// ServerResponse contains the HTTP response code and headers from the
9700	// server.
9701	googleapi.ServerResponse `json:"-"`
9702
9703	// ForceSendFields is a list of field names (e.g.
9704	// "AssignedTargetingOptions") to unconditionally include in API
9705	// requests. By default, fields with empty or default values are omitted
9706	// from API requests. However, any non-pointer, non-interface field
9707	// appearing in ForceSendFields will be sent to the server regardless of
9708	// whether the field is empty or not. This may be used to include empty
9709	// fields in Patch requests.
9710	ForceSendFields []string `json:"-"`
9711
9712	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
9713	// to include in API requests with the JSON null value. By default,
9714	// fields with empty values are omitted from API requests. However, any
9715	// field with an empty value appearing in NullFields will be sent to the
9716	// server as null. It is an error if a field in this list has a
9717	// non-empty value. This may be used to include null fields in Patch
9718	// requests.
9719	NullFields []string `json:"-"`
9720}
9721
9722func (s *ListCampaignAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9723	type NoMethod ListCampaignAssignedTargetingOptionsResponse
9724	raw := NoMethod(*s)
9725	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9726}
9727
9728type ListCampaignsResponse struct {
9729	// Campaigns: The list of campaigns. This list will be absent if empty.
9730	Campaigns []*Campaign `json:"campaigns,omitempty"`
9731
9732	// NextPageToken: A token to retrieve the next page of results. Pass
9733	// this value in the page_token field in the subsequent call to
9734	// `ListCampaigns` method to retrieve the next page of results.
9735	NextPageToken string `json:"nextPageToken,omitempty"`
9736
9737	// ServerResponse contains the HTTP response code and headers from the
9738	// server.
9739	googleapi.ServerResponse `json:"-"`
9740
9741	// ForceSendFields is a list of field names (e.g. "Campaigns") to
9742	// unconditionally include in API requests. By default, fields with
9743	// empty or default values are omitted from API requests. However, any
9744	// non-pointer, non-interface field appearing in ForceSendFields will be
9745	// sent to the server regardless of whether the field is empty or not.
9746	// This may be used to include empty fields in Patch requests.
9747	ForceSendFields []string `json:"-"`
9748
9749	// NullFields is a list of field names (e.g. "Campaigns") to include in
9750	// API requests with the JSON null value. By default, fields with empty
9751	// values are omitted from API requests. However, any field with an
9752	// empty value appearing in NullFields will be sent to the server as
9753	// null. It is an error if a field in this list has a non-empty value.
9754	// This may be used to include null fields in Patch requests.
9755	NullFields []string `json:"-"`
9756}
9757
9758func (s *ListCampaignsResponse) MarshalJSON() ([]byte, error) {
9759	type NoMethod ListCampaignsResponse
9760	raw := NoMethod(*s)
9761	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9762}
9763
9764type ListChannelsResponse struct {
9765	// Channels: The list of channels. This list will be absent if empty.
9766	Channels []*Channel `json:"channels,omitempty"`
9767
9768	// NextPageToken: A token to retrieve the next page of results. Pass
9769	// this value in the page_token field in the subsequent call to
9770	// `ListChannels` method to retrieve the next page of results.
9771	NextPageToken string `json:"nextPageToken,omitempty"`
9772
9773	// ServerResponse contains the HTTP response code and headers from the
9774	// server.
9775	googleapi.ServerResponse `json:"-"`
9776
9777	// ForceSendFields is a list of field names (e.g. "Channels") to
9778	// unconditionally include in API requests. By default, fields with
9779	// empty or default values are omitted from API requests. However, any
9780	// non-pointer, non-interface field appearing in ForceSendFields will be
9781	// sent to the server regardless of whether the field is empty or not.
9782	// This may be used to include empty fields in Patch requests.
9783	ForceSendFields []string `json:"-"`
9784
9785	// NullFields is a list of field names (e.g. "Channels") to include in
9786	// API requests with the JSON null value. By default, fields with empty
9787	// values are omitted from API requests. However, any field with an
9788	// empty value appearing in NullFields will be sent to the server as
9789	// null. It is an error if a field in this list has a non-empty value.
9790	// This may be used to include null fields in Patch requests.
9791	NullFields []string `json:"-"`
9792}
9793
9794func (s *ListChannelsResponse) MarshalJSON() ([]byte, error) {
9795	type NoMethod ListChannelsResponse
9796	raw := NoMethod(*s)
9797	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9798}
9799
9800type ListCombinedAudiencesResponse struct {
9801	// CombinedAudiences: The list of combined audiences. This list will be
9802	// absent if empty.
9803	CombinedAudiences []*CombinedAudience `json:"combinedAudiences,omitempty"`
9804
9805	// NextPageToken: A token to retrieve the next page of results. Pass
9806	// this value in the page_token field in the subsequent call to
9807	// `ListCombinedAudiences` method to retrieve the next page of results.
9808	NextPageToken string `json:"nextPageToken,omitempty"`
9809
9810	// ServerResponse contains the HTTP response code and headers from the
9811	// server.
9812	googleapi.ServerResponse `json:"-"`
9813
9814	// ForceSendFields is a list of field names (e.g. "CombinedAudiences")
9815	// to unconditionally include in API requests. By default, fields with
9816	// empty or default values are omitted from API requests. However, any
9817	// non-pointer, non-interface field appearing in ForceSendFields will be
9818	// sent to the server regardless of whether the field is empty or not.
9819	// This may be used to include empty fields in Patch requests.
9820	ForceSendFields []string `json:"-"`
9821
9822	// NullFields is a list of field names (e.g. "CombinedAudiences") to
9823	// include in API requests with the JSON null value. By default, fields
9824	// with empty values are omitted from API requests. However, any field
9825	// with an empty value appearing in NullFields will be sent to the
9826	// server as null. It is an error if a field in this list has a
9827	// non-empty value. This may be used to include null fields in Patch
9828	// requests.
9829	NullFields []string `json:"-"`
9830}
9831
9832func (s *ListCombinedAudiencesResponse) MarshalJSON() ([]byte, error) {
9833	type NoMethod ListCombinedAudiencesResponse
9834	raw := NoMethod(*s)
9835	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9836}
9837
9838type ListCreativesResponse struct {
9839	// Creatives: The list of creatives. This list will be absent if empty.
9840	Creatives []*Creative `json:"creatives,omitempty"`
9841
9842	// NextPageToken: A token to retrieve the next page of results. Pass
9843	// this value in the page_token field in the subsequent call to
9844	// `ListCreativesRequest` method to retrieve the next page of results.
9845	// If this field is null, it means this is the last page.
9846	NextPageToken string `json:"nextPageToken,omitempty"`
9847
9848	// ServerResponse contains the HTTP response code and headers from the
9849	// server.
9850	googleapi.ServerResponse `json:"-"`
9851
9852	// ForceSendFields is a list of field names (e.g. "Creatives") to
9853	// unconditionally include in API requests. By default, fields with
9854	// empty or default values are omitted from API requests. However, any
9855	// non-pointer, non-interface field appearing in ForceSendFields will be
9856	// sent to the server regardless of whether the field is empty or not.
9857	// This may be used to include empty fields in Patch requests.
9858	ForceSendFields []string `json:"-"`
9859
9860	// NullFields is a list of field names (e.g. "Creatives") to include in
9861	// API requests with the JSON null value. By default, fields with empty
9862	// values are omitted from API requests. However, any field with an
9863	// empty value appearing in NullFields will be sent to the server as
9864	// null. It is an error if a field in this list has a non-empty value.
9865	// This may be used to include null fields in Patch requests.
9866	NullFields []string `json:"-"`
9867}
9868
9869func (s *ListCreativesResponse) MarshalJSON() ([]byte, error) {
9870	type NoMethod ListCreativesResponse
9871	raw := NoMethod(*s)
9872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9873}
9874
9875type ListCustomBiddingAlgorithmsResponse struct {
9876	// CustomBiddingAlgorithms: The list of custom bidding algorithms. This
9877	// list will be absent if empty.
9878	CustomBiddingAlgorithms []*CustomBiddingAlgorithm `json:"customBiddingAlgorithms,omitempty"`
9879
9880	// NextPageToken: A token to retrieve the next page of results. Pass
9881	// this value in the page_token field in the subsequent call to
9882	// `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page
9883	// of results. If this field is null, it means this is the last page.
9884	NextPageToken string `json:"nextPageToken,omitempty"`
9885
9886	// ServerResponse contains the HTTP response code and headers from the
9887	// server.
9888	googleapi.ServerResponse `json:"-"`
9889
9890	// ForceSendFields is a list of field names (e.g.
9891	// "CustomBiddingAlgorithms") to unconditionally include in API
9892	// requests. By default, fields with empty or default values are omitted
9893	// from API requests. However, any non-pointer, non-interface field
9894	// appearing in ForceSendFields will be sent to the server regardless of
9895	// whether the field is empty or not. This may be used to include empty
9896	// fields in Patch requests.
9897	ForceSendFields []string `json:"-"`
9898
9899	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithms")
9900	// to include in API requests with the JSON null value. By default,
9901	// fields with empty values are omitted from API requests. However, any
9902	// field with an empty value appearing in NullFields will be sent to the
9903	// server as null. It is an error if a field in this list has a
9904	// non-empty value. This may be used to include null fields in Patch
9905	// requests.
9906	NullFields []string `json:"-"`
9907}
9908
9909func (s *ListCustomBiddingAlgorithmsResponse) MarshalJSON() ([]byte, error) {
9910	type NoMethod ListCustomBiddingAlgorithmsResponse
9911	raw := NoMethod(*s)
9912	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9913}
9914
9915type ListCustomListsResponse struct {
9916	// CustomLists: The list of custom lists. This list will be absent if
9917	// empty.
9918	CustomLists []*CustomList `json:"customLists,omitempty"`
9919
9920	// NextPageToken: A token to retrieve the next page of results. Pass
9921	// this value in the page_token field in the subsequent call to
9922	// `ListCustomLists` method to retrieve the next page of results.
9923	NextPageToken string `json:"nextPageToken,omitempty"`
9924
9925	// ServerResponse contains the HTTP response code and headers from the
9926	// server.
9927	googleapi.ServerResponse `json:"-"`
9928
9929	// ForceSendFields is a list of field names (e.g. "CustomLists") to
9930	// unconditionally include in API requests. By default, fields with
9931	// empty or default values are omitted from API requests. However, any
9932	// non-pointer, non-interface field appearing in ForceSendFields will be
9933	// sent to the server regardless of whether the field is empty or not.
9934	// This may be used to include empty fields in Patch requests.
9935	ForceSendFields []string `json:"-"`
9936
9937	// NullFields is a list of field names (e.g. "CustomLists") to include
9938	// in API requests with the JSON null value. By default, fields with
9939	// empty values are omitted from API requests. However, any field with
9940	// an empty value appearing in NullFields will be sent to the server as
9941	// null. It is an error if a field in this list has a non-empty value.
9942	// This may be used to include null fields in Patch requests.
9943	NullFields []string `json:"-"`
9944}
9945
9946func (s *ListCustomListsResponse) MarshalJSON() ([]byte, error) {
9947	type NoMethod ListCustomListsResponse
9948	raw := NoMethod(*s)
9949	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9950}
9951
9952type ListFirstAndThirdPartyAudiencesResponse struct {
9953	// FirstAndThirdPartyAudiences: The list of first and third party
9954	// audiences. Audience size properties will not be included. This list
9955	// will be absent if empty.
9956	FirstAndThirdPartyAudiences []*FirstAndThirdPartyAudience `json:"firstAndThirdPartyAudiences,omitempty"`
9957
9958	// NextPageToken: A token to retrieve the next page of results. Pass
9959	// this value in the page_token field in the subsequent call to
9960	// `ListFirstAndThirdPartyAudiences` method to retrieve the next page of
9961	// results.
9962	NextPageToken string `json:"nextPageToken,omitempty"`
9963
9964	// ServerResponse contains the HTTP response code and headers from the
9965	// server.
9966	googleapi.ServerResponse `json:"-"`
9967
9968	// ForceSendFields is a list of field names (e.g.
9969	// "FirstAndThirdPartyAudiences") to unconditionally include in API
9970	// requests. By default, fields with empty or default values are omitted
9971	// from API requests. However, any non-pointer, non-interface field
9972	// appearing in ForceSendFields will be sent to the server regardless of
9973	// whether the field is empty or not. This may be used to include empty
9974	// fields in Patch requests.
9975	ForceSendFields []string `json:"-"`
9976
9977	// NullFields is a list of field names (e.g.
9978	// "FirstAndThirdPartyAudiences") to include in API requests with the
9979	// JSON null value. By default, fields with empty values are omitted
9980	// from API requests. However, any field with an empty value appearing
9981	// in NullFields will be sent to the server as null. It is an error if a
9982	// field in this list has a non-empty value. This may be used to include
9983	// null fields in Patch requests.
9984	NullFields []string `json:"-"`
9985}
9986
9987func (s *ListFirstAndThirdPartyAudiencesResponse) MarshalJSON() ([]byte, error) {
9988	type NoMethod ListFirstAndThirdPartyAudiencesResponse
9989	raw := NoMethod(*s)
9990	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9991}
9992
9993type ListGoogleAudiencesResponse struct {
9994	// GoogleAudiences: The list of Google audiences. This list will be
9995	// absent if empty.
9996	GoogleAudiences []*GoogleAudience `json:"googleAudiences,omitempty"`
9997
9998	// NextPageToken: A token to retrieve the next page of results. Pass
9999	// this value in the page_token field in the subsequent call to
10000	// `ListGoogleAudiences` method to retrieve the next page of results.
10001	NextPageToken string `json:"nextPageToken,omitempty"`
10002
10003	// ServerResponse contains the HTTP response code and headers from the
10004	// server.
10005	googleapi.ServerResponse `json:"-"`
10006
10007	// ForceSendFields is a list of field names (e.g. "GoogleAudiences") to
10008	// unconditionally include in API requests. By default, fields with
10009	// empty or default values are omitted from API requests. However, any
10010	// non-pointer, non-interface field appearing in ForceSendFields will be
10011	// sent to the server regardless of whether the field is empty or not.
10012	// This may be used to include empty fields in Patch requests.
10013	ForceSendFields []string `json:"-"`
10014
10015	// NullFields is a list of field names (e.g. "GoogleAudiences") to
10016	// include in API requests with the JSON null value. By default, fields
10017	// with empty values are omitted from API requests. However, any field
10018	// with an empty value appearing in NullFields will be sent to the
10019	// server as null. It is an error if a field in this list has a
10020	// non-empty value. This may be used to include null fields in Patch
10021	// requests.
10022	NullFields []string `json:"-"`
10023}
10024
10025func (s *ListGoogleAudiencesResponse) MarshalJSON() ([]byte, error) {
10026	type NoMethod ListGoogleAudiencesResponse
10027	raw := NoMethod(*s)
10028	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10029}
10030
10031// ListInsertionOrderAssignedTargetingOptionsResponse: Response message
10032// for ListInsertionOrderAssignedTargetingOptions.
10033type ListInsertionOrderAssignedTargetingOptionsResponse struct {
10034	// AssignedTargetingOptions: The list of assigned targeting options.
10035	// This list will be absent if empty.
10036	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
10037
10038	// NextPageToken: A token identifying the next page of results. This
10039	// value should be specified as the pageToken in a subsequent
10040	// ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next
10041	// page of results. This token will be absent if there are no more
10042	// assigned_targeting_options to return.
10043	NextPageToken string `json:"nextPageToken,omitempty"`
10044
10045	// ServerResponse contains the HTTP response code and headers from the
10046	// server.
10047	googleapi.ServerResponse `json:"-"`
10048
10049	// ForceSendFields is a list of field names (e.g.
10050	// "AssignedTargetingOptions") to unconditionally include in API
10051	// requests. By default, fields with empty or default values are omitted
10052	// from API requests. However, any non-pointer, non-interface field
10053	// appearing in ForceSendFields will be sent to the server regardless of
10054	// whether the field is empty or not. This may be used to include empty
10055	// fields in Patch requests.
10056	ForceSendFields []string `json:"-"`
10057
10058	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
10059	// to include in API requests with the JSON null value. By default,
10060	// fields with empty values are omitted from API requests. However, any
10061	// field with an empty value appearing in NullFields will be sent to the
10062	// server as null. It is an error if a field in this list has a
10063	// non-empty value. This may be used to include null fields in Patch
10064	// requests.
10065	NullFields []string `json:"-"`
10066}
10067
10068func (s *ListInsertionOrderAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
10069	type NoMethod ListInsertionOrderAssignedTargetingOptionsResponse
10070	raw := NoMethod(*s)
10071	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10072}
10073
10074type ListInsertionOrdersResponse struct {
10075	// InsertionOrders: The list of insertion orders. This list will be
10076	// absent if empty.
10077	InsertionOrders []*InsertionOrder `json:"insertionOrders,omitempty"`
10078
10079	// NextPageToken: A token to retrieve the next page of results. Pass
10080	// this value in the page_token field in the subsequent call to
10081	// `ListInsertionOrders` method to retrieve the next page of results.
10082	NextPageToken string `json:"nextPageToken,omitempty"`
10083
10084	// ServerResponse contains the HTTP response code and headers from the
10085	// server.
10086	googleapi.ServerResponse `json:"-"`
10087
10088	// ForceSendFields is a list of field names (e.g. "InsertionOrders") to
10089	// unconditionally include in API requests. By default, fields with
10090	// empty or default values are omitted from API requests. However, any
10091	// non-pointer, non-interface field appearing in ForceSendFields will be
10092	// sent to the server regardless of whether the field is empty or not.
10093	// This may be used to include empty fields in Patch requests.
10094	ForceSendFields []string `json:"-"`
10095
10096	// NullFields is a list of field names (e.g. "InsertionOrders") to
10097	// include in API requests with the JSON null value. By default, fields
10098	// with empty values are omitted from API requests. However, any field
10099	// with an empty value appearing in NullFields will be sent to the
10100	// server as null. It is an error if a field in this list has a
10101	// non-empty value. This may be used to include null fields in Patch
10102	// requests.
10103	NullFields []string `json:"-"`
10104}
10105
10106func (s *ListInsertionOrdersResponse) MarshalJSON() ([]byte, error) {
10107	type NoMethod ListInsertionOrdersResponse
10108	raw := NoMethod(*s)
10109	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10110}
10111
10112// ListInventorySourceGroupsResponse: Response message for
10113// InventorySourceGroupService.ListInventorySourceGroups.
10114type ListInventorySourceGroupsResponse struct {
10115	// InventorySourceGroups: The list of inventory source groups. This list
10116	// will be absent if empty.
10117	InventorySourceGroups []*InventorySourceGroup `json:"inventorySourceGroups,omitempty"`
10118
10119	// NextPageToken: A token to retrieve the next page of results. Pass
10120	// this value in the page_token field in the subsequent call to
10121	// `ListInventorySourceGroups` method to retrieve the next page of
10122	// results.
10123	NextPageToken string `json:"nextPageToken,omitempty"`
10124
10125	// ServerResponse contains the HTTP response code and headers from the
10126	// server.
10127	googleapi.ServerResponse `json:"-"`
10128
10129	// ForceSendFields is a list of field names (e.g.
10130	// "InventorySourceGroups") to unconditionally include in API requests.
10131	// By default, fields with empty or default values are omitted from API
10132	// requests. However, any non-pointer, non-interface field appearing in
10133	// ForceSendFields will be sent to the server regardless of whether the
10134	// field is empty or not. This may be used to include empty fields in
10135	// Patch requests.
10136	ForceSendFields []string `json:"-"`
10137
10138	// NullFields is a list of field names (e.g. "InventorySourceGroups") to
10139	// include in API requests with the JSON null value. By default, fields
10140	// with empty values are omitted from API requests. However, any field
10141	// with an empty value appearing in NullFields will be sent to the
10142	// server as null. It is an error if a field in this list has a
10143	// non-empty value. This may be used to include null fields in Patch
10144	// requests.
10145	NullFields []string `json:"-"`
10146}
10147
10148func (s *ListInventorySourceGroupsResponse) MarshalJSON() ([]byte, error) {
10149	type NoMethod ListInventorySourceGroupsResponse
10150	raw := NoMethod(*s)
10151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10152}
10153
10154type ListInventorySourcesResponse struct {
10155	// InventorySources: The list of inventory sources. This list will be
10156	// absent if empty.
10157	InventorySources []*InventorySource `json:"inventorySources,omitempty"`
10158
10159	// NextPageToken: A token to retrieve the next page of results. Pass
10160	// this value in the page_token field in the subsequent call to
10161	// `ListInventorySources` method to retrieve the next page of results.
10162	NextPageToken string `json:"nextPageToken,omitempty"`
10163
10164	// ServerResponse contains the HTTP response code and headers from the
10165	// server.
10166	googleapi.ServerResponse `json:"-"`
10167
10168	// ForceSendFields is a list of field names (e.g. "InventorySources") to
10169	// unconditionally include in API requests. By default, fields with
10170	// empty or default values are omitted from API requests. However, any
10171	// non-pointer, non-interface field appearing in ForceSendFields will be
10172	// sent to the server regardless of whether the field is empty or not.
10173	// This may be used to include empty fields in Patch requests.
10174	ForceSendFields []string `json:"-"`
10175
10176	// NullFields is a list of field names (e.g. "InventorySources") to
10177	// include in API requests with the JSON null value. By default, fields
10178	// with empty values are omitted from API requests. However, any field
10179	// with an empty value appearing in NullFields will be sent to the
10180	// server as null. It is an error if a field in this list has a
10181	// non-empty value. This may be used to include null fields in Patch
10182	// requests.
10183	NullFields []string `json:"-"`
10184}
10185
10186func (s *ListInventorySourcesResponse) MarshalJSON() ([]byte, error) {
10187	type NoMethod ListInventorySourcesResponse
10188	raw := NoMethod(*s)
10189	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10190}
10191
10192type ListInvoicesResponse struct {
10193	// Invoices: The list of invoices. This list will be absent if empty.
10194	Invoices []*Invoice `json:"invoices,omitempty"`
10195
10196	// NextPageToken: A token to retrieve the next page of results. Pass
10197	// this value in the page_token field in the subsequent call to
10198	// `ListInvoices` method to retrieve the next page of results. This
10199	// token will be absent if there are no more invoices to return.
10200	NextPageToken string `json:"nextPageToken,omitempty"`
10201
10202	// ServerResponse contains the HTTP response code and headers from the
10203	// server.
10204	googleapi.ServerResponse `json:"-"`
10205
10206	// ForceSendFields is a list of field names (e.g. "Invoices") to
10207	// unconditionally include in API requests. By default, fields with
10208	// empty or default values are omitted from API requests. However, any
10209	// non-pointer, non-interface field appearing in ForceSendFields will be
10210	// sent to the server regardless of whether the field is empty or not.
10211	// This may be used to include empty fields in Patch requests.
10212	ForceSendFields []string `json:"-"`
10213
10214	// NullFields is a list of field names (e.g. "Invoices") to include in
10215	// API requests with the JSON null value. By default, fields with empty
10216	// values are omitted from API requests. However, any field with an
10217	// empty value appearing in NullFields will be sent to the server as
10218	// null. It is an error if a field in this list has a non-empty value.
10219	// This may be used to include null fields in Patch requests.
10220	NullFields []string `json:"-"`
10221}
10222
10223func (s *ListInvoicesResponse) MarshalJSON() ([]byte, error) {
10224	type NoMethod ListInvoicesResponse
10225	raw := NoMethod(*s)
10226	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10227}
10228
10229// ListLineItemAssignedTargetingOptionsResponse: Response message for
10230// ListLineItemAssignedTargetingOptions.
10231type ListLineItemAssignedTargetingOptionsResponse struct {
10232	// AssignedTargetingOptions: The list of assigned targeting options.
10233	// This list will be absent if empty.
10234	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
10235
10236	// NextPageToken: A token identifying the next page of results. This
10237	// value should be specified as the pageToken in a subsequent
10238	// ListLineItemAssignedTargetingOptionsRequest to fetch the next page of
10239	// results. This token will be absent if there are no more
10240	// assigned_targeting_options to return.
10241	NextPageToken string `json:"nextPageToken,omitempty"`
10242
10243	// ServerResponse contains the HTTP response code and headers from the
10244	// server.
10245	googleapi.ServerResponse `json:"-"`
10246
10247	// ForceSendFields is a list of field names (e.g.
10248	// "AssignedTargetingOptions") to unconditionally include in API
10249	// requests. By default, fields with empty or default values are omitted
10250	// from API requests. However, any non-pointer, non-interface field
10251	// appearing in ForceSendFields will be sent to the server regardless of
10252	// whether the field is empty or not. This may be used to include empty
10253	// fields in Patch requests.
10254	ForceSendFields []string `json:"-"`
10255
10256	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
10257	// to include in API requests with the JSON null value. By default,
10258	// fields with empty values are omitted from API requests. However, any
10259	// field with an empty value appearing in NullFields will be sent to the
10260	// server as null. It is an error if a field in this list has a
10261	// non-empty value. This may be used to include null fields in Patch
10262	// requests.
10263	NullFields []string `json:"-"`
10264}
10265
10266func (s *ListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
10267	type NoMethod ListLineItemAssignedTargetingOptionsResponse
10268	raw := NoMethod(*s)
10269	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10270}
10271
10272type ListLineItemsResponse struct {
10273	// LineItems: The list of line items. This list will be absent if empty.
10274	LineItems []*LineItem `json:"lineItems,omitempty"`
10275
10276	// NextPageToken: A token to retrieve the next page of results. Pass
10277	// this value in the page_token field in the subsequent call to
10278	// `ListLineItems` method to retrieve the next page of results.
10279	NextPageToken string `json:"nextPageToken,omitempty"`
10280
10281	// ServerResponse contains the HTTP response code and headers from the
10282	// server.
10283	googleapi.ServerResponse `json:"-"`
10284
10285	// ForceSendFields is a list of field names (e.g. "LineItems") to
10286	// unconditionally include in API requests. By default, fields with
10287	// empty or default values are omitted from API requests. However, any
10288	// non-pointer, non-interface field appearing in ForceSendFields will be
10289	// sent to the server regardless of whether the field is empty or not.
10290	// This may be used to include empty fields in Patch requests.
10291	ForceSendFields []string `json:"-"`
10292
10293	// NullFields is a list of field names (e.g. "LineItems") to include in
10294	// API requests with the JSON null value. By default, fields with empty
10295	// values are omitted from API requests. However, any field with an
10296	// empty value appearing in NullFields will be sent to the server as
10297	// null. It is an error if a field in this list has a non-empty value.
10298	// This may be used to include null fields in Patch requests.
10299	NullFields []string `json:"-"`
10300}
10301
10302func (s *ListLineItemsResponse) MarshalJSON() ([]byte, error) {
10303	type NoMethod ListLineItemsResponse
10304	raw := NoMethod(*s)
10305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10306}
10307
10308type ListLocationListsResponse struct {
10309	// LocationLists: The list of location lists. This list will be absent
10310	// if empty.
10311	LocationLists []*LocationList `json:"locationLists,omitempty"`
10312
10313	// NextPageToken: A token to retrieve the next page of results. Pass
10314	// this value in the page_token field in the subsequent call to
10315	// `ListLocationLists` method to retrieve the next page of results.
10316	NextPageToken string `json:"nextPageToken,omitempty"`
10317
10318	// ServerResponse contains the HTTP response code and headers from the
10319	// server.
10320	googleapi.ServerResponse `json:"-"`
10321
10322	// ForceSendFields is a list of field names (e.g. "LocationLists") to
10323	// unconditionally include in API requests. By default, fields with
10324	// empty or default values are omitted from API requests. However, any
10325	// non-pointer, non-interface field appearing in ForceSendFields will be
10326	// sent to the server regardless of whether the field is empty or not.
10327	// This may be used to include empty fields in Patch requests.
10328	ForceSendFields []string `json:"-"`
10329
10330	// NullFields is a list of field names (e.g. "LocationLists") to include
10331	// in API requests with the JSON null value. By default, fields with
10332	// empty values are omitted from API requests. However, any field with
10333	// an empty value appearing in NullFields will be sent to the server as
10334	// null. It is an error if a field in this list has a non-empty value.
10335	// This may be used to include null fields in Patch requests.
10336	NullFields []string `json:"-"`
10337}
10338
10339func (s *ListLocationListsResponse) MarshalJSON() ([]byte, error) {
10340	type NoMethod ListLocationListsResponse
10341	raw := NoMethod(*s)
10342	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10343}
10344
10345type ListManualTriggersResponse struct {
10346	// ManualTriggers: The list of manual triggers. This list will be absent
10347	// if empty.
10348	ManualTriggers []*ManualTrigger `json:"manualTriggers,omitempty"`
10349
10350	// NextPageToken: A token to retrieve the next page of results. Pass
10351	// this value in the page_token field in the subsequent call to
10352	// `ListManualTriggers` method to retrieve the next page of results.
10353	NextPageToken string `json:"nextPageToken,omitempty"`
10354
10355	// ServerResponse contains the HTTP response code and headers from the
10356	// server.
10357	googleapi.ServerResponse `json:"-"`
10358
10359	// ForceSendFields is a list of field names (e.g. "ManualTriggers") to
10360	// unconditionally include in API requests. By default, fields with
10361	// empty or default values are omitted from API requests. However, any
10362	// non-pointer, non-interface field appearing in ForceSendFields will be
10363	// sent to the server regardless of whether the field is empty or not.
10364	// This may be used to include empty fields in Patch requests.
10365	ForceSendFields []string `json:"-"`
10366
10367	// NullFields is a list of field names (e.g. "ManualTriggers") to
10368	// include in API requests with the JSON null value. By default, fields
10369	// with empty values are omitted from API requests. However, any field
10370	// with an empty value appearing in NullFields will be sent to the
10371	// server as null. It is an error if a field in this list has a
10372	// non-empty value. This may be used to include null fields in Patch
10373	// requests.
10374	NullFields []string `json:"-"`
10375}
10376
10377func (s *ListManualTriggersResponse) MarshalJSON() ([]byte, error) {
10378	type NoMethod ListManualTriggersResponse
10379	raw := NoMethod(*s)
10380	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10381}
10382
10383// ListNegativeKeywordListsResponse: Response message for
10384// NegativeKeywordListService.ListNegativeKeywordLists.
10385type ListNegativeKeywordListsResponse struct {
10386	// NegativeKeywordLists: The list of negative keyword lists. This list
10387	// will be absent if empty.
10388	NegativeKeywordLists []*NegativeKeywordList `json:"negativeKeywordLists,omitempty"`
10389
10390	// NextPageToken: A token to retrieve the next page of results. Pass
10391	// this value in the page_token field in the subsequent call to
10392	// `ListNegativeKeywordLists` method to retrieve the next page of
10393	// results.
10394	NextPageToken string `json:"nextPageToken,omitempty"`
10395
10396	// ServerResponse contains the HTTP response code and headers from the
10397	// server.
10398	googleapi.ServerResponse `json:"-"`
10399
10400	// ForceSendFields is a list of field names (e.g.
10401	// "NegativeKeywordLists") to unconditionally include in API requests.
10402	// By default, fields with empty or default values are omitted from API
10403	// requests. However, any non-pointer, non-interface field appearing in
10404	// ForceSendFields will be sent to the server regardless of whether the
10405	// field is empty or not. This may be used to include empty fields in
10406	// Patch requests.
10407	ForceSendFields []string `json:"-"`
10408
10409	// NullFields is a list of field names (e.g. "NegativeKeywordLists") to
10410	// include in API requests with the JSON null value. By default, fields
10411	// with empty values are omitted from API requests. However, any field
10412	// with an empty value appearing in NullFields will be sent to the
10413	// server as null. It is an error if a field in this list has a
10414	// non-empty value. This may be used to include null fields in Patch
10415	// requests.
10416	NullFields []string `json:"-"`
10417}
10418
10419func (s *ListNegativeKeywordListsResponse) MarshalJSON() ([]byte, error) {
10420	type NoMethod ListNegativeKeywordListsResponse
10421	raw := NoMethod(*s)
10422	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10423}
10424
10425// ListNegativeKeywordsResponse: Response message for
10426// NegativeKeywordService.ListNegativeKeywords.
10427type ListNegativeKeywordsResponse struct {
10428	// NegativeKeywords: The list of negative keywords. This list will be
10429	// absent if empty.
10430	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
10431
10432	// NextPageToken: A token to retrieve the next page of results. Pass
10433	// this value in the page_token field in the subsequent call to
10434	// `ListNegativeKeywords` method to retrieve the next page of results.
10435	NextPageToken string `json:"nextPageToken,omitempty"`
10436
10437	// ServerResponse contains the HTTP response code and headers from the
10438	// server.
10439	googleapi.ServerResponse `json:"-"`
10440
10441	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
10442	// unconditionally include in API requests. By default, fields with
10443	// empty or default values are omitted from API requests. However, any
10444	// non-pointer, non-interface field appearing in ForceSendFields will be
10445	// sent to the server regardless of whether the field is empty or not.
10446	// This may be used to include empty fields in Patch requests.
10447	ForceSendFields []string `json:"-"`
10448
10449	// NullFields is a list of field names (e.g. "NegativeKeywords") to
10450	// include in API requests with the JSON null value. By default, fields
10451	// with empty values are omitted from API requests. However, any field
10452	// with an empty value appearing in NullFields will be sent to the
10453	// server as null. It is an error if a field in this list has a
10454	// non-empty value. This may be used to include null fields in Patch
10455	// requests.
10456	NullFields []string `json:"-"`
10457}
10458
10459func (s *ListNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
10460	type NoMethod ListNegativeKeywordsResponse
10461	raw := NoMethod(*s)
10462	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10463}
10464
10465type ListPartnerAssignedTargetingOptionsResponse struct {
10466	// AssignedTargetingOptions: The list of assigned targeting options.
10467	// This list will be absent if empty.
10468	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
10469
10470	// NextPageToken: A token identifying the next page of results. This
10471	// value should be specified as the pageToken in a subsequent
10472	// ListPartnerAssignedTargetingOptionsRequest to fetch the next page of
10473	// results. This token will be absent if there are no more
10474	// assigned_targeting_options to return.
10475	NextPageToken string `json:"nextPageToken,omitempty"`
10476
10477	// ServerResponse contains the HTTP response code and headers from the
10478	// server.
10479	googleapi.ServerResponse `json:"-"`
10480
10481	// ForceSendFields is a list of field names (e.g.
10482	// "AssignedTargetingOptions") to unconditionally include in API
10483	// requests. By default, fields with empty or default values are omitted
10484	// from API requests. However, any non-pointer, non-interface field
10485	// appearing in ForceSendFields will be sent to the server regardless of
10486	// whether the field is empty or not. This may be used to include empty
10487	// fields in Patch requests.
10488	ForceSendFields []string `json:"-"`
10489
10490	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
10491	// to include in API requests with the JSON null value. By default,
10492	// fields with empty values are omitted from API requests. However, any
10493	// field with an empty value appearing in NullFields will be sent to the
10494	// server as null. It is an error if a field in this list has a
10495	// non-empty value. This may be used to include null fields in Patch
10496	// requests.
10497	NullFields []string `json:"-"`
10498}
10499
10500func (s *ListPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
10501	type NoMethod ListPartnerAssignedTargetingOptionsResponse
10502	raw := NoMethod(*s)
10503	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10504}
10505
10506type ListPartnersResponse struct {
10507	// NextPageToken: A token to retrieve the next page of results. Pass
10508	// this value in the page_token field in the subsequent call to
10509	// `ListPartners` method to retrieve the next page of results.
10510	NextPageToken string `json:"nextPageToken,omitempty"`
10511
10512	// Partners: The list of partners. This list will be absent if empty.
10513	Partners []*Partner `json:"partners,omitempty"`
10514
10515	// ServerResponse contains the HTTP response code and headers from the
10516	// server.
10517	googleapi.ServerResponse `json:"-"`
10518
10519	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10520	// unconditionally include in API requests. By default, fields with
10521	// empty or default values are omitted from API requests. However, any
10522	// non-pointer, non-interface field appearing in ForceSendFields will be
10523	// sent to the server regardless of whether the field is empty or not.
10524	// This may be used to include empty fields in Patch requests.
10525	ForceSendFields []string `json:"-"`
10526
10527	// NullFields is a list of field names (e.g. "NextPageToken") to include
10528	// in API requests with the JSON null value. By default, fields with
10529	// empty values are omitted from API requests. However, any field with
10530	// an empty value appearing in NullFields will be sent to the server as
10531	// null. It is an error if a field in this list has a non-empty value.
10532	// This may be used to include null fields in Patch requests.
10533	NullFields []string `json:"-"`
10534}
10535
10536func (s *ListPartnersResponse) MarshalJSON() ([]byte, error) {
10537	type NoMethod ListPartnersResponse
10538	raw := NoMethod(*s)
10539	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10540}
10541
10542// ListSitesResponse: Response message for SiteService.ListSites.
10543type ListSitesResponse struct {
10544	// NextPageToken: A token to retrieve the next page of results. Pass
10545	// this value in the page_token field in the subsequent call to
10546	// `ListSites` method to retrieve the next page of results.
10547	NextPageToken string `json:"nextPageToken,omitempty"`
10548
10549	// Sites: The list of sites. This list will be absent if empty.
10550	Sites []*Site `json:"sites,omitempty"`
10551
10552	// ServerResponse contains the HTTP response code and headers from the
10553	// server.
10554	googleapi.ServerResponse `json:"-"`
10555
10556	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10557	// unconditionally include in API requests. By default, fields with
10558	// empty or default values are omitted from API requests. However, any
10559	// non-pointer, non-interface field appearing in ForceSendFields will be
10560	// sent to the server regardless of whether the field is empty or not.
10561	// This may be used to include empty fields in Patch requests.
10562	ForceSendFields []string `json:"-"`
10563
10564	// NullFields is a list of field names (e.g. "NextPageToken") to include
10565	// in API requests with the JSON null value. By default, fields with
10566	// empty values are omitted from API requests. However, any field with
10567	// an empty value appearing in NullFields will be sent to the server as
10568	// null. It is an error if a field in this list has a non-empty value.
10569	// This may be used to include null fields in Patch requests.
10570	NullFields []string `json:"-"`
10571}
10572
10573func (s *ListSitesResponse) MarshalJSON() ([]byte, error) {
10574	type NoMethod ListSitesResponse
10575	raw := NoMethod(*s)
10576	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10577}
10578
10579// ListTargetingOptionsResponse: Response message for
10580// ListTargetingOptions.
10581type ListTargetingOptionsResponse struct {
10582	// NextPageToken: A token to retrieve the next page of results. Pass
10583	// this value in the page_token field in the subsequent call to
10584	// `ListTargetingOptions` method to retrieve the next page of results.
10585	NextPageToken string `json:"nextPageToken,omitempty"`
10586
10587	// TargetingOptions: The list of targeting options. This list will be
10588	// absent if empty.
10589	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
10590
10591	// ServerResponse contains the HTTP response code and headers from the
10592	// server.
10593	googleapi.ServerResponse `json:"-"`
10594
10595	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10596	// unconditionally include in API requests. By default, fields with
10597	// empty or default values are omitted from API requests. However, any
10598	// non-pointer, non-interface field appearing in ForceSendFields will be
10599	// sent to the server regardless of whether the field is empty or not.
10600	// This may be used to include empty fields in Patch requests.
10601	ForceSendFields []string `json:"-"`
10602
10603	// NullFields is a list of field names (e.g. "NextPageToken") to include
10604	// in API requests with the JSON null value. By default, fields with
10605	// empty values are omitted from API requests. However, any field with
10606	// an empty value appearing in NullFields will be sent to the server as
10607	// null. It is an error if a field in this list has a non-empty value.
10608	// This may be used to include null fields in Patch requests.
10609	NullFields []string `json:"-"`
10610}
10611
10612func (s *ListTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
10613	type NoMethod ListTargetingOptionsResponse
10614	raw := NoMethod(*s)
10615	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10616}
10617
10618type ListUsersResponse struct {
10619	// NextPageToken: A token to retrieve the next page of results. Pass
10620	// this value in the page_token field in the subsequent call to
10621	// `ListUsers` method to retrieve the next page of results. This token
10622	// will be absent if there are no more results to return.
10623	NextPageToken string `json:"nextPageToken,omitempty"`
10624
10625	// Users: The list of users. This list will be absent if empty.
10626	Users []*User `json:"users,omitempty"`
10627
10628	// ServerResponse contains the HTTP response code and headers from the
10629	// server.
10630	googleapi.ServerResponse `json:"-"`
10631
10632	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
10633	// unconditionally include in API requests. By default, fields with
10634	// empty or default values are omitted from API requests. However, any
10635	// non-pointer, non-interface field appearing in ForceSendFields will be
10636	// sent to the server regardless of whether the field is empty or not.
10637	// This may be used to include empty fields in Patch requests.
10638	ForceSendFields []string `json:"-"`
10639
10640	// NullFields is a list of field names (e.g. "NextPageToken") to include
10641	// in API requests with the JSON null value. By default, fields with
10642	// empty values are omitted from API requests. However, any field with
10643	// an empty value appearing in NullFields will be sent to the server as
10644	// null. It is an error if a field in this list has a non-empty value.
10645	// This may be used to include null fields in Patch requests.
10646	NullFields []string `json:"-"`
10647}
10648
10649func (s *ListUsersResponse) MarshalJSON() ([]byte, error) {
10650	type NoMethod ListUsersResponse
10651	raw := NoMethod(*s)
10652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10653}
10654
10655// LocationList: A list of locations used for targeting.
10656type LocationList struct {
10657	// AdvertiserId: Required. Immutable. The unique ID of the advertiser
10658	// the location list belongs to.
10659	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10660
10661	// DisplayName: Required. The display name of the location list. Must be
10662	// UTF-8 encoded with a maximum size of 240 bytes.
10663	DisplayName string `json:"displayName,omitempty"`
10664
10665	// LocationListId: Output only. The unique ID of the location list.
10666	// Assigned by the system.
10667	LocationListId int64 `json:"locationListId,omitempty,string"`
10668
10669	// LocationType: Required. Immutable. The type of location. All
10670	// locations in the list will share this type.
10671	//
10672	// Possible values:
10673	//   "TARGETING_LOCATION_TYPE_UNSPECIFIED" - Default value when type is
10674	// not specified or is unknown.
10675	//   "TARGETING_LOCATION_TYPE_PROXIMITY" - The type for proximity geo
10676	// location.
10677	//   "TARGETING_LOCATION_TYPE_REGIONAL" - The type for regional geo
10678	// location.
10679	LocationType string `json:"locationType,omitempty"`
10680
10681	// Name: Output only. The resource name of the location list.
10682	Name string `json:"name,omitempty"`
10683
10684	// ServerResponse contains the HTTP response code and headers from the
10685	// server.
10686	googleapi.ServerResponse `json:"-"`
10687
10688	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
10689	// unconditionally include in API requests. By default, fields with
10690	// empty or default values are omitted from API requests. However, any
10691	// non-pointer, non-interface field appearing in ForceSendFields will be
10692	// sent to the server regardless of whether the field is empty or not.
10693	// This may be used to include empty fields in Patch requests.
10694	ForceSendFields []string `json:"-"`
10695
10696	// NullFields is a list of field names (e.g. "AdvertiserId") to include
10697	// in API requests with the JSON null value. By default, fields with
10698	// empty values are omitted from API requests. However, any field with
10699	// an empty value appearing in NullFields will be sent to the server as
10700	// null. It is an error if a field in this list has a non-empty value.
10701	// This may be used to include null fields in Patch requests.
10702	NullFields []string `json:"-"`
10703}
10704
10705func (s *LocationList) MarshalJSON() ([]byte, error) {
10706	type NoMethod LocationList
10707	raw := NoMethod(*s)
10708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10709}
10710
10711// LookbackWindow: Specifies how many days into the past to look when
10712// determining whether to record a conversion.
10713type LookbackWindow struct {
10714	// ClickDays: Lookback window, in days, from the last time a given user
10715	// clicked on one of your ads.
10716	ClickDays int64 `json:"clickDays,omitempty"`
10717
10718	// ImpressionDays: Lookback window, in days, from the last time a given
10719	// user viewed one of your ads.
10720	ImpressionDays int64 `json:"impressionDays,omitempty"`
10721
10722	// ForceSendFields is a list of field names (e.g. "ClickDays") to
10723	// unconditionally include in API requests. By default, fields with
10724	// empty or default values are omitted from API requests. However, any
10725	// non-pointer, non-interface field appearing in ForceSendFields will be
10726	// sent to the server regardless of whether the field is empty or not.
10727	// This may be used to include empty fields in Patch requests.
10728	ForceSendFields []string `json:"-"`
10729
10730	// NullFields is a list of field names (e.g. "ClickDays") to include in
10731	// API requests with the JSON null value. By default, fields with empty
10732	// values are omitted from API requests. However, any field with an
10733	// empty value appearing in NullFields will be sent to the server as
10734	// null. It is an error if a field in this list has a non-empty value.
10735	// This may be used to include null fields in Patch requests.
10736	NullFields []string `json:"-"`
10737}
10738
10739func (s *LookbackWindow) MarshalJSON() ([]byte, error) {
10740	type NoMethod LookbackWindow
10741	raw := NoMethod(*s)
10742	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10743}
10744
10745type LookupInvoiceCurrencyResponse struct {
10746	// CurrencyCode: Currency used by the advertiser in ISO 4217 format.
10747	CurrencyCode string `json:"currencyCode,omitempty"`
10748
10749	// ServerResponse contains the HTTP response code and headers from the
10750	// server.
10751	googleapi.ServerResponse `json:"-"`
10752
10753	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
10754	// unconditionally include in API requests. By default, fields with
10755	// empty or default values are omitted from API requests. However, any
10756	// non-pointer, non-interface field appearing in ForceSendFields will be
10757	// sent to the server regardless of whether the field is empty or not.
10758	// This may be used to include empty fields in Patch requests.
10759	ForceSendFields []string `json:"-"`
10760
10761	// NullFields is a list of field names (e.g. "CurrencyCode") to include
10762	// in API requests with the JSON null value. By default, fields with
10763	// empty values are omitted from API requests. However, any field with
10764	// an empty value appearing in NullFields will be sent to the server as
10765	// null. It is an error if a field in this list has a non-empty value.
10766	// This may be used to include null fields in Patch requests.
10767	NullFields []string `json:"-"`
10768}
10769
10770func (s *LookupInvoiceCurrencyResponse) MarshalJSON() ([]byte, error) {
10771	type NoMethod LookupInvoiceCurrencyResponse
10772	raw := NoMethod(*s)
10773	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10774}
10775
10776// ManualTrigger: A single manual trigger in Display & Video 360.
10777type ManualTrigger struct {
10778	// ActivationDurationMinutes: Required. The maximum duration of each
10779	// activation in minutes. Must be between 1 and 360 inclusive. After
10780	// this duration, the trigger will be automatically deactivated.
10781	ActivationDurationMinutes int64 `json:"activationDurationMinutes,omitempty,string"`
10782
10783	// AdvertiserId: Required. Immutable. The unique ID of the advertiser
10784	// that the manual trigger belongs to.
10785	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10786
10787	// DisplayName: Required. The display name of the manual trigger. Must
10788	// be UTF-8 encoded with a maximum size of 240 bytes.
10789	DisplayName string `json:"displayName,omitempty"`
10790
10791	// LatestActivationTime: Output only. The timestamp of the trigger's
10792	// latest activation.
10793	LatestActivationTime string `json:"latestActivationTime,omitempty"`
10794
10795	// Name: Output only. The resource name of the manual trigger.
10796	Name string `json:"name,omitempty"`
10797
10798	// State: Output only. The state of the manual trigger. Will be set to
10799	// the `INACTIVE` state upon creation.
10800	//
10801	// Possible values:
10802	//   "STATE_UNSPECIFIED" - Default value when state is not specified or
10803	// is unknown in this version.
10804	//   "INACTIVE" - The trigger is currently inactive and ready to be
10805	// activated.
10806	//   "ACTIVE" - The trigger is currently active (activated).
10807	State string `json:"state,omitempty"`
10808
10809	// TriggerId: Output only. The unique ID of the manual trigger.
10810	TriggerId int64 `json:"triggerId,omitempty,string"`
10811
10812	// ServerResponse contains the HTTP response code and headers from the
10813	// server.
10814	googleapi.ServerResponse `json:"-"`
10815
10816	// ForceSendFields is a list of field names (e.g.
10817	// "ActivationDurationMinutes") to unconditionally include in API
10818	// requests. By default, fields with empty or default values are omitted
10819	// from API requests. However, any non-pointer, non-interface field
10820	// appearing in ForceSendFields will be sent to the server regardless of
10821	// whether the field is empty or not. This may be used to include empty
10822	// fields in Patch requests.
10823	ForceSendFields []string `json:"-"`
10824
10825	// NullFields is a list of field names (e.g.
10826	// "ActivationDurationMinutes") to include in API requests with the JSON
10827	// null value. By default, fields with empty values are omitted from API
10828	// requests. However, any field with an empty value appearing in
10829	// NullFields will be sent to the server as null. It is an error if a
10830	// field in this list has a non-empty value. This may be used to include
10831	// null fields in Patch requests.
10832	NullFields []string `json:"-"`
10833}
10834
10835func (s *ManualTrigger) MarshalJSON() ([]byte, error) {
10836	type NoMethod ManualTrigger
10837	raw := NoMethod(*s)
10838	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10839}
10840
10841// MaximizeSpendBidStrategy: A strategy that automatically adjusts the
10842// bid to optimize a specified performance goal while spending the full
10843// budget.
10844type MaximizeSpendBidStrategy struct {
10845	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used
10846	// by this strategy. Only applicable when performance_goal_type is set
10847	// to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
10848	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
10849
10850	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be
10851	// bid, in micros of the advertiser's currency. Must be greater than or
10852	// equal to a billable unit of the given currency. For example, 1500000
10853	// represents 1.5 standard units of the currency.
10854	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
10855
10856	// PerformanceGoalType: Required. The type of the performance goal that
10857	// the bidding strategy tries to minimize while spending the full
10858	// budget. `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not
10859	// supported for this strategy.
10860	//
10861	// Possible values:
10862	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value
10863	// is not specified or is unknown in this version.
10864	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
10865	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
10866	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable
10867	// CPM.
10868	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom
10869	// bidding algorithm.
10870	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview
10871	// and audible views.
10872	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over
10873	// 10 secs views.
10874	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable
10875	// impressions.
10876	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
10877
10878	// ForceSendFields is a list of field names (e.g.
10879	// "CustomBiddingAlgorithmId") to unconditionally include in API
10880	// requests. By default, fields with empty or default values are omitted
10881	// from API requests. However, any non-pointer, non-interface field
10882	// appearing in ForceSendFields will be sent to the server regardless of
10883	// whether the field is empty or not. This may be used to include empty
10884	// fields in Patch requests.
10885	ForceSendFields []string `json:"-"`
10886
10887	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
10888	// to include in API requests with the JSON null value. By default,
10889	// fields with empty values are omitted from API requests. However, any
10890	// field with an empty value appearing in NullFields will be sent to the
10891	// server as null. It is an error if a field in this list has a
10892	// non-empty value. This may be used to include null fields in Patch
10893	// requests.
10894	NullFields []string `json:"-"`
10895}
10896
10897func (s *MaximizeSpendBidStrategy) MarshalJSON() ([]byte, error) {
10898	type NoMethod MaximizeSpendBidStrategy
10899	raw := NoMethod(*s)
10900	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10901}
10902
10903// MeasurementConfig: Measurement settings of a partner.
10904type MeasurementConfig struct {
10905	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to
10906	// CM360.
10907	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
10908
10909	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in
10910	// CM360 data transfer reports.
10911	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
10912
10913	// ForceSendFields is a list of field names (e.g.
10914	// "Dv360ToCmCostReportingEnabled") to unconditionally include in API
10915	// requests. By default, fields with empty or default values are omitted
10916	// from API requests. However, any non-pointer, non-interface field
10917	// appearing in ForceSendFields will be sent to the server regardless of
10918	// whether the field is empty or not. This may be used to include empty
10919	// fields in Patch requests.
10920	ForceSendFields []string `json:"-"`
10921
10922	// NullFields is a list of field names (e.g.
10923	// "Dv360ToCmCostReportingEnabled") to include in API requests with the
10924	// JSON null value. By default, fields with empty values are omitted
10925	// from API requests. However, any field with an empty value appearing
10926	// in NullFields will be sent to the server as null. It is an error if a
10927	// field in this list has a non-empty value. This may be used to include
10928	// null fields in Patch requests.
10929	NullFields []string `json:"-"`
10930}
10931
10932func (s *MeasurementConfig) MarshalJSON() ([]byte, error) {
10933	type NoMethod MeasurementConfig
10934	raw := NoMethod(*s)
10935	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10936}
10937
10938// MobileApp: A mobile app promoted by a mobile app install line item.
10939type MobileApp struct {
10940	// AppId: Required. The ID of the app provided by the platform store.
10941	// Android apps are identified by the bundle ID used by Android's Play
10942	// store, such as `com.google.android.gm`. iOS apps are identified by a
10943	// nine-digit app ID used by Apple's App store, such as `422689480`.
10944	AppId string `json:"appId,omitempty"`
10945
10946	// DisplayName: Output only. The app name.
10947	DisplayName string `json:"displayName,omitempty"`
10948
10949	// Platform: Output only. The app platform.
10950	//
10951	// Possible values:
10952	//   "PLATFORM_UNSPECIFIED" - Platform is not specified.
10953	//   "IOS" - iOS platform.
10954	//   "ANDROID" - Android platform.
10955	Platform string `json:"platform,omitempty"`
10956
10957	// Publisher: Output only. The app publisher.
10958	Publisher string `json:"publisher,omitempty"`
10959
10960	// ForceSendFields is a list of field names (e.g. "AppId") to
10961	// unconditionally include in API requests. By default, fields with
10962	// empty or default values are omitted from API requests. However, any
10963	// non-pointer, non-interface field appearing in ForceSendFields will be
10964	// sent to the server regardless of whether the field is empty or not.
10965	// This may be used to include empty fields in Patch requests.
10966	ForceSendFields []string `json:"-"`
10967
10968	// NullFields is a list of field names (e.g. "AppId") to include in API
10969	// requests with the JSON null value. By default, fields with empty
10970	// values are omitted from API requests. However, any field with an
10971	// empty value appearing in NullFields will be sent to the server as
10972	// null. It is an error if a field in this list has a non-empty value.
10973	// This may be used to include null fields in Patch requests.
10974	NullFields []string `json:"-"`
10975}
10976
10977func (s *MobileApp) MarshalJSON() ([]byte, error) {
10978	type NoMethod MobileApp
10979	raw := NoMethod(*s)
10980	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10981}
10982
10983// Money: Represents an amount of money with its currency type.
10984type Money struct {
10985	// CurrencyCode: The three-letter currency code defined in ISO 4217.
10986	CurrencyCode string `json:"currencyCode,omitempty"`
10987
10988	// Nanos: Number of nano (10^-9) units of the amount. The value must be
10989	// between -999,999,999 and +999,999,999 inclusive. If `units` is
10990	// positive, `nanos` must be positive or zero. If `units` is zero,
10991	// `nanos` can be positive, zero, or negative. If `units` is negative,
10992	// `nanos` must be negative or zero. For example $-1.75 is represented
10993	// as `units`=-1 and `nanos`=-750,000,000.
10994	Nanos int64 `json:"nanos,omitempty"`
10995
10996	// Units: The whole units of the amount. For example if `currencyCode`
10997	// is "USD", then 1 unit is one US dollar.
10998	Units int64 `json:"units,omitempty,string"`
10999
11000	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
11001	// unconditionally include in API requests. By default, fields with
11002	// empty or default values are omitted from API requests. However, any
11003	// non-pointer, non-interface field appearing in ForceSendFields will be
11004	// sent to the server regardless of whether the field is empty or not.
11005	// This may be used to include empty fields in Patch requests.
11006	ForceSendFields []string `json:"-"`
11007
11008	// NullFields is a list of field names (e.g. "CurrencyCode") to include
11009	// in API requests with the JSON null value. By default, fields with
11010	// empty values are omitted from API requests. However, any field with
11011	// an empty value appearing in NullFields will be sent to the server as
11012	// null. It is an error if a field in this list has a non-empty value.
11013	// This may be used to include null fields in Patch requests.
11014	NullFields []string `json:"-"`
11015}
11016
11017func (s *Money) MarshalJSON() ([]byte, error) {
11018	type NoMethod Money
11019	raw := NoMethod(*s)
11020	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11021}
11022
11023// NativeContentPositionAssignedTargetingOptionDetails: Details for
11024// native content position assigned targeting option. This will be
11025// populated in the native_content_position_details field when
11026// targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
11027// Explicitly targeting all options is not supported. Remove all native
11028// content position targeting options to achieve this effect.
11029type NativeContentPositionAssignedTargetingOptionDetails struct {
11030	// ContentPosition: Output only. The content position.
11031	//
11032	// Possible values:
11033	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is
11034	// not specified in this version. This enum is a place holder for a
11035	// default value and does not represent a real native content position.
11036	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
11037	// unknown.
11038	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
11039	// in-article, i.e., ads appear between the paragraphs of pages.
11040	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is
11041	// in-feed, i.e., ads appear in a scrollable stream of content. A feed
11042	// is typically editorial (e.g. a list of articles or news) or listings
11043	// (e.g. a list of products or services).
11044	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
11045	// peripheral, i.e., ads appear outside of core content on pages, such
11046	// as the right- or left-hand side of the page.
11047	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position
11048	// is recommendation, i.e., ads appear in sections for recommended
11049	// content.
11050	ContentPosition string `json:"contentPosition,omitempty"`
11051
11052	// TargetingOptionId: Required. The targeting_option_id field when
11053	// targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
11054	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11055
11056	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
11057	// unconditionally include in API requests. By default, fields with
11058	// empty or default values are omitted from API requests. However, any
11059	// non-pointer, non-interface field appearing in ForceSendFields will be
11060	// sent to the server regardless of whether the field is empty or not.
11061	// This may be used to include empty fields in Patch requests.
11062	ForceSendFields []string `json:"-"`
11063
11064	// NullFields is a list of field names (e.g. "ContentPosition") to
11065	// include in API requests with the JSON null value. By default, fields
11066	// with empty values are omitted from API requests. However, any field
11067	// with an empty value appearing in NullFields will be sent to the
11068	// server as null. It is an error if a field in this list has a
11069	// non-empty value. This may be used to include null fields in Patch
11070	// requests.
11071	NullFields []string `json:"-"`
11072}
11073
11074func (s *NativeContentPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11075	type NoMethod NativeContentPositionAssignedTargetingOptionDetails
11076	raw := NoMethod(*s)
11077	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11078}
11079
11080// NativeContentPositionTargetingOptionDetails: Represents a targetable
11081// native content position. This will be populated in the
11082// native_content_position_details field when targeting_type is
11083// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.
11084type NativeContentPositionTargetingOptionDetails struct {
11085	// ContentPosition: Output only. The content position.
11086	//
11087	// Possible values:
11088	//   "NATIVE_CONTENT_POSITION_UNSPECIFIED" - Native content position is
11089	// not specified in this version. This enum is a place holder for a
11090	// default value and does not represent a real native content position.
11091	//   "NATIVE_CONTENT_POSITION_UNKNOWN" - The native content position is
11092	// unknown.
11093	//   "NATIVE_CONTENT_POSITION_IN_ARTICLE" - Native content position is
11094	// in-article, i.e., ads appear between the paragraphs of pages.
11095	//   "NATIVE_CONTENT_POSITION_IN_FEED" - Native content position is
11096	// in-feed, i.e., ads appear in a scrollable stream of content. A feed
11097	// is typically editorial (e.g. a list of articles or news) or listings
11098	// (e.g. a list of products or services).
11099	//   "NATIVE_CONTENT_POSITION_PERIPHERAL" - Native content position is
11100	// peripheral, i.e., ads appear outside of core content on pages, such
11101	// as the right- or left-hand side of the page.
11102	//   "NATIVE_CONTENT_POSITION_RECOMMENDATION" - Native content position
11103	// is recommendation, i.e., ads appear in sections for recommended
11104	// content.
11105	ContentPosition string `json:"contentPosition,omitempty"`
11106
11107	// ForceSendFields is a list of field names (e.g. "ContentPosition") to
11108	// unconditionally include in API requests. By default, fields with
11109	// empty or default values are omitted from API requests. However, any
11110	// non-pointer, non-interface field appearing in ForceSendFields will be
11111	// sent to the server regardless of whether the field is empty or not.
11112	// This may be used to include empty fields in Patch requests.
11113	ForceSendFields []string `json:"-"`
11114
11115	// NullFields is a list of field names (e.g. "ContentPosition") to
11116	// include in API requests with the JSON null value. By default, fields
11117	// with empty values are omitted from API requests. However, any field
11118	// with an empty value appearing in NullFields will be sent to the
11119	// server as null. It is an error if a field in this list has a
11120	// non-empty value. This may be used to include null fields in Patch
11121	// requests.
11122	NullFields []string `json:"-"`
11123}
11124
11125func (s *NativeContentPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11126	type NoMethod NativeContentPositionTargetingOptionDetails
11127	raw := NoMethod(*s)
11128	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11129}
11130
11131// NegativeKeyword: A negatively targeted keyword that belongs to a
11132// negative keyword list.
11133type NegativeKeyword struct {
11134	// KeywordValue: Required. Immutable. The negatively targeted keyword,
11135	// for example `car insurance`. Must be UTF-8 encoded with a maximum
11136	// size of 255 bytes. Maximum number of characters is 80. Maximum number
11137	// of words is 10. Valid characters are restricted to ASCII characters
11138	// only. The only URL-escaping permitted is for representing whitespace
11139	// between words. Leading or trailing whitespace is ignored.
11140	KeywordValue string `json:"keywordValue,omitempty"`
11141
11142	// Name: Output only. The resource name of the negative keyword.
11143	Name string `json:"name,omitempty"`
11144
11145	// ServerResponse contains the HTTP response code and headers from the
11146	// server.
11147	googleapi.ServerResponse `json:"-"`
11148
11149	// ForceSendFields is a list of field names (e.g. "KeywordValue") to
11150	// unconditionally include in API requests. By default, fields with
11151	// empty or default values are omitted from API requests. However, any
11152	// non-pointer, non-interface field appearing in ForceSendFields will be
11153	// sent to the server regardless of whether the field is empty or not.
11154	// This may be used to include empty fields in Patch requests.
11155	ForceSendFields []string `json:"-"`
11156
11157	// NullFields is a list of field names (e.g. "KeywordValue") to include
11158	// in API requests with the JSON null value. By default, fields with
11159	// empty values are omitted from API requests. However, any field with
11160	// an empty value appearing in NullFields will be sent to the server as
11161	// null. It is an error if a field in this list has a non-empty value.
11162	// This may be used to include null fields in Patch requests.
11163	NullFields []string `json:"-"`
11164}
11165
11166func (s *NegativeKeyword) MarshalJSON() ([]byte, error) {
11167	type NoMethod NegativeKeyword
11168	raw := NoMethod(*s)
11169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11170}
11171
11172// NegativeKeywordList: A list of negative keywords used for targeting.
11173type NegativeKeywordList struct {
11174	// AdvertiserId: Output only. The unique ID of the advertiser the
11175	// negative keyword list belongs to.
11176	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11177
11178	// DisplayName: Required. The display name of the negative keyword list.
11179	// Must be UTF-8 encoded with a maximum size of 255 bytes.
11180	DisplayName string `json:"displayName,omitempty"`
11181
11182	// Name: Output only. The resource name of the negative keyword list.
11183	Name string `json:"name,omitempty"`
11184
11185	// NegativeKeywordListId: Output only. The unique ID of the negative
11186	// keyword list. Assigned by the system.
11187	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
11188
11189	// TargetedLineItemCount: Output only. Number of line items that are
11190	// directly targeting this negative keyword list.
11191	TargetedLineItemCount int64 `json:"targetedLineItemCount,omitempty,string"`
11192
11193	// ServerResponse contains the HTTP response code and headers from the
11194	// server.
11195	googleapi.ServerResponse `json:"-"`
11196
11197	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
11198	// unconditionally include in API requests. By default, fields with
11199	// empty or default values are omitted from API requests. However, any
11200	// non-pointer, non-interface field appearing in ForceSendFields will be
11201	// sent to the server regardless of whether the field is empty or not.
11202	// This may be used to include empty fields in Patch requests.
11203	ForceSendFields []string `json:"-"`
11204
11205	// NullFields is a list of field names (e.g. "AdvertiserId") to include
11206	// in API requests with the JSON null value. By default, fields with
11207	// empty values are omitted from API requests. However, any field with
11208	// an empty value appearing in NullFields will be sent to the server as
11209	// null. It is an error if a field in this list has a non-empty value.
11210	// This may be used to include null fields in Patch requests.
11211	NullFields []string `json:"-"`
11212}
11213
11214func (s *NegativeKeywordList) MarshalJSON() ([]byte, error) {
11215	type NoMethod NegativeKeywordList
11216	raw := NoMethod(*s)
11217	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11218}
11219
11220// NegativeKeywordListAssignedTargetingOptionDetails: Targeting details
11221// for negative keyword list. This will be populated in the details
11222// field of an AssignedTargetingOption when targeting_type is
11223// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
11224type NegativeKeywordListAssignedTargetingOptionDetails struct {
11225	// NegativeKeywordListId: Required. ID of the negative keyword list.
11226	// Should refer to the negative_keyword_list_id field of a
11227	// NegativeKeywordList resource.
11228	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
11229
11230	// ForceSendFields is a list of field names (e.g.
11231	// "NegativeKeywordListId") to unconditionally include in API requests.
11232	// By default, fields with empty or default values are omitted from API
11233	// requests. However, any non-pointer, non-interface field appearing in
11234	// ForceSendFields will be sent to the server regardless of whether the
11235	// field is empty or not. This may be used to include empty fields in
11236	// Patch requests.
11237	ForceSendFields []string `json:"-"`
11238
11239	// NullFields is a list of field names (e.g. "NegativeKeywordListId") to
11240	// include in API requests with the JSON null value. By default, fields
11241	// with empty values are omitted from API requests. However, any field
11242	// with an empty value appearing in NullFields will be sent to the
11243	// server as null. It is an error if a field in this list has a
11244	// non-empty value. This may be used to include null fields in Patch
11245	// requests.
11246	NullFields []string `json:"-"`
11247}
11248
11249func (s *NegativeKeywordListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11250	type NoMethod NegativeKeywordListAssignedTargetingOptionDetails
11251	raw := NoMethod(*s)
11252	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11253}
11254
11255// ObaIcon: OBA Icon for a Creative
11256type ObaIcon struct {
11257	// ClickTrackingUrl: Required. The click tracking URL of the OBA icon.
11258	// Only URLs of the following domains are allowed: *
11259	// https://info.evidon.com * https://l.betrad.com
11260	ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"`
11261
11262	// Dimensions: The dimensions of the OBA icon.
11263	Dimensions *Dimensions `json:"dimensions,omitempty"`
11264
11265	// LandingPageUrl: Required. The landing page URL of the OBA icon. Only
11266	// URLs of the following domains are allowed: * https://info.evidon.com
11267	// * https://l.betrad.com
11268	LandingPageUrl string `json:"landingPageUrl,omitempty"`
11269
11270	// Position: The position of the OBA icon on the creative.
11271	//
11272	// Possible values:
11273	//   "OBA_ICON_POSITION_UNSPECIFIED" - The OBA icon position is not
11274	// specified.
11275	//   "OBA_ICON_POSITION_UPPER_RIGHT" - At the upper right side of the
11276	// creative.
11277	//   "OBA_ICON_POSITION_UPPER_LEFT" - At the upper left side of the
11278	// creative.
11279	//   "OBA_ICON_POSITION_LOWER_RIGHT" - At the lower right side of the
11280	// creative.
11281	//   "OBA_ICON_POSITION_LOWER_LEFT" - At the lower left side of the
11282	// creative.
11283	Position string `json:"position,omitempty"`
11284
11285	// Program: The program of the OBA icon. For example: “AdChoices”.
11286	Program string `json:"program,omitempty"`
11287
11288	// ResourceMimeType: The MIME type of the OBA icon resource.
11289	ResourceMimeType string `json:"resourceMimeType,omitempty"`
11290
11291	// ResourceUrl: The URL of the OBA icon resource.
11292	ResourceUrl string `json:"resourceUrl,omitempty"`
11293
11294	// ViewTrackingUrl: Required. The view tracking URL of the OBA icon.
11295	// Only URLs of the following domains are allowed: *
11296	// https://info.evidon.com * https://l.betrad.com
11297	ViewTrackingUrl string `json:"viewTrackingUrl,omitempty"`
11298
11299	// ForceSendFields is a list of field names (e.g. "ClickTrackingUrl") to
11300	// unconditionally include in API requests. By default, fields with
11301	// empty or default values are omitted from API requests. However, any
11302	// non-pointer, non-interface field appearing in ForceSendFields will be
11303	// sent to the server regardless of whether the field is empty or not.
11304	// This may be used to include empty fields in Patch requests.
11305	ForceSendFields []string `json:"-"`
11306
11307	// NullFields is a list of field names (e.g. "ClickTrackingUrl") to
11308	// include in API requests with the JSON null value. By default, fields
11309	// with empty values are omitted from API requests. However, any field
11310	// with an empty value appearing in NullFields will be sent to the
11311	// server as null. It is an error if a field in this list has a
11312	// non-empty value. This may be used to include null fields in Patch
11313	// requests.
11314	NullFields []string `json:"-"`
11315}
11316
11317func (s *ObaIcon) MarshalJSON() ([]byte, error) {
11318	type NoMethod ObaIcon
11319	raw := NoMethod(*s)
11320	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11321}
11322
11323// OmidAssignedTargetingOptionDetails: Represents a targetable Open
11324// Measurement enabled inventory type. This will be populated in the
11325// details field of an AssignedTargetingOption when targeting_type is
11326// `TARGETING_TYPE_OMID`.
11327type OmidAssignedTargetingOptionDetails struct {
11328	// Omid: Output only. The type of Open Measurement enabled inventory.
11329	//
11330	// Possible values:
11331	//   "OMID_UNSPECIFIED" - Default value when omid targeting is not
11332	// specified in this version.
11333	//   "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile
11334	// display inventory.
11335	Omid string `json:"omid,omitempty"`
11336
11337	// TargetingOptionId: Required. The targeting_option_id of a
11338	// TargetingOption of type `TARGETING_TYPE_OMID`.
11339	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11340
11341	// ForceSendFields is a list of field names (e.g. "Omid") to
11342	// unconditionally include in API requests. By default, fields with
11343	// empty or default values are omitted from API requests. However, any
11344	// non-pointer, non-interface field appearing in ForceSendFields will be
11345	// sent to the server regardless of whether the field is empty or not.
11346	// This may be used to include empty fields in Patch requests.
11347	ForceSendFields []string `json:"-"`
11348
11349	// NullFields is a list of field names (e.g. "Omid") to include in API
11350	// requests with the JSON null value. By default, fields with empty
11351	// values are omitted from API requests. However, any field with an
11352	// empty value appearing in NullFields will be sent to the server as
11353	// null. It is an error if a field in this list has a non-empty value.
11354	// This may be used to include null fields in Patch requests.
11355	NullFields []string `json:"-"`
11356}
11357
11358func (s *OmidAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11359	type NoMethod OmidAssignedTargetingOptionDetails
11360	raw := NoMethod(*s)
11361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11362}
11363
11364// OmidTargetingOptionDetails: Represents a targetable Open Measurement
11365// enabled inventory type. This will be populated in the omid_details
11366// field when targeting_type is `TARGETING_TYPE_OMID`.
11367type OmidTargetingOptionDetails struct {
11368	// Omid: Output only. The type of Open Measurement enabled inventory.
11369	//
11370	// Possible values:
11371	//   "OMID_UNSPECIFIED" - Default value when omid targeting is not
11372	// specified in this version.
11373	//   "OMID_FOR_MOBILE_DISPLAY_ADS" - Open Measurement enabled mobile
11374	// display inventory.
11375	Omid string `json:"omid,omitempty"`
11376
11377	// ForceSendFields is a list of field names (e.g. "Omid") to
11378	// unconditionally include in API requests. By default, fields with
11379	// empty or default values are omitted from API requests. However, any
11380	// non-pointer, non-interface field appearing in ForceSendFields will be
11381	// sent to the server regardless of whether the field is empty or not.
11382	// This may be used to include empty fields in Patch requests.
11383	ForceSendFields []string `json:"-"`
11384
11385	// NullFields is a list of field names (e.g. "Omid") to include in API
11386	// requests with the JSON null value. By default, fields with empty
11387	// values are omitted from API requests. However, any field with an
11388	// empty value appearing in NullFields will be sent to the server as
11389	// null. It is an error if a field in this list has a non-empty value.
11390	// This may be used to include null fields in Patch requests.
11391	NullFields []string `json:"-"`
11392}
11393
11394func (s *OmidTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11395	type NoMethod OmidTargetingOptionDetails
11396	raw := NoMethod(*s)
11397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11398}
11399
11400// OnScreenPositionAssignedTargetingOptionDetails: On screen position
11401// targeting option details. This will be populated in the
11402// on_screen_position_details field when targeting_type is
11403// `TARGETING_TYPE_ON_SCREEN_POSITION`.
11404type OnScreenPositionAssignedTargetingOptionDetails struct {
11405	// AdType: Output only. The ad type to target. Only applicable to
11406	// insertion order targeting and new line items supporting the specified
11407	// ad type will inherit this targeting option by default. Possible
11408	// values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new
11409	// line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. *
11410	// `AD_TYPE_VIDEO`, the setting will be inherited by new line item when
11411	// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
11412	//
11413	// Possible values:
11414	//   "AD_TYPE_UNSPECIFIED" - Ad type is not specified or is unknown in
11415	// this version.
11416	//   "AD_TYPE_DISPLAY" - Display creatives, e.g. image and HTML5.
11417	//   "AD_TYPE_VIDEO" - Video creatives, e.g. video ads that play during
11418	// streaming content in video players.
11419	//   "AD_TYPE_AUDIO" - Audio creatives, e.g. audio ads that play during
11420	// audio content.
11421	AdType string `json:"adType,omitempty"`
11422
11423	// OnScreenPosition: Output only. The on screen position.
11424	//
11425	// Possible values:
11426	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not
11427	// specified in this version. This enum is a place holder for a default
11428	// value and does not represent a real on screen position.
11429	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the
11430	// screen.
11431	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the
11432	// fold.
11433	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the
11434	// fold.
11435	OnScreenPosition string `json:"onScreenPosition,omitempty"`
11436
11437	// TargetingOptionId: Required. The targeting_option_id field when
11438	// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
11439	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11440
11441	// ForceSendFields is a list of field names (e.g. "AdType") to
11442	// unconditionally include in API requests. By default, fields with
11443	// empty or default values are omitted from API requests. However, any
11444	// non-pointer, non-interface field appearing in ForceSendFields will be
11445	// sent to the server regardless of whether the field is empty or not.
11446	// This may be used to include empty fields in Patch requests.
11447	ForceSendFields []string `json:"-"`
11448
11449	// NullFields is a list of field names (e.g. "AdType") to include in API
11450	// requests with the JSON null value. By default, fields with empty
11451	// values are omitted from API requests. However, any field with an
11452	// empty value appearing in NullFields will be sent to the server as
11453	// null. It is an error if a field in this list has a non-empty value.
11454	// This may be used to include null fields in Patch requests.
11455	NullFields []string `json:"-"`
11456}
11457
11458func (s *OnScreenPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11459	type NoMethod OnScreenPositionAssignedTargetingOptionDetails
11460	raw := NoMethod(*s)
11461	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11462}
11463
11464// OnScreenPositionTargetingOptionDetails: Represents a targetable on
11465// screen position, which could be used by display and video ads. This
11466// will be populated in the on_screen_position_details field when
11467// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
11468type OnScreenPositionTargetingOptionDetails struct {
11469	// OnScreenPosition: Output only. The on screen position.
11470	//
11471	// Possible values:
11472	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not
11473	// specified in this version. This enum is a place holder for a default
11474	// value and does not represent a real on screen position.
11475	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the
11476	// screen.
11477	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the
11478	// fold.
11479	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the
11480	// fold.
11481	OnScreenPosition string `json:"onScreenPosition,omitempty"`
11482
11483	// ForceSendFields is a list of field names (e.g. "OnScreenPosition") to
11484	// unconditionally include in API requests. By default, fields with
11485	// empty or default values are omitted from API requests. However, any
11486	// non-pointer, non-interface field appearing in ForceSendFields will be
11487	// sent to the server regardless of whether the field is empty or not.
11488	// This may be used to include empty fields in Patch requests.
11489	ForceSendFields []string `json:"-"`
11490
11491	// NullFields is a list of field names (e.g. "OnScreenPosition") to
11492	// include in API requests with the JSON null value. By default, fields
11493	// with empty values are omitted from API requests. However, any field
11494	// with an empty value appearing in NullFields will be sent to the
11495	// server as null. It is an error if a field in this list has a
11496	// non-empty value. This may be used to include null fields in Patch
11497	// requests.
11498	NullFields []string `json:"-"`
11499}
11500
11501func (s *OnScreenPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11502	type NoMethod OnScreenPositionTargetingOptionDetails
11503	raw := NoMethod(*s)
11504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11505}
11506
11507// OperatingSystemAssignedTargetingOptionDetails: Assigned operating
11508// system targeting option details. This will be populated in the
11509// operating_system_details field when targeting_type is
11510// `TARGETING_TYPE_OPERATING_SYSTEM`.
11511type OperatingSystemAssignedTargetingOptionDetails struct {
11512	// DisplayName: Output only. The display name of the operating system.
11513	DisplayName string `json:"displayName,omitempty"`
11514
11515	// Negative: Indicates if this option is being negatively targeted.
11516	Negative bool `json:"negative,omitempty"`
11517
11518	// TargetingOptionId: Required. The targeting option ID populated in
11519	// targeting_option_id field when targeting_type is
11520	// `TARGETING_TYPE_OPERATING_SYSTEM`.
11521	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11522
11523	// ForceSendFields is a list of field names (e.g. "DisplayName") to
11524	// unconditionally include in API requests. By default, fields with
11525	// empty or default values are omitted from API requests. However, any
11526	// non-pointer, non-interface field appearing in ForceSendFields will be
11527	// sent to the server regardless of whether the field is empty or not.
11528	// This may be used to include empty fields in Patch requests.
11529	ForceSendFields []string `json:"-"`
11530
11531	// NullFields is a list of field names (e.g. "DisplayName") to include
11532	// in API requests with the JSON null value. By default, fields with
11533	// empty values are omitted from API requests. However, any field with
11534	// an empty value appearing in NullFields will be sent to the server as
11535	// null. It is an error if a field in this list has a non-empty value.
11536	// This may be used to include null fields in Patch requests.
11537	NullFields []string `json:"-"`
11538}
11539
11540func (s *OperatingSystemAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11541	type NoMethod OperatingSystemAssignedTargetingOptionDetails
11542	raw := NoMethod(*s)
11543	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11544}
11545
11546// OperatingSystemTargetingOptionDetails: Represents a targetable
11547// operating system. This will be populated in the
11548// operating_system_details field of a TargetingOption when
11549// targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
11550type OperatingSystemTargetingOptionDetails struct {
11551	// DisplayName: Output only. The display name of the operating system.
11552	DisplayName string `json:"displayName,omitempty"`
11553
11554	// ForceSendFields is a list of field names (e.g. "DisplayName") to
11555	// unconditionally include in API requests. By default, fields with
11556	// empty or default values are omitted from API requests. However, any
11557	// non-pointer, non-interface field appearing in ForceSendFields will be
11558	// sent to the server regardless of whether the field is empty or not.
11559	// This may be used to include empty fields in Patch requests.
11560	ForceSendFields []string `json:"-"`
11561
11562	// NullFields is a list of field names (e.g. "DisplayName") to include
11563	// in API requests with the JSON null value. By default, fields with
11564	// empty values are omitted from API requests. However, any field with
11565	// an empty value appearing in NullFields will be sent to the server as
11566	// null. It is an error if a field in this list has a non-empty value.
11567	// This may be used to include null fields in Patch requests.
11568	NullFields []string `json:"-"`
11569}
11570
11571func (s *OperatingSystemTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11572	type NoMethod OperatingSystemTargetingOptionDetails
11573	raw := NoMethod(*s)
11574	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11575}
11576
11577// Operation: This resource represents a long-running operation that is
11578// the result of a network API call.
11579type Operation struct {
11580	// Done: If the value is `false`, it means the operation is still in
11581	// progress. If `true`, the operation is completed, and either `error`
11582	// or `response` is available.
11583	Done bool `json:"done,omitempty"`
11584
11585	// Error: The error result of the operation in case of failure or
11586	// cancellation.
11587	Error *Status `json:"error,omitempty"`
11588
11589	// Metadata: Service-specific metadata associated with the operation. It
11590	// typically contains progress information and common metadata such as
11591	// create time. Some services might not provide such metadata. Any
11592	// method that returns a long-running operation should document the
11593	// metadata type, if any.
11594	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
11595
11596	// Name: The server-assigned name, which is only unique within the same
11597	// service that originally returns it. If you use the default HTTP
11598	// mapping, the `name` should be a resource name ending with
11599	// `operations/{unique_id}`.
11600	Name string `json:"name,omitempty"`
11601
11602	// Response: The normal response of the operation in case of success. If
11603	// the original method returns no data on success, such as `Delete`, the
11604	// response is `google.protobuf.Empty`. If the original method is
11605	// standard `Get`/`Create`/`Update`, the response should be the
11606	// resource. For other methods, the response should have the type
11607	// `XxxResponse`, where `Xxx` is the original method name. For example,
11608	// if the original method name is `TakeSnapshot()`, the inferred
11609	// response type is `TakeSnapshotResponse`.
11610	Response googleapi.RawMessage `json:"response,omitempty"`
11611
11612	// ServerResponse contains the HTTP response code and headers from the
11613	// server.
11614	googleapi.ServerResponse `json:"-"`
11615
11616	// ForceSendFields is a list of field names (e.g. "Done") to
11617	// unconditionally include in API requests. By default, fields with
11618	// empty or default values are omitted from API requests. However, any
11619	// non-pointer, non-interface field appearing in ForceSendFields will be
11620	// sent to the server regardless of whether the field is empty or not.
11621	// This may be used to include empty fields in Patch requests.
11622	ForceSendFields []string `json:"-"`
11623
11624	// NullFields is a list of field names (e.g. "Done") to include in API
11625	// requests with the JSON null value. By default, fields with empty
11626	// values are omitted from API requests. However, any field with an
11627	// empty value appearing in NullFields will be sent to the server as
11628	// null. It is an error if a field in this list has a non-empty value.
11629	// This may be used to include null fields in Patch requests.
11630	NullFields []string `json:"-"`
11631}
11632
11633func (s *Operation) MarshalJSON() ([]byte, error) {
11634	type NoMethod Operation
11635	raw := NoMethod(*s)
11636	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11637}
11638
11639// Pacing: Settings that control the rate at which a budget is spent.
11640type Pacing struct {
11641	// DailyMaxImpressions: Maximum number of impressions to serve every
11642	// day. Applicable when the budget is impression based. Must be greater
11643	// than 0.
11644	DailyMaxImpressions int64 `json:"dailyMaxImpressions,omitempty,string"`
11645
11646	// DailyMaxMicros: Maximum currency amount to spend every day in micros
11647	// of advertiser's currency. Applicable when the budget is currency
11648	// based. Must be greater than 0. For example, for 1.5 standard unit of
11649	// the currency, set this field to 1500000. The value assigned will be
11650	// rounded to whole billable units for the relevant currency by the
11651	// following rules: any positive value less than a single billable unit
11652	// will be rounded up to one billable unit and any value larger than a
11653	// single billable unit will be rounded down to the nearest billable
11654	// value. For example, if the currency's billable unit is 0.01, and this
11655	// field is set to 10257770, it will round down to 10250000, a value of
11656	// 10.25. If set to 505, it will round up to 10000, a value of 0.01.
11657	DailyMaxMicros int64 `json:"dailyMaxMicros,omitempty,string"`
11658
11659	// PacingPeriod: Required. The time period in which the pacing budget
11660	// will be spent. When automatic budget allocation is enabled at the
11661	// insertion order via auto_budget_allocation, this field is output only
11662	// and defaults to `PACING_PERIOD_FLIGHT`.
11663	//
11664	// Possible values:
11665	//   "PACING_PERIOD_UNSPECIFIED" - Period value is not specified or is
11666	// unknown in this version.
11667	//   "PACING_PERIOD_DAILY" - The pacing setting will be applied on daily
11668	// basis.
11669	//   "PACING_PERIOD_FLIGHT" - The pacing setting will be applied to the
11670	// whole flight duration.
11671	PacingPeriod string `json:"pacingPeriod,omitempty"`
11672
11673	// PacingType: Required. The type of pacing that defines how the budget
11674	// amount will be spent across the pacing_period.
11675	//
11676	// Possible values:
11677	//   "PACING_TYPE_UNSPECIFIED" - Pacing mode value is not specified or
11678	// is unknown in this version.
11679	//   "PACING_TYPE_AHEAD" - Only applicable to `PACING_PERIOD_FLIGHT`
11680	// pacing period. Ahead pacing attempts to spend faster than evenly, to
11681	// make sure the entire budget is spent by the end of the flight.
11682	//   "PACING_TYPE_ASAP" - Spend all of pacing budget amount as quick as
11683	// possible.
11684	//   "PACING_TYPE_EVEN" - Spend a consistent budget amount every period
11685	// of time.
11686	PacingType string `json:"pacingType,omitempty"`
11687
11688	// ForceSendFields is a list of field names (e.g. "DailyMaxImpressions")
11689	// to unconditionally include in API requests. By default, fields with
11690	// empty or default values are omitted from API requests. However, any
11691	// non-pointer, non-interface field appearing in ForceSendFields will be
11692	// sent to the server regardless of whether the field is empty or not.
11693	// This may be used to include empty fields in Patch requests.
11694	ForceSendFields []string `json:"-"`
11695
11696	// NullFields is a list of field names (e.g. "DailyMaxImpressions") to
11697	// include in API requests with the JSON null value. By default, fields
11698	// with empty values are omitted from API requests. However, any field
11699	// with an empty value appearing in NullFields will be sent to the
11700	// server as null. It is an error if a field in this list has a
11701	// non-empty value. This may be used to include null fields in Patch
11702	// requests.
11703	NullFields []string `json:"-"`
11704}
11705
11706func (s *Pacing) MarshalJSON() ([]byte, error) {
11707	type NoMethod Pacing
11708	raw := NoMethod(*s)
11709	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11710}
11711
11712// ParentEntityFilter: A filtering option that filters on selected file
11713// types belonging to a chosen set of filter entities.
11714type ParentEntityFilter struct {
11715	// FileType: Required. File types that will be returned.
11716	//
11717	// Possible values:
11718	//   "FILE_TYPE_UNSPECIFIED" - Default value when type is unspecified or
11719	// is unknown in this version.
11720	//   "FILE_TYPE_CAMPAIGN" - Campaign.
11721	//   "FILE_TYPE_MEDIA_PRODUCT" - Media Product.
11722	//   "FILE_TYPE_INSERTION_ORDER" - Insertion Order.
11723	//   "FILE_TYPE_LINE_ITEM" - Line Item.
11724	//   "FILE_TYPE_AD_GROUP" - YouTube Ad Group.
11725	//   "FILE_TYPE_AD" - YouTube Ad.
11726	FileType []string `json:"fileType,omitempty"`
11727
11728	// FilterIds: The IDs of the specified filter type. This is used to
11729	// filter entities to fetch. If filter type is not `FILTER_TYPE_NONE`,
11730	// at least one ID must be specified.
11731	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
11732
11733	// FilterType: Required. Filter type used to filter fetched entities.
11734	//
11735	// Possible values:
11736	//   "FILTER_TYPE_UNSPECIFIED" - Default value when type is unspecified
11737	// or is unknown in this version.
11738	//   "FILTER_TYPE_NONE" - If selected, no filter will be applied to the
11739	// download. Can only be used if an Advertiser is specified in
11740	// CreateSdfDownloadTaskRequest.
11741	//   "FILTER_TYPE_ADVERTISER_ID" - Advertiser ID. If selected, all
11742	// filter IDs must be Advertiser IDs that belong to the Partner
11743	// specified in CreateSdfDownloadTaskRequest.
11744	//   "FILTER_TYPE_CAMPAIGN_ID" - Campaign ID. If selected, all filter
11745	// IDs must be Campaign IDs that belong to the Advertiser or Partner
11746	// specified in CreateSdfDownloadTaskRequest.
11747	//   "FILTER_TYPE_MEDIA_PRODUCT_ID" - Media Product ID. If selected, all
11748	// filter IDs must be Media Product IDs that belong to the Advertiser or
11749	// Partner specified in CreateSdfDownloadTaskRequest. Can only be used
11750	// for downloading `FILE_TYPE_MEDIA_PRODUCT`.
11751	//   "FILTER_TYPE_INSERTION_ORDER_ID" - Insertion Order ID. If selected,
11752	// all filter IDs must be Insertion Order IDs that belong to the
11753	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can
11754	// only be used for downloading `FILE_TYPE_INSERTION_ORDER`,
11755	// `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.
11756	//   "FILTER_TYPE_LINE_ITEM_ID" - Line Item ID. If selected, all filter
11757	// IDs must be Line Item IDs that belong to the Advertiser or Partner
11758	// specified in CreateSdfDownloadTaskRequest. Can only be used for
11759	// downloading `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and
11760	// `FILE_TYPE_AD`.
11761	FilterType string `json:"filterType,omitempty"`
11762
11763	// ForceSendFields is a list of field names (e.g. "FileType") to
11764	// unconditionally include in API requests. By default, fields with
11765	// empty or default values are omitted from API requests. However, any
11766	// non-pointer, non-interface field appearing in ForceSendFields will be
11767	// sent to the server regardless of whether the field is empty or not.
11768	// This may be used to include empty fields in Patch requests.
11769	ForceSendFields []string `json:"-"`
11770
11771	// NullFields is a list of field names (e.g. "FileType") to include in
11772	// API requests with the JSON null value. By default, fields with empty
11773	// values are omitted from API requests. However, any field with an
11774	// empty value appearing in NullFields will be sent to the server as
11775	// null. It is an error if a field in this list has a non-empty value.
11776	// This may be used to include null fields in Patch requests.
11777	NullFields []string `json:"-"`
11778}
11779
11780func (s *ParentEntityFilter) MarshalJSON() ([]byte, error) {
11781	type NoMethod ParentEntityFilter
11782	raw := NoMethod(*s)
11783	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11784}
11785
11786// ParentalStatusAssignedTargetingOptionDetails: Details for assigned
11787// parental status targeting option. This will be populated in the
11788// details field of an AssignedTargetingOption when targeting_type is
11789// `TARTGETING_TYPE_PARENTAL_STATUS`.
11790type ParentalStatusAssignedTargetingOptionDetails struct {
11791	// ParentalStatus: Output only. The parental status of the audience.
11792	//
11793	// Possible values:
11794	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status
11795	// is not specified in this version. This enum is a place holder for
11796	// default value and does not represent a real parental status option.
11797	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
11798	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
11799	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
11800	// unknown.
11801	ParentalStatus string `json:"parentalStatus,omitempty"`
11802
11803	// TargetingOptionId: Required. The targeting_option_id of a
11804	// TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
11805	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11806
11807	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
11808	// unconditionally include in API requests. By default, fields with
11809	// empty or default values are omitted from API requests. However, any
11810	// non-pointer, non-interface field appearing in ForceSendFields will be
11811	// sent to the server regardless of whether the field is empty or not.
11812	// This may be used to include empty fields in Patch requests.
11813	ForceSendFields []string `json:"-"`
11814
11815	// NullFields is a list of field names (e.g. "ParentalStatus") to
11816	// include in API requests with the JSON null value. By default, fields
11817	// with empty values are omitted from API requests. However, any field
11818	// with an empty value appearing in NullFields will be sent to the
11819	// server as null. It is an error if a field in this list has a
11820	// non-empty value. This may be used to include null fields in Patch
11821	// requests.
11822	NullFields []string `json:"-"`
11823}
11824
11825func (s *ParentalStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11826	type NoMethod ParentalStatusAssignedTargetingOptionDetails
11827	raw := NoMethod(*s)
11828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11829}
11830
11831// ParentalStatusTargetingOptionDetails: Represents a targetable
11832// parental status. This will be populated in the
11833// parental_status_details field of a TargetingOption when
11834// targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
11835type ParentalStatusTargetingOptionDetails struct {
11836	// ParentalStatus: Output only. The parental status of an audience.
11837	//
11838	// Possible values:
11839	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status
11840	// is not specified in this version. This enum is a place holder for
11841	// default value and does not represent a real parental status option.
11842	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
11843	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
11844	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
11845	// unknown.
11846	ParentalStatus string `json:"parentalStatus,omitempty"`
11847
11848	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
11849	// unconditionally include in API requests. By default, fields with
11850	// empty or default values are omitted from API requests. However, any
11851	// non-pointer, non-interface field appearing in ForceSendFields will be
11852	// sent to the server regardless of whether the field is empty or not.
11853	// This may be used to include empty fields in Patch requests.
11854	ForceSendFields []string `json:"-"`
11855
11856	// NullFields is a list of field names (e.g. "ParentalStatus") to
11857	// include in API requests with the JSON null value. By default, fields
11858	// with empty values are omitted from API requests. However, any field
11859	// with an empty value appearing in NullFields will be sent to the
11860	// server as null. It is an error if a field in this list has a
11861	// non-empty value. This may be used to include null fields in Patch
11862	// requests.
11863	NullFields []string `json:"-"`
11864}
11865
11866func (s *ParentalStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11867	type NoMethod ParentalStatusTargetingOptionDetails
11868	raw := NoMethod(*s)
11869	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11870}
11871
11872// Partner: A single partner in Display & Video 360 (DV360).
11873type Partner struct {
11874	// AdServerConfig: Ad server related settings of the partner.
11875	AdServerConfig *PartnerAdServerConfig `json:"adServerConfig,omitempty"`
11876
11877	// DataAccessConfig: Settings that control how partner data may be
11878	// accessed.
11879	DataAccessConfig *PartnerDataAccessConfig `json:"dataAccessConfig,omitempty"`
11880
11881	// DisplayName: The display name of the partner. Must be UTF-8 encoded
11882	// with a maximum size of 240 bytes.
11883	DisplayName string `json:"displayName,omitempty"`
11884
11885	// EntityStatus: Output only. The status of the partner.
11886	//
11887	// Possible values:
11888	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
11889	// specified or is unknown in this version.
11890	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
11891	// budget.
11892	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
11893	// budget spending are disabled. An entity can be deleted after
11894	// archived. Deleted entities cannot be retrieved.
11895	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
11896	// budget spending are disabled.
11897	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
11898	// the entity.
11899	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
11900	// for deletion.
11901	EntityStatus string `json:"entityStatus,omitempty"`
11902
11903	// ExchangeConfig: Settings that control which exchanges are enabled for
11904	// the partner.
11905	ExchangeConfig *ExchangeConfig `json:"exchangeConfig,omitempty"`
11906
11907	// GeneralConfig: General settings of the partner.
11908	GeneralConfig *PartnerGeneralConfig `json:"generalConfig,omitempty"`
11909
11910	// Name: Output only. The resource name of the partner.
11911	Name string `json:"name,omitempty"`
11912
11913	// PartnerId: Output only. The unique ID of the partner. Assigned by the
11914	// system.
11915	PartnerId int64 `json:"partnerId,omitempty,string"`
11916
11917	// UpdateTime: Output only. The timestamp when the partner was last
11918	// updated. Assigned by the system.
11919	UpdateTime string `json:"updateTime,omitempty"`
11920
11921	// ServerResponse contains the HTTP response code and headers from the
11922	// server.
11923	googleapi.ServerResponse `json:"-"`
11924
11925	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
11926	// unconditionally include in API requests. By default, fields with
11927	// empty or default values are omitted from API requests. However, any
11928	// non-pointer, non-interface field appearing in ForceSendFields will be
11929	// sent to the server regardless of whether the field is empty or not.
11930	// This may be used to include empty fields in Patch requests.
11931	ForceSendFields []string `json:"-"`
11932
11933	// NullFields is a list of field names (e.g. "AdServerConfig") to
11934	// include in API requests with the JSON null value. By default, fields
11935	// with empty values are omitted from API requests. However, any field
11936	// with an empty value appearing in NullFields will be sent to the
11937	// server as null. It is an error if a field in this list has a
11938	// non-empty value. This may be used to include null fields in Patch
11939	// requests.
11940	NullFields []string `json:"-"`
11941}
11942
11943func (s *Partner) MarshalJSON() ([]byte, error) {
11944	type NoMethod Partner
11945	raw := NoMethod(*s)
11946	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11947}
11948
11949// PartnerAdServerConfig: Ad server related settings of a partner.
11950type PartnerAdServerConfig struct {
11951	// MeasurementConfig: Measurement settings of a partner.
11952	MeasurementConfig *MeasurementConfig `json:"measurementConfig,omitempty"`
11953
11954	// ForceSendFields is a list of field names (e.g. "MeasurementConfig")
11955	// to unconditionally include in API requests. By default, fields with
11956	// empty or default values are omitted from API requests. However, any
11957	// non-pointer, non-interface field appearing in ForceSendFields will be
11958	// sent to the server regardless of whether the field is empty or not.
11959	// This may be used to include empty fields in Patch requests.
11960	ForceSendFields []string `json:"-"`
11961
11962	// NullFields is a list of field names (e.g. "MeasurementConfig") to
11963	// include in API requests with the JSON null value. By default, fields
11964	// with empty values are omitted from API requests. However, any field
11965	// with an empty value appearing in NullFields will be sent to the
11966	// server as null. It is an error if a field in this list has a
11967	// non-empty value. This may be used to include null fields in Patch
11968	// requests.
11969	NullFields []string `json:"-"`
11970}
11971
11972func (s *PartnerAdServerConfig) MarshalJSON() ([]byte, error) {
11973	type NoMethod PartnerAdServerConfig
11974	raw := NoMethod(*s)
11975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11976}
11977
11978// PartnerCost: Settings that control a partner cost. A partner cost is
11979// any type of expense involved in running a campaign, other than the
11980// costs of purchasing impressions (which is called the media cost) and
11981// using third-party audience segment data (data fee). Some examples of
11982// partner costs include the fees for using DV360, a third-party ad
11983// server, or a third-party ad serving verification service.
11984type PartnerCost struct {
11985	// CostType: Required. The type of the partner cost.
11986	//
11987	// Possible values:
11988	//   "PARTNER_COST_TYPE_UNSPECIFIED" - Type value is not specified or is
11989	// unknown in this version.
11990	//   "PARTNER_COST_TYPE_ADLOOX" - The cost is charged for using Adloox.
11991	//   "PARTNER_COST_TYPE_ADLOOX_PREBID" - The cost is charged for using
11992	// Adloox Pre-Bid.
11993	//   "PARTNER_COST_TYPE_ADSAFE" - The cost is charged for using AdSafe.
11994	//   "PARTNER_COST_TYPE_ADXPOSE" - The cost is charged for using
11995	// AdExpose.
11996	//   "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE" - The cost is charged for
11997	// using Aggregate Knowledge.
11998	//   "PARTNER_COST_TYPE_AGENCY_TRADING_DESK" - The cost is charged for
11999	// using an Agency Trading Desk.
12000	//   "PARTNER_COST_TYPE_DV360_FEE" - The cost is charged for using
12001	// DV360.
12002	//   "PARTNER_COST_TYPE_COMSCORE_VCE" - The cost is charged for using
12003	// comScore vCE.
12004	//   "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM" - The cost is charged
12005	// for using a Data Management Platform.
12006	//   "PARTNER_COST_TYPE_DEFAULT" - The default cost type.
12007	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY" - The cost is charged for using
12008	// DoubleVerify.
12009	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID" - The cost is charged for
12010	// using DoubleVerify Pre-Bid.
12011	//   "PARTNER_COST_TYPE_EVIDON" - The cost is charged for using Evidon.
12012	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO" - The cost is charged
12013	// for using Integral Ad Science Video.
12014	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID" - The cost is
12015	// charged for using Integral Ad Science Pre-Bid.
12016	//   "PARTNER_COST_TYPE_MEDIA_COST_DATA" - The cost is charged for using
12017	// media cost data.
12018	//   "PARTNER_COST_TYPE_MOAT_VIDEO" - The cost is charged for using MOAT
12019	// Video.
12020	//   "PARTNER_COST_TYPE_NIELSEN_DAR" - The cost is charged for using
12021	// Nielsen Digital Ad Ratings.
12022	//   "PARTNER_COST_TYPE_SHOP_LOCAL" - The cost is charged for using
12023	// ShopLocal.
12024	//   "PARTNER_COST_TYPE_TERACENT" - The cost is charged for using
12025	// Teracent.
12026	//   "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER" - The cost is charged for
12027	// using a third-party ad server.
12028	//   "PARTNER_COST_TYPE_TRUST_METRICS" - The cost is charged for using
12029	// TrustMetrics.
12030	//   "PARTNER_COST_TYPE_VIZU" - The cost is charged for using Vizu.
12031	//   "PARTNER_COST_TYPE_ADLINGO_FEE" - The cost is charged for using
12032	// AdLingo.
12033	//   "PARTNER_COST_TYPE_CUSTOM_FEE_1" - The cost is charged as custom
12034	// fee 1.
12035	//   "PARTNER_COST_TYPE_CUSTOM_FEE_2" - The cost is charged as custom
12036	// fee 2.
12037	//   "PARTNER_COST_TYPE_CUSTOM_FEE_3" - The cost is charged as custom
12038	// fee 3.
12039	//   "PARTNER_COST_TYPE_CUSTOM_FEE_4" - The cost is charged as custom
12040	// fee 4.
12041	//   "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom
12042	// fee 5.
12043	CostType string `json:"costType,omitempty"`
12044
12045	// FeeAmount: The CPM fee amount in micros of advertiser's currency.
12046	// Applicable when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be
12047	// greater than or equal to 0. For example, for 1.5 standard unit of the
12048	// advertiser's currency, set this field to 1500000.
12049	FeeAmount int64 `json:"feeAmount,omitempty,string"`
12050
12051	// FeePercentageMillis: The media fee percentage in millis (1/1000 of a
12052	// percent). Applicable when the fee_type is
12053	// `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0. For
12054	// example: 100 represents 0.1%.
12055	FeePercentageMillis int64 `json:"feePercentageMillis,omitempty,string"`
12056
12057	// FeeType: Required. The fee type for this partner cost.
12058	//
12059	// Possible values:
12060	//   "PARTNER_COST_FEE_TYPE_UNSPECIFIED" - Value is not specified or is
12061	// unknown in this version.
12062	//   "PARTNER_COST_FEE_TYPE_CPM_FEE" - The partner cost is a fixed CPM
12063	// fee. Not applicable when the partner cost cost_type is one of: *
12064	// `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.
12065	//   "PARTNER_COST_FEE_TYPE_MEDIA_FEE" - The partner cost is a
12066	// percentage surcharge based on the media cost. Not applicable when the
12067	// partner cost_type is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` *
12068	// `PARTNER_COST_TYPE_TRUST_METRICS` *
12069	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` *
12070	// `PARTNER_COST_TYPE_MOAT_VIDEO`.
12071	FeeType string `json:"feeType,omitempty"`
12072
12073	// InvoiceType: The invoice type for this partner cost. * Required when
12074	// cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` -
12075	// `PARTNER_COST_TYPE_DOUBLE_VERIFY` -
12076	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other
12077	// types.
12078	//
12079	// Possible values:
12080	//   "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED" - Type value is not
12081	// specified or is unknown in this version.
12082	//   "PARTNER_COST_INVOICE_TYPE_DV360" - Partner cost is billed through
12083	// DV360.
12084	//   "PARTNER_COST_INVOICE_TYPE_PARTNER" - Partner cost is billed by the
12085	// partner.
12086	InvoiceType string `json:"invoiceType,omitempty"`
12087
12088	// ForceSendFields is a list of field names (e.g. "CostType") to
12089	// unconditionally include in API requests. By default, fields with
12090	// empty or default values are omitted from API requests. However, any
12091	// non-pointer, non-interface field appearing in ForceSendFields will be
12092	// sent to the server regardless of whether the field is empty or not.
12093	// This may be used to include empty fields in Patch requests.
12094	ForceSendFields []string `json:"-"`
12095
12096	// NullFields is a list of field names (e.g. "CostType") to include in
12097	// API requests with the JSON null value. By default, fields with empty
12098	// values are omitted from API requests. However, any field with an
12099	// empty value appearing in NullFields will be sent to the server as
12100	// null. It is an error if a field in this list has a non-empty value.
12101	// This may be used to include null fields in Patch requests.
12102	NullFields []string `json:"-"`
12103}
12104
12105func (s *PartnerCost) MarshalJSON() ([]byte, error) {
12106	type NoMethod PartnerCost
12107	raw := NoMethod(*s)
12108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12109}
12110
12111// PartnerDataAccessConfig: Settings that control how partner related
12112// data may be accessed.
12113type PartnerDataAccessConfig struct {
12114	// SdfConfig: Structured Data Files (SDF) settings for the partner. The
12115	// SDF configuration for the partner.
12116	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
12117
12118	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
12119	// unconditionally include in API requests. By default, fields with
12120	// empty or default values are omitted from API requests. However, any
12121	// non-pointer, non-interface field appearing in ForceSendFields will be
12122	// sent to the server regardless of whether the field is empty or not.
12123	// This may be used to include empty fields in Patch requests.
12124	ForceSendFields []string `json:"-"`
12125
12126	// NullFields is a list of field names (e.g. "SdfConfig") to include in
12127	// API requests with the JSON null value. By default, fields with empty
12128	// values are omitted from API requests. However, any field with an
12129	// empty value appearing in NullFields will be sent to the server as
12130	// null. It is an error if a field in this list has a non-empty value.
12131	// This may be used to include null fields in Patch requests.
12132	NullFields []string `json:"-"`
12133}
12134
12135func (s *PartnerDataAccessConfig) MarshalJSON() ([]byte, error) {
12136	type NoMethod PartnerDataAccessConfig
12137	raw := NoMethod(*s)
12138	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12139}
12140
12141// PartnerGeneralConfig: General settings of a partner.
12142type PartnerGeneralConfig struct {
12143	// CurrencyCode: Immutable. Partner's currency in ISO 4217 format.
12144	CurrencyCode string `json:"currencyCode,omitempty"`
12145
12146	// TimeZone: Immutable. The standard TZ database name of the partner's
12147	// time zone. For example, `America/New_York`. See more at:
12148	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
12149	TimeZone string `json:"timeZone,omitempty"`
12150
12151	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
12152	// unconditionally include in API requests. By default, fields with
12153	// empty or default values are omitted from API requests. However, any
12154	// non-pointer, non-interface field appearing in ForceSendFields will be
12155	// sent to the server regardless of whether the field is empty or not.
12156	// This may be used to include empty fields in Patch requests.
12157	ForceSendFields []string `json:"-"`
12158
12159	// NullFields is a list of field names (e.g. "CurrencyCode") to include
12160	// in API requests with the JSON null value. By default, fields with
12161	// empty values are omitted from API requests. However, any field with
12162	// an empty value appearing in NullFields will be sent to the server as
12163	// null. It is an error if a field in this list has a non-empty value.
12164	// This may be used to include null fields in Patch requests.
12165	NullFields []string `json:"-"`
12166}
12167
12168func (s *PartnerGeneralConfig) MarshalJSON() ([]byte, error) {
12169	type NoMethod PartnerGeneralConfig
12170	raw := NoMethod(*s)
12171	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12172}
12173
12174// PartnerRevenueModel: Settings that control how partner revenue is
12175// calculated.
12176type PartnerRevenueModel struct {
12177	// MarkupAmount: Required. The markup amount of the partner revenue
12178	// model. Must be greater than or equal to 0. * When the markup_type is
12179	// set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field
12180	// represents the CPM markup in micros of advertiser's currency. For
12181	// example, 1500000 represents 1.5 standard units of the currency. *
12182	// When the markup_type is set to be
12183	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field
12184	// represents the media cost percent markup in millis. For example, 100
12185	// represents 0.1% (decimal 0.001). * When the markup_type is set to be
12186	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this
12187	// field represents the total media cost percent markup in millis. For
12188	// example, 100 represents 0.1% (decimal 0.001).
12189	MarkupAmount int64 `json:"markupAmount,omitempty,string"`
12190
12191	// MarkupType: Required. The markup type of the partner revenue model.
12192	//
12193	// Possible values:
12194	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED" - Type value is not
12195	// specified or is unknown in this version.
12196	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM" - Calculate the partner
12197	// revenue based on a fixed CPM.
12198	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP" - Calculate
12199	// the partner revenue based on a percentage surcharge of its media
12200	// cost.
12201	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" -
12202	// Calculate the partner revenue based on a percentage surcharge of its
12203	// total media cost, which includes all partner costs and data costs.
12204	MarkupType string `json:"markupType,omitempty"`
12205
12206	// ForceSendFields is a list of field names (e.g. "MarkupAmount") to
12207	// unconditionally include in API requests. By default, fields with
12208	// empty or default values are omitted from API requests. However, any
12209	// non-pointer, non-interface field appearing in ForceSendFields will be
12210	// sent to the server regardless of whether the field is empty or not.
12211	// This may be used to include empty fields in Patch requests.
12212	ForceSendFields []string `json:"-"`
12213
12214	// NullFields is a list of field names (e.g. "MarkupAmount") to include
12215	// in API requests with the JSON null value. By default, fields with
12216	// empty values are omitted from API requests. However, any field with
12217	// an empty value appearing in NullFields will be sent to the server as
12218	// null. It is an error if a field in this list has a non-empty value.
12219	// This may be used to include null fields in Patch requests.
12220	NullFields []string `json:"-"`
12221}
12222
12223func (s *PartnerRevenueModel) MarshalJSON() ([]byte, error) {
12224	type NoMethod PartnerRevenueModel
12225	raw := NoMethod(*s)
12226	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12227}
12228
12229// PerformanceGoal: Settings that control the performance goal of a
12230// campaign or insertion order.
12231type PerformanceGoal struct {
12232	// PerformanceGoalAmountMicros: The goal amount, in micros of the
12233	// advertiser's currency. Applicable when performance_goal_type is one
12234	// of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
12235	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` *
12236	// `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5
12237	// standard units of the currency.
12238	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
12239
12240	// PerformanceGoalPercentageMicros: The decimal representation of the
12241	// goal percentage in micros. Applicable when performance_goal_type is
12242	// one of: * `PERFORMANCE_GOAL_TYPE_CTR` *
12243	// `PERFORMANCE_GOAL_TYPE_VIEWABILITY` *
12244	// `PERFORMANCE_GOAL_TYPE_CLICK_CVR` *
12245	// `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR`
12246	// * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` *
12247	// `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000
12248	// represents 7% (decimal 0.07).
12249	PerformanceGoalPercentageMicros int64 `json:"performanceGoalPercentageMicros,omitempty,string"`
12250
12251	// PerformanceGoalString: A key performance indicator (KPI) string,
12252	// which can be empty. Must be UTF-8 encoded with a length of no more
12253	// than 100 characters. Applicable when performance_goal_type is set to
12254	// `PERFORMANCE_GOAL_TYPE_OTHER`.
12255	PerformanceGoalString string `json:"performanceGoalString,omitempty"`
12256
12257	// PerformanceGoalType: Required. The type of the performance goal.
12258	//
12259	// Possible values:
12260	//   "PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Performance goal type is not
12261	// specified or is unknown in this version.
12262	//   "PERFORMANCE_GOAL_TYPE_CPM" - The performance goal is set in CPM
12263	// (cost per mille).
12264	//   "PERFORMANCE_GOAL_TYPE_CPC" - The performance goal is set in CPC
12265	// (cost per click).
12266	//   "PERFORMANCE_GOAL_TYPE_CPA" - The performance goal is set in CPA
12267	// (cost per action).
12268	//   "PERFORMANCE_GOAL_TYPE_CTR" - The performance goal is set in CTR
12269	// (click-through rate) percentage.
12270	//   "PERFORMANCE_GOAL_TYPE_VIEWABILITY" - The performance goal is set
12271	// in Viewability percentage.
12272	//   "PERFORMANCE_GOAL_TYPE_CPIAVC" - The performance goal is set as
12273	// CPIAVC (cost per impression audible and visible at completion).
12274	//   "PERFORMANCE_GOAL_TYPE_CPE" - The performance goal is set in CPE
12275	// (cost per engagement).
12276	//   "PERFORMANCE_GOAL_TYPE_CLICK_CVR" - The performance goal is set in
12277	// click conversion rate (conversions per click) percentage.
12278	//   "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR" - The performance goal is
12279	// set in impression conversion rate (conversions per impression)
12280	// percentage.
12281	//   "PERFORMANCE_GOAL_TYPE_VCPM" - The performance goal is set in VCPM
12282	// (cost per thousand viewable impressions).
12283	//   "PERFORMANCE_GOAL_TYPE_VTR" - The performance goal is set in
12284	// YouTube view rate (YouTube views per impression) percentage.
12285	//   "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE" - The performance
12286	// goal is set in audio completion rate (complete audio listens per
12287	// impression) percentage.
12288	//   "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE" - The performance
12289	// goal is set in video completion rate (complete video views per
12290	// impression) percentage.
12291	//   "PERFORMANCE_GOAL_TYPE_OTHER" - The performance goal is set to
12292	// Other.
12293	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
12294
12295	// ForceSendFields is a list of field names (e.g.
12296	// "PerformanceGoalAmountMicros") to unconditionally include in API
12297	// requests. By default, fields with empty or default values are omitted
12298	// from API requests. However, any non-pointer, non-interface field
12299	// appearing in ForceSendFields will be sent to the server regardless of
12300	// whether the field is empty or not. This may be used to include empty
12301	// fields in Patch requests.
12302	ForceSendFields []string `json:"-"`
12303
12304	// NullFields is a list of field names (e.g.
12305	// "PerformanceGoalAmountMicros") to include in API requests with the
12306	// JSON null value. By default, fields with empty values are omitted
12307	// from API requests. However, any field with an empty value appearing
12308	// in NullFields will be sent to the server as null. It is an error if a
12309	// field in this list has a non-empty value. This may be used to include
12310	// null fields in Patch requests.
12311	NullFields []string `json:"-"`
12312}
12313
12314func (s *PerformanceGoal) MarshalJSON() ([]byte, error) {
12315	type NoMethod PerformanceGoal
12316	raw := NoMethod(*s)
12317	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12318}
12319
12320// PerformanceGoalBidStrategy: A strategy that automatically adjusts the
12321// bid to meet or beat a specified performance goal.
12322type PerformanceGoalBidStrategy struct {
12323	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used
12324	// by this strategy. Only applicable when performance_goal_type is set
12325	// to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
12326	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
12327
12328	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be
12329	// bid, in micros of the advertiser's currency. Must be greater than or
12330	// equal to a billable unit of the given currency. Not applicable when
12331	// performance_goal_type is set to
12332	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example,
12333	// 1500000 represents 1.5 standard units of the currency.
12334	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
12335
12336	// PerformanceGoalAmountMicros: Required. The performance goal the
12337	// bidding strategy will attempt to meet or beat, in micros of the
12338	// advertiser's currency or in micro of the ROAS (Return On Advertising
12339	// Spend) value which is also based on advertiser's currency. Must be
12340	// greater than or equal to a billable unit of the given currency and
12341	// smaller or equal to upper bounds. Each performance_goal_type has its
12342	// upper bound: * when performance_goal_type is
12343	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00
12344	// USD. * when performance_goal_type is
12345	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00
12346	// USD. * when performance_goal_type is
12347	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is
12348	// 1000.00 USD. * when performance_goal_type is
12349	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is
12350	// 1000.00 and lower bound is 0.01. Example: If set to
12351	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price
12352	// will be based on the probability that each available impression will
12353	// be viewable. For example, if viewable CPM target is $2 and an
12354	// impression is 40% likely to be viewable, the bid price will be $0.80
12355	// CPM (40% of $2). For example, 1500000 represents 1.5 standard units
12356	// of the currency or ROAS value.
12357	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
12358
12359	// PerformanceGoalType: Required. The type of the performance goal that
12360	// the bidding strategy will try to meet or beat. For line item level
12361	// usage, the value must be one of: *
12362	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
12363	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
12364	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *
12365	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
12366	//
12367	// Possible values:
12368	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value
12369	// is not specified or is unknown in this version.
12370	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
12371	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
12372	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable
12373	// CPM.
12374	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom
12375	// bidding algorithm.
12376	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview
12377	// and audible views.
12378	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over
12379	// 10 secs views.
12380	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable
12381	// impressions.
12382	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
12383
12384	// ForceSendFields is a list of field names (e.g.
12385	// "CustomBiddingAlgorithmId") to unconditionally include in API
12386	// requests. By default, fields with empty or default values are omitted
12387	// from API requests. However, any non-pointer, non-interface field
12388	// appearing in ForceSendFields will be sent to the server regardless of
12389	// whether the field is empty or not. This may be used to include empty
12390	// fields in Patch requests.
12391	ForceSendFields []string `json:"-"`
12392
12393	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
12394	// to include in API requests with the JSON null value. By default,
12395	// fields with empty values are omitted from API requests. However, any
12396	// field with an empty value appearing in NullFields will be sent to the
12397	// server as null. It is an error if a field in this list has a
12398	// non-empty value. This may be used to include null fields in Patch
12399	// requests.
12400	NullFields []string `json:"-"`
12401}
12402
12403func (s *PerformanceGoalBidStrategy) MarshalJSON() ([]byte, error) {
12404	type NoMethod PerformanceGoalBidStrategy
12405	raw := NoMethod(*s)
12406	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12407}
12408
12409// PoiAssignedTargetingOptionDetails: Details for assigned POI targeting
12410// option. This will be populated in the details field of an
12411// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.
12412type PoiAssignedTargetingOptionDetails struct {
12413	// DisplayName: Output only. The display name of a POI, e.g. "Times
12414	// Square", "Space Needle", followed by its full address if available.
12415	DisplayName string `json:"displayName,omitempty"`
12416
12417	// Latitude: Output only. Latitude of the POI rounding to 6th decimal
12418	// place.
12419	Latitude float64 `json:"latitude,omitempty"`
12420
12421	// Longitude: Output only. Longitude of the POI rounding to 6th decimal
12422	// place.
12423	Longitude float64 `json:"longitude,omitempty"`
12424
12425	// ProximityRadiusAmount: Required. The radius of the area around the
12426	// POI that will be targeted. The units of the radius are specified by
12427	// proximity_radius_unit. Must be 1 to 800 if unit is
12428	// `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is
12429	// `DISTANCE_UNIT_MILES`.
12430	ProximityRadiusAmount float64 `json:"proximityRadiusAmount,omitempty"`
12431
12432	// ProximityRadiusUnit: Required. The unit of distance by which the
12433	// targeting radius is measured.
12434	//
12435	// Possible values:
12436	//   "DISTANCE_UNIT_UNSPECIFIED" - Type value is not specified or is
12437	// unknown in this version.
12438	//   "DISTANCE_UNIT_MILES" - Miles.
12439	//   "DISTANCE_UNIT_KILOMETERS" - Kilometers.
12440	ProximityRadiusUnit string `json:"proximityRadiusUnit,omitempty"`
12441
12442	// TargetingOptionId: Required. The targeting_option_id of a
12443	// TargetingOption of type `TARGETING_TYPE_POI` or reuse an existing
12444	// assigned_targeting_option_id.
12445	TargetingOptionId string `json:"targetingOptionId,omitempty"`
12446
12447	// ForceSendFields is a list of field names (e.g. "DisplayName") to
12448	// unconditionally include in API requests. By default, fields with
12449	// empty or default values are omitted from API requests. However, any
12450	// non-pointer, non-interface field appearing in ForceSendFields will be
12451	// sent to the server regardless of whether the field is empty or not.
12452	// This may be used to include empty fields in Patch requests.
12453	ForceSendFields []string `json:"-"`
12454
12455	// NullFields is a list of field names (e.g. "DisplayName") to include
12456	// in API requests with the JSON null value. By default, fields with
12457	// empty values are omitted from API requests. However, any field with
12458	// an empty value appearing in NullFields will be sent to the server as
12459	// null. It is an error if a field in this list has a non-empty value.
12460	// This may be used to include null fields in Patch requests.
12461	NullFields []string `json:"-"`
12462}
12463
12464func (s *PoiAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12465	type NoMethod PoiAssignedTargetingOptionDetails
12466	raw := NoMethod(*s)
12467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12468}
12469
12470func (s *PoiAssignedTargetingOptionDetails) UnmarshalJSON(data []byte) error {
12471	type NoMethod PoiAssignedTargetingOptionDetails
12472	var s1 struct {
12473		Latitude              gensupport.JSONFloat64 `json:"latitude"`
12474		Longitude             gensupport.JSONFloat64 `json:"longitude"`
12475		ProximityRadiusAmount gensupport.JSONFloat64 `json:"proximityRadiusAmount"`
12476		*NoMethod
12477	}
12478	s1.NoMethod = (*NoMethod)(s)
12479	if err := json.Unmarshal(data, &s1); err != nil {
12480		return err
12481	}
12482	s.Latitude = float64(s1.Latitude)
12483	s.Longitude = float64(s1.Longitude)
12484	s.ProximityRadiusAmount = float64(s1.ProximityRadiusAmount)
12485	return nil
12486}
12487
12488// PoiSearchTerms: Search terms for POI targeting options.
12489type PoiSearchTerms struct {
12490	// PoiQuery: The search query for the desired POI name, street address,
12491	// or coordinate of the desired POI. The query can be a prefix, e.g.
12492	// "Times squar", "40.7505045,-73.99562", "315 W 44th St", etc.
12493	PoiQuery string `json:"poiQuery,omitempty"`
12494
12495	// ForceSendFields is a list of field names (e.g. "PoiQuery") to
12496	// unconditionally include in API requests. By default, fields with
12497	// empty or default values are omitted from API requests. However, any
12498	// non-pointer, non-interface field appearing in ForceSendFields will be
12499	// sent to the server regardless of whether the field is empty or not.
12500	// This may be used to include empty fields in Patch requests.
12501	ForceSendFields []string `json:"-"`
12502
12503	// NullFields is a list of field names (e.g. "PoiQuery") to include in
12504	// API requests with the JSON null value. By default, fields with empty
12505	// values are omitted from API requests. However, any field with an
12506	// empty value appearing in NullFields will be sent to the server as
12507	// null. It is an error if a field in this list has a non-empty value.
12508	// This may be used to include null fields in Patch requests.
12509	NullFields []string `json:"-"`
12510}
12511
12512func (s *PoiSearchTerms) MarshalJSON() ([]byte, error) {
12513	type NoMethod PoiSearchTerms
12514	raw := NoMethod(*s)
12515	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12516}
12517
12518// PoiTargetingOptionDetails: Represents a targetable point of
12519// interest(POI). This will be populated in the poi_details field when
12520// targeting_type is `TARGETING_TYPE_POI`.
12521type PoiTargetingOptionDetails struct {
12522	// DisplayName: Output only. The display name of a POI(e.g. "Times
12523	// Square", "Space Needle"), followed by its full address if available.
12524	DisplayName string `json:"displayName,omitempty"`
12525
12526	// Latitude: Output only. Latitude of the POI rounding to 6th decimal
12527	// place.
12528	Latitude float64 `json:"latitude,omitempty"`
12529
12530	// Longitude: Output only. Longitude of the POI rounding to 6th decimal
12531	// place.
12532	Longitude float64 `json:"longitude,omitempty"`
12533
12534	// ForceSendFields is a list of field names (e.g. "DisplayName") to
12535	// unconditionally include in API requests. By default, fields with
12536	// empty or default values are omitted from API requests. However, any
12537	// non-pointer, non-interface field appearing in ForceSendFields will be
12538	// sent to the server regardless of whether the field is empty or not.
12539	// This may be used to include empty fields in Patch requests.
12540	ForceSendFields []string `json:"-"`
12541
12542	// NullFields is a list of field names (e.g. "DisplayName") to include
12543	// in API requests with the JSON null value. By default, fields with
12544	// empty values are omitted from API requests. However, any field with
12545	// an empty value appearing in NullFields will be sent to the server as
12546	// null. It is an error if a field in this list has a non-empty value.
12547	// This may be used to include null fields in Patch requests.
12548	NullFields []string `json:"-"`
12549}
12550
12551func (s *PoiTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12552	type NoMethod PoiTargetingOptionDetails
12553	raw := NoMethod(*s)
12554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12555}
12556
12557func (s *PoiTargetingOptionDetails) UnmarshalJSON(data []byte) error {
12558	type NoMethod PoiTargetingOptionDetails
12559	var s1 struct {
12560		Latitude  gensupport.JSONFloat64 `json:"latitude"`
12561		Longitude gensupport.JSONFloat64 `json:"longitude"`
12562		*NoMethod
12563	}
12564	s1.NoMethod = (*NoMethod)(s)
12565	if err := json.Unmarshal(data, &s1); err != nil {
12566		return err
12567	}
12568	s.Latitude = float64(s1.Latitude)
12569	s.Longitude = float64(s1.Longitude)
12570	return nil
12571}
12572
12573// PrismaConfig: Settings specific to the Mediaocean Prisma tool.
12574type PrismaConfig struct {
12575	// PrismaCpeCode: Required. Relevant client, product, and estimate codes
12576	// from the Mediaocean Prisma tool.
12577	PrismaCpeCode *PrismaCpeCode `json:"prismaCpeCode,omitempty"`
12578
12579	// PrismaType: Required. The Prisma type.
12580	//
12581	// Possible values:
12582	//   "PRISMA_TYPE_UNSPECIFIED" - Type is not specified or unknown in
12583	// this version.
12584	//   "PRISMA_TYPE_DISPLAY" - Display type.
12585	//   "PRISMA_TYPE_SEARCH" - Search type.
12586	//   "PRISMA_TYPE_VIDEO" - Video type.
12587	//   "PRISMA_TYPE_AUDIO" - Audio type.
12588	//   "PRISMA_TYPE_SOCIAL" - Social type.
12589	//   "PRISMA_TYPE_FEE" - Fee type.
12590	PrismaType string `json:"prismaType,omitempty"`
12591
12592	// Supplier: Required. The entity allocated this budget (DSP, site,
12593	// etc.).
12594	Supplier string `json:"supplier,omitempty"`
12595
12596	// ForceSendFields is a list of field names (e.g. "PrismaCpeCode") to
12597	// unconditionally include in API requests. By default, fields with
12598	// empty or default values are omitted from API requests. However, any
12599	// non-pointer, non-interface field appearing in ForceSendFields will be
12600	// sent to the server regardless of whether the field is empty or not.
12601	// This may be used to include empty fields in Patch requests.
12602	ForceSendFields []string `json:"-"`
12603
12604	// NullFields is a list of field names (e.g. "PrismaCpeCode") to include
12605	// in API requests with the JSON null value. By default, fields with
12606	// empty values are omitted from API requests. However, any field with
12607	// an empty value appearing in NullFields will be sent to the server as
12608	// null. It is an error if a field in this list has a non-empty value.
12609	// This may be used to include null fields in Patch requests.
12610	NullFields []string `json:"-"`
12611}
12612
12613func (s *PrismaConfig) MarshalJSON() ([]byte, error) {
12614	type NoMethod PrismaConfig
12615	raw := NoMethod(*s)
12616	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12617}
12618
12619// PrismaCpeCode: Google Payments Center supports searching and
12620// filtering on the component fields of this code.
12621type PrismaCpeCode struct {
12622	// PrismaClientCode: The Prisma client code.
12623	PrismaClientCode string `json:"prismaClientCode,omitempty"`
12624
12625	// PrismaEstimateCode: The Prisma estimate code.
12626	PrismaEstimateCode string `json:"prismaEstimateCode,omitempty"`
12627
12628	// PrismaProductCode: The Prisma product code.
12629	PrismaProductCode string `json:"prismaProductCode,omitempty"`
12630
12631	// ForceSendFields is a list of field names (e.g. "PrismaClientCode") to
12632	// unconditionally include in API requests. By default, fields with
12633	// empty or default values are omitted from API requests. However, any
12634	// non-pointer, non-interface field appearing in ForceSendFields will be
12635	// sent to the server regardless of whether the field is empty or not.
12636	// This may be used to include empty fields in Patch requests.
12637	ForceSendFields []string `json:"-"`
12638
12639	// NullFields is a list of field names (e.g. "PrismaClientCode") to
12640	// include in API requests with the JSON null value. By default, fields
12641	// with empty values are omitted from API requests. However, any field
12642	// with an empty value appearing in NullFields will be sent to the
12643	// server as null. It is an error if a field in this list has a
12644	// non-empty value. This may be used to include null fields in Patch
12645	// requests.
12646	NullFields []string `json:"-"`
12647}
12648
12649func (s *PrismaCpeCode) MarshalJSON() ([]byte, error) {
12650	type NoMethod PrismaCpeCode
12651	raw := NoMethod(*s)
12652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12653}
12654
12655// ProximityLocationListAssignedTargetingOptionDetails: Targeting
12656// details for proximity location list. This will be populated in the
12657// details field of an AssignedTargetingOption when targeting_type is
12658// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
12659type ProximityLocationListAssignedTargetingOptionDetails struct {
12660	// ProximityLocationListId: Required. ID of the proximity location list.
12661	// Should refer to the location_list_id field of a LocationList resource
12662	// whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
12663	ProximityLocationListId int64 `json:"proximityLocationListId,omitempty,string"`
12664
12665	// ProximityRadiusRange: Required. Radius range for proximity location
12666	// list. This represents the size of the area around a chosen location
12667	// that will be targeted. `All` proximity location targeting under a
12668	// single resource must have the same radius range value. Set this value
12669	// to match any existing targeting. If updated, this field will change
12670	// the radius range for all proximity targeting under the resource.
12671	//
12672	// Possible values:
12673	//   "PROXIMITY_RADIUS_RANGE_UNSPECIFIED" - The targeted radius range is
12674	// not specified or is unknown. Default value when radius range is not
12675	// specified in this version. This enum is a placeholder for default
12676	// value and does not represent a real radius range option.
12677	//   "PROXIMITY_RADIUS_RANGE_SMALL" - The targeted radius range is
12678	// small.
12679	//   "PROXIMITY_RADIUS_RANGE_MEDIUM" - The targeted radius range is
12680	// medium.
12681	//   "PROXIMITY_RADIUS_RANGE_LARGE" - The targeted radius range is
12682	// large.
12683	ProximityRadiusRange string `json:"proximityRadiusRange,omitempty"`
12684
12685	// ForceSendFields is a list of field names (e.g.
12686	// "ProximityLocationListId") to unconditionally include in API
12687	// requests. By default, fields with empty or default values are omitted
12688	// from API requests. However, any non-pointer, non-interface field
12689	// appearing in ForceSendFields will be sent to the server regardless of
12690	// whether the field is empty or not. This may be used to include empty
12691	// fields in Patch requests.
12692	ForceSendFields []string `json:"-"`
12693
12694	// NullFields is a list of field names (e.g. "ProximityLocationListId")
12695	// to include in API requests with the JSON null value. By default,
12696	// fields with empty values are omitted from API requests. However, any
12697	// field with an empty value appearing in NullFields will be sent to the
12698	// server as null. It is an error if a field in this list has a
12699	// non-empty value. This may be used to include null fields in Patch
12700	// requests.
12701	NullFields []string `json:"-"`
12702}
12703
12704func (s *ProximityLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12705	type NoMethod ProximityLocationListAssignedTargetingOptionDetails
12706	raw := NoMethod(*s)
12707	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12708}
12709
12710// PublisherReviewStatus: Publisher review status for the creative.
12711type PublisherReviewStatus struct {
12712	// PublisherName: The publisher reviewing the creative.
12713	PublisherName string `json:"publisherName,omitempty"`
12714
12715	// Status: Status of the publisher review.
12716	//
12717	// Possible values:
12718	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
12719	// unknown in this version.
12720	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
12721	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
12722	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
12723	Status string `json:"status,omitempty"`
12724
12725	// ForceSendFields is a list of field names (e.g. "PublisherName") to
12726	// unconditionally include in API requests. By default, fields with
12727	// empty or default values are omitted from API requests. However, any
12728	// non-pointer, non-interface field appearing in ForceSendFields will be
12729	// sent to the server regardless of whether the field is empty or not.
12730	// This may be used to include empty fields in Patch requests.
12731	ForceSendFields []string `json:"-"`
12732
12733	// NullFields is a list of field names (e.g. "PublisherName") to include
12734	// in API requests with the JSON null value. By default, fields with
12735	// empty values are omitted from API requests. However, any field with
12736	// an empty value appearing in NullFields will be sent to the server as
12737	// null. It is an error if a field in this list has a non-empty value.
12738	// This may be used to include null fields in Patch requests.
12739	NullFields []string `json:"-"`
12740}
12741
12742func (s *PublisherReviewStatus) MarshalJSON() ([]byte, error) {
12743	type NoMethod PublisherReviewStatus
12744	raw := NoMethod(*s)
12745	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12746}
12747
12748// RateDetails: The rate related settings of the inventory source.
12749type RateDetails struct {
12750	// InventorySourceRateType: The rate type. Acceptable values are
12751	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`,
12752	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and
12753	// `INVENTORY_SOURCE_RATE_TYPE_CPD`.
12754	//
12755	// Possible values:
12756	//   "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED" - The rate type is not
12757	// specified or is unknown in this version.
12758	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED" - The rate type is CPM
12759	// (Fixed).
12760	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR" - The rate type is CPM
12761	// (Floor).
12762	//   "INVENTORY_SOURCE_RATE_TYPE_CPD" - The rate type is Cost per Day.
12763	//   "INVENTORY_SOURCE_RATE_TYPE_FLAT" - The rate type is Flat.
12764	InventorySourceRateType string `json:"inventorySourceRateType,omitempty"`
12765
12766	// MinimumSpend: Output only. The amount that the buyer has committed to
12767	// spending on the inventory source up front. Only applicable for
12768	// guaranteed inventory sources.
12769	MinimumSpend *Money `json:"minimumSpend,omitempty"`
12770
12771	// Rate: The rate for the inventory source.
12772	Rate *Money `json:"rate,omitempty"`
12773
12774	// UnitsPurchased: Required for guaranteed inventory sources. The number
12775	// of impressions guaranteed by the seller.
12776	UnitsPurchased int64 `json:"unitsPurchased,omitempty,string"`
12777
12778	// ForceSendFields is a list of field names (e.g.
12779	// "InventorySourceRateType") to unconditionally include in API
12780	// requests. By default, fields with empty or default values are omitted
12781	// from API requests. However, any non-pointer, non-interface field
12782	// appearing in ForceSendFields will be sent to the server regardless of
12783	// whether the field is empty or not. This may be used to include empty
12784	// fields in Patch requests.
12785	ForceSendFields []string `json:"-"`
12786
12787	// NullFields is a list of field names (e.g. "InventorySourceRateType")
12788	// to include in API requests with the JSON null value. By default,
12789	// fields with empty values are omitted from API requests. However, any
12790	// field with an empty value appearing in NullFields will be sent to the
12791	// server as null. It is an error if a field in this list has a
12792	// non-empty value. This may be used to include null fields in Patch
12793	// requests.
12794	NullFields []string `json:"-"`
12795}
12796
12797func (s *RateDetails) MarshalJSON() ([]byte, error) {
12798	type NoMethod RateDetails
12799	raw := NoMethod(*s)
12800	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12801}
12802
12803// RegionalLocationListAssignedTargetingOptionDetails: Targeting details
12804// for regional location list. This will be populated in the details
12805// field of an AssignedTargetingOption when targeting_type is
12806// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
12807type RegionalLocationListAssignedTargetingOptionDetails struct {
12808	// Negative: Indicates if this option is being negatively targeted.
12809	Negative bool `json:"negative,omitempty"`
12810
12811	// RegionalLocationListId: Required. ID of the regional location list.
12812	// Should refer to the location_list_id field of a LocationList resource
12813	// whose type is `TARGETING_LOCATION_TYPE_REGIONAL`.
12814	RegionalLocationListId int64 `json:"regionalLocationListId,omitempty,string"`
12815
12816	// ForceSendFields is a list of field names (e.g. "Negative") to
12817	// unconditionally include in API requests. By default, fields with
12818	// empty or default values are omitted from API requests. However, any
12819	// non-pointer, non-interface field appearing in ForceSendFields will be
12820	// sent to the server regardless of whether the field is empty or not.
12821	// This may be used to include empty fields in Patch requests.
12822	ForceSendFields []string `json:"-"`
12823
12824	// NullFields is a list of field names (e.g. "Negative") to include in
12825	// API requests with the JSON null value. By default, fields with empty
12826	// values are omitted from API requests. However, any field with an
12827	// empty value appearing in NullFields will be sent to the server as
12828	// null. It is an error if a field in this list has a non-empty value.
12829	// This may be used to include null fields in Patch requests.
12830	NullFields []string `json:"-"`
12831}
12832
12833func (s *RegionalLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12834	type NoMethod RegionalLocationListAssignedTargetingOptionDetails
12835	raw := NoMethod(*s)
12836	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12837}
12838
12839// ReplaceNegativeKeywordsRequest: Request message for
12840// NegativeKeywordService.ReplaceNegativeKeywords.
12841type ReplaceNegativeKeywordsRequest struct {
12842	// NewNegativeKeywords: The negative keywords that will replace the
12843	// existing keywords in the negative keyword list, specified as a list
12844	// of NegativeKeywords.
12845	NewNegativeKeywords []*NegativeKeyword `json:"newNegativeKeywords,omitempty"`
12846
12847	// ForceSendFields is a list of field names (e.g. "NewNegativeKeywords")
12848	// to unconditionally include in API requests. By default, fields with
12849	// empty or default values are omitted from API requests. However, any
12850	// non-pointer, non-interface field appearing in ForceSendFields will be
12851	// sent to the server regardless of whether the field is empty or not.
12852	// This may be used to include empty fields in Patch requests.
12853	ForceSendFields []string `json:"-"`
12854
12855	// NullFields is a list of field names (e.g. "NewNegativeKeywords") to
12856	// include in API requests with the JSON null value. By default, fields
12857	// with empty values are omitted from API requests. However, any field
12858	// with an empty value appearing in NullFields will be sent to the
12859	// server as null. It is an error if a field in this list has a
12860	// non-empty value. This may be used to include null fields in Patch
12861	// requests.
12862	NullFields []string `json:"-"`
12863}
12864
12865func (s *ReplaceNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
12866	type NoMethod ReplaceNegativeKeywordsRequest
12867	raw := NoMethod(*s)
12868	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12869}
12870
12871// ReplaceNegativeKeywordsResponse: Response message for
12872// NegativeKeywordService.ReplaceNegativeKeywords.
12873type ReplaceNegativeKeywordsResponse struct {
12874	// NegativeKeywords: The full list of negative keywords now present in
12875	// the negative keyword list.
12876	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
12877
12878	// ServerResponse contains the HTTP response code and headers from the
12879	// server.
12880	googleapi.ServerResponse `json:"-"`
12881
12882	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
12883	// unconditionally include in API requests. By default, fields with
12884	// empty or default values are omitted from API requests. However, any
12885	// non-pointer, non-interface field appearing in ForceSendFields will be
12886	// sent to the server regardless of whether the field is empty or not.
12887	// This may be used to include empty fields in Patch requests.
12888	ForceSendFields []string `json:"-"`
12889
12890	// NullFields is a list of field names (e.g. "NegativeKeywords") to
12891	// include in API requests with the JSON null value. By default, fields
12892	// with empty values are omitted from API requests. However, any field
12893	// with an empty value appearing in NullFields will be sent to the
12894	// server as null. It is an error if a field in this list has a
12895	// non-empty value. This may be used to include null fields in Patch
12896	// requests.
12897	NullFields []string `json:"-"`
12898}
12899
12900func (s *ReplaceNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
12901	type NoMethod ReplaceNegativeKeywordsResponse
12902	raw := NoMethod(*s)
12903	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12904}
12905
12906// ReplaceSitesRequest: Request message for SiteService.ReplaceSites.
12907type ReplaceSitesRequest struct {
12908	// AdvertiserId: The ID of the advertiser that owns the parent channel.
12909	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12910
12911	// NewSites: The sites that will replace the existing sites assigned to
12912	// the channel, specified as a list of Sites.
12913	NewSites []*Site `json:"newSites,omitempty"`
12914
12915	// PartnerId: The ID of the partner that owns the parent channel.
12916	PartnerId int64 `json:"partnerId,omitempty,string"`
12917
12918	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
12919	// unconditionally include in API requests. By default, fields with
12920	// empty or default values are omitted from API requests. However, any
12921	// non-pointer, non-interface field appearing in ForceSendFields will be
12922	// sent to the server regardless of whether the field is empty or not.
12923	// This may be used to include empty fields in Patch requests.
12924	ForceSendFields []string `json:"-"`
12925
12926	// NullFields is a list of field names (e.g. "AdvertiserId") to include
12927	// in API requests with the JSON null value. By default, fields with
12928	// empty values are omitted from API requests. However, any field with
12929	// an empty value appearing in NullFields will be sent to the server as
12930	// null. It is an error if a field in this list has a non-empty value.
12931	// This may be used to include null fields in Patch requests.
12932	NullFields []string `json:"-"`
12933}
12934
12935func (s *ReplaceSitesRequest) MarshalJSON() ([]byte, error) {
12936	type NoMethod ReplaceSitesRequest
12937	raw := NoMethod(*s)
12938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12939}
12940
12941// ReplaceSitesResponse: Response message for SiteService.ReplaceSites.
12942type ReplaceSitesResponse struct {
12943	// Sites: The list of sites in the channel after replacing.
12944	Sites []*Site `json:"sites,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. "Sites") to
12951	// unconditionally include in API requests. By default, fields with
12952	// empty or default values are omitted from API requests. However, any
12953	// non-pointer, non-interface field appearing in ForceSendFields will be
12954	// sent to the server regardless of whether the field is empty or not.
12955	// This may be used to include empty fields in Patch requests.
12956	ForceSendFields []string `json:"-"`
12957
12958	// NullFields is a list of field names (e.g. "Sites") 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 *ReplaceSitesResponse) MarshalJSON() ([]byte, error) {
12968	type NoMethod ReplaceSitesResponse
12969	raw := NoMethod(*s)
12970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12971}
12972
12973// ReviewStatusInfo: Review statuses for the creative.
12974type ReviewStatusInfo struct {
12975	// ApprovalStatus: Represents the basic approval needed for a creative
12976	// to begin serving. Summary of creative_and_landing_page_review_status
12977	// and content_and_policy_review_status.
12978	//
12979	// Possible values:
12980	//   "APPROVAL_STATUS_UNSPECIFIED" - Type value is not specified or is
12981	// unknown in this version.
12982	//   "APPROVAL_STATUS_PENDING_NOT_SERVABLE" - The creative is still
12983	// under review and not servable.
12984	//   "APPROVAL_STATUS_PENDING_SERVABLE" - The creative has passed
12985	// creative & landing page review and is servable, but is awaiting
12986	// additional content & policy review.
12987	//   "APPROVAL_STATUS_APPROVED_SERVABLE" - Both creative & landing page
12988	// review and content & policy review are approved. The creative is
12989	// servable.
12990	//   "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" - There is an issue with
12991	// the creative that must be fixed before it can serve.
12992	ApprovalStatus string `json:"approvalStatus,omitempty"`
12993
12994	// ContentAndPolicyReviewStatus: Content and policy review status for
12995	// the creative.
12996	//
12997	// Possible values:
12998	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
12999	// unknown in this version.
13000	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
13001	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
13002	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
13003	ContentAndPolicyReviewStatus string `json:"contentAndPolicyReviewStatus,omitempty"`
13004
13005	// CreativeAndLandingPageReviewStatus: Creative and landing page review
13006	// status for the creative.
13007	//
13008	// Possible values:
13009	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
13010	// unknown in this version.
13011	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
13012	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
13013	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
13014	CreativeAndLandingPageReviewStatus string `json:"creativeAndLandingPageReviewStatus,omitempty"`
13015
13016	// ExchangeReviewStatuses: Exchange review statuses for the creative.
13017	ExchangeReviewStatuses []*ExchangeReviewStatus `json:"exchangeReviewStatuses,omitempty"`
13018
13019	// PublisherReviewStatuses: Publisher review statuses for the creative.
13020	PublisherReviewStatuses []*PublisherReviewStatus `json:"publisherReviewStatuses,omitempty"`
13021
13022	// ForceSendFields is a list of field names (e.g. "ApprovalStatus") to
13023	// unconditionally include in API requests. By default, fields with
13024	// empty or default values are omitted from API requests. However, any
13025	// non-pointer, non-interface field appearing in ForceSendFields will be
13026	// sent to the server regardless of whether the field is empty or not.
13027	// This may be used to include empty fields in Patch requests.
13028	ForceSendFields []string `json:"-"`
13029
13030	// NullFields is a list of field names (e.g. "ApprovalStatus") to
13031	// include in API requests with the JSON null value. By default, fields
13032	// with empty values are omitted from API requests. However, any field
13033	// with an empty value appearing in NullFields will be sent to the
13034	// server as null. It is an error if a field in this list has a
13035	// non-empty value. This may be used to include null fields in Patch
13036	// requests.
13037	NullFields []string `json:"-"`
13038}
13039
13040func (s *ReviewStatusInfo) MarshalJSON() ([]byte, error) {
13041	type NoMethod ReviewStatusInfo
13042	raw := NoMethod(*s)
13043	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13044}
13045
13046// SdfConfig: Structured Data File (SDF) related settings.
13047type SdfConfig struct {
13048	// AdminEmail: An administrator email address to which the SDF
13049	// processing status reports will be sent.
13050	AdminEmail string `json:"adminEmail,omitempty"`
13051
13052	// Version: Required. The version of SDF being used.
13053	//
13054	// Possible values:
13055	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
13056	// is unknown in this version.
13057	//   "SDF_VERSION_3_1" - SDF version 3.1
13058	//   "SDF_VERSION_4" - SDF version 4
13059	//   "SDF_VERSION_4_1" - SDF version 4.1
13060	//   "SDF_VERSION_4_2" - SDF version 4.2
13061	//   "SDF_VERSION_5" - SDF version 5.
13062	//   "SDF_VERSION_5_1" - SDF version 5.1
13063	//   "SDF_VERSION_5_2" - SDF version 5.2
13064	//   "SDF_VERSION_5_3" - SDF version 5.3
13065	Version string `json:"version,omitempty"`
13066
13067	// ForceSendFields is a list of field names (e.g. "AdminEmail") to
13068	// unconditionally include in API requests. By default, fields with
13069	// empty or default values are omitted from API requests. However, any
13070	// non-pointer, non-interface field appearing in ForceSendFields will be
13071	// sent to the server regardless of whether the field is empty or not.
13072	// This may be used to include empty fields in Patch requests.
13073	ForceSendFields []string `json:"-"`
13074
13075	// NullFields is a list of field names (e.g. "AdminEmail") to include in
13076	// API requests with the JSON null value. By default, fields with empty
13077	// values are omitted from API requests. However, any field with an
13078	// empty value appearing in NullFields will be sent to the server as
13079	// null. It is an error if a field in this list has a non-empty value.
13080	// This may be used to include null fields in Patch requests.
13081	NullFields []string `json:"-"`
13082}
13083
13084func (s *SdfConfig) MarshalJSON() ([]byte, error) {
13085	type NoMethod SdfConfig
13086	raw := NoMethod(*s)
13087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13088}
13089
13090// SdfDownloadTask: Type for the response returned by
13091// [SdfDownloadTaskService.CreateSdfDownloadTask].
13092type SdfDownloadTask struct {
13093	// ResourceName: A resource name to be used in media.download to
13094	// Download the prepared files. Resource names have the format
13095	// `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made
13096	// available by the long running operation service once the task status
13097	// is done.
13098	ResourceName string `json:"resourceName,omitempty"`
13099
13100	// ForceSendFields is a list of field names (e.g. "ResourceName") to
13101	// unconditionally include in API requests. By default, fields with
13102	// empty or default values are omitted from API requests. However, any
13103	// non-pointer, non-interface field appearing in ForceSendFields will be
13104	// sent to the server regardless of whether the field is empty or not.
13105	// This may be used to include empty fields in Patch requests.
13106	ForceSendFields []string `json:"-"`
13107
13108	// NullFields is a list of field names (e.g. "ResourceName") to include
13109	// in API requests with the JSON null value. By default, fields with
13110	// empty values are omitted from API requests. However, any field with
13111	// an empty value appearing in NullFields will be sent to the server as
13112	// null. It is an error if a field in this list has a non-empty value.
13113	// This may be used to include null fields in Patch requests.
13114	NullFields []string `json:"-"`
13115}
13116
13117func (s *SdfDownloadTask) MarshalJSON() ([]byte, error) {
13118	type NoMethod SdfDownloadTask
13119	raw := NoMethod(*s)
13120	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13121}
13122
13123// SdfDownloadTaskMetadata: Type for the metadata returned by
13124// [SdfDownloadTaskService.CreateSdfDownloadTask].
13125type SdfDownloadTaskMetadata struct {
13126	// CreateTime: The time when the operation was created.
13127	CreateTime string `json:"createTime,omitempty"`
13128
13129	// EndTime: The time when execution was completed.
13130	EndTime string `json:"endTime,omitempty"`
13131
13132	// Version: The SDF version used to execute this download task.
13133	//
13134	// Possible values:
13135	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
13136	// is unknown in this version.
13137	//   "SDF_VERSION_3_1" - SDF version 3.1
13138	//   "SDF_VERSION_4" - SDF version 4
13139	//   "SDF_VERSION_4_1" - SDF version 4.1
13140	//   "SDF_VERSION_4_2" - SDF version 4.2
13141	//   "SDF_VERSION_5" - SDF version 5.
13142	//   "SDF_VERSION_5_1" - SDF version 5.1
13143	//   "SDF_VERSION_5_2" - SDF version 5.2
13144	//   "SDF_VERSION_5_3" - SDF version 5.3
13145	Version string `json:"version,omitempty"`
13146
13147	// ForceSendFields is a list of field names (e.g. "CreateTime") to
13148	// unconditionally include in API requests. By default, fields with
13149	// empty or default values are omitted from API requests. However, any
13150	// non-pointer, non-interface field appearing in ForceSendFields will be
13151	// sent to the server regardless of whether the field is empty or not.
13152	// This may be used to include empty fields in Patch requests.
13153	ForceSendFields []string `json:"-"`
13154
13155	// NullFields is a list of field names (e.g. "CreateTime") to include in
13156	// API requests with the JSON null value. By default, fields with empty
13157	// values are omitted from API requests. However, any field with an
13158	// empty value appearing in NullFields will be sent to the server as
13159	// null. It is an error if a field in this list has a non-empty value.
13160	// This may be used to include null fields in Patch requests.
13161	NullFields []string `json:"-"`
13162}
13163
13164func (s *SdfDownloadTaskMetadata) MarshalJSON() ([]byte, error) {
13165	type NoMethod SdfDownloadTaskMetadata
13166	raw := NoMethod(*s)
13167	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13168}
13169
13170// SearchTargetingOptionsRequest: Request message for
13171// SearchTargetingOptions.
13172type SearchTargetingOptionsRequest struct {
13173	// AdvertiserId: Required. The Advertiser this request is being made in
13174	// the context of.
13175	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13176
13177	// BusinessChainSearchTerms: Search terms for Business Chain targeting
13178	// options. Can only be used when targeting_type is
13179	// `TARGETING_TYPE_BUSINESS_CHAIN`.
13180	BusinessChainSearchTerms *BusinessChainSearchTerms `json:"businessChainSearchTerms,omitempty"`
13181
13182	// GeoRegionSearchTerms: Search terms for geo region targeting options.
13183	// Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`.
13184	GeoRegionSearchTerms *GeoRegionSearchTerms `json:"geoRegionSearchTerms,omitempty"`
13185
13186	// PageSize: Requested page size. Must be between `1` and `100`. If
13187	// unspecified will default to `100`. Returns error code
13188	// `INVALID_ARGUMENT` if an invalid value is specified.
13189	PageSize int64 `json:"pageSize,omitempty"`
13190
13191	// PageToken: A token identifying a page of results the server should
13192	// return. Typically, this is the value of next_page_token returned from
13193	// the previous call to `SearchTargetingOptions` method. If not
13194	// specified, the first page of results will be returned.
13195	PageToken string `json:"pageToken,omitempty"`
13196
13197	// PoiSearchTerms: Search terms for POI targeting options. Can only be
13198	// used when targeting_type is `TARGETING_TYPE_POI`.
13199	PoiSearchTerms *PoiSearchTerms `json:"poiSearchTerms,omitempty"`
13200
13201	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
13202	// unconditionally include in API requests. By default, fields with
13203	// empty or default values are omitted from API requests. However, any
13204	// non-pointer, non-interface field appearing in ForceSendFields will be
13205	// sent to the server regardless of whether the field is empty or not.
13206	// This may be used to include empty fields in Patch requests.
13207	ForceSendFields []string `json:"-"`
13208
13209	// NullFields is a list of field names (e.g. "AdvertiserId") to include
13210	// in API requests with the JSON null value. By default, fields with
13211	// empty values are omitted from API requests. However, any field with
13212	// an empty value appearing in NullFields will be sent to the server as
13213	// null. It is an error if a field in this list has a non-empty value.
13214	// This may be used to include null fields in Patch requests.
13215	NullFields []string `json:"-"`
13216}
13217
13218func (s *SearchTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
13219	type NoMethod SearchTargetingOptionsRequest
13220	raw := NoMethod(*s)
13221	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13222}
13223
13224// SearchTargetingOptionsResponse: Response message for
13225// SearchTargetingOptions.
13226type SearchTargetingOptionsResponse struct {
13227	// NextPageToken: A token to retrieve the next page of results. Pass
13228	// this value in the page_token field in the subsequent call to
13229	// `SearchTargetingOptions` method to retrieve the next page of results.
13230	NextPageToken string `json:"nextPageToken,omitempty"`
13231
13232	// TargetingOptions: The list of targeting options that match the search
13233	// criteria. This list will be absent if empty.
13234	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
13235
13236	// ServerResponse contains the HTTP response code and headers from the
13237	// server.
13238	googleapi.ServerResponse `json:"-"`
13239
13240	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
13241	// unconditionally include in API requests. By default, fields with
13242	// empty or default values are omitted from API requests. However, any
13243	// non-pointer, non-interface field appearing in ForceSendFields will be
13244	// sent to the server regardless of whether the field is empty or not.
13245	// This may be used to include empty fields in Patch requests.
13246	ForceSendFields []string `json:"-"`
13247
13248	// NullFields is a list of field names (e.g. "NextPageToken") to include
13249	// in API requests with the JSON null value. By default, fields with
13250	// empty values are omitted from API requests. However, any field with
13251	// an empty value appearing in NullFields will be sent to the server as
13252	// null. It is an error if a field in this list has a non-empty value.
13253	// This may be used to include null fields in Patch requests.
13254	NullFields []string `json:"-"`
13255}
13256
13257func (s *SearchTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
13258	type NoMethod SearchTargetingOptionsResponse
13259	raw := NoMethod(*s)
13260	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13261}
13262
13263// SensitiveCategoryAssignedTargetingOptionDetails: Targeting details
13264// for sensitive category. This will be populated in the details field
13265// of an AssignedTargetingOption when targeting_type is
13266// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
13267type SensitiveCategoryAssignedTargetingOptionDetails struct {
13268	// ExcludedTargetingOptionId: Required. ID of the sensitive category to
13269	// be EXCLUDED.
13270	ExcludedTargetingOptionId string `json:"excludedTargetingOptionId,omitempty"`
13271
13272	// SensitiveCategory: Output only. An enum for the DV360 Sensitive
13273	// category content classifier.
13274	//
13275	// Possible values:
13276	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder
13277	// and doesn't specify a DV360 sensitive category.
13278	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or
13279	// video content.
13280	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as
13281	// biased against individuals, groups, or organizations based on
13282	// criteria such as race, religion, disability, sex, age, veteran
13283	// status, sexual orientation, gender identity, or political
13284	// affiliation. May also indicate discussion of such content, for
13285	// instance, in an academic or journalistic context.
13286	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio,
13287	// video, or software downloads.
13288	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
13289	// weapons, including knives, guns, small firearms, and ammunition.
13290	// Selecting either "weapons" or "sensitive social issues" will result
13291	// in selecting both.
13292	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting
13293	// or wagering in a real-world or online setting.
13294	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
13295	// graphically violent, gory, gruesome, or shocking, such as street
13296	// fighting videos, accident photos, descriptions of torture, etc.
13297	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as
13298	// suggestive content that's not explicitly pornographic. This category
13299	// includes all pages categorized as adult.
13300	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
13301	// indecent, such as curse words and sexual slang. Pages with only very
13302	// occasional usage, such as news sites that might include such words in
13303	// a quotation, are not included.
13304	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to
13305	// alcoholic beverages, alcohol brands, recipes, etc.
13306	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the
13307	// recreational use of legal or illegal drugs, as well as to drug
13308	// paraphernalia or cultivation.
13309	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco
13310	// and tobacco accessories, including lighters, humidors, ashtrays, etc.
13311	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
13312	// discussions of social, governmental, and public policy.
13313	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious
13314	// thought or beliefs.
13315	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
13316	// accidents, war, etc.
13317	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to
13318	// motor vehicle, aviation or other transportation accidents.
13319	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke
13320	// strong, opposing views and spark debate. These include issues that
13321	// are controversial in most countries and markets (such as abortion),
13322	// as well as those that are controversial in specific countries and
13323	// markets (such as immigration reform in the United States).
13324	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered
13325	// shocking or disturbing, such as violent news stories, stunts, or
13326	// toilet humor.
13327	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
13328
13329	// ForceSendFields is a list of field names (e.g.
13330	// "ExcludedTargetingOptionId") to unconditionally include in API
13331	// requests. By default, fields with empty or default values are omitted
13332	// from API requests. However, any non-pointer, non-interface field
13333	// appearing in ForceSendFields will be sent to the server regardless of
13334	// whether the field is empty or not. This may be used to include empty
13335	// fields in Patch requests.
13336	ForceSendFields []string `json:"-"`
13337
13338	// NullFields is a list of field names (e.g.
13339	// "ExcludedTargetingOptionId") to include in API requests with the JSON
13340	// null value. By default, fields with empty values are omitted from API
13341	// requests. However, any field with an empty value appearing in
13342	// NullFields will be sent to the server as null. It is an error if a
13343	// field in this list has a non-empty value. This may be used to include
13344	// null fields in Patch requests.
13345	NullFields []string `json:"-"`
13346}
13347
13348func (s *SensitiveCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13349	type NoMethod SensitiveCategoryAssignedTargetingOptionDetails
13350	raw := NoMethod(*s)
13351	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13352}
13353
13354// SensitiveCategoryTargetingOptionDetails: Represents a targetable
13355// sensitive category. This will be populated in the
13356// sensitive_category_details field of the TargetingOption when
13357// targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
13358type SensitiveCategoryTargetingOptionDetails struct {
13359	// SensitiveCategory: Output only. An enum for the DV360 Sensitive
13360	// category content classifier.
13361	//
13362	// Possible values:
13363	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder
13364	// and doesn't specify a DV360 sensitive category.
13365	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or
13366	// video content.
13367	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as
13368	// biased against individuals, groups, or organizations based on
13369	// criteria such as race, religion, disability, sex, age, veteran
13370	// status, sexual orientation, gender identity, or political
13371	// affiliation. May also indicate discussion of such content, for
13372	// instance, in an academic or journalistic context.
13373	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio,
13374	// video, or software downloads.
13375	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
13376	// weapons, including knives, guns, small firearms, and ammunition.
13377	// Selecting either "weapons" or "sensitive social issues" will result
13378	// in selecting both.
13379	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting
13380	// or wagering in a real-world or online setting.
13381	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
13382	// graphically violent, gory, gruesome, or shocking, such as street
13383	// fighting videos, accident photos, descriptions of torture, etc.
13384	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as
13385	// suggestive content that's not explicitly pornographic. This category
13386	// includes all pages categorized as adult.
13387	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
13388	// indecent, such as curse words and sexual slang. Pages with only very
13389	// occasional usage, such as news sites that might include such words in
13390	// a quotation, are not included.
13391	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to
13392	// alcoholic beverages, alcohol brands, recipes, etc.
13393	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the
13394	// recreational use of legal or illegal drugs, as well as to drug
13395	// paraphernalia or cultivation.
13396	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco
13397	// and tobacco accessories, including lighters, humidors, ashtrays, etc.
13398	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
13399	// discussions of social, governmental, and public policy.
13400	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious
13401	// thought or beliefs.
13402	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
13403	// accidents, war, etc.
13404	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to
13405	// motor vehicle, aviation or other transportation accidents.
13406	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke
13407	// strong, opposing views and spark debate. These include issues that
13408	// are controversial in most countries and markets (such as abortion),
13409	// as well as those that are controversial in specific countries and
13410	// markets (such as immigration reform in the United States).
13411	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered
13412	// shocking or disturbing, such as violent news stories, stunts, or
13413	// toilet humor.
13414	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
13415
13416	// ForceSendFields is a list of field names (e.g. "SensitiveCategory")
13417	// to unconditionally include in API requests. By default, fields with
13418	// empty or default values are omitted from API requests. However, any
13419	// non-pointer, non-interface field appearing in ForceSendFields will be
13420	// sent to the server regardless of whether the field is empty or not.
13421	// This may be used to include empty fields in Patch requests.
13422	ForceSendFields []string `json:"-"`
13423
13424	// NullFields is a list of field names (e.g. "SensitiveCategory") to
13425	// include in API requests with the JSON null value. By default, fields
13426	// with empty values are omitted from API requests. However, any field
13427	// with an empty value appearing in NullFields will be sent to the
13428	// server as null. It is an error if a field in this list has a
13429	// non-empty value. This may be used to include null fields in Patch
13430	// requests.
13431	NullFields []string `json:"-"`
13432}
13433
13434func (s *SensitiveCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13435	type NoMethod SensitiveCategoryTargetingOptionDetails
13436	raw := NoMethod(*s)
13437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13438}
13439
13440// Site: A single site. Sites are apps or websites belonging to a
13441// channel.
13442type Site struct {
13443	// Name: Output only. The resource name of the site.
13444	Name string `json:"name,omitempty"`
13445
13446	// UrlOrAppId: Required. The app ID or URL of the site. Must be UTF-8
13447	// encoded with a maximum length of 240 bytes.
13448	UrlOrAppId string `json:"urlOrAppId,omitempty"`
13449
13450	// ServerResponse contains the HTTP response code and headers from the
13451	// server.
13452	googleapi.ServerResponse `json:"-"`
13453
13454	// ForceSendFields is a list of field names (e.g. "Name") to
13455	// unconditionally include in API requests. By default, fields with
13456	// empty or default values are omitted from API requests. However, any
13457	// non-pointer, non-interface field appearing in ForceSendFields will be
13458	// sent to the server regardless of whether the field is empty or not.
13459	// This may be used to include empty fields in Patch requests.
13460	ForceSendFields []string `json:"-"`
13461
13462	// NullFields is a list of field names (e.g. "Name") to include in API
13463	// requests with the JSON null value. By default, fields with empty
13464	// values are omitted from API requests. However, any field with an
13465	// empty value appearing in NullFields will be sent to the server as
13466	// null. It is an error if a field in this list has a non-empty value.
13467	// This may be used to include null fields in Patch requests.
13468	NullFields []string `json:"-"`
13469}
13470
13471func (s *Site) MarshalJSON() ([]byte, error) {
13472	type NoMethod Site
13473	raw := NoMethod(*s)
13474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13475}
13476
13477// Status: The `Status` type defines a logical error model that is
13478// suitable for different programming environments, including REST APIs
13479// and RPC APIs. It is used by gRPC (https://github.com/grpc). Each
13480// `Status` message contains three pieces of data: error code, error
13481// message, and error details. You can find out more about this error
13482// model and how to work with it in the API Design Guide
13483// (https://cloud.google.com/apis/design/errors).
13484type Status struct {
13485	// Code: The status code, which should be an enum value of
13486	// google.rpc.Code.
13487	Code int64 `json:"code,omitempty"`
13488
13489	// Details: A list of messages that carry the error details. There is a
13490	// common set of message types for APIs to use.
13491	Details []googleapi.RawMessage `json:"details,omitempty"`
13492
13493	// Message: A developer-facing error message, which should be in
13494	// English. Any user-facing error message should be localized and sent
13495	// in the google.rpc.Status.details field, or localized by the client.
13496	Message string `json:"message,omitempty"`
13497
13498	// ForceSendFields is a list of field names (e.g. "Code") to
13499	// unconditionally include in API requests. By default, fields with
13500	// empty or default values are omitted from API requests. However, any
13501	// non-pointer, non-interface field appearing in ForceSendFields will be
13502	// sent to the server regardless of whether the field is empty or not.
13503	// This may be used to include empty fields in Patch requests.
13504	ForceSendFields []string `json:"-"`
13505
13506	// NullFields is a list of field names (e.g. "Code") to include in API
13507	// requests with the JSON null value. By default, fields with empty
13508	// values are omitted from API requests. However, any field with an
13509	// empty value appearing in NullFields will be sent to the server as
13510	// null. It is an error if a field in this list has a non-empty value.
13511	// This may be used to include null fields in Patch requests.
13512	NullFields []string `json:"-"`
13513}
13514
13515func (s *Status) MarshalJSON() ([]byte, error) {
13516	type NoMethod Status
13517	raw := NoMethod(*s)
13518	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13519}
13520
13521// SubExchangeAssignedTargetingOptionDetails: Details for assigned
13522// sub-exchange targeting option. This will be populated in the details
13523// field of an AssignedTargetingOption when targeting_type is
13524// `TARGETING_TYPE_SUB_EXCHANGE`.
13525type SubExchangeAssignedTargetingOptionDetails struct {
13526	// TargetingOptionId: Required. The targeting_option_id of a
13527	// TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.
13528	TargetingOptionId string `json:"targetingOptionId,omitempty"`
13529
13530	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
13531	// to unconditionally include in API requests. By default, fields with
13532	// empty or default values are omitted from API requests. However, any
13533	// non-pointer, non-interface field appearing in ForceSendFields will be
13534	// sent to the server regardless of whether the field is empty or not.
13535	// This may be used to include empty fields in Patch requests.
13536	ForceSendFields []string `json:"-"`
13537
13538	// NullFields is a list of field names (e.g. "TargetingOptionId") to
13539	// include in API requests with the JSON null value. By default, fields
13540	// with empty values are omitted from API requests. However, any field
13541	// with an empty value appearing in NullFields will be sent to the
13542	// server as null. It is an error if a field in this list has a
13543	// non-empty value. This may be used to include null fields in Patch
13544	// requests.
13545	NullFields []string `json:"-"`
13546}
13547
13548func (s *SubExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13549	type NoMethod SubExchangeAssignedTargetingOptionDetails
13550	raw := NoMethod(*s)
13551	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13552}
13553
13554// SubExchangeTargetingOptionDetails: Represents a targetable
13555// sub-exchange. This will be populated in the sub_exchange_details
13556// field of a TargetingOption when targeting_type is
13557// `TARGETING_TYPE_SUB_EXCHANGE`.
13558type SubExchangeTargetingOptionDetails struct {
13559	// DisplayName: Output only. The display name of the sub-exchange.
13560	DisplayName string `json:"displayName,omitempty"`
13561
13562	// ForceSendFields is a list of field names (e.g. "DisplayName") to
13563	// unconditionally include in API requests. By default, fields with
13564	// empty or default values are omitted from API requests. However, any
13565	// non-pointer, non-interface field appearing in ForceSendFields will be
13566	// sent to the server regardless of whether the field is empty or not.
13567	// This may be used to include empty fields in Patch requests.
13568	ForceSendFields []string `json:"-"`
13569
13570	// NullFields is a list of field names (e.g. "DisplayName") to include
13571	// in API requests with the JSON null value. By default, fields with
13572	// empty values are omitted from API requests. However, any field with
13573	// an empty value appearing in NullFields will be sent to the server as
13574	// null. It is an error if a field in this list has a non-empty value.
13575	// This may be used to include null fields in Patch requests.
13576	NullFields []string `json:"-"`
13577}
13578
13579func (s *SubExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13580	type NoMethod SubExchangeTargetingOptionDetails
13581	raw := NoMethod(*s)
13582	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13583}
13584
13585// TargetingExpansionConfig: Settings that control the targeting
13586// expansion of the line item. Targeting expansion allows the line item
13587// to reach a larger audience based on the original audience list and
13588// the targeting expansion level.
13589type TargetingExpansionConfig struct {
13590	// ExcludeFirstPartyAudience: Required. Whether to exclude first party
13591	// audiences from targeting. Similar audiences of the excluded first
13592	// party lists will not be excluded. Only applicable when a first-party
13593	// audience is positively targeted (directly or included in a combined
13594	// audience), otherwise this selection will be ignored.
13595	ExcludeFirstPartyAudience bool `json:"excludeFirstPartyAudience,omitempty"`
13596
13597	// TargetingExpansionLevel: Required. Magnitude of expansion for
13598	// applicable targeting under this line item.
13599	//
13600	// Possible values:
13601	//   "TARGETING_EXPANSION_LEVEL_UNSPECIFIED" - Targeting expansion level
13602	// is not specified or is unknown in this version.
13603	//   "NO_EXPANSION" - Targeting expansion off.
13604	//   "LEAST_EXPANSION" - Conservative targeting expansion, lowest reach.
13605	//   "SOME_EXPANSION" - Moderately conservative targeting expansion,
13606	// lower reach.
13607	//   "BALANCED_EXPANSION" - Moderate targeting expansion, medium reach.
13608	//   "MORE_EXPANSION" - Moderately aggressive targeting expansion,
13609	// higher reach.
13610	//   "MOST_EXPANSION" - Aggressive targeting expansion, highest reach.
13611	TargetingExpansionLevel string `json:"targetingExpansionLevel,omitempty"`
13612
13613	// ForceSendFields is a list of field names (e.g.
13614	// "ExcludeFirstPartyAudience") to unconditionally include in API
13615	// requests. By default, fields with empty or default values are omitted
13616	// from API requests. However, any non-pointer, non-interface field
13617	// appearing in ForceSendFields will be sent to the server regardless of
13618	// whether the field is empty or not. This may be used to include empty
13619	// fields in Patch requests.
13620	ForceSendFields []string `json:"-"`
13621
13622	// NullFields is a list of field names (e.g.
13623	// "ExcludeFirstPartyAudience") to include in API requests with the JSON
13624	// null value. By default, fields with empty values are omitted from API
13625	// requests. However, any field with an empty value appearing in
13626	// NullFields will be sent to the server as null. It is an error if a
13627	// field in this list has a non-empty value. This may be used to include
13628	// null fields in Patch requests.
13629	NullFields []string `json:"-"`
13630}
13631
13632func (s *TargetingExpansionConfig) MarshalJSON() ([]byte, error) {
13633	type NoMethod TargetingExpansionConfig
13634	raw := NoMethod(*s)
13635	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13636}
13637
13638// TargetingOption: Represents a single targeting option, which is a
13639// targetable concept in DV360.
13640type TargetingOption struct {
13641	// AgeRangeDetails: Age range details.
13642	AgeRangeDetails *AgeRangeTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
13643
13644	// AppCategoryDetails: App category details.
13645	AppCategoryDetails *AppCategoryTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
13646
13647	// AuthorizedSellerStatusDetails: Authorized seller status resource
13648	// details.
13649	AuthorizedSellerStatusDetails *AuthorizedSellerStatusTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
13650
13651	// BrowserDetails: Browser details.
13652	BrowserDetails *BrowserTargetingOptionDetails `json:"browserDetails,omitempty"`
13653
13654	// BusinessChainDetails: Business chain resource details.
13655	BusinessChainDetails *BusinessChainTargetingOptionDetails `json:"businessChainDetails,omitempty"`
13656
13657	// CarrierAndIspDetails: Carrier and ISP details.
13658	CarrierAndIspDetails *CarrierAndIspTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
13659
13660	// CategoryDetails: Category resource details.
13661	CategoryDetails *CategoryTargetingOptionDetails `json:"categoryDetails,omitempty"`
13662
13663	// ContentInstreamPositionDetails: Content instream position details.
13664	ContentInstreamPositionDetails *ContentInstreamPositionTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
13665
13666	// ContentOutstreamPositionDetails: Content outstream position details.
13667	ContentOutstreamPositionDetails *ContentOutstreamPositionTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
13668
13669	// DeviceMakeModelDetails: Device make and model resource details.
13670	DeviceMakeModelDetails *DeviceMakeModelTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
13671
13672	// DeviceTypeDetails: Device type details.
13673	DeviceTypeDetails *DeviceTypeTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
13674
13675	// DigitalContentLabelDetails: Digital content label details.
13676	DigitalContentLabelDetails *DigitalContentLabelTargetingOptionDetails `json:"digitalContentLabelDetails,omitempty"`
13677
13678	// EnvironmentDetails: Environment details.
13679	EnvironmentDetails *EnvironmentTargetingOptionDetails `json:"environmentDetails,omitempty"`
13680
13681	// ExchangeDetails: Exchange details.
13682	ExchangeDetails *ExchangeTargetingOptionDetails `json:"exchangeDetails,omitempty"`
13683
13684	// GenderDetails: Gender details.
13685	GenderDetails *GenderTargetingOptionDetails `json:"genderDetails,omitempty"`
13686
13687	// GeoRegionDetails: Geographic region resource details.
13688	GeoRegionDetails *GeoRegionTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
13689
13690	// HouseholdIncomeDetails: Household income details.
13691	HouseholdIncomeDetails *HouseholdIncomeTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
13692
13693	// LanguageDetails: Language resource details.
13694	LanguageDetails *LanguageTargetingOptionDetails `json:"languageDetails,omitempty"`
13695
13696	// Name: Output only. The resource name for this targeting option.
13697	Name string `json:"name,omitempty"`
13698
13699	// NativeContentPositionDetails: Native content position details.
13700	NativeContentPositionDetails *NativeContentPositionTargetingOptionDetails `json:"nativeContentPositionDetails,omitempty"`
13701
13702	// OmidDetails: Open Measurement enabled inventory details.
13703	OmidDetails *OmidTargetingOptionDetails `json:"omidDetails,omitempty"`
13704
13705	// OnScreenPositionDetails: On screen position details.
13706	OnScreenPositionDetails *OnScreenPositionTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
13707
13708	// OperatingSystemDetails: Operating system resources details.
13709	OperatingSystemDetails *OperatingSystemTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
13710
13711	// ParentalStatusDetails: Parental status details.
13712	ParentalStatusDetails *ParentalStatusTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
13713
13714	// PoiDetails: POI resource details.
13715	PoiDetails *PoiTargetingOptionDetails `json:"poiDetails,omitempty"`
13716
13717	// SensitiveCategoryDetails: Sensitive Category details.
13718	SensitiveCategoryDetails *SensitiveCategoryTargetingOptionDetails `json:"sensitiveCategoryDetails,omitempty"`
13719
13720	// SubExchangeDetails: Sub-exchange details.
13721	SubExchangeDetails *SubExchangeTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
13722
13723	// TargetingOptionId: Output only. A unique identifier for this
13724	// targeting option. The tuple {`targeting_type`, `targeting_option_id`}
13725	// will be unique.
13726	TargetingOptionId string `json:"targetingOptionId,omitempty"`
13727
13728	// TargetingType: Output only. The type of this targeting option.
13729	//
13730	// Possible values:
13731	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
13732	// specified or is unknown in this version.
13733	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
13734	// related websites or apps).
13735	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
13736	// example, education or puzzle games).
13737	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
13738	// Birds).
13739	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
13740	// quora.com).
13741	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
13742	// period on a specific day.
13743	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
13744	// (for example, 18-24).
13745	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
13746	// specified regions on a regional location list.
13747	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
13748	// specified points of interest on a proximity location list.
13749	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
13750	// example, female or male).
13751	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
13752	// size for video ads.
13753	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
13754	// content for video ads.
13755	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
13756	// parental status (for example, parent or not a parent).
13757	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
13758	// ads in a specific content instream position (for example, pre-roll,
13759	// mid-roll, or post-roll).
13760	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
13761	// specific content outstream position.
13762	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
13763	// (for example, tablet or connected TV).
13764	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
13765	// groups of audiences. Singleton field, at most one can exist on a
13766	// single Lineitem at a time.
13767	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
13768	// example, Chrome).
13769	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
13770	// household income range (for example, top 10%).
13771	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
13772	// screen position.
13773	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
13774	// third party verification (for example, IAS or DoubleVerify).
13775	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
13776	// by specific digital content label ratings (for example, DL-MA:
13777	// suitable only for mature audiences).
13778	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
13779	// content by sensitive categories (for example, adult).
13780	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
13781	// (for example, web or app).
13782	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
13783	// carrier or internet service provider (ISP) (for example, Comcast or
13784	// Orange).
13785	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
13786	// operating system (for example, macOS).
13787	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
13788	// device make or model (for example, Roku or Samsung).
13789	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
13790	// example, dog or retriever).
13791	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
13792	// negative keyword list.
13793	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
13794	// (for example, 80% viewable).
13795	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
13796	// category (for example, arts & entertainment).
13797	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
13798	// specific deals and auction packages.
13799	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
13800	// example, English or Japanese).
13801	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
13802	// authorized sellers.
13803	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
13804	// location (for example, a city or state).
13805	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
13806	// a group of deals and auction packages.
13807	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
13808	// exchanges.
13809	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
13810	// sub-exchanges.
13811	//   "TARGETING_TYPE_POI" - Target ads around a specific point of
13812	// interest, such as a notable building, a street address, or
13813	// latitude/longitude coordinates.
13814	//   "TARGETING_TYPE_BUSINESS_CHAIN" - Target ads around locations of a
13815	// business chain within a specific geo region.
13816	//   "TARGETING_TYPE_NATIVE_CONTENT_POSITION" - Target ads to a specific
13817	// native content position.
13818	//   "TARGETING_TYPE_OMID" - Target ads in an Open Measurement enabled
13819	// inventory.
13820	TargetingType string `json:"targetingType,omitempty"`
13821
13822	// UserRewardedContentDetails: User rewarded content details.
13823	UserRewardedContentDetails *UserRewardedContentTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
13824
13825	// VideoPlayerSizeDetails: Video player size details.
13826	VideoPlayerSizeDetails *VideoPlayerSizeTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
13827
13828	// ViewabilityDetails: Viewability resource details.
13829	ViewabilityDetails *ViewabilityTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
13830
13831	// ServerResponse contains the HTTP response code and headers from the
13832	// server.
13833	googleapi.ServerResponse `json:"-"`
13834
13835	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
13836	// unconditionally include in API requests. By default, fields with
13837	// empty or default values are omitted from API requests. However, any
13838	// non-pointer, non-interface field appearing in ForceSendFields will be
13839	// sent to the server regardless of whether the field is empty or not.
13840	// This may be used to include empty fields in Patch requests.
13841	ForceSendFields []string `json:"-"`
13842
13843	// NullFields is a list of field names (e.g. "AgeRangeDetails") to
13844	// include in API requests with the JSON null value. By default, fields
13845	// with empty values are omitted from API requests. However, any field
13846	// with an empty value appearing in NullFields will be sent to the
13847	// server as null. It is an error if a field in this list has a
13848	// non-empty value. This may be used to include null fields in Patch
13849	// requests.
13850	NullFields []string `json:"-"`
13851}
13852
13853func (s *TargetingOption) MarshalJSON() ([]byte, error) {
13854	type NoMethod TargetingOption
13855	raw := NoMethod(*s)
13856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13857}
13858
13859// ThirdPartyOnlyConfig: Settings for advertisers that use third-party
13860// ad servers only.
13861type ThirdPartyOnlyConfig struct {
13862	// PixelOrderIdReportingEnabled: Whether or not order ID reporting for
13863	// pixels is enabled. This value cannot be changed once set to `true`.
13864	PixelOrderIdReportingEnabled bool `json:"pixelOrderIdReportingEnabled,omitempty"`
13865
13866	// ForceSendFields is a list of field names (e.g.
13867	// "PixelOrderIdReportingEnabled") to unconditionally include in API
13868	// requests. By default, fields with empty or default values are omitted
13869	// from API requests. However, any non-pointer, non-interface field
13870	// appearing in ForceSendFields will be sent to the server regardless of
13871	// whether the field is empty or not. This may be used to include empty
13872	// fields in Patch requests.
13873	ForceSendFields []string `json:"-"`
13874
13875	// NullFields is a list of field names (e.g.
13876	// "PixelOrderIdReportingEnabled") to include in API requests with the
13877	// JSON null value. By default, fields with empty values are omitted
13878	// from API requests. However, any field with an empty value appearing
13879	// in NullFields will be sent to the server as null. It is an error if a
13880	// field in this list has a non-empty value. This may be used to include
13881	// null fields in Patch requests.
13882	NullFields []string `json:"-"`
13883}
13884
13885func (s *ThirdPartyOnlyConfig) MarshalJSON() ([]byte, error) {
13886	type NoMethod ThirdPartyOnlyConfig
13887	raw := NoMethod(*s)
13888	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13889}
13890
13891// ThirdPartyUrl: Tracking URLs from third parties to track interactions
13892// with an audio or a video creative.
13893type ThirdPartyUrl struct {
13894	// Type: The type of interaction needs to be tracked by the tracking URL
13895	//
13896	// Possible values:
13897	//   "THIRD_PARTY_URL_TYPE_UNSPECIFIED" - The type of third-party URL is
13898	// unspecified or is unknown in this version.
13899	//   "THIRD_PARTY_URL_TYPE_IMPRESSION" - Used to count impressions of
13900	// the creative after the audio or video buffering is complete.
13901	//   "THIRD_PARTY_URL_TYPE_CLICK_TRACKING" - Used to track user clicks
13902	// on the audio or video.
13903	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START" - Used to track the number
13904	// of times a user starts the audio or video.
13905	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE" - Used to track
13906	// the number of times the audio or video plays to 25% of its length.
13907	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT" - Used to track the
13908	// number of times the audio or video plays to 50% of its length.
13909	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE" - Used to track
13910	// the number of times the audio or video plays to 75% of its length.
13911	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE" - Used to track the
13912	// number of times the audio or video plays to the end.
13913	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE" - Used to track the number
13914	// of times a user mutes the audio or video.
13915	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE" - Used to track the number
13916	// of times a user pauses the audio or video.
13917	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND" - Used to track the
13918	// number of times a user replays the audio or video.
13919	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN" - Used to track the
13920	// number of times a user expands the player to full-screen size.
13921	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP" - Used to track the number
13922	// of times a user stops the audio or video.
13923	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM" - Used to track the
13924	// number of times a user performs a custom click, such as clicking on a
13925	// video hot spot.
13926	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP" - Used to track the number
13927	// of times the audio or video was skipped.
13928	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" - Used to track the
13929	// number of times the audio or video plays to an offset determined by
13930	// the progress_offset.
13931	Type string `json:"type,omitempty"`
13932
13933	// Url: Tracking URL used to track the interaction. Provide a URL with
13934	// optional path or query string, beginning with `https:`. For example,
13935	// https://www.example.com/path
13936	Url string `json:"url,omitempty"`
13937
13938	// ForceSendFields is a list of field names (e.g. "Type") to
13939	// unconditionally include in API requests. By default, fields with
13940	// empty or default values are omitted from API requests. However, any
13941	// non-pointer, non-interface field appearing in ForceSendFields will be
13942	// sent to the server regardless of whether the field is empty or not.
13943	// This may be used to include empty fields in Patch requests.
13944	ForceSendFields []string `json:"-"`
13945
13946	// NullFields is a list of field names (e.g. "Type") to include in API
13947	// requests with the JSON null value. By default, fields with empty
13948	// values are omitted from API requests. However, any field with an
13949	// empty value appearing in NullFields will be sent to the server as
13950	// null. It is an error if a field in this list has a non-empty value.
13951	// This may be used to include null fields in Patch requests.
13952	NullFields []string `json:"-"`
13953}
13954
13955func (s *ThirdPartyUrl) MarshalJSON() ([]byte, error) {
13956	type NoMethod ThirdPartyUrl
13957	raw := NoMethod(*s)
13958	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13959}
13960
13961// ThirdPartyVerifierAssignedTargetingOptionDetails: Assigned third
13962// party verifier targeting option details. This will be populated in
13963// the details field of an AssignedTargetingOption when targeting_type
13964// is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
13965type ThirdPartyVerifierAssignedTargetingOptionDetails struct {
13966	// Adloox: Third party brand verifier -- Adloox.
13967	Adloox *Adloox `json:"adloox,omitempty"`
13968
13969	// DoubleVerify: Third party brand verifier -- DoubleVerify.
13970	DoubleVerify *DoubleVerify `json:"doubleVerify,omitempty"`
13971
13972	// IntegralAdScience: Third party brand verifier -- Integral Ad Science.
13973	IntegralAdScience *IntegralAdScience `json:"integralAdScience,omitempty"`
13974
13975	// ForceSendFields is a list of field names (e.g. "Adloox") to
13976	// unconditionally include in API requests. By default, fields with
13977	// empty or default values are omitted from API requests. However, any
13978	// non-pointer, non-interface field appearing in ForceSendFields will be
13979	// sent to the server regardless of whether the field is empty or not.
13980	// This may be used to include empty fields in Patch requests.
13981	ForceSendFields []string `json:"-"`
13982
13983	// NullFields is a list of field names (e.g. "Adloox") to include in API
13984	// requests with the JSON null value. By default, fields with empty
13985	// values are omitted from API requests. However, any field with an
13986	// empty value appearing in NullFields will be sent to the server as
13987	// null. It is an error if a field in this list has a non-empty value.
13988	// This may be used to include null fields in Patch requests.
13989	NullFields []string `json:"-"`
13990}
13991
13992func (s *ThirdPartyVerifierAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
13993	type NoMethod ThirdPartyVerifierAssignedTargetingOptionDetails
13994	raw := NoMethod(*s)
13995	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13996}
13997
13998// TimeRange: A time range.
13999type TimeRange struct {
14000	// EndTime: Required. The upper bound of a time range, inclusive.
14001	EndTime string `json:"endTime,omitempty"`
14002
14003	// StartTime: Required. The lower bound of a time range, inclusive.
14004	StartTime string `json:"startTime,omitempty"`
14005
14006	// ForceSendFields is a list of field names (e.g. "EndTime") to
14007	// unconditionally include in API requests. By default, fields with
14008	// empty or default values are omitted from API requests. However, any
14009	// non-pointer, non-interface field appearing in ForceSendFields will be
14010	// sent to the server regardless of whether the field is empty or not.
14011	// This may be used to include empty fields in Patch requests.
14012	ForceSendFields []string `json:"-"`
14013
14014	// NullFields is a list of field names (e.g. "EndTime") to include in
14015	// API requests with the JSON null value. By default, fields with empty
14016	// values are omitted from API requests. However, any field with an
14017	// empty value appearing in NullFields will be sent to the server as
14018	// null. It is an error if a field in this list has a non-empty value.
14019	// This may be used to include null fields in Patch requests.
14020	NullFields []string `json:"-"`
14021}
14022
14023func (s *TimeRange) MarshalJSON() ([]byte, error) {
14024	type NoMethod TimeRange
14025	raw := NoMethod(*s)
14026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14027}
14028
14029// TimerEvent: Timer event of the creative.
14030type TimerEvent struct {
14031	// Name: Required. The name of the timer event.
14032	Name string `json:"name,omitempty"`
14033
14034	// ReportingName: Required. The name used to identify this timer event
14035	// in reports.
14036	ReportingName string `json:"reportingName,omitempty"`
14037
14038	// ForceSendFields is a list of field names (e.g. "Name") to
14039	// unconditionally include in API requests. By default, fields with
14040	// empty or default values are omitted from API requests. However, any
14041	// non-pointer, non-interface field appearing in ForceSendFields will be
14042	// sent to the server regardless of whether the field is empty or not.
14043	// This may be used to include empty fields in Patch requests.
14044	ForceSendFields []string `json:"-"`
14045
14046	// NullFields is a list of field names (e.g. "Name") to include in API
14047	// requests with the JSON null value. By default, fields with empty
14048	// values are omitted from API requests. However, any field with an
14049	// empty value appearing in NullFields will be sent to the server as
14050	// null. It is an error if a field in this list has a non-empty value.
14051	// This may be used to include null fields in Patch requests.
14052	NullFields []string `json:"-"`
14053}
14054
14055func (s *TimerEvent) MarshalJSON() ([]byte, error) {
14056	type NoMethod TimerEvent
14057	raw := NoMethod(*s)
14058	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14059}
14060
14061// TrackingFloodlightActivityConfig: Settings that control the behavior
14062// of a single Floodlight activity config.
14063type TrackingFloodlightActivityConfig struct {
14064	// FloodlightActivityId: Required. The ID of the Floodlight activity.
14065	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
14066
14067	// PostClickLookbackWindowDays: Required. The number of days after an ad
14068	// has been clicked in which a conversion may be counted. Must be
14069	// between 0 and 90 inclusive.
14070	PostClickLookbackWindowDays int64 `json:"postClickLookbackWindowDays,omitempty"`
14071
14072	// PostViewLookbackWindowDays: Required. The number of days after an ad
14073	// has been viewed in which a conversion may be counted. Must be between
14074	// 0 and 90 inclusive.
14075	PostViewLookbackWindowDays int64 `json:"postViewLookbackWindowDays,omitempty"`
14076
14077	// ForceSendFields is a list of field names (e.g.
14078	// "FloodlightActivityId") to unconditionally include in API requests.
14079	// By default, fields with empty or default values are omitted from API
14080	// requests. However, any non-pointer, non-interface field appearing in
14081	// ForceSendFields will be sent to the server regardless of whether the
14082	// field is empty or not. This may be used to include empty fields in
14083	// Patch requests.
14084	ForceSendFields []string `json:"-"`
14085
14086	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
14087	// include in API requests with the JSON null value. By default, fields
14088	// with empty values are omitted from API requests. However, any field
14089	// with an empty value appearing in NullFields will be sent to the
14090	// server as null. It is an error if a field in this list has a
14091	// non-empty value. This may be used to include null fields in Patch
14092	// requests.
14093	NullFields []string `json:"-"`
14094}
14095
14096func (s *TrackingFloodlightActivityConfig) MarshalJSON() ([]byte, error) {
14097	type NoMethod TrackingFloodlightActivityConfig
14098	raw := NoMethod(*s)
14099	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14100}
14101
14102// Transcode: Represents information about the transcoded audio or video
14103// file.
14104type Transcode struct {
14105	// AudioBitRateKbps: The bit rate for the audio stream of the transcoded
14106	// video, or the bit rate for the transcoded audio, in kilobits per
14107	// second.
14108	AudioBitRateKbps int64 `json:"audioBitRateKbps,omitempty,string"`
14109
14110	// AudioSampleRateHz: The sample rate for the audio stream of the
14111	// transcoded video, or the sample rate for the transcoded audio, in
14112	// hertz.
14113	AudioSampleRateHz int64 `json:"audioSampleRateHz,omitempty,string"`
14114
14115	// BitRateKbps: The transcoding bit rate of the transcoded video, in
14116	// kilobits per second.
14117	BitRateKbps int64 `json:"bitRateKbps,omitempty,string"`
14118
14119	// Dimensions: The dimensions of the transcoded video.
14120	Dimensions *Dimensions `json:"dimensions,omitempty"`
14121
14122	// FileSizeBytes: The size of the transcoded file, in bytes.
14123	FileSizeBytes int64 `json:"fileSizeBytes,omitempty,string"`
14124
14125	// FrameRate: The frame rate of the transcoded video, in frames per
14126	// second.
14127	FrameRate float64 `json:"frameRate,omitempty"`
14128
14129	// MimeType: The MIME type of the transcoded file.
14130	MimeType string `json:"mimeType,omitempty"`
14131
14132	// Name: The name of the transcoded file.
14133	Name string `json:"name,omitempty"`
14134
14135	// Transcoded: Indicates if the transcoding was successful.
14136	Transcoded bool `json:"transcoded,omitempty"`
14137
14138	// ForceSendFields is a list of field names (e.g. "AudioBitRateKbps") to
14139	// unconditionally include in API requests. By default, fields with
14140	// empty or default values are omitted from API requests. However, any
14141	// non-pointer, non-interface field appearing in ForceSendFields will be
14142	// sent to the server regardless of whether the field is empty or not.
14143	// This may be used to include empty fields in Patch requests.
14144	ForceSendFields []string `json:"-"`
14145
14146	// NullFields is a list of field names (e.g. "AudioBitRateKbps") to
14147	// include in API requests with the JSON null value. By default, fields
14148	// with empty values are omitted from API requests. However, any field
14149	// with an empty value appearing in NullFields will be sent to the
14150	// server as null. It is an error if a field in this list has a
14151	// non-empty value. This may be used to include null fields in Patch
14152	// requests.
14153	NullFields []string `json:"-"`
14154}
14155
14156func (s *Transcode) MarshalJSON() ([]byte, error) {
14157	type NoMethod Transcode
14158	raw := NoMethod(*s)
14159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14160}
14161
14162func (s *Transcode) UnmarshalJSON(data []byte) error {
14163	type NoMethod Transcode
14164	var s1 struct {
14165		FrameRate gensupport.JSONFloat64 `json:"frameRate"`
14166		*NoMethod
14167	}
14168	s1.NoMethod = (*NoMethod)(s)
14169	if err := json.Unmarshal(data, &s1); err != nil {
14170		return err
14171	}
14172	s.FrameRate = float64(s1.FrameRate)
14173	return nil
14174}
14175
14176// UniversalAdId: A creative identifier provided by a registry that is
14177// unique across all platforms. This is part of the VAST 4.0 standard.
14178type UniversalAdId struct {
14179	// Id: The unique creative identifier.
14180	Id string `json:"id,omitempty"`
14181
14182	// Registry: The registry provides unique creative identifiers.
14183	//
14184	// Possible values:
14185	//   "UNIVERSAL_AD_REGISTRY_UNSPECIFIED" - The Universal Ad registry is
14186	// unspecified or is unknown in this version.
14187	//   "UNIVERSAL_AD_REGISTRY_OTHER" - Use a custom provider to provide
14188	// the Universal Ad ID.
14189	//   "UNIVERSAL_AD_REGISTRY_AD_ID" - Use Ad-ID to provide the Universal
14190	// Ad ID.
14191	//   "UNIVERSAL_AD_REGISTRY_CLEARCAST" - Use clearcast.co.uk to provide
14192	// the Universal Ad ID.
14193	//   "UNIVERSAL_AD_REGISTRY_DV360" - Use Display & Video 360 to provide
14194	// the Universal Ad ID.
14195	//   "UNIVERSAL_AD_REGISTRY_CM" - Use Campaign Manager 360 to provide
14196	// the Universal Ad ID.
14197	Registry string `json:"registry,omitempty"`
14198
14199	// ForceSendFields is a list of field names (e.g. "Id") to
14200	// unconditionally include in API requests. By default, fields with
14201	// empty or default values are omitted from API requests. However, any
14202	// non-pointer, non-interface field appearing in ForceSendFields will be
14203	// sent to the server regardless of whether the field is empty or not.
14204	// This may be used to include empty fields in Patch requests.
14205	ForceSendFields []string `json:"-"`
14206
14207	// NullFields is a list of field names (e.g. "Id") to include in API
14208	// requests with the JSON null value. By default, fields with empty
14209	// values are omitted from API requests. However, any field with an
14210	// empty value appearing in NullFields will be sent to the server as
14211	// null. It is an error if a field in this list has a non-empty value.
14212	// This may be used to include null fields in Patch requests.
14213	NullFields []string `json:"-"`
14214}
14215
14216func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
14217	type NoMethod UniversalAdId
14218	raw := NoMethod(*s)
14219	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14220}
14221
14222// UrlAssignedTargetingOptionDetails: Details for assigned URL targeting
14223// option. This will be populated in the details field of an
14224// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`.
14225type UrlAssignedTargetingOptionDetails struct {
14226	// Negative: Indicates if this option is being negatively targeted.
14227	Negative bool `json:"negative,omitempty"`
14228
14229	// Url: Required. The URL, for example `example.com`. DV360 supports two
14230	// levels of subdirectory targeting, for example
14231	// `www.example.com/one-subdirectory-level/second-level`, and five
14232	// levels of subdomain targeting, for example
14233	// `five.four.three.two.one.example.com`.
14234	Url string `json:"url,omitempty"`
14235
14236	// ForceSendFields is a list of field names (e.g. "Negative") to
14237	// unconditionally include in API requests. By default, fields with
14238	// empty or default values are omitted from API requests. However, any
14239	// non-pointer, non-interface field appearing in ForceSendFields will be
14240	// sent to the server regardless of whether the field is empty or not.
14241	// This may be used to include empty fields in Patch requests.
14242	ForceSendFields []string `json:"-"`
14243
14244	// NullFields is a list of field names (e.g. "Negative") to include in
14245	// API requests with the JSON null value. By default, fields with empty
14246	// values are omitted from API requests. However, any field with an
14247	// empty value appearing in NullFields will be sent to the server as
14248	// null. It is an error if a field in this list has a non-empty value.
14249	// This may be used to include null fields in Patch requests.
14250	NullFields []string `json:"-"`
14251}
14252
14253func (s *UrlAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14254	type NoMethod UrlAssignedTargetingOptionDetails
14255	raw := NoMethod(*s)
14256	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14257}
14258
14259// User: A single user in Display & Video 360.
14260type User struct {
14261	// AssignedUserRoles: The assigned user roles. Required in CreateUser.
14262	// Output only in UpdateUser. Can only be updated through
14263	// BulkEditAssignedUserRoles.
14264	AssignedUserRoles []*AssignedUserRole `json:"assignedUserRoles,omitempty"`
14265
14266	// DisplayName: Required. The display name of the user. Must be UTF-8
14267	// encoded with a maximum size of 240 bytes.
14268	DisplayName string `json:"displayName,omitempty"`
14269
14270	// Email: Required. Immutable. The email address used to identify the
14271	// user.
14272	Email string `json:"email,omitempty"`
14273
14274	// Name: Output only. The resource name of the user.
14275	Name string `json:"name,omitempty"`
14276
14277	// UserId: Output only. The unique ID of the user. Assigned by the
14278	// system.
14279	UserId int64 `json:"userId,omitempty,string"`
14280
14281	// ServerResponse contains the HTTP response code and headers from the
14282	// server.
14283	googleapi.ServerResponse `json:"-"`
14284
14285	// ForceSendFields is a list of field names (e.g. "AssignedUserRoles")
14286	// to unconditionally include in API requests. By default, fields with
14287	// empty or default values are omitted from API requests. However, any
14288	// non-pointer, non-interface field appearing in ForceSendFields will be
14289	// sent to the server regardless of whether the field is empty or not.
14290	// This may be used to include empty fields in Patch requests.
14291	ForceSendFields []string `json:"-"`
14292
14293	// NullFields is a list of field names (e.g. "AssignedUserRoles") to
14294	// include in API requests with the JSON null value. By default, fields
14295	// with empty values are omitted from API requests. However, any field
14296	// with an empty value appearing in NullFields will be sent to the
14297	// server as null. It is an error if a field in this list has a
14298	// non-empty value. This may be used to include null fields in Patch
14299	// requests.
14300	NullFields []string `json:"-"`
14301}
14302
14303func (s *User) MarshalJSON() ([]byte, error) {
14304	type NoMethod User
14305	raw := NoMethod(*s)
14306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14307}
14308
14309// UserRewardedContentAssignedTargetingOptionDetails: User rewarded
14310// content targeting option details. This will be populated in the
14311// user_rewarded_content_details field when targeting_type is
14312// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
14313type UserRewardedContentAssignedTargetingOptionDetails struct {
14314	// TargetingOptionId: Required. The targeting_option_id field when
14315	// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
14316	TargetingOptionId string `json:"targetingOptionId,omitempty"`
14317
14318	// UserRewardedContent: Output only. User rewarded content status for
14319	// video ads.
14320	//
14321	// Possible values:
14322	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
14323	// specified or is unknown in this version.
14324	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the
14325	// user will see a reward after viewing.
14326	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other
14327	// ads besides user-rewarded.
14328	UserRewardedContent string `json:"userRewardedContent,omitempty"`
14329
14330	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
14331	// to unconditionally include in API requests. By default, fields with
14332	// empty or default values are omitted from API requests. However, any
14333	// non-pointer, non-interface field appearing in ForceSendFields will be
14334	// sent to the server regardless of whether the field is empty or not.
14335	// This may be used to include empty fields in Patch requests.
14336	ForceSendFields []string `json:"-"`
14337
14338	// NullFields is a list of field names (e.g. "TargetingOptionId") to
14339	// include in API requests with the JSON null value. By default, fields
14340	// with empty values are omitted from API requests. However, any field
14341	// with an empty value appearing in NullFields will be sent to the
14342	// server as null. It is an error if a field in this list has a
14343	// non-empty value. This may be used to include null fields in Patch
14344	// requests.
14345	NullFields []string `json:"-"`
14346}
14347
14348func (s *UserRewardedContentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14349	type NoMethod UserRewardedContentAssignedTargetingOptionDetails
14350	raw := NoMethod(*s)
14351	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14352}
14353
14354// UserRewardedContentTargetingOptionDetails: Represents a targetable
14355// user rewarded content status for video ads only. This will be
14356// populated in the user_rewarded_content_details field when
14357// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
14358type UserRewardedContentTargetingOptionDetails struct {
14359	// UserRewardedContent: Output only. User rewarded content status for
14360	// video ads.
14361	//
14362	// Possible values:
14363	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
14364	// specified or is unknown in this version.
14365	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the
14366	// user will see a reward after viewing.
14367	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other
14368	// ads besides user-rewarded.
14369	UserRewardedContent string `json:"userRewardedContent,omitempty"`
14370
14371	// ForceSendFields is a list of field names (e.g. "UserRewardedContent")
14372	// to unconditionally include in API requests. By default, fields with
14373	// empty or default values are omitted from API requests. However, any
14374	// non-pointer, non-interface field appearing in ForceSendFields will be
14375	// sent to the server regardless of whether the field is empty or not.
14376	// This may be used to include empty fields in Patch requests.
14377	ForceSendFields []string `json:"-"`
14378
14379	// NullFields is a list of field names (e.g. "UserRewardedContent") to
14380	// include in API requests with the JSON null value. By default, fields
14381	// with empty values are omitted from API requests. However, any field
14382	// with an empty value appearing in NullFields will be sent to the
14383	// server as null. It is an error if a field in this list has a
14384	// non-empty value. This may be used to include null fields in Patch
14385	// requests.
14386	NullFields []string `json:"-"`
14387}
14388
14389func (s *UserRewardedContentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14390	type NoMethod UserRewardedContentTargetingOptionDetails
14391	raw := NoMethod(*s)
14392	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14393}
14394
14395// VideoPlayerSizeAssignedTargetingOptionDetails: Video player size
14396// targeting option details. This will be populated in the
14397// video_player_size_details field when targeting_type is
14398// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options
14399// is not supported. Remove all video player size targeting options to
14400// achieve this effect.
14401type VideoPlayerSizeAssignedTargetingOptionDetails struct {
14402	// TargetingOptionId: Required. The targeting_option_id field when
14403	// targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
14404	TargetingOptionId string `json:"targetingOptionId,omitempty"`
14405
14406	// VideoPlayerSize: Output only. The video player size.
14407	//
14408	// Possible values:
14409	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not
14410	// specified in this version. This enum is a place holder for a default
14411	// value and does not represent a real video player size.
14412	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are
14413	// less than 400×300 (desktop), or up to 20% of screen covered
14414	// (mobile).
14415	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are
14416	// between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the
14417	// screen covered (mobile).
14418	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are
14419	// 1280×720 or greater (desktop), or over 90% of the screen covered
14420	// (mobile).
14421	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player
14422	// are unknown.
14423	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
14424
14425	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
14426	// to unconditionally include in API requests. By default, fields with
14427	// empty or default values are omitted from API requests. However, any
14428	// non-pointer, non-interface field appearing in ForceSendFields will be
14429	// sent to the server regardless of whether the field is empty or not.
14430	// This may be used to include empty fields in Patch requests.
14431	ForceSendFields []string `json:"-"`
14432
14433	// NullFields is a list of field names (e.g. "TargetingOptionId") to
14434	// include in API requests with the JSON null value. By default, fields
14435	// with empty values are omitted from API requests. However, any field
14436	// with an empty value appearing in NullFields will be sent to the
14437	// server as null. It is an error if a field in this list has a
14438	// non-empty value. This may be used to include null fields in Patch
14439	// requests.
14440	NullFields []string `json:"-"`
14441}
14442
14443func (s *VideoPlayerSizeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14444	type NoMethod VideoPlayerSizeAssignedTargetingOptionDetails
14445	raw := NoMethod(*s)
14446	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14447}
14448
14449// VideoPlayerSizeTargetingOptionDetails: Represents a targetable video
14450// player size. This will be populated in the video_player_size_details
14451// field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
14452type VideoPlayerSizeTargetingOptionDetails struct {
14453	// VideoPlayerSize: Output only. The video player size.
14454	//
14455	// Possible values:
14456	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not
14457	// specified in this version. This enum is a place holder for a default
14458	// value and does not represent a real video player size.
14459	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are
14460	// less than 400×300 (desktop), or up to 20% of screen covered
14461	// (mobile).
14462	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are
14463	// between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the
14464	// screen covered (mobile).
14465	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are
14466	// 1280×720 or greater (desktop), or over 90% of the screen covered
14467	// (mobile).
14468	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player
14469	// are unknown.
14470	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
14471
14472	// ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to
14473	// unconditionally include in API requests. By default, fields with
14474	// empty or default values are omitted from API requests. However, any
14475	// non-pointer, non-interface field appearing in ForceSendFields will be
14476	// sent to the server regardless of whether the field is empty or not.
14477	// This may be used to include empty fields in Patch requests.
14478	ForceSendFields []string `json:"-"`
14479
14480	// NullFields is a list of field names (e.g. "VideoPlayerSize") to
14481	// include in API requests with the JSON null value. By default, fields
14482	// with empty values are omitted from API requests. However, any field
14483	// with an empty value appearing in NullFields will be sent to the
14484	// server as null. It is an error if a field in this list has a
14485	// non-empty value. This may be used to include null fields in Patch
14486	// requests.
14487	NullFields []string `json:"-"`
14488}
14489
14490func (s *VideoPlayerSizeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14491	type NoMethod VideoPlayerSizeTargetingOptionDetails
14492	raw := NoMethod(*s)
14493	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14494}
14495
14496// ViewabilityAssignedTargetingOptionDetails: Assigned viewability
14497// targeting option details. This will be populated in the
14498// viewability_details field of an AssignedTargetingOption when
14499// targeting_type is `TARGETING_TYPE_VIEWABILITY`.
14500type ViewabilityAssignedTargetingOptionDetails struct {
14501	// TargetingOptionId: Required. The targeting_option_id of a
14502	// TargetingOption of type `TARGETING_TYPE_VIEWABILITY` (e.g., "509010"
14503	// for targeting the `VIEWABILITY_10_PERCENT_OR_MORE` option).
14504	TargetingOptionId string `json:"targetingOptionId,omitempty"`
14505
14506	// Viewability: Output only. The predicted viewability percentage.
14507	//
14508	// Possible values:
14509	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
14510	// specified in this version. This enum is a placeholder for default
14511	// value and does not represent a real viewability option.
14512	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are
14513	// at least 10% likely to be viewable.
14514	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are
14515	// at least 20% likely to be viewable.
14516	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are
14517	// at least 30% likely to be viewable.
14518	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are
14519	// at least 40% likely to be viewable.
14520	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are
14521	// at least 50% likely to be viewable.
14522	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are
14523	// at least 60% likely to be viewable.
14524	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are
14525	// at least 70% likely to be viewable.
14526	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are
14527	// at least 80% likely to be viewable.
14528	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are
14529	// at least 90% likely to be viewable.
14530	Viewability string `json:"viewability,omitempty"`
14531
14532	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
14533	// to unconditionally include in API requests. By default, fields with
14534	// empty or default values are omitted from API requests. However, any
14535	// non-pointer, non-interface field appearing in ForceSendFields will be
14536	// sent to the server regardless of whether the field is empty or not.
14537	// This may be used to include empty fields in Patch requests.
14538	ForceSendFields []string `json:"-"`
14539
14540	// NullFields is a list of field names (e.g. "TargetingOptionId") to
14541	// include in API requests with the JSON null value. By default, fields
14542	// with empty values are omitted from API requests. However, any field
14543	// with an empty value appearing in NullFields will be sent to the
14544	// server as null. It is an error if a field in this list has a
14545	// non-empty value. This may be used to include null fields in Patch
14546	// requests.
14547	NullFields []string `json:"-"`
14548}
14549
14550func (s *ViewabilityAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14551	type NoMethod ViewabilityAssignedTargetingOptionDetails
14552	raw := NoMethod(*s)
14553	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14554}
14555
14556// ViewabilityTargetingOptionDetails: Represents a targetable
14557// viewability. This will be populated in the viewability_details field
14558// of a TargetingOption when targeting_type is
14559// `TARGETING_TYPE_VIEWABILITY`.
14560type ViewabilityTargetingOptionDetails struct {
14561	// Viewability: Output only. The predicted viewability percentage.
14562	//
14563	// Possible values:
14564	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
14565	// specified in this version. This enum is a placeholder for default
14566	// value and does not represent a real viewability option.
14567	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are
14568	// at least 10% likely to be viewable.
14569	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are
14570	// at least 20% likely to be viewable.
14571	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are
14572	// at least 30% likely to be viewable.
14573	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are
14574	// at least 40% likely to be viewable.
14575	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are
14576	// at least 50% likely to be viewable.
14577	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are
14578	// at least 60% likely to be viewable.
14579	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are
14580	// at least 70% likely to be viewable.
14581	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are
14582	// at least 80% likely to be viewable.
14583	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are
14584	// at least 90% likely to be viewable.
14585	Viewability string `json:"viewability,omitempty"`
14586
14587	// ForceSendFields is a list of field names (e.g. "Viewability") to
14588	// unconditionally include in API requests. By default, fields with
14589	// empty or default values are omitted from API requests. However, any
14590	// non-pointer, non-interface field appearing in ForceSendFields will be
14591	// sent to the server regardless of whether the field is empty or not.
14592	// This may be used to include empty fields in Patch requests.
14593	ForceSendFields []string `json:"-"`
14594
14595	// NullFields is a list of field names (e.g. "Viewability") to include
14596	// in API requests with the JSON null value. By default, fields with
14597	// empty values are omitted from API requests. However, any field with
14598	// an empty value appearing in NullFields will be sent to the server as
14599	// null. It is an error if a field in this list has a non-empty value.
14600	// This may be used to include null fields in Patch requests.
14601	NullFields []string `json:"-"`
14602}
14603
14604func (s *ViewabilityTargetingOptionDetails) MarshalJSON() ([]byte, error) {
14605	type NoMethod ViewabilityTargetingOptionDetails
14606	raw := NoMethod(*s)
14607	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14608}
14609
14610// method id "displayvideo.advertisers.audit":
14611
14612type AdvertisersAuditCall struct {
14613	s            *Service
14614	advertiserId int64
14615	urlParams_   gensupport.URLParams
14616	ifNoneMatch_ string
14617	ctx_         context.Context
14618	header_      http.Header
14619}
14620
14621// Audit: Audits an advertiser. Returns the counts of used entities per
14622// resource type under the advertiser provided. Used entities count
14623// towards their respective resource limit. See
14624// https://support.google.com/displayvideo/answer/6071450.
14625//
14626// - advertiserId: The ID of the advertiser to audit.
14627func (r *AdvertisersService) Audit(advertiserId int64) *AdvertisersAuditCall {
14628	c := &AdvertisersAuditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14629	c.advertiserId = advertiserId
14630	return c
14631}
14632
14633// ReadMask sets the optional parameter "readMask": The specific fields
14634// to return. If no mask is specified, all fields in the response proto
14635// will be filled. Valid values are: * usedLineItemsCount *
14636// usedInsertionOrdersCount * usedCampaignsCount * channelsCount *
14637// negativelyTargetedChannelsCount * negativeKeywordListsCount *
14638// adGroupCriteriaCount * campaignCriteriaCount
14639func (c *AdvertisersAuditCall) ReadMask(readMask string) *AdvertisersAuditCall {
14640	c.urlParams_.Set("readMask", readMask)
14641	return c
14642}
14643
14644// Fields allows partial responses to be retrieved. See
14645// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14646// for more information.
14647func (c *AdvertisersAuditCall) Fields(s ...googleapi.Field) *AdvertisersAuditCall {
14648	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14649	return c
14650}
14651
14652// IfNoneMatch sets the optional parameter which makes the operation
14653// fail if the object's ETag matches the given value. This is useful for
14654// getting updates only after the object has changed since the last
14655// request. Use googleapi.IsNotModified to check whether the response
14656// error from Do is the result of In-None-Match.
14657func (c *AdvertisersAuditCall) IfNoneMatch(entityTag string) *AdvertisersAuditCall {
14658	c.ifNoneMatch_ = entityTag
14659	return c
14660}
14661
14662// Context sets the context to be used in this call's Do method. Any
14663// pending HTTP request will be aborted if the provided context is
14664// canceled.
14665func (c *AdvertisersAuditCall) Context(ctx context.Context) *AdvertisersAuditCall {
14666	c.ctx_ = ctx
14667	return c
14668}
14669
14670// Header returns an http.Header that can be modified by the caller to
14671// add HTTP headers to the request.
14672func (c *AdvertisersAuditCall) Header() http.Header {
14673	if c.header_ == nil {
14674		c.header_ = make(http.Header)
14675	}
14676	return c.header_
14677}
14678
14679func (c *AdvertisersAuditCall) doRequest(alt string) (*http.Response, error) {
14680	reqHeaders := make(http.Header)
14681	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
14682	for k, v := range c.header_ {
14683		reqHeaders[k] = v
14684	}
14685	reqHeaders.Set("User-Agent", c.s.userAgent())
14686	if c.ifNoneMatch_ != "" {
14687		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14688	}
14689	var body io.Reader = nil
14690	c.urlParams_.Set("alt", alt)
14691	c.urlParams_.Set("prettyPrint", "false")
14692	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:audit")
14693	urls += "?" + c.urlParams_.Encode()
14694	req, err := http.NewRequest("GET", urls, body)
14695	if err != nil {
14696		return nil, err
14697	}
14698	req.Header = reqHeaders
14699	googleapi.Expand(req.URL, map[string]string{
14700		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14701	})
14702	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14703}
14704
14705// Do executes the "displayvideo.advertisers.audit" call.
14706// Exactly one of *AuditAdvertiserResponse or error will be non-nil. Any
14707// non-2xx status code is an error. Response headers are in either
14708// *AuditAdvertiserResponse.ServerResponse.Header or (if a response was
14709// returned at all) in error.(*googleapi.Error).Header. Use
14710// googleapi.IsNotModified to check whether the returned error was
14711// because http.StatusNotModified was returned.
14712func (c *AdvertisersAuditCall) Do(opts ...googleapi.CallOption) (*AuditAdvertiserResponse, error) {
14713	gensupport.SetOptions(c.urlParams_, opts...)
14714	res, err := c.doRequest("json")
14715	if res != nil && res.StatusCode == http.StatusNotModified {
14716		if res.Body != nil {
14717			res.Body.Close()
14718		}
14719		return nil, &googleapi.Error{
14720			Code:   res.StatusCode,
14721			Header: res.Header,
14722		}
14723	}
14724	if err != nil {
14725		return nil, err
14726	}
14727	defer googleapi.CloseBody(res)
14728	if err := googleapi.CheckResponse(res); err != nil {
14729		return nil, err
14730	}
14731	ret := &AuditAdvertiserResponse{
14732		ServerResponse: googleapi.ServerResponse{
14733			Header:         res.Header,
14734			HTTPStatusCode: res.StatusCode,
14735		},
14736	}
14737	target := &ret
14738	if err := gensupport.DecodeResponse(target, res); err != nil {
14739		return nil, err
14740	}
14741	return ret, nil
14742	// {
14743	//   "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.",
14744	//   "flatPath": "v1/advertisers/{advertisersId}:audit",
14745	//   "httpMethod": "GET",
14746	//   "id": "displayvideo.advertisers.audit",
14747	//   "parameterOrder": [
14748	//     "advertiserId"
14749	//   ],
14750	//   "parameters": {
14751	//     "advertiserId": {
14752	//       "description": "Required. The ID of the advertiser to audit.",
14753	//       "format": "int64",
14754	//       "location": "path",
14755	//       "pattern": "^[^/]+$",
14756	//       "required": true,
14757	//       "type": "string"
14758	//     },
14759	//     "readMask": {
14760	//       "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",
14761	//       "format": "google-fieldmask",
14762	//       "location": "query",
14763	//       "type": "string"
14764	//     }
14765	//   },
14766	//   "path": "v1/advertisers/{+advertiserId}:audit",
14767	//   "response": {
14768	//     "$ref": "AuditAdvertiserResponse"
14769	//   },
14770	//   "scopes": [
14771	//     "https://www.googleapis.com/auth/display-video"
14772	//   ]
14773	// }
14774
14775}
14776
14777// method id "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions":
14778
14779type AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall struct {
14780	s                                                 *Service
14781	advertiserId                                      int64
14782	bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest
14783	urlParams_                                        gensupport.URLParams
14784	ctx_                                              context.Context
14785	header_                                           http.Header
14786}
14787
14788// BulkEditAdvertiserAssignedTargetingOptions: Bulk edits targeting
14789// options under a single advertiser. The operation will delete the
14790// assigned targeting options provided in
14791// BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and
14792// then create the assigned targeting options provided in
14793// BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .
14794//
14795// - advertiserId: The ID of the advertiser.
14796func (r *AdvertisersService) BulkEditAdvertiserAssignedTargetingOptions(advertiserId int64, bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
14797	c := &AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14798	c.advertiserId = advertiserId
14799	c.bulkeditadvertiserassignedtargetingoptionsrequest = bulkeditadvertiserassignedtargetingoptionsrequest
14800	return c
14801}
14802
14803// Fields allows partial responses to be retrieved. See
14804// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14805// for more information.
14806func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
14807	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14808	return c
14809}
14810
14811// Context sets the context to be used in this call's Do method. Any
14812// pending HTTP request will be aborted if the provided context is
14813// canceled.
14814func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
14815	c.ctx_ = ctx
14816	return c
14817}
14818
14819// Header returns an http.Header that can be modified by the caller to
14820// add HTTP headers to the request.
14821func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Header() http.Header {
14822	if c.header_ == nil {
14823		c.header_ = make(http.Header)
14824	}
14825	return c.header_
14826}
14827
14828func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
14829	reqHeaders := make(http.Header)
14830	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
14831	for k, v := range c.header_ {
14832		reqHeaders[k] = v
14833	}
14834	reqHeaders.Set("User-Agent", c.s.userAgent())
14835	var body io.Reader = nil
14836	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditadvertiserassignedtargetingoptionsrequest)
14837	if err != nil {
14838		return nil, err
14839	}
14840	reqHeaders.Set("Content-Type", "application/json")
14841	c.urlParams_.Set("alt", alt)
14842	c.urlParams_.Set("prettyPrint", "false")
14843	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:bulkEditAdvertiserAssignedTargetingOptions")
14844	urls += "?" + c.urlParams_.Encode()
14845	req, err := http.NewRequest("POST", urls, body)
14846	if err != nil {
14847		return nil, err
14848	}
14849	req.Header = reqHeaders
14850	googleapi.Expand(req.URL, map[string]string{
14851		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14852	})
14853	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14854}
14855
14856// Do executes the "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions" call.
14857// Exactly one of *BulkEditAdvertiserAssignedTargetingOptionsResponse or
14858// error will be non-nil. Any non-2xx status code is an error. Response
14859// headers are in either
14860// *BulkEditAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Hea
14861// der or (if a response was returned at all) in
14862// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14863// whether the returned error was because http.StatusNotModified was
14864// returned.
14865func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAdvertiserAssignedTargetingOptionsResponse, error) {
14866	gensupport.SetOptions(c.urlParams_, opts...)
14867	res, err := c.doRequest("json")
14868	if res != nil && res.StatusCode == http.StatusNotModified {
14869		if res.Body != nil {
14870			res.Body.Close()
14871		}
14872		return nil, &googleapi.Error{
14873			Code:   res.StatusCode,
14874			Header: res.Header,
14875		}
14876	}
14877	if err != nil {
14878		return nil, err
14879	}
14880	defer googleapi.CloseBody(res)
14881	if err := googleapi.CheckResponse(res); err != nil {
14882		return nil, err
14883	}
14884	ret := &BulkEditAdvertiserAssignedTargetingOptionsResponse{
14885		ServerResponse: googleapi.ServerResponse{
14886			Header:         res.Header,
14887			HTTPStatusCode: res.StatusCode,
14888		},
14889	}
14890	target := &ret
14891	if err := gensupport.DecodeResponse(target, res); err != nil {
14892		return nil, err
14893	}
14894	return ret, nil
14895	// {
14896	//   "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 .",
14897	//   "flatPath": "v1/advertisers/{advertisersId}:bulkEditAdvertiserAssignedTargetingOptions",
14898	//   "httpMethod": "POST",
14899	//   "id": "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions",
14900	//   "parameterOrder": [
14901	//     "advertiserId"
14902	//   ],
14903	//   "parameters": {
14904	//     "advertiserId": {
14905	//       "description": "Required. The ID of the advertiser.",
14906	//       "format": "int64",
14907	//       "location": "path",
14908	//       "pattern": "^[^/]+$",
14909	//       "required": true,
14910	//       "type": "string"
14911	//     }
14912	//   },
14913	//   "path": "v1/advertisers/{+advertiserId}:bulkEditAdvertiserAssignedTargetingOptions",
14914	//   "request": {
14915	//     "$ref": "BulkEditAdvertiserAssignedTargetingOptionsRequest"
14916	//   },
14917	//   "response": {
14918	//     "$ref": "BulkEditAdvertiserAssignedTargetingOptionsResponse"
14919	//   },
14920	//   "scopes": [
14921	//     "https://www.googleapis.com/auth/display-video"
14922	//   ]
14923	// }
14924
14925}
14926
14927// method id "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions":
14928
14929type AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall struct {
14930	s            *Service
14931	advertiserId int64
14932	urlParams_   gensupport.URLParams
14933	ifNoneMatch_ string
14934	ctx_         context.Context
14935	header_      http.Header
14936}
14937
14938// BulkListAdvertiserAssignedTargetingOptions: Lists assigned targeting
14939// options of an advertiser across targeting types.
14940//
14941// - advertiserId: The ID of the advertiser the line item belongs to.
14942func (r *AdvertisersService) BulkListAdvertiserAssignedTargetingOptions(advertiserId int64) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14943	c := &AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14944	c.advertiserId = advertiserId
14945	return c
14946}
14947
14948// Filter sets the optional parameter "filter": Allows filtering by
14949// assigned targeting option properties. Supported syntax: * Filter
14950// expressions are made up of one or more restrictions. * Restrictions
14951// can be combined by the logical operator `OR`.. * A restriction has
14952// the form of `{field} {operator} {value}`. * The operator must be
14953// `EQUALS (=)`. * Supported fields: - `targetingType` Examples: *
14954// targetingType with value TARGETING_TYPE_CHANNEL
14955// `targetingType="TARGETING_TYPE_CHANNEL" The length of this field
14956// should be no more than 500 characters.
14957func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14958	c.urlParams_.Set("filter", filter)
14959	return c
14960}
14961
14962// OrderBy sets the optional parameter "orderBy": Field by which to sort
14963// the list. Acceptable values are: * `targetingType` (default) The
14964// default sorting order is ascending. To specify descending order for a
14965// field, a suffix "desc" should be added to the field name. Example:
14966// `targetingType desc`.
14967func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14968	c.urlParams_.Set("orderBy", orderBy)
14969	return c
14970}
14971
14972// PageSize sets the optional parameter "pageSize": Requested page size.
14973// The size must be an integer between `1` and `5000`. If unspecified,
14974// the default is '5000'. Returns error code `INVALID_ARGUMENT` if an
14975// invalid value is specified.
14976func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14977	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14978	return c
14979}
14980
14981// PageToken sets the optional parameter "pageToken": A token that lets
14982// the client fetch the next page of results. Typically, this is the
14983// value of next_page_token returned from the previous call to
14984// `BulkListAdvertiserAssignedTargetingOptions` method. If not
14985// specified, the first page of results will be returned.
14986func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14987	c.urlParams_.Set("pageToken", pageToken)
14988	return c
14989}
14990
14991// Fields allows partial responses to be retrieved. See
14992// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14993// for more information.
14994func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
14995	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14996	return c
14997}
14998
14999// IfNoneMatch sets the optional parameter which makes the operation
15000// fail if the object's ETag matches the given value. This is useful for
15001// getting updates only after the object has changed since the last
15002// request. Use googleapi.IsNotModified to check whether the response
15003// error from Do is the result of In-None-Match.
15004func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
15005	c.ifNoneMatch_ = entityTag
15006	return c
15007}
15008
15009// Context sets the context to be used in this call's Do method. Any
15010// pending HTTP request will be aborted if the provided context is
15011// canceled.
15012func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
15013	c.ctx_ = ctx
15014	return c
15015}
15016
15017// Header returns an http.Header that can be modified by the caller to
15018// add HTTP headers to the request.
15019func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Header() http.Header {
15020	if c.header_ == nil {
15021		c.header_ = make(http.Header)
15022	}
15023	return c.header_
15024}
15025
15026func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
15027	reqHeaders := make(http.Header)
15028	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
15029	for k, v := range c.header_ {
15030		reqHeaders[k] = v
15031	}
15032	reqHeaders.Set("User-Agent", c.s.userAgent())
15033	if c.ifNoneMatch_ != "" {
15034		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15035	}
15036	var body io.Reader = nil
15037	c.urlParams_.Set("alt", alt)
15038	c.urlParams_.Set("prettyPrint", "false")
15039	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:bulkListAdvertiserAssignedTargetingOptions")
15040	urls += "?" + c.urlParams_.Encode()
15041	req, err := http.NewRequest("GET", urls, body)
15042	if err != nil {
15043		return nil, err
15044	}
15045	req.Header = reqHeaders
15046	googleapi.Expand(req.URL, map[string]string{
15047		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15048	})
15049	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15050}
15051
15052// Do executes the "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions" call.
15053// Exactly one of *BulkListAdvertiserAssignedTargetingOptionsResponse or
15054// error will be non-nil. Any non-2xx status code is an error. Response
15055// headers are in either
15056// *BulkListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Hea
15057// der or (if a response was returned at all) in
15058// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
15059// whether the returned error was because http.StatusNotModified was
15060// returned.
15061func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdvertiserAssignedTargetingOptionsResponse, error) {
15062	gensupport.SetOptions(c.urlParams_, opts...)
15063	res, err := c.doRequest("json")
15064	if res != nil && res.StatusCode == http.StatusNotModified {
15065		if res.Body != nil {
15066			res.Body.Close()
15067		}
15068		return nil, &googleapi.Error{
15069			Code:   res.StatusCode,
15070			Header: res.Header,
15071		}
15072	}
15073	if err != nil {
15074		return nil, err
15075	}
15076	defer googleapi.CloseBody(res)
15077	if err := googleapi.CheckResponse(res); err != nil {
15078		return nil, err
15079	}
15080	ret := &BulkListAdvertiserAssignedTargetingOptionsResponse{
15081		ServerResponse: googleapi.ServerResponse{
15082			Header:         res.Header,
15083			HTTPStatusCode: res.StatusCode,
15084		},
15085	}
15086	target := &ret
15087	if err := gensupport.DecodeResponse(target, res); err != nil {
15088		return nil, err
15089	}
15090	return ret, nil
15091	// {
15092	//   "description": "Lists assigned targeting options of an advertiser across targeting types.",
15093	//   "flatPath": "v1/advertisers/{advertisersId}:bulkListAdvertiserAssignedTargetingOptions",
15094	//   "httpMethod": "GET",
15095	//   "id": "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions",
15096	//   "parameterOrder": [
15097	//     "advertiserId"
15098	//   ],
15099	//   "parameters": {
15100	//     "advertiserId": {
15101	//       "description": "Required. The ID of the advertiser the line item belongs to.",
15102	//       "format": "int64",
15103	//       "location": "path",
15104	//       "pattern": "^[^/]+$",
15105	//       "required": true,
15106	//       "type": "string"
15107	//     },
15108	//     "filter": {
15109	//       "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.",
15110	//       "location": "query",
15111	//       "type": "string"
15112	//     },
15113	//     "orderBy": {
15114	//       "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`.",
15115	//       "location": "query",
15116	//       "type": "string"
15117	//     },
15118	//     "pageSize": {
15119	//       "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.",
15120	//       "format": "int32",
15121	//       "location": "query",
15122	//       "type": "integer"
15123	//     },
15124	//     "pageToken": {
15125	//       "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.",
15126	//       "location": "query",
15127	//       "type": "string"
15128	//     }
15129	//   },
15130	//   "path": "v1/advertisers/{+advertiserId}:bulkListAdvertiserAssignedTargetingOptions",
15131	//   "response": {
15132	//     "$ref": "BulkListAdvertiserAssignedTargetingOptionsResponse"
15133	//   },
15134	//   "scopes": [
15135	//     "https://www.googleapis.com/auth/display-video"
15136	//   ]
15137	// }
15138
15139}
15140
15141// Pages invokes f for each page of results.
15142// A non-nil error returned from f will halt the iteration.
15143// The provided context supersedes any context provided to the Context method.
15144func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdvertiserAssignedTargetingOptionsResponse) error) error {
15145	c.ctx_ = ctx
15146	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15147	for {
15148		x, err := c.Do()
15149		if err != nil {
15150			return err
15151		}
15152		if err := f(x); err != nil {
15153			return err
15154		}
15155		if x.NextPageToken == "" {
15156			return nil
15157		}
15158		c.PageToken(x.NextPageToken)
15159	}
15160}
15161
15162// method id "displayvideo.advertisers.create":
15163
15164type AdvertisersCreateCall struct {
15165	s          *Service
15166	advertiser *Advertiser
15167	urlParams_ gensupport.URLParams
15168	ctx_       context.Context
15169	header_    http.Header
15170}
15171
15172// Create: Creates a new advertiser. Returns the newly created
15173// advertiser if successful. This method can take up to 180 seconds to
15174// complete.
15175func (r *AdvertisersService) Create(advertiser *Advertiser) *AdvertisersCreateCall {
15176	c := &AdvertisersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15177	c.advertiser = advertiser
15178	return c
15179}
15180
15181// Fields allows partial responses to be retrieved. See
15182// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15183// for more information.
15184func (c *AdvertisersCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreateCall {
15185	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15186	return c
15187}
15188
15189// Context sets the context to be used in this call's Do method. Any
15190// pending HTTP request will be aborted if the provided context is
15191// canceled.
15192func (c *AdvertisersCreateCall) Context(ctx context.Context) *AdvertisersCreateCall {
15193	c.ctx_ = ctx
15194	return c
15195}
15196
15197// Header returns an http.Header that can be modified by the caller to
15198// add HTTP headers to the request.
15199func (c *AdvertisersCreateCall) Header() http.Header {
15200	if c.header_ == nil {
15201		c.header_ = make(http.Header)
15202	}
15203	return c.header_
15204}
15205
15206func (c *AdvertisersCreateCall) doRequest(alt string) (*http.Response, error) {
15207	reqHeaders := make(http.Header)
15208	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
15209	for k, v := range c.header_ {
15210		reqHeaders[k] = v
15211	}
15212	reqHeaders.Set("User-Agent", c.s.userAgent())
15213	var body io.Reader = nil
15214	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
15215	if err != nil {
15216		return nil, err
15217	}
15218	reqHeaders.Set("Content-Type", "application/json")
15219	c.urlParams_.Set("alt", alt)
15220	c.urlParams_.Set("prettyPrint", "false")
15221	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers")
15222	urls += "?" + c.urlParams_.Encode()
15223	req, err := http.NewRequest("POST", urls, body)
15224	if err != nil {
15225		return nil, err
15226	}
15227	req.Header = reqHeaders
15228	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15229}
15230
15231// Do executes the "displayvideo.advertisers.create" call.
15232// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
15233// status code is an error. Response headers are in either
15234// *Advertiser.ServerResponse.Header or (if a response was returned at
15235// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15236// to check whether the returned error was because
15237// http.StatusNotModified was returned.
15238func (c *AdvertisersCreateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
15239	gensupport.SetOptions(c.urlParams_, opts...)
15240	res, err := c.doRequest("json")
15241	if res != nil && res.StatusCode == http.StatusNotModified {
15242		if res.Body != nil {
15243			res.Body.Close()
15244		}
15245		return nil, &googleapi.Error{
15246			Code:   res.StatusCode,
15247			Header: res.Header,
15248		}
15249	}
15250	if err != nil {
15251		return nil, err
15252	}
15253	defer googleapi.CloseBody(res)
15254	if err := googleapi.CheckResponse(res); err != nil {
15255		return nil, err
15256	}
15257	ret := &Advertiser{
15258		ServerResponse: googleapi.ServerResponse{
15259			Header:         res.Header,
15260			HTTPStatusCode: res.StatusCode,
15261		},
15262	}
15263	target := &ret
15264	if err := gensupport.DecodeResponse(target, res); err != nil {
15265		return nil, err
15266	}
15267	return ret, nil
15268	// {
15269	//   "description": "Creates a new advertiser. Returns the newly created advertiser if successful. This method can take up to 180 seconds to complete.",
15270	//   "flatPath": "v1/advertisers",
15271	//   "httpMethod": "POST",
15272	//   "id": "displayvideo.advertisers.create",
15273	//   "parameterOrder": [],
15274	//   "parameters": {},
15275	//   "path": "v1/advertisers",
15276	//   "request": {
15277	//     "$ref": "Advertiser"
15278	//   },
15279	//   "response": {
15280	//     "$ref": "Advertiser"
15281	//   },
15282	//   "scopes": [
15283	//     "https://www.googleapis.com/auth/display-video"
15284	//   ]
15285	// }
15286
15287}
15288
15289// method id "displayvideo.advertisers.delete":
15290
15291type AdvertisersDeleteCall struct {
15292	s            *Service
15293	advertiserId int64
15294	urlParams_   gensupport.URLParams
15295	ctx_         context.Context
15296	header_      http.Header
15297}
15298
15299// Delete: Deletes an advertiser. Deleting an advertiser will delete all
15300// of its child resources, for example, campaigns, insertion orders and
15301// line items. A deleted advertiser cannot be recovered.
15302//
15303// - advertiserId: The ID of the advertiser we need to delete.
15304func (r *AdvertisersService) Delete(advertiserId int64) *AdvertisersDeleteCall {
15305	c := &AdvertisersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15306	c.advertiserId = advertiserId
15307	return c
15308}
15309
15310// Fields allows partial responses to be retrieved. See
15311// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15312// for more information.
15313func (c *AdvertisersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersDeleteCall {
15314	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15315	return c
15316}
15317
15318// Context sets the context to be used in this call's Do method. Any
15319// pending HTTP request will be aborted if the provided context is
15320// canceled.
15321func (c *AdvertisersDeleteCall) Context(ctx context.Context) *AdvertisersDeleteCall {
15322	c.ctx_ = ctx
15323	return c
15324}
15325
15326// Header returns an http.Header that can be modified by the caller to
15327// add HTTP headers to the request.
15328func (c *AdvertisersDeleteCall) Header() http.Header {
15329	if c.header_ == nil {
15330		c.header_ = make(http.Header)
15331	}
15332	return c.header_
15333}
15334
15335func (c *AdvertisersDeleteCall) doRequest(alt string) (*http.Response, error) {
15336	reqHeaders := make(http.Header)
15337	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
15338	for k, v := range c.header_ {
15339		reqHeaders[k] = v
15340	}
15341	reqHeaders.Set("User-Agent", c.s.userAgent())
15342	var body io.Reader = nil
15343	c.urlParams_.Set("alt", alt)
15344	c.urlParams_.Set("prettyPrint", "false")
15345	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
15346	urls += "?" + c.urlParams_.Encode()
15347	req, err := http.NewRequest("DELETE", urls, body)
15348	if err != nil {
15349		return nil, err
15350	}
15351	req.Header = reqHeaders
15352	googleapi.Expand(req.URL, map[string]string{
15353		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15354	})
15355	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15356}
15357
15358// Do executes the "displayvideo.advertisers.delete" call.
15359// Exactly one of *Empty or error will be non-nil. Any non-2xx status
15360// code is an error. Response headers are in either
15361// *Empty.ServerResponse.Header or (if a response was returned at all)
15362// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15363// check whether the returned error was because http.StatusNotModified
15364// was returned.
15365func (c *AdvertisersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
15366	gensupport.SetOptions(c.urlParams_, opts...)
15367	res, err := c.doRequest("json")
15368	if res != nil && res.StatusCode == http.StatusNotModified {
15369		if res.Body != nil {
15370			res.Body.Close()
15371		}
15372		return nil, &googleapi.Error{
15373			Code:   res.StatusCode,
15374			Header: res.Header,
15375		}
15376	}
15377	if err != nil {
15378		return nil, err
15379	}
15380	defer googleapi.CloseBody(res)
15381	if err := googleapi.CheckResponse(res); err != nil {
15382		return nil, err
15383	}
15384	ret := &Empty{
15385		ServerResponse: googleapi.ServerResponse{
15386			Header:         res.Header,
15387			HTTPStatusCode: res.StatusCode,
15388		},
15389	}
15390	target := &ret
15391	if err := gensupport.DecodeResponse(target, res); err != nil {
15392		return nil, err
15393	}
15394	return ret, nil
15395	// {
15396	//   "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.",
15397	//   "flatPath": "v1/advertisers/{advertisersId}",
15398	//   "httpMethod": "DELETE",
15399	//   "id": "displayvideo.advertisers.delete",
15400	//   "parameterOrder": [
15401	//     "advertiserId"
15402	//   ],
15403	//   "parameters": {
15404	//     "advertiserId": {
15405	//       "description": "The ID of the advertiser we need to delete.",
15406	//       "format": "int64",
15407	//       "location": "path",
15408	//       "pattern": "^[^/]+$",
15409	//       "required": true,
15410	//       "type": "string"
15411	//     }
15412	//   },
15413	//   "path": "v1/advertisers/{+advertiserId}",
15414	//   "response": {
15415	//     "$ref": "Empty"
15416	//   },
15417	//   "scopes": [
15418	//     "https://www.googleapis.com/auth/display-video"
15419	//   ]
15420	// }
15421
15422}
15423
15424// method id "displayvideo.advertisers.get":
15425
15426type AdvertisersGetCall struct {
15427	s            *Service
15428	advertiserId int64
15429	urlParams_   gensupport.URLParams
15430	ifNoneMatch_ string
15431	ctx_         context.Context
15432	header_      http.Header
15433}
15434
15435// Get: Gets an advertiser.
15436//
15437// - advertiserId: The ID of the advertiser to fetch.
15438func (r *AdvertisersService) Get(advertiserId int64) *AdvertisersGetCall {
15439	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15440	c.advertiserId = advertiserId
15441	return c
15442}
15443
15444// Fields allows partial responses to be retrieved. See
15445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15446// for more information.
15447func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
15448	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15449	return c
15450}
15451
15452// IfNoneMatch sets the optional parameter which makes the operation
15453// fail if the object's ETag matches the given value. This is useful for
15454// getting updates only after the object has changed since the last
15455// request. Use googleapi.IsNotModified to check whether the response
15456// error from Do is the result of In-None-Match.
15457func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
15458	c.ifNoneMatch_ = entityTag
15459	return c
15460}
15461
15462// Context sets the context to be used in this call's Do method. Any
15463// pending HTTP request will be aborted if the provided context is
15464// canceled.
15465func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
15466	c.ctx_ = ctx
15467	return c
15468}
15469
15470// Header returns an http.Header that can be modified by the caller to
15471// add HTTP headers to the request.
15472func (c *AdvertisersGetCall) Header() http.Header {
15473	if c.header_ == nil {
15474		c.header_ = make(http.Header)
15475	}
15476	return c.header_
15477}
15478
15479func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
15480	reqHeaders := make(http.Header)
15481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
15482	for k, v := range c.header_ {
15483		reqHeaders[k] = v
15484	}
15485	reqHeaders.Set("User-Agent", c.s.userAgent())
15486	if c.ifNoneMatch_ != "" {
15487		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15488	}
15489	var body io.Reader = nil
15490	c.urlParams_.Set("alt", alt)
15491	c.urlParams_.Set("prettyPrint", "false")
15492	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
15493	urls += "?" + c.urlParams_.Encode()
15494	req, err := http.NewRequest("GET", urls, body)
15495	if err != nil {
15496		return nil, err
15497	}
15498	req.Header = reqHeaders
15499	googleapi.Expand(req.URL, map[string]string{
15500		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15501	})
15502	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15503}
15504
15505// Do executes the "displayvideo.advertisers.get" call.
15506// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
15507// status code is an error. Response headers are in either
15508// *Advertiser.ServerResponse.Header or (if a response was returned at
15509// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15510// to check whether the returned error was because
15511// http.StatusNotModified was returned.
15512func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
15513	gensupport.SetOptions(c.urlParams_, opts...)
15514	res, err := c.doRequest("json")
15515	if res != nil && res.StatusCode == http.StatusNotModified {
15516		if res.Body != nil {
15517			res.Body.Close()
15518		}
15519		return nil, &googleapi.Error{
15520			Code:   res.StatusCode,
15521			Header: res.Header,
15522		}
15523	}
15524	if err != nil {
15525		return nil, err
15526	}
15527	defer googleapi.CloseBody(res)
15528	if err := googleapi.CheckResponse(res); err != nil {
15529		return nil, err
15530	}
15531	ret := &Advertiser{
15532		ServerResponse: googleapi.ServerResponse{
15533			Header:         res.Header,
15534			HTTPStatusCode: res.StatusCode,
15535		},
15536	}
15537	target := &ret
15538	if err := gensupport.DecodeResponse(target, res); err != nil {
15539		return nil, err
15540	}
15541	return ret, nil
15542	// {
15543	//   "description": "Gets an advertiser.",
15544	//   "flatPath": "v1/advertisers/{advertisersId}",
15545	//   "httpMethod": "GET",
15546	//   "id": "displayvideo.advertisers.get",
15547	//   "parameterOrder": [
15548	//     "advertiserId"
15549	//   ],
15550	//   "parameters": {
15551	//     "advertiserId": {
15552	//       "description": "Required. The ID of the advertiser to fetch.",
15553	//       "format": "int64",
15554	//       "location": "path",
15555	//       "pattern": "^[^/]+$",
15556	//       "required": true,
15557	//       "type": "string"
15558	//     }
15559	//   },
15560	//   "path": "v1/advertisers/{+advertiserId}",
15561	//   "response": {
15562	//     "$ref": "Advertiser"
15563	//   },
15564	//   "scopes": [
15565	//     "https://www.googleapis.com/auth/display-video"
15566	//   ]
15567	// }
15568
15569}
15570
15571// method id "displayvideo.advertisers.list":
15572
15573type AdvertisersListCall struct {
15574	s            *Service
15575	urlParams_   gensupport.URLParams
15576	ifNoneMatch_ string
15577	ctx_         context.Context
15578	header_      http.Header
15579}
15580
15581// List: Lists advertisers that are accessible to the current user. The
15582// order is defined by the order_by parameter. A single partner_id is
15583// required. Cross-partner listing is not supported.
15584func (r *AdvertisersService) List() *AdvertisersListCall {
15585	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15586	return c
15587}
15588
15589// Filter sets the optional parameter "filter": Allows filtering by
15590// advertiser properties. Supported syntax: * Filter expressions are
15591// made up of one or more restrictions. * Restrictions can be combined
15592// by `AND` or `OR` logical operators. A sequence of restrictions
15593// implicitly uses `AND`. * A restriction has the form of `{field}
15594// {operator} {value}`. * The operator used on `updateTime` must be
15595// `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. *
15596// The operator must be `EQUALS (=)`. * Supported fields: -
15597// `advertiserId` - `displayName` - `entityStatus` - `updateTime` (input
15598// in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All active
15599// advertisers under a partner: `entityStatus="ENTITY_STATUS_ACTIVE" *
15600// All advertisers with an update time less than or equal to
15601// `2020-11-04T18:54:47Z (format of ISO 8601)`:
15602// `updateTime<="2020-11-04T18:54:47Z" * All advertisers with an update
15603// time greater than or equal to `2020-11-04T18:54:47Z (format of ISO
15604// 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this field
15605// should be no more than 500 characters.
15606func (c *AdvertisersListCall) Filter(filter string) *AdvertisersListCall {
15607	c.urlParams_.Set("filter", filter)
15608	return c
15609}
15610
15611// OrderBy sets the optional parameter "orderBy": Field by which to sort
15612// the list. Acceptable values are: * `displayName` (default) *
15613// `entityStatus` * `updateTime` The default sorting order is ascending.
15614// To specify descending order for a field, a suffix "desc" should be
15615// added to the field name. For example, `displayName desc`.
15616func (c *AdvertisersListCall) OrderBy(orderBy string) *AdvertisersListCall {
15617	c.urlParams_.Set("orderBy", orderBy)
15618	return c
15619}
15620
15621// PageSize sets the optional parameter "pageSize": Requested page size.
15622// Must be between `1` and `100`. If unspecified will default to `100`.
15623func (c *AdvertisersListCall) PageSize(pageSize int64) *AdvertisersListCall {
15624	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15625	return c
15626}
15627
15628// PageToken sets the optional parameter "pageToken": A token
15629// identifying a page of results the server should return. Typically,
15630// this is the value of next_page_token returned from the previous call
15631// to `ListAdvertisers` method. If not specified, the first page of
15632// results will be returned.
15633func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
15634	c.urlParams_.Set("pageToken", pageToken)
15635	return c
15636}
15637
15638// PartnerId sets the optional parameter "partnerId": Required. The ID
15639// of the partner that the fetched advertisers should all belong to. The
15640// system only supports listing advertisers for one partner at a time.
15641func (c *AdvertisersListCall) PartnerId(partnerId int64) *AdvertisersListCall {
15642	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
15643	return c
15644}
15645
15646// Fields allows partial responses to be retrieved. See
15647// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15648// for more information.
15649func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
15650	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15651	return c
15652}
15653
15654// IfNoneMatch sets the optional parameter which makes the operation
15655// fail if the object's ETag matches the given value. This is useful for
15656// getting updates only after the object has changed since the last
15657// request. Use googleapi.IsNotModified to check whether the response
15658// error from Do is the result of In-None-Match.
15659func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
15660	c.ifNoneMatch_ = entityTag
15661	return c
15662}
15663
15664// Context sets the context to be used in this call's Do method. Any
15665// pending HTTP request will be aborted if the provided context is
15666// canceled.
15667func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
15668	c.ctx_ = ctx
15669	return c
15670}
15671
15672// Header returns an http.Header that can be modified by the caller to
15673// add HTTP headers to the request.
15674func (c *AdvertisersListCall) Header() http.Header {
15675	if c.header_ == nil {
15676		c.header_ = make(http.Header)
15677	}
15678	return c.header_
15679}
15680
15681func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
15682	reqHeaders := make(http.Header)
15683	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
15684	for k, v := range c.header_ {
15685		reqHeaders[k] = v
15686	}
15687	reqHeaders.Set("User-Agent", c.s.userAgent())
15688	if c.ifNoneMatch_ != "" {
15689		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15690	}
15691	var body io.Reader = nil
15692	c.urlParams_.Set("alt", alt)
15693	c.urlParams_.Set("prettyPrint", "false")
15694	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers")
15695	urls += "?" + c.urlParams_.Encode()
15696	req, err := http.NewRequest("GET", urls, body)
15697	if err != nil {
15698		return nil, err
15699	}
15700	req.Header = reqHeaders
15701	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15702}
15703
15704// Do executes the "displayvideo.advertisers.list" call.
15705// Exactly one of *ListAdvertisersResponse or error will be non-nil. Any
15706// non-2xx status code is an error. Response headers are in either
15707// *ListAdvertisersResponse.ServerResponse.Header or (if a response was
15708// returned at all) in error.(*googleapi.Error).Header. Use
15709// googleapi.IsNotModified to check whether the returned error was
15710// because http.StatusNotModified was returned.
15711func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*ListAdvertisersResponse, error) {
15712	gensupport.SetOptions(c.urlParams_, opts...)
15713	res, err := c.doRequest("json")
15714	if res != nil && res.StatusCode == http.StatusNotModified {
15715		if res.Body != nil {
15716			res.Body.Close()
15717		}
15718		return nil, &googleapi.Error{
15719			Code:   res.StatusCode,
15720			Header: res.Header,
15721		}
15722	}
15723	if err != nil {
15724		return nil, err
15725	}
15726	defer googleapi.CloseBody(res)
15727	if err := googleapi.CheckResponse(res); err != nil {
15728		return nil, err
15729	}
15730	ret := &ListAdvertisersResponse{
15731		ServerResponse: googleapi.ServerResponse{
15732			Header:         res.Header,
15733			HTTPStatusCode: res.StatusCode,
15734		},
15735	}
15736	target := &ret
15737	if err := gensupport.DecodeResponse(target, res); err != nil {
15738		return nil, err
15739	}
15740	return ret, nil
15741	// {
15742	//   "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.",
15743	//   "flatPath": "v1/advertisers",
15744	//   "httpMethod": "GET",
15745	//   "id": "displayvideo.advertisers.list",
15746	//   "parameterOrder": [],
15747	//   "parameters": {
15748	//     "filter": {
15749	//       "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.",
15750	//       "location": "query",
15751	//       "type": "string"
15752	//     },
15753	//     "orderBy": {
15754	//       "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`.",
15755	//       "location": "query",
15756	//       "type": "string"
15757	//     },
15758	//     "pageSize": {
15759	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
15760	//       "format": "int32",
15761	//       "location": "query",
15762	//       "type": "integer"
15763	//     },
15764	//     "pageToken": {
15765	//       "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.",
15766	//       "location": "query",
15767	//       "type": "string"
15768	//     },
15769	//     "partnerId": {
15770	//       "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.",
15771	//       "format": "int64",
15772	//       "location": "query",
15773	//       "type": "string"
15774	//     }
15775	//   },
15776	//   "path": "v1/advertisers",
15777	//   "response": {
15778	//     "$ref": "ListAdvertisersResponse"
15779	//   },
15780	//   "scopes": [
15781	//     "https://www.googleapis.com/auth/display-video"
15782	//   ]
15783	// }
15784
15785}
15786
15787// Pages invokes f for each page of results.
15788// A non-nil error returned from f will halt the iteration.
15789// The provided context supersedes any context provided to the Context method.
15790func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*ListAdvertisersResponse) error) error {
15791	c.ctx_ = ctx
15792	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15793	for {
15794		x, err := c.Do()
15795		if err != nil {
15796			return err
15797		}
15798		if err := f(x); err != nil {
15799			return err
15800		}
15801		if x.NextPageToken == "" {
15802			return nil
15803		}
15804		c.PageToken(x.NextPageToken)
15805	}
15806}
15807
15808// method id "displayvideo.advertisers.patch":
15809
15810type AdvertisersPatchCall struct {
15811	s            *Service
15812	advertiserId int64
15813	advertiser   *Advertiser
15814	urlParams_   gensupport.URLParams
15815	ctx_         context.Context
15816	header_      http.Header
15817}
15818
15819// Patch: Updates an existing advertiser. Returns the updated advertiser
15820// if successful.
15821//
15822// - advertiserId: Output only. The unique ID of the advertiser.
15823//   Assigned by the system.
15824func (r *AdvertisersService) Patch(advertiserId int64, advertiser *Advertiser) *AdvertisersPatchCall {
15825	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15826	c.advertiserId = advertiserId
15827	c.advertiser = advertiser
15828	return c
15829}
15830
15831// UpdateMask sets the optional parameter "updateMask": Required. The
15832// mask to control which fields to update.
15833func (c *AdvertisersPatchCall) UpdateMask(updateMask string) *AdvertisersPatchCall {
15834	c.urlParams_.Set("updateMask", updateMask)
15835	return c
15836}
15837
15838// Fields allows partial responses to be retrieved. See
15839// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15840// for more information.
15841func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
15842	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15843	return c
15844}
15845
15846// Context sets the context to be used in this call's Do method. Any
15847// pending HTTP request will be aborted if the provided context is
15848// canceled.
15849func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
15850	c.ctx_ = ctx
15851	return c
15852}
15853
15854// Header returns an http.Header that can be modified by the caller to
15855// add HTTP headers to the request.
15856func (c *AdvertisersPatchCall) Header() http.Header {
15857	if c.header_ == nil {
15858		c.header_ = make(http.Header)
15859	}
15860	return c.header_
15861}
15862
15863func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
15864	reqHeaders := make(http.Header)
15865	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
15866	for k, v := range c.header_ {
15867		reqHeaders[k] = v
15868	}
15869	reqHeaders.Set("User-Agent", c.s.userAgent())
15870	var body io.Reader = nil
15871	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
15872	if err != nil {
15873		return nil, err
15874	}
15875	reqHeaders.Set("Content-Type", "application/json")
15876	c.urlParams_.Set("alt", alt)
15877	c.urlParams_.Set("prettyPrint", "false")
15878	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
15879	urls += "?" + c.urlParams_.Encode()
15880	req, err := http.NewRequest("PATCH", urls, body)
15881	if err != nil {
15882		return nil, err
15883	}
15884	req.Header = reqHeaders
15885	googleapi.Expand(req.URL, map[string]string{
15886		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15887	})
15888	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15889}
15890
15891// Do executes the "displayvideo.advertisers.patch" call.
15892// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
15893// status code is an error. Response headers are in either
15894// *Advertiser.ServerResponse.Header or (if a response was returned at
15895// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15896// to check whether the returned error was because
15897// http.StatusNotModified was returned.
15898func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
15899	gensupport.SetOptions(c.urlParams_, opts...)
15900	res, err := c.doRequest("json")
15901	if res != nil && res.StatusCode == http.StatusNotModified {
15902		if res.Body != nil {
15903			res.Body.Close()
15904		}
15905		return nil, &googleapi.Error{
15906			Code:   res.StatusCode,
15907			Header: res.Header,
15908		}
15909	}
15910	if err != nil {
15911		return nil, err
15912	}
15913	defer googleapi.CloseBody(res)
15914	if err := googleapi.CheckResponse(res); err != nil {
15915		return nil, err
15916	}
15917	ret := &Advertiser{
15918		ServerResponse: googleapi.ServerResponse{
15919			Header:         res.Header,
15920			HTTPStatusCode: res.StatusCode,
15921		},
15922	}
15923	target := &ret
15924	if err := gensupport.DecodeResponse(target, res); err != nil {
15925		return nil, err
15926	}
15927	return ret, nil
15928	// {
15929	//   "description": "Updates an existing advertiser. Returns the updated advertiser if successful.",
15930	//   "flatPath": "v1/advertisers/{advertisersId}",
15931	//   "httpMethod": "PATCH",
15932	//   "id": "displayvideo.advertisers.patch",
15933	//   "parameterOrder": [
15934	//     "advertiserId"
15935	//   ],
15936	//   "parameters": {
15937	//     "advertiserId": {
15938	//       "description": "Output only. The unique ID of the advertiser. Assigned by the system.",
15939	//       "format": "int64",
15940	//       "location": "path",
15941	//       "pattern": "^[^/]+$",
15942	//       "required": true,
15943	//       "type": "string"
15944	//     },
15945	//     "updateMask": {
15946	//       "description": "Required. The mask to control which fields to update.",
15947	//       "format": "google-fieldmask",
15948	//       "location": "query",
15949	//       "type": "string"
15950	//     }
15951	//   },
15952	//   "path": "v1/advertisers/{+advertiserId}",
15953	//   "request": {
15954	//     "$ref": "Advertiser"
15955	//   },
15956	//   "response": {
15957	//     "$ref": "Advertiser"
15958	//   },
15959	//   "scopes": [
15960	//     "https://www.googleapis.com/auth/display-video"
15961	//   ]
15962	// }
15963
15964}
15965
15966// method id "displayvideo.advertisers.assets.upload":
15967
15968type AdvertisersAssetsUploadCall struct {
15969	s                  *Service
15970	advertiserId       int64
15971	createassetrequest *CreateAssetRequest
15972	urlParams_         gensupport.URLParams
15973	mediaInfo_         *gensupport.MediaInfo
15974	ctx_               context.Context
15975	header_            http.Header
15976}
15977
15978// Upload: Uploads an asset. Returns the ID of the newly uploaded asset
15979// if successful. The asset file size should be no more than 10 MB for
15980// images, 200 MB for ZIP files, and 1 GB for videos.
15981//
15982// - advertiserId: The ID of the advertiser this asset belongs to.
15983func (r *AdvertisersAssetsService) Upload(advertiserId int64, createassetrequest *CreateAssetRequest) *AdvertisersAssetsUploadCall {
15984	c := &AdvertisersAssetsUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15985	c.advertiserId = advertiserId
15986	c.createassetrequest = createassetrequest
15987	return c
15988}
15989
15990// Media specifies the media to upload in one or more chunks. The chunk
15991// size may be controlled by supplying a MediaOption generated by
15992// googleapi.ChunkSize. The chunk size defaults to
15993// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
15994// upload request will be determined by sniffing the contents of r,
15995// unless a MediaOption generated by googleapi.ContentType is
15996// supplied.
15997// At most one of Media and ResumableMedia may be set.
15998func (c *AdvertisersAssetsUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *AdvertisersAssetsUploadCall {
15999	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
16000	return c
16001}
16002
16003// ResumableMedia specifies the media to upload in chunks and can be
16004// canceled with ctx.
16005//
16006// Deprecated: use Media instead.
16007//
16008// At most one of Media and ResumableMedia may be set. mediaType
16009// identifies the MIME media type of the upload, such as "image/png". If
16010// mediaType is "", it will be auto-detected. The provided ctx will
16011// supersede any context previously provided to the Context method.
16012func (c *AdvertisersAssetsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *AdvertisersAssetsUploadCall {
16013	c.ctx_ = ctx
16014	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
16015	return c
16016}
16017
16018// ProgressUpdater provides a callback function that will be called
16019// after every chunk. It should be a low-latency function in order to
16020// not slow down the upload operation. This should only be called when
16021// using ResumableMedia (as opposed to Media).
16022func (c *AdvertisersAssetsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *AdvertisersAssetsUploadCall {
16023	c.mediaInfo_.SetProgressUpdater(pu)
16024	return c
16025}
16026
16027// Fields allows partial responses to be retrieved. See
16028// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16029// for more information.
16030func (c *AdvertisersAssetsUploadCall) Fields(s ...googleapi.Field) *AdvertisersAssetsUploadCall {
16031	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16032	return c
16033}
16034
16035// Context sets the context to be used in this call's Do method. Any
16036// pending HTTP request will be aborted if the provided context is
16037// canceled.
16038// This context will supersede any context previously provided to the
16039// ResumableMedia method.
16040func (c *AdvertisersAssetsUploadCall) Context(ctx context.Context) *AdvertisersAssetsUploadCall {
16041	c.ctx_ = ctx
16042	return c
16043}
16044
16045// Header returns an http.Header that can be modified by the caller to
16046// add HTTP headers to the request.
16047func (c *AdvertisersAssetsUploadCall) Header() http.Header {
16048	if c.header_ == nil {
16049		c.header_ = make(http.Header)
16050	}
16051	return c.header_
16052}
16053
16054func (c *AdvertisersAssetsUploadCall) doRequest(alt string) (*http.Response, error) {
16055	reqHeaders := make(http.Header)
16056	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
16057	for k, v := range c.header_ {
16058		reqHeaders[k] = v
16059	}
16060	reqHeaders.Set("User-Agent", c.s.userAgent())
16061	var body io.Reader = nil
16062	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createassetrequest)
16063	if err != nil {
16064		return nil, err
16065	}
16066	reqHeaders.Set("Content-Type", "application/json")
16067	c.urlParams_.Set("alt", alt)
16068	c.urlParams_.Set("prettyPrint", "false")
16069	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/assets")
16070	if c.mediaInfo_ != nil {
16071		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v1/advertisers/{+advertiserId}/assets")
16072		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
16073	}
16074	if body == nil {
16075		body = new(bytes.Buffer)
16076		reqHeaders.Set("Content-Type", "application/json")
16077	}
16078	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
16079	defer cleanup()
16080	urls += "?" + c.urlParams_.Encode()
16081	req, err := http.NewRequest("POST", urls, body)
16082	if err != nil {
16083		return nil, err
16084	}
16085	req.Header = reqHeaders
16086	req.GetBody = getBody
16087	googleapi.Expand(req.URL, map[string]string{
16088		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16089	})
16090	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16091}
16092
16093// Do executes the "displayvideo.advertisers.assets.upload" call.
16094// Exactly one of *CreateAssetResponse or error will be non-nil. Any
16095// non-2xx status code is an error. Response headers are in either
16096// *CreateAssetResponse.ServerResponse.Header or (if a response was
16097// returned at all) in error.(*googleapi.Error).Header. Use
16098// googleapi.IsNotModified to check whether the returned error was
16099// because http.StatusNotModified was returned.
16100func (c *AdvertisersAssetsUploadCall) Do(opts ...googleapi.CallOption) (*CreateAssetResponse, error) {
16101	gensupport.SetOptions(c.urlParams_, opts...)
16102	res, err := c.doRequest("json")
16103	if res != nil && res.StatusCode == http.StatusNotModified {
16104		if res.Body != nil {
16105			res.Body.Close()
16106		}
16107		return nil, &googleapi.Error{
16108			Code:   res.StatusCode,
16109			Header: res.Header,
16110		}
16111	}
16112	if err != nil {
16113		return nil, err
16114	}
16115	defer googleapi.CloseBody(res)
16116	if err := googleapi.CheckResponse(res); err != nil {
16117		return nil, err
16118	}
16119	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
16120	if rx != nil {
16121		rx.Client = c.s.client
16122		rx.UserAgent = c.s.userAgent()
16123		ctx := c.ctx_
16124		if ctx == nil {
16125			ctx = context.TODO()
16126		}
16127		res, err = rx.Upload(ctx)
16128		if err != nil {
16129			return nil, err
16130		}
16131		defer res.Body.Close()
16132		if err := googleapi.CheckResponse(res); err != nil {
16133			return nil, err
16134		}
16135	}
16136	ret := &CreateAssetResponse{
16137		ServerResponse: googleapi.ServerResponse{
16138			Header:         res.Header,
16139			HTTPStatusCode: res.StatusCode,
16140		},
16141	}
16142	target := &ret
16143	if err := gensupport.DecodeResponse(target, res); err != nil {
16144		return nil, err
16145	}
16146	return ret, nil
16147	// {
16148	//   "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.",
16149	//   "flatPath": "v1/advertisers/{advertisersId}/assets",
16150	//   "httpMethod": "POST",
16151	//   "id": "displayvideo.advertisers.assets.upload",
16152	//   "mediaUpload": {
16153	//     "accept": [
16154	//       "*/*"
16155	//     ],
16156	//     "protocols": {
16157	//       "simple": {
16158	//         "multipart": true,
16159	//         "path": "/upload/v1/advertisers/{+advertiserId}/assets"
16160	//       }
16161	//     }
16162	//   },
16163	//   "parameterOrder": [
16164	//     "advertiserId"
16165	//   ],
16166	//   "parameters": {
16167	//     "advertiserId": {
16168	//       "description": "Required. The ID of the advertiser this asset belongs to.",
16169	//       "format": "int64",
16170	//       "location": "path",
16171	//       "pattern": "^[^/]+$",
16172	//       "required": true,
16173	//       "type": "string"
16174	//     }
16175	//   },
16176	//   "path": "v1/advertisers/{+advertiserId}/assets",
16177	//   "request": {
16178	//     "$ref": "CreateAssetRequest"
16179	//   },
16180	//   "response": {
16181	//     "$ref": "CreateAssetResponse"
16182	//   },
16183	//   "scopes": [
16184	//     "https://www.googleapis.com/auth/display-video"
16185	//   ],
16186	//   "supportsMediaUpload": true
16187	// }
16188
16189}
16190
16191// method id "displayvideo.advertisers.campaigns.bulkListCampaignAssignedTargetingOptions":
16192
16193type AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall struct {
16194	s            *Service
16195	advertiserId int64
16196	campaignId   int64
16197	urlParams_   gensupport.URLParams
16198	ifNoneMatch_ string
16199	ctx_         context.Context
16200	header_      http.Header
16201}
16202
16203// BulkListCampaignAssignedTargetingOptions: Lists assigned targeting
16204// options of a campaign across targeting types.
16205//
16206// - advertiserId: The ID of the advertiser the campaign belongs to.
16207// - campaignId: The ID of the campaign to list assigned targeting
16208//   options for.
16209func (r *AdvertisersCampaignsService) BulkListCampaignAssignedTargetingOptions(advertiserId int64, campaignId int64) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16210	c := &AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16211	c.advertiserId = advertiserId
16212	c.campaignId = campaignId
16213	return c
16214}
16215
16216// Filter sets the optional parameter "filter": Allows filtering by
16217// assigned targeting option properties. Supported syntax: * Filter
16218// expressions are made up of one or more restrictions. * Restrictions
16219// can be combined by the logical operator `OR` on the same field. * A
16220// restriction has the form of `{field} {operator} {value}`. * The
16221// operator must be `EQUALS (=)`. * Supported fields: - `targetingType`
16222// - `inheritance` Examples: * AssignedTargetingOptions of targeting
16223// type TARGETING_TYPE_LANGUAGE or TARGETING_TYPE_GENDER
16224// `targetingType="TARGETING_TYPE_LANGUAGE" OR
16225// targetingType="TARGETING_TYPE_GENDER" * AssignedTargetingOptions
16226// with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER
16227// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"
16228// The length of this field should be no more than 500 characters.
16229func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16230	c.urlParams_.Set("filter", filter)
16231	return c
16232}
16233
16234// OrderBy sets the optional parameter "orderBy": Field by which to sort
16235// the list. Acceptable values are: * `targetingType` (default) The
16236// default sorting order is ascending. To specify descending order for a
16237// field, a suffix "desc" should be added to the field name. Example:
16238// `targetingType desc`.
16239func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16240	c.urlParams_.Set("orderBy", orderBy)
16241	return c
16242}
16243
16244// PageSize sets the optional parameter "pageSize": Requested page size.
16245// The size must be an integer between `1` and `5000`. If unspecified,
16246// the default is `5000`. Returns error code `INVALID_ARGUMENT` if an
16247// invalid value is specified.
16248func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16249	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16250	return c
16251}
16252
16253// PageToken sets the optional parameter "pageToken": A token that lets
16254// the client fetch the next page of results. Typically, this is the
16255// value of next_page_token returned from the previous call to
16256// `BulkListCampaignAssignedTargetingOptions` method. If not specified,
16257// the first page of results will be returned.
16258func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16259	c.urlParams_.Set("pageToken", pageToken)
16260	return c
16261}
16262
16263// Fields allows partial responses to be retrieved. See
16264// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16265// for more information.
16266func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16267	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16268	return c
16269}
16270
16271// IfNoneMatch sets the optional parameter which makes the operation
16272// fail if the object's ETag matches the given value. This is useful for
16273// getting updates only after the object has changed since the last
16274// request. Use googleapi.IsNotModified to check whether the response
16275// error from Do is the result of In-None-Match.
16276func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16277	c.ifNoneMatch_ = entityTag
16278	return c
16279}
16280
16281// Context sets the context to be used in this call's Do method. Any
16282// pending HTTP request will be aborted if the provided context is
16283// canceled.
16284func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall {
16285	c.ctx_ = ctx
16286	return c
16287}
16288
16289// Header returns an http.Header that can be modified by the caller to
16290// add HTTP headers to the request.
16291func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Header() http.Header {
16292	if c.header_ == nil {
16293		c.header_ = make(http.Header)
16294	}
16295	return c.header_
16296}
16297
16298func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
16299	reqHeaders := make(http.Header)
16300	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
16301	for k, v := range c.header_ {
16302		reqHeaders[k] = v
16303	}
16304	reqHeaders.Set("User-Agent", c.s.userAgent())
16305	if c.ifNoneMatch_ != "" {
16306		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16307	}
16308	var body io.Reader = nil
16309	c.urlParams_.Set("alt", alt)
16310	c.urlParams_.Set("prettyPrint", "false")
16311	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}:bulkListCampaignAssignedTargetingOptions")
16312	urls += "?" + c.urlParams_.Encode()
16313	req, err := http.NewRequest("GET", urls, body)
16314	if err != nil {
16315		return nil, err
16316	}
16317	req.Header = reqHeaders
16318	googleapi.Expand(req.URL, map[string]string{
16319		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16320		"campaignId":   strconv.FormatInt(c.campaignId, 10),
16321	})
16322	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16323}
16324
16325// Do executes the "displayvideo.advertisers.campaigns.bulkListCampaignAssignedTargetingOptions" call.
16326// Exactly one of *BulkListCampaignAssignedTargetingOptionsResponse or
16327// error will be non-nil. Any non-2xx status code is an error. Response
16328// headers are in either
16329// *BulkListCampaignAssignedTargetingOptionsResponse.ServerResponse.Heade
16330// r or (if a response was returned at all) in
16331// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16332// whether the returned error was because http.StatusNotModified was
16333// returned.
16334func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListCampaignAssignedTargetingOptionsResponse, error) {
16335	gensupport.SetOptions(c.urlParams_, opts...)
16336	res, err := c.doRequest("json")
16337	if res != nil && res.StatusCode == http.StatusNotModified {
16338		if res.Body != nil {
16339			res.Body.Close()
16340		}
16341		return nil, &googleapi.Error{
16342			Code:   res.StatusCode,
16343			Header: res.Header,
16344		}
16345	}
16346	if err != nil {
16347		return nil, err
16348	}
16349	defer googleapi.CloseBody(res)
16350	if err := googleapi.CheckResponse(res); err != nil {
16351		return nil, err
16352	}
16353	ret := &BulkListCampaignAssignedTargetingOptionsResponse{
16354		ServerResponse: googleapi.ServerResponse{
16355			Header:         res.Header,
16356			HTTPStatusCode: res.StatusCode,
16357		},
16358	}
16359	target := &ret
16360	if err := gensupport.DecodeResponse(target, res); err != nil {
16361		return nil, err
16362	}
16363	return ret, nil
16364	// {
16365	//   "description": "Lists assigned targeting options of a campaign across targeting types.",
16366	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}:bulkListCampaignAssignedTargetingOptions",
16367	//   "httpMethod": "GET",
16368	//   "id": "displayvideo.advertisers.campaigns.bulkListCampaignAssignedTargetingOptions",
16369	//   "parameterOrder": [
16370	//     "advertiserId",
16371	//     "campaignId"
16372	//   ],
16373	//   "parameters": {
16374	//     "advertiserId": {
16375	//       "description": "Required. The ID of the advertiser the campaign belongs to.",
16376	//       "format": "int64",
16377	//       "location": "path",
16378	//       "pattern": "^[^/]+$",
16379	//       "required": true,
16380	//       "type": "string"
16381	//     },
16382	//     "campaignId": {
16383	//       "description": "Required. The ID of the campaign to list assigned targeting options for.",
16384	//       "format": "int64",
16385	//       "location": "path",
16386	//       "pattern": "^[^/]+$",
16387	//       "required": true,
16388	//       "type": "string"
16389	//     },
16390	//     "filter": {
16391	//       "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.",
16392	//       "location": "query",
16393	//       "type": "string"
16394	//     },
16395	//     "orderBy": {
16396	//       "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`.",
16397	//       "location": "query",
16398	//       "type": "string"
16399	//     },
16400	//     "pageSize": {
16401	//       "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.",
16402	//       "format": "int32",
16403	//       "location": "query",
16404	//       "type": "integer"
16405	//     },
16406	//     "pageToken": {
16407	//       "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.",
16408	//       "location": "query",
16409	//       "type": "string"
16410	//     }
16411	//   },
16412	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}:bulkListCampaignAssignedTargetingOptions",
16413	//   "response": {
16414	//     "$ref": "BulkListCampaignAssignedTargetingOptionsResponse"
16415	//   },
16416	//   "scopes": [
16417	//     "https://www.googleapis.com/auth/display-video"
16418	//   ]
16419	// }
16420
16421}
16422
16423// Pages invokes f for each page of results.
16424// A non-nil error returned from f will halt the iteration.
16425// The provided context supersedes any context provided to the Context method.
16426func (c *AdvertisersCampaignsBulkListCampaignAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListCampaignAssignedTargetingOptionsResponse) error) error {
16427	c.ctx_ = ctx
16428	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16429	for {
16430		x, err := c.Do()
16431		if err != nil {
16432			return err
16433		}
16434		if err := f(x); err != nil {
16435			return err
16436		}
16437		if x.NextPageToken == "" {
16438			return nil
16439		}
16440		c.PageToken(x.NextPageToken)
16441	}
16442}
16443
16444// method id "displayvideo.advertisers.campaigns.create":
16445
16446type AdvertisersCampaignsCreateCall struct {
16447	s            *Service
16448	advertiserId int64
16449	campaign     *Campaign
16450	urlParams_   gensupport.URLParams
16451	ctx_         context.Context
16452	header_      http.Header
16453}
16454
16455// Create: Creates a new campaign. Returns the newly created campaign if
16456// successful.
16457//
16458// - advertiserId: Output only. The unique ID of the advertiser the
16459//   campaign belongs to.
16460func (r *AdvertisersCampaignsService) Create(advertiserId int64, campaign *Campaign) *AdvertisersCampaignsCreateCall {
16461	c := &AdvertisersCampaignsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16462	c.advertiserId = advertiserId
16463	c.campaign = campaign
16464	return c
16465}
16466
16467// Fields allows partial responses to be retrieved. See
16468// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16469// for more information.
16470func (c *AdvertisersCampaignsCreateCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsCreateCall {
16471	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16472	return c
16473}
16474
16475// Context sets the context to be used in this call's Do method. Any
16476// pending HTTP request will be aborted if the provided context is
16477// canceled.
16478func (c *AdvertisersCampaignsCreateCall) Context(ctx context.Context) *AdvertisersCampaignsCreateCall {
16479	c.ctx_ = ctx
16480	return c
16481}
16482
16483// Header returns an http.Header that can be modified by the caller to
16484// add HTTP headers to the request.
16485func (c *AdvertisersCampaignsCreateCall) Header() http.Header {
16486	if c.header_ == nil {
16487		c.header_ = make(http.Header)
16488	}
16489	return c.header_
16490}
16491
16492func (c *AdvertisersCampaignsCreateCall) doRequest(alt string) (*http.Response, error) {
16493	reqHeaders := make(http.Header)
16494	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
16495	for k, v := range c.header_ {
16496		reqHeaders[k] = v
16497	}
16498	reqHeaders.Set("User-Agent", c.s.userAgent())
16499	var body io.Reader = nil
16500	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
16501	if err != nil {
16502		return nil, err
16503	}
16504	reqHeaders.Set("Content-Type", "application/json")
16505	c.urlParams_.Set("alt", alt)
16506	c.urlParams_.Set("prettyPrint", "false")
16507	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns")
16508	urls += "?" + c.urlParams_.Encode()
16509	req, err := http.NewRequest("POST", urls, body)
16510	if err != nil {
16511		return nil, err
16512	}
16513	req.Header = reqHeaders
16514	googleapi.Expand(req.URL, map[string]string{
16515		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16516	})
16517	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16518}
16519
16520// Do executes the "displayvideo.advertisers.campaigns.create" call.
16521// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
16522// code is an error. Response headers are in either
16523// *Campaign.ServerResponse.Header or (if a response was returned at
16524// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16525// to check whether the returned error was because
16526// http.StatusNotModified was returned.
16527func (c *AdvertisersCampaignsCreateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
16528	gensupport.SetOptions(c.urlParams_, opts...)
16529	res, err := c.doRequest("json")
16530	if res != nil && res.StatusCode == http.StatusNotModified {
16531		if res.Body != nil {
16532			res.Body.Close()
16533		}
16534		return nil, &googleapi.Error{
16535			Code:   res.StatusCode,
16536			Header: res.Header,
16537		}
16538	}
16539	if err != nil {
16540		return nil, err
16541	}
16542	defer googleapi.CloseBody(res)
16543	if err := googleapi.CheckResponse(res); err != nil {
16544		return nil, err
16545	}
16546	ret := &Campaign{
16547		ServerResponse: googleapi.ServerResponse{
16548			Header:         res.Header,
16549			HTTPStatusCode: res.StatusCode,
16550		},
16551	}
16552	target := &ret
16553	if err := gensupport.DecodeResponse(target, res); err != nil {
16554		return nil, err
16555	}
16556	return ret, nil
16557	// {
16558	//   "description": "Creates a new campaign. Returns the newly created campaign if successful.",
16559	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns",
16560	//   "httpMethod": "POST",
16561	//   "id": "displayvideo.advertisers.campaigns.create",
16562	//   "parameterOrder": [
16563	//     "advertiserId"
16564	//   ],
16565	//   "parameters": {
16566	//     "advertiserId": {
16567	//       "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
16568	//       "format": "int64",
16569	//       "location": "path",
16570	//       "pattern": "^[^/]+$",
16571	//       "required": true,
16572	//       "type": "string"
16573	//     }
16574	//   },
16575	//   "path": "v1/advertisers/{+advertiserId}/campaigns",
16576	//   "request": {
16577	//     "$ref": "Campaign"
16578	//   },
16579	//   "response": {
16580	//     "$ref": "Campaign"
16581	//   },
16582	//   "scopes": [
16583	//     "https://www.googleapis.com/auth/display-video",
16584	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16585	//   ]
16586	// }
16587
16588}
16589
16590// method id "displayvideo.advertisers.campaigns.delete":
16591
16592type AdvertisersCampaignsDeleteCall struct {
16593	s            *Service
16594	advertiserId int64
16595	campaignId   int64
16596	urlParams_   gensupport.URLParams
16597	ctx_         context.Context
16598	header_      http.Header
16599}
16600
16601// Delete: Permanently deletes a campaign. A deleted campaign cannot be
16602// recovered. The campaign should be archived first, i.e. set
16603// entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.
16604//
16605// - advertiserId: The ID of the advertiser this campaign belongs to.
16606// - campaignId: The ID of the campaign we need to delete.
16607func (r *AdvertisersCampaignsService) Delete(advertiserId int64, campaignId int64) *AdvertisersCampaignsDeleteCall {
16608	c := &AdvertisersCampaignsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16609	c.advertiserId = advertiserId
16610	c.campaignId = campaignId
16611	return c
16612}
16613
16614// Fields allows partial responses to be retrieved. See
16615// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16616// for more information.
16617func (c *AdvertisersCampaignsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsDeleteCall {
16618	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16619	return c
16620}
16621
16622// Context sets the context to be used in this call's Do method. Any
16623// pending HTTP request will be aborted if the provided context is
16624// canceled.
16625func (c *AdvertisersCampaignsDeleteCall) Context(ctx context.Context) *AdvertisersCampaignsDeleteCall {
16626	c.ctx_ = ctx
16627	return c
16628}
16629
16630// Header returns an http.Header that can be modified by the caller to
16631// add HTTP headers to the request.
16632func (c *AdvertisersCampaignsDeleteCall) Header() http.Header {
16633	if c.header_ == nil {
16634		c.header_ = make(http.Header)
16635	}
16636	return c.header_
16637}
16638
16639func (c *AdvertisersCampaignsDeleteCall) doRequest(alt string) (*http.Response, error) {
16640	reqHeaders := make(http.Header)
16641	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
16642	for k, v := range c.header_ {
16643		reqHeaders[k] = v
16644	}
16645	reqHeaders.Set("User-Agent", c.s.userAgent())
16646	var body io.Reader = nil
16647	c.urlParams_.Set("alt", alt)
16648	c.urlParams_.Set("prettyPrint", "false")
16649	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
16650	urls += "?" + c.urlParams_.Encode()
16651	req, err := http.NewRequest("DELETE", urls, body)
16652	if err != nil {
16653		return nil, err
16654	}
16655	req.Header = reqHeaders
16656	googleapi.Expand(req.URL, map[string]string{
16657		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16658		"campaignId":   strconv.FormatInt(c.campaignId, 10),
16659	})
16660	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16661}
16662
16663// Do executes the "displayvideo.advertisers.campaigns.delete" call.
16664// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16665// code is an error. Response headers are in either
16666// *Empty.ServerResponse.Header or (if a response was returned at all)
16667// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16668// check whether the returned error was because http.StatusNotModified
16669// was returned.
16670func (c *AdvertisersCampaignsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16671	gensupport.SetOptions(c.urlParams_, opts...)
16672	res, err := c.doRequest("json")
16673	if res != nil && res.StatusCode == http.StatusNotModified {
16674		if res.Body != nil {
16675			res.Body.Close()
16676		}
16677		return nil, &googleapi.Error{
16678			Code:   res.StatusCode,
16679			Header: res.Header,
16680		}
16681	}
16682	if err != nil {
16683		return nil, err
16684	}
16685	defer googleapi.CloseBody(res)
16686	if err := googleapi.CheckResponse(res); err != nil {
16687		return nil, err
16688	}
16689	ret := &Empty{
16690		ServerResponse: googleapi.ServerResponse{
16691			Header:         res.Header,
16692			HTTPStatusCode: res.StatusCode,
16693		},
16694	}
16695	target := &ret
16696	if err := gensupport.DecodeResponse(target, res); err != nil {
16697		return nil, err
16698	}
16699	return ret, nil
16700	// {
16701	//   "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.",
16702	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
16703	//   "httpMethod": "DELETE",
16704	//   "id": "displayvideo.advertisers.campaigns.delete",
16705	//   "parameterOrder": [
16706	//     "advertiserId",
16707	//     "campaignId"
16708	//   ],
16709	//   "parameters": {
16710	//     "advertiserId": {
16711	//       "description": "The ID of the advertiser this campaign belongs to.",
16712	//       "format": "int64",
16713	//       "location": "path",
16714	//       "pattern": "^[^/]+$",
16715	//       "required": true,
16716	//       "type": "string"
16717	//     },
16718	//     "campaignId": {
16719	//       "description": "The ID of the campaign we need to delete.",
16720	//       "format": "int64",
16721	//       "location": "path",
16722	//       "pattern": "^[^/]+$",
16723	//       "required": true,
16724	//       "type": "string"
16725	//     }
16726	//   },
16727	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
16728	//   "response": {
16729	//     "$ref": "Empty"
16730	//   },
16731	//   "scopes": [
16732	//     "https://www.googleapis.com/auth/display-video",
16733	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16734	//   ]
16735	// }
16736
16737}
16738
16739// method id "displayvideo.advertisers.campaigns.get":
16740
16741type AdvertisersCampaignsGetCall struct {
16742	s            *Service
16743	advertiserId int64
16744	campaignId   int64
16745	urlParams_   gensupport.URLParams
16746	ifNoneMatch_ string
16747	ctx_         context.Context
16748	header_      http.Header
16749}
16750
16751// Get: Gets a campaign.
16752//
16753// - advertiserId: The ID of the advertiser this campaign belongs to.
16754// - campaignId: The ID of the campaign to fetch.
16755func (r *AdvertisersCampaignsService) Get(advertiserId int64, campaignId int64) *AdvertisersCampaignsGetCall {
16756	c := &AdvertisersCampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16757	c.advertiserId = advertiserId
16758	c.campaignId = campaignId
16759	return c
16760}
16761
16762// Fields allows partial responses to be retrieved. See
16763// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16764// for more information.
16765func (c *AdvertisersCampaignsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsGetCall {
16766	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16767	return c
16768}
16769
16770// IfNoneMatch sets the optional parameter which makes the operation
16771// fail if the object's ETag matches the given value. This is useful for
16772// getting updates only after the object has changed since the last
16773// request. Use googleapi.IsNotModified to check whether the response
16774// error from Do is the result of In-None-Match.
16775func (c *AdvertisersCampaignsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsGetCall {
16776	c.ifNoneMatch_ = entityTag
16777	return c
16778}
16779
16780// Context sets the context to be used in this call's Do method. Any
16781// pending HTTP request will be aborted if the provided context is
16782// canceled.
16783func (c *AdvertisersCampaignsGetCall) Context(ctx context.Context) *AdvertisersCampaignsGetCall {
16784	c.ctx_ = ctx
16785	return c
16786}
16787
16788// Header returns an http.Header that can be modified by the caller to
16789// add HTTP headers to the request.
16790func (c *AdvertisersCampaignsGetCall) Header() http.Header {
16791	if c.header_ == nil {
16792		c.header_ = make(http.Header)
16793	}
16794	return c.header_
16795}
16796
16797func (c *AdvertisersCampaignsGetCall) doRequest(alt string) (*http.Response, error) {
16798	reqHeaders := make(http.Header)
16799	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
16800	for k, v := range c.header_ {
16801		reqHeaders[k] = v
16802	}
16803	reqHeaders.Set("User-Agent", c.s.userAgent())
16804	if c.ifNoneMatch_ != "" {
16805		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16806	}
16807	var body io.Reader = nil
16808	c.urlParams_.Set("alt", alt)
16809	c.urlParams_.Set("prettyPrint", "false")
16810	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
16811	urls += "?" + c.urlParams_.Encode()
16812	req, err := http.NewRequest("GET", urls, body)
16813	if err != nil {
16814		return nil, err
16815	}
16816	req.Header = reqHeaders
16817	googleapi.Expand(req.URL, map[string]string{
16818		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16819		"campaignId":   strconv.FormatInt(c.campaignId, 10),
16820	})
16821	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16822}
16823
16824// Do executes the "displayvideo.advertisers.campaigns.get" call.
16825// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
16826// code is an error. Response headers are in either
16827// *Campaign.ServerResponse.Header or (if a response was returned at
16828// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16829// to check whether the returned error was because
16830// http.StatusNotModified was returned.
16831func (c *AdvertisersCampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
16832	gensupport.SetOptions(c.urlParams_, opts...)
16833	res, err := c.doRequest("json")
16834	if res != nil && res.StatusCode == http.StatusNotModified {
16835		if res.Body != nil {
16836			res.Body.Close()
16837		}
16838		return nil, &googleapi.Error{
16839			Code:   res.StatusCode,
16840			Header: res.Header,
16841		}
16842	}
16843	if err != nil {
16844		return nil, err
16845	}
16846	defer googleapi.CloseBody(res)
16847	if err := googleapi.CheckResponse(res); err != nil {
16848		return nil, err
16849	}
16850	ret := &Campaign{
16851		ServerResponse: googleapi.ServerResponse{
16852			Header:         res.Header,
16853			HTTPStatusCode: res.StatusCode,
16854		},
16855	}
16856	target := &ret
16857	if err := gensupport.DecodeResponse(target, res); err != nil {
16858		return nil, err
16859	}
16860	return ret, nil
16861	// {
16862	//   "description": "Gets a campaign.",
16863	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
16864	//   "httpMethod": "GET",
16865	//   "id": "displayvideo.advertisers.campaigns.get",
16866	//   "parameterOrder": [
16867	//     "advertiserId",
16868	//     "campaignId"
16869	//   ],
16870	//   "parameters": {
16871	//     "advertiserId": {
16872	//       "description": "Required. The ID of the advertiser this campaign belongs to.",
16873	//       "format": "int64",
16874	//       "location": "path",
16875	//       "pattern": "^[^/]+$",
16876	//       "required": true,
16877	//       "type": "string"
16878	//     },
16879	//     "campaignId": {
16880	//       "description": "Required. The ID of the campaign to fetch.",
16881	//       "format": "int64",
16882	//       "location": "path",
16883	//       "pattern": "^[^/]+$",
16884	//       "required": true,
16885	//       "type": "string"
16886	//     }
16887	//   },
16888	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
16889	//   "response": {
16890	//     "$ref": "Campaign"
16891	//   },
16892	//   "scopes": [
16893	//     "https://www.googleapis.com/auth/display-video",
16894	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
16895	//   ]
16896	// }
16897
16898}
16899
16900// method id "displayvideo.advertisers.campaigns.list":
16901
16902type AdvertisersCampaignsListCall struct {
16903	s            *Service
16904	advertiserId int64
16905	urlParams_   gensupport.URLParams
16906	ifNoneMatch_ string
16907	ctx_         context.Context
16908	header_      http.Header
16909}
16910
16911// List: Lists campaigns in an advertiser. The order is defined by the
16912// order_by parameter. If a filter by entity_status is not specified,
16913// campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the
16914// results.
16915//
16916// - advertiserId: The ID of the advertiser to list campaigns for.
16917func (r *AdvertisersCampaignsService) List(advertiserId int64) *AdvertisersCampaignsListCall {
16918	c := &AdvertisersCampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16919	c.advertiserId = advertiserId
16920	return c
16921}
16922
16923// Filter sets the optional parameter "filter": Allows filtering by
16924// campaign properties. Supported syntax: * Filter expressions are made
16925// up of one or more restrictions. * Restrictions can be combined by
16926// `AND` or `OR` logical operators. A sequence of restrictions
16927// implicitly uses `AND`. * A restriction has the form of `{field}
16928// {operator} {value}`. * The operator used on `updateTime` must be
16929// `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. *
16930// The operator must be `EQUALS (=)`. * Supported fields: - `campaignId`
16931// - `displayName` - `entityStatus` - `updateTime` (input in ISO 8601
16932// format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All
16933// `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an
16934// advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
16935// entityStatus="ENTITY_STATUS_PAUSED")` * All campaigns with an update
16936// time less than or equal to `2020-11-04T18:54:47Z (format of ISO
16937// 8601)`: `updateTime<="2020-11-04T18:54:47Z" * All campaigns with an
16938// update time greater than or equal to `2020-11-04T18:54:47Z (format of
16939// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this
16940// field should be no more than 500 characters.
16941func (c *AdvertisersCampaignsListCall) Filter(filter string) *AdvertisersCampaignsListCall {
16942	c.urlParams_.Set("filter", filter)
16943	return c
16944}
16945
16946// OrderBy sets the optional parameter "orderBy": Field by which to sort
16947// the list. Acceptable values are: * `displayName` (default) *
16948// `entityStatus` * `updateTime` The default sorting order is ascending.
16949// To specify descending order for a field, a suffix "desc" should be
16950// added to the field name. Example: `displayName desc`.
16951func (c *AdvertisersCampaignsListCall) OrderBy(orderBy string) *AdvertisersCampaignsListCall {
16952	c.urlParams_.Set("orderBy", orderBy)
16953	return c
16954}
16955
16956// PageSize sets the optional parameter "pageSize": Requested page size.
16957// Must be between `1` and `100`. If unspecified will default to `100`.
16958func (c *AdvertisersCampaignsListCall) PageSize(pageSize int64) *AdvertisersCampaignsListCall {
16959	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16960	return c
16961}
16962
16963// PageToken sets the optional parameter "pageToken": A token
16964// identifying a page of results the server should return. Typically,
16965// this is the value of next_page_token returned from the previous call
16966// to `ListCampaigns` method. If not specified, the first page of
16967// results will be returned.
16968func (c *AdvertisersCampaignsListCall) PageToken(pageToken string) *AdvertisersCampaignsListCall {
16969	c.urlParams_.Set("pageToken", pageToken)
16970	return c
16971}
16972
16973// Fields allows partial responses to be retrieved. See
16974// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16975// for more information.
16976func (c *AdvertisersCampaignsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListCall {
16977	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16978	return c
16979}
16980
16981// IfNoneMatch sets the optional parameter which makes the operation
16982// fail if the object's ETag matches the given value. This is useful for
16983// getting updates only after the object has changed since the last
16984// request. Use googleapi.IsNotModified to check whether the response
16985// error from Do is the result of In-None-Match.
16986func (c *AdvertisersCampaignsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListCall {
16987	c.ifNoneMatch_ = entityTag
16988	return c
16989}
16990
16991// Context sets the context to be used in this call's Do method. Any
16992// pending HTTP request will be aborted if the provided context is
16993// canceled.
16994func (c *AdvertisersCampaignsListCall) Context(ctx context.Context) *AdvertisersCampaignsListCall {
16995	c.ctx_ = ctx
16996	return c
16997}
16998
16999// Header returns an http.Header that can be modified by the caller to
17000// add HTTP headers to the request.
17001func (c *AdvertisersCampaignsListCall) Header() http.Header {
17002	if c.header_ == nil {
17003		c.header_ = make(http.Header)
17004	}
17005	return c.header_
17006}
17007
17008func (c *AdvertisersCampaignsListCall) doRequest(alt string) (*http.Response, error) {
17009	reqHeaders := make(http.Header)
17010	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
17011	for k, v := range c.header_ {
17012		reqHeaders[k] = v
17013	}
17014	reqHeaders.Set("User-Agent", c.s.userAgent())
17015	if c.ifNoneMatch_ != "" {
17016		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17017	}
17018	var body io.Reader = nil
17019	c.urlParams_.Set("alt", alt)
17020	c.urlParams_.Set("prettyPrint", "false")
17021	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns")
17022	urls += "?" + c.urlParams_.Encode()
17023	req, err := http.NewRequest("GET", urls, body)
17024	if err != nil {
17025		return nil, err
17026	}
17027	req.Header = reqHeaders
17028	googleapi.Expand(req.URL, map[string]string{
17029		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17030	})
17031	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17032}
17033
17034// Do executes the "displayvideo.advertisers.campaigns.list" call.
17035// Exactly one of *ListCampaignsResponse or error will be non-nil. Any
17036// non-2xx status code is an error. Response headers are in either
17037// *ListCampaignsResponse.ServerResponse.Header or (if a response was
17038// returned at all) in error.(*googleapi.Error).Header. Use
17039// googleapi.IsNotModified to check whether the returned error was
17040// because http.StatusNotModified was returned.
17041func (c *AdvertisersCampaignsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignsResponse, error) {
17042	gensupport.SetOptions(c.urlParams_, opts...)
17043	res, err := c.doRequest("json")
17044	if res != nil && res.StatusCode == http.StatusNotModified {
17045		if res.Body != nil {
17046			res.Body.Close()
17047		}
17048		return nil, &googleapi.Error{
17049			Code:   res.StatusCode,
17050			Header: res.Header,
17051		}
17052	}
17053	if err != nil {
17054		return nil, err
17055	}
17056	defer googleapi.CloseBody(res)
17057	if err := googleapi.CheckResponse(res); err != nil {
17058		return nil, err
17059	}
17060	ret := &ListCampaignsResponse{
17061		ServerResponse: googleapi.ServerResponse{
17062			Header:         res.Header,
17063			HTTPStatusCode: res.StatusCode,
17064		},
17065	}
17066	target := &ret
17067	if err := gensupport.DecodeResponse(target, res); err != nil {
17068		return nil, err
17069	}
17070	return ret, nil
17071	// {
17072	//   "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.",
17073	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns",
17074	//   "httpMethod": "GET",
17075	//   "id": "displayvideo.advertisers.campaigns.list",
17076	//   "parameterOrder": [
17077	//     "advertiserId"
17078	//   ],
17079	//   "parameters": {
17080	//     "advertiserId": {
17081	//       "description": "The ID of the advertiser to list campaigns for.",
17082	//       "format": "int64",
17083	//       "location": "path",
17084	//       "pattern": "^[^/]+$",
17085	//       "required": true,
17086	//       "type": "string"
17087	//     },
17088	//     "filter": {
17089	//       "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.",
17090	//       "location": "query",
17091	//       "type": "string"
17092	//     },
17093	//     "orderBy": {
17094	//       "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`.",
17095	//       "location": "query",
17096	//       "type": "string"
17097	//     },
17098	//     "pageSize": {
17099	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
17100	//       "format": "int32",
17101	//       "location": "query",
17102	//       "type": "integer"
17103	//     },
17104	//     "pageToken": {
17105	//       "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.",
17106	//       "location": "query",
17107	//       "type": "string"
17108	//     }
17109	//   },
17110	//   "path": "v1/advertisers/{+advertiserId}/campaigns",
17111	//   "response": {
17112	//     "$ref": "ListCampaignsResponse"
17113	//   },
17114	//   "scopes": [
17115	//     "https://www.googleapis.com/auth/display-video",
17116	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
17117	//   ]
17118	// }
17119
17120}
17121
17122// Pages invokes f for each page of results.
17123// A non-nil error returned from f will halt the iteration.
17124// The provided context supersedes any context provided to the Context method.
17125func (c *AdvertisersCampaignsListCall) Pages(ctx context.Context, f func(*ListCampaignsResponse) error) error {
17126	c.ctx_ = ctx
17127	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17128	for {
17129		x, err := c.Do()
17130		if err != nil {
17131			return err
17132		}
17133		if err := f(x); err != nil {
17134			return err
17135		}
17136		if x.NextPageToken == "" {
17137			return nil
17138		}
17139		c.PageToken(x.NextPageToken)
17140	}
17141}
17142
17143// method id "displayvideo.advertisers.campaigns.patch":
17144
17145type AdvertisersCampaignsPatchCall struct {
17146	s            *Service
17147	advertiserId int64
17148	campaignId   int64
17149	campaign     *Campaign
17150	urlParams_   gensupport.URLParams
17151	ctx_         context.Context
17152	header_      http.Header
17153}
17154
17155// Patch: Updates an existing campaign. Returns the updated campaign if
17156// successful.
17157//
17158// - advertiserId: Output only. The unique ID of the advertiser the
17159//   campaign belongs to.
17160// - campaignId: Output only. The unique ID of the campaign. Assigned by
17161//   the system.
17162func (r *AdvertisersCampaignsService) Patch(advertiserId int64, campaignId int64, campaign *Campaign) *AdvertisersCampaignsPatchCall {
17163	c := &AdvertisersCampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17164	c.advertiserId = advertiserId
17165	c.campaignId = campaignId
17166	c.campaign = campaign
17167	return c
17168}
17169
17170// UpdateMask sets the optional parameter "updateMask": Required. The
17171// mask to control which fields to update.
17172func (c *AdvertisersCampaignsPatchCall) UpdateMask(updateMask string) *AdvertisersCampaignsPatchCall {
17173	c.urlParams_.Set("updateMask", updateMask)
17174	return c
17175}
17176
17177// Fields allows partial responses to be retrieved. See
17178// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17179// for more information.
17180func (c *AdvertisersCampaignsPatchCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsPatchCall {
17181	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17182	return c
17183}
17184
17185// Context sets the context to be used in this call's Do method. Any
17186// pending HTTP request will be aborted if the provided context is
17187// canceled.
17188func (c *AdvertisersCampaignsPatchCall) Context(ctx context.Context) *AdvertisersCampaignsPatchCall {
17189	c.ctx_ = ctx
17190	return c
17191}
17192
17193// Header returns an http.Header that can be modified by the caller to
17194// add HTTP headers to the request.
17195func (c *AdvertisersCampaignsPatchCall) Header() http.Header {
17196	if c.header_ == nil {
17197		c.header_ = make(http.Header)
17198	}
17199	return c.header_
17200}
17201
17202func (c *AdvertisersCampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
17203	reqHeaders := make(http.Header)
17204	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
17205	for k, v := range c.header_ {
17206		reqHeaders[k] = v
17207	}
17208	reqHeaders.Set("User-Agent", c.s.userAgent())
17209	var body io.Reader = nil
17210	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
17211	if err != nil {
17212		return nil, err
17213	}
17214	reqHeaders.Set("Content-Type", "application/json")
17215	c.urlParams_.Set("alt", alt)
17216	c.urlParams_.Set("prettyPrint", "false")
17217	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
17218	urls += "?" + c.urlParams_.Encode()
17219	req, err := http.NewRequest("PATCH", urls, body)
17220	if err != nil {
17221		return nil, err
17222	}
17223	req.Header = reqHeaders
17224	googleapi.Expand(req.URL, map[string]string{
17225		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17226		"campaignId":   strconv.FormatInt(c.campaignId, 10),
17227	})
17228	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17229}
17230
17231// Do executes the "displayvideo.advertisers.campaigns.patch" call.
17232// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
17233// code is an error. Response headers are in either
17234// *Campaign.ServerResponse.Header or (if a response was returned at
17235// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17236// to check whether the returned error was because
17237// http.StatusNotModified was returned.
17238func (c *AdvertisersCampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
17239	gensupport.SetOptions(c.urlParams_, opts...)
17240	res, err := c.doRequest("json")
17241	if res != nil && res.StatusCode == http.StatusNotModified {
17242		if res.Body != nil {
17243			res.Body.Close()
17244		}
17245		return nil, &googleapi.Error{
17246			Code:   res.StatusCode,
17247			Header: res.Header,
17248		}
17249	}
17250	if err != nil {
17251		return nil, err
17252	}
17253	defer googleapi.CloseBody(res)
17254	if err := googleapi.CheckResponse(res); err != nil {
17255		return nil, err
17256	}
17257	ret := &Campaign{
17258		ServerResponse: googleapi.ServerResponse{
17259			Header:         res.Header,
17260			HTTPStatusCode: res.StatusCode,
17261		},
17262	}
17263	target := &ret
17264	if err := gensupport.DecodeResponse(target, res); err != nil {
17265		return nil, err
17266	}
17267	return ret, nil
17268	// {
17269	//   "description": "Updates an existing campaign. Returns the updated campaign if successful.",
17270	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
17271	//   "httpMethod": "PATCH",
17272	//   "id": "displayvideo.advertisers.campaigns.patch",
17273	//   "parameterOrder": [
17274	//     "advertiserId",
17275	//     "campaignId"
17276	//   ],
17277	//   "parameters": {
17278	//     "advertiserId": {
17279	//       "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
17280	//       "format": "int64",
17281	//       "location": "path",
17282	//       "pattern": "^[^/]+$",
17283	//       "required": true,
17284	//       "type": "string"
17285	//     },
17286	//     "campaignId": {
17287	//       "description": "Output only. The unique ID of the campaign. Assigned by the system.",
17288	//       "format": "int64",
17289	//       "location": "path",
17290	//       "pattern": "^[^/]+$",
17291	//       "required": true,
17292	//       "type": "string"
17293	//     },
17294	//     "updateMask": {
17295	//       "description": "Required. The mask to control which fields to update.",
17296	//       "format": "google-fieldmask",
17297	//       "location": "query",
17298	//       "type": "string"
17299	//     }
17300	//   },
17301	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
17302	//   "request": {
17303	//     "$ref": "Campaign"
17304	//   },
17305	//   "response": {
17306	//     "$ref": "Campaign"
17307	//   },
17308	//   "scopes": [
17309	//     "https://www.googleapis.com/auth/display-video",
17310	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
17311	//   ]
17312	// }
17313
17314}
17315
17316// method id "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get":
17317
17318type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall struct {
17319	s                         *Service
17320	advertiserId              int64
17321	campaignId                int64
17322	targetingType             string
17323	assignedTargetingOptionId string
17324	urlParams_                gensupport.URLParams
17325	ifNoneMatch_              string
17326	ctx_                      context.Context
17327	header_                   http.Header
17328}
17329
17330// Get: Gets a single targeting option assigned to a campaign.
17331//
17332// - advertiserId: The ID of the advertiser the campaign belongs to.
17333// - assignedTargetingOptionId: An identifier unique to the targeting
17334//   type in this campaign that identifies the assigned targeting option
17335//   being requested.
17336// - campaignId: The ID of the campaign the assigned targeting option
17337//   belongs to.
17338// - targetingType: Identifies the type of this assigned targeting
17339//   option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
17340//   `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
17341//   `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
17342//   `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
17343//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
17344//   `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
17345//   `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
17346//   `TARGETING_TYPE_HOUSEHOLD_INCOME` *
17347//   `TARGETING_TYPE_INVENTORY_SOURCE` *
17348//   `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE`
17349//   * `TARGETING_TYPE_ON_SCREEN_POSITION` *
17350//   `TARGETING_TYPE_PARENTAL_STATUS` *
17351//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
17352//   `TARGETING_TYPE_SUB_EXCHANGE` *
17353//   `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
17354//   `TARGETING_TYPE_VIEWABILITY`.
17355func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, campaignId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
17356	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17357	c.advertiserId = advertiserId
17358	c.campaignId = campaignId
17359	c.targetingType = targetingType
17360	c.assignedTargetingOptionId = assignedTargetingOptionId
17361	return c
17362}
17363
17364// Fields allows partial responses to be retrieved. See
17365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17366// for more information.
17367func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
17368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17369	return c
17370}
17371
17372// IfNoneMatch sets the optional parameter which makes the operation
17373// fail if the object's ETag matches the given value. This is useful for
17374// getting updates only after the object has changed since the last
17375// request. Use googleapi.IsNotModified to check whether the response
17376// error from Do is the result of In-None-Match.
17377func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
17378	c.ifNoneMatch_ = entityTag
17379	return c
17380}
17381
17382// Context sets the context to be used in this call's Do method. Any
17383// pending HTTP request will be aborted if the provided context is
17384// canceled.
17385func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall {
17386	c.ctx_ = ctx
17387	return c
17388}
17389
17390// Header returns an http.Header that can be modified by the caller to
17391// add HTTP headers to the request.
17392func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
17393	if c.header_ == nil {
17394		c.header_ = make(http.Header)
17395	}
17396	return c.header_
17397}
17398
17399func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
17400	reqHeaders := make(http.Header)
17401	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
17402	for k, v := range c.header_ {
17403		reqHeaders[k] = v
17404	}
17405	reqHeaders.Set("User-Agent", c.s.userAgent())
17406	if c.ifNoneMatch_ != "" {
17407		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17408	}
17409	var body io.Reader = nil
17410	c.urlParams_.Set("alt", alt)
17411	c.urlParams_.Set("prettyPrint", "false")
17412	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
17413	urls += "?" + c.urlParams_.Encode()
17414	req, err := http.NewRequest("GET", urls, body)
17415	if err != nil {
17416		return nil, err
17417	}
17418	req.Header = reqHeaders
17419	googleapi.Expand(req.URL, map[string]string{
17420		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
17421		"campaignId":                strconv.FormatInt(c.campaignId, 10),
17422		"targetingType":             c.targetingType,
17423		"assignedTargetingOptionId": c.assignedTargetingOptionId,
17424	})
17425	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17426}
17427
17428// Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get" call.
17429// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
17430// non-2xx status code is an error. Response headers are in either
17431// *AssignedTargetingOption.ServerResponse.Header or (if a response was
17432// returned at all) in error.(*googleapi.Error).Header. Use
17433// googleapi.IsNotModified to check whether the returned error was
17434// because http.StatusNotModified was returned.
17435func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
17436	gensupport.SetOptions(c.urlParams_, opts...)
17437	res, err := c.doRequest("json")
17438	if res != nil && res.StatusCode == http.StatusNotModified {
17439		if res.Body != nil {
17440			res.Body.Close()
17441		}
17442		return nil, &googleapi.Error{
17443			Code:   res.StatusCode,
17444			Header: res.Header,
17445		}
17446	}
17447	if err != nil {
17448		return nil, err
17449	}
17450	defer googleapi.CloseBody(res)
17451	if err := googleapi.CheckResponse(res); err != nil {
17452		return nil, err
17453	}
17454	ret := &AssignedTargetingOption{
17455		ServerResponse: googleapi.ServerResponse{
17456			Header:         res.Header,
17457			HTTPStatusCode: res.StatusCode,
17458		},
17459	}
17460	target := &ret
17461	if err := gensupport.DecodeResponse(target, res); err != nil {
17462		return nil, err
17463	}
17464	return ret, nil
17465	// {
17466	//   "description": "Gets a single targeting option assigned to a campaign.",
17467	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
17468	//   "httpMethod": "GET",
17469	//   "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get",
17470	//   "parameterOrder": [
17471	//     "advertiserId",
17472	//     "campaignId",
17473	//     "targetingType",
17474	//     "assignedTargetingOptionId"
17475	//   ],
17476	//   "parameters": {
17477	//     "advertiserId": {
17478	//       "description": "Required. The ID of the advertiser the campaign belongs to.",
17479	//       "format": "int64",
17480	//       "location": "path",
17481	//       "pattern": "^[^/]+$",
17482	//       "required": true,
17483	//       "type": "string"
17484	//     },
17485	//     "assignedTargetingOptionId": {
17486	//       "description": "Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested.",
17487	//       "location": "path",
17488	//       "pattern": "^[^/]+$",
17489	//       "required": true,
17490	//       "type": "string"
17491	//     },
17492	//     "campaignId": {
17493	//       "description": "Required. The ID of the campaign the assigned targeting option belongs to.",
17494	//       "format": "int64",
17495	//       "location": "path",
17496	//       "pattern": "^[^/]+$",
17497	//       "required": true,
17498	//       "type": "string"
17499	//     },
17500	//     "targetingType": {
17501	//       "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`",
17502	//       "enum": [
17503	//         "TARGETING_TYPE_UNSPECIFIED",
17504	//         "TARGETING_TYPE_CHANNEL",
17505	//         "TARGETING_TYPE_APP_CATEGORY",
17506	//         "TARGETING_TYPE_APP",
17507	//         "TARGETING_TYPE_URL",
17508	//         "TARGETING_TYPE_DAY_AND_TIME",
17509	//         "TARGETING_TYPE_AGE_RANGE",
17510	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
17511	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
17512	//         "TARGETING_TYPE_GENDER",
17513	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
17514	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
17515	//         "TARGETING_TYPE_PARENTAL_STATUS",
17516	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
17517	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
17518	//         "TARGETING_TYPE_DEVICE_TYPE",
17519	//         "TARGETING_TYPE_AUDIENCE_GROUP",
17520	//         "TARGETING_TYPE_BROWSER",
17521	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
17522	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
17523	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
17524	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
17525	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
17526	//         "TARGETING_TYPE_ENVIRONMENT",
17527	//         "TARGETING_TYPE_CARRIER_AND_ISP",
17528	//         "TARGETING_TYPE_OPERATING_SYSTEM",
17529	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
17530	//         "TARGETING_TYPE_KEYWORD",
17531	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
17532	//         "TARGETING_TYPE_VIEWABILITY",
17533	//         "TARGETING_TYPE_CATEGORY",
17534	//         "TARGETING_TYPE_INVENTORY_SOURCE",
17535	//         "TARGETING_TYPE_LANGUAGE",
17536	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
17537	//         "TARGETING_TYPE_GEO_REGION",
17538	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
17539	//         "TARGETING_TYPE_EXCHANGE",
17540	//         "TARGETING_TYPE_SUB_EXCHANGE",
17541	//         "TARGETING_TYPE_POI",
17542	//         "TARGETING_TYPE_BUSINESS_CHAIN",
17543	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
17544	//         "TARGETING_TYPE_OMID"
17545	//       ],
17546	//       "enumDescriptions": [
17547	//         "Default value when type is not specified or is unknown in this version.",
17548	//         "Target a channel (a custom group of related websites or apps).",
17549	//         "Target an app category (for example, education or puzzle games).",
17550	//         "Target a specific app (for example, Angry Birds).",
17551	//         "Target a specific url (for example, quora.com).",
17552	//         "Target ads during a chosen time period on a specific day.",
17553	//         "Target ads to a specific age range (for example, 18-24).",
17554	//         "Target ads to the specified regions on a regional location list.",
17555	//         "Target ads to the specified points of interest on a proximity location list.",
17556	//         "Target ads to a specific gender (for example, female or male).",
17557	//         "Target a specific video player size for video ads.",
17558	//         "Target user rewarded content for video ads.",
17559	//         "Target ads to a specific parental status (for example, parent or not a parent).",
17560	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
17561	//         "Target ads in a specific content outstream position.",
17562	//         "Target ads to a specific device type (for example, tablet or connected TV).",
17563	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
17564	//         "Target ads to specific web browsers (for example, Chrome).",
17565	//         "Target ads to a specific household income range (for example, top 10%).",
17566	//         "Target ads in a specific on screen position.",
17567	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
17568	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
17569	//         "Filter website content by sensitive categories (for example, adult).",
17570	//         "Target ads to a specific environment (for example, web or app).",
17571	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
17572	//         "Target ads to a specific operating system (for example, macOS).",
17573	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
17574	//         "Target ads to a specific keyword (for example, dog or retriever).",
17575	//         "Target ads to a specific negative keyword list.",
17576	//         "Target ads to a specific viewability (for example, 80% viewable).",
17577	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
17578	//         "Purchase impressions from specific deals and auction packages.",
17579	//         "Target ads to a specific language (for example, English or Japanese).",
17580	//         "Target ads to ads.txt authorized sellers.",
17581	//         "Target ads to a specific regional location (for example, a city or state).",
17582	//         "Purchase impressions from a group of deals and auction packages.",
17583	//         "Purchase impressions from specific exchanges.",
17584	//         "Purchase impressions from specific sub-exchanges.",
17585	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
17586	//         "Target ads around locations of a business chain within a specific geo region.",
17587	//         "Target ads to a specific native content position.",
17588	//         "Target ads in an Open Measurement enabled inventory."
17589	//       ],
17590	//       "location": "path",
17591	//       "pattern": "^[^/]+$",
17592	//       "required": true,
17593	//       "type": "string"
17594	//     }
17595	//   },
17596	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
17597	//   "response": {
17598	//     "$ref": "AssignedTargetingOption"
17599	//   },
17600	//   "scopes": [
17601	//     "https://www.googleapis.com/auth/display-video"
17602	//   ]
17603	// }
17604
17605}
17606
17607// method id "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list":
17608
17609type AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall struct {
17610	s             *Service
17611	advertiserId  int64
17612	campaignId    int64
17613	targetingType string
17614	urlParams_    gensupport.URLParams
17615	ifNoneMatch_  string
17616	ctx_          context.Context
17617	header_       http.Header
17618}
17619
17620// List: Lists the targeting options assigned to a campaign for a
17621// specified targeting type.
17622//
17623// - advertiserId: The ID of the advertiser the campaign belongs to.
17624// - campaignId: The ID of the campaign to list assigned targeting
17625//   options for.
17626// - targetingType: Identifies the type of assigned targeting options to
17627//   list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` *
17628//   `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` *
17629//   `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` *
17630//   `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` *
17631//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
17632//   `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` *
17633//   `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` *
17634//   `TARGETING_TYPE_HOUSEHOLD_INCOME` *
17635//   `TARGETING_TYPE_INVENTORY_SOURCE` *
17636//   `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE`
17637//   * `TARGETING_TYPE_ON_SCREEN_POSITION` *
17638//   `TARGETING_TYPE_PARENTAL_STATUS` *
17639//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` *
17640//   `TARGETING_TYPE_SUB_EXCHANGE` *
17641//   `TARGETING_TYPE_THIRD_PARTY_VERIFIER` *
17642//   `TARGETING_TYPE_VIEWABILITY`.
17643func (r *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, campaignId int64, targetingType string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17644	c := &AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17645	c.advertiserId = advertiserId
17646	c.campaignId = campaignId
17647	c.targetingType = targetingType
17648	return c
17649}
17650
17651// Filter sets the optional parameter "filter": Allows filtering by
17652// assigned targeting option properties. Supported syntax: * Filter
17653// expressions are made up of one or more restrictions. * Restrictions
17654// can be combined by the logical operator `OR`. * A restriction has the
17655// form of `{field} {operator} {value}`. * The operator must be `EQUALS
17656// (=)`. * Supported fields: - `assignedTargetingOptionId` -
17657// `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2
17658// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
17659// AssignedTargetingOptions with inheritance status of NOT_INHERITED or
17660// INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR
17661// inheritance="INHERITED_FROM_PARTNER" The length of this field should
17662// be no more than 500 characters.
17663func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17664	c.urlParams_.Set("filter", filter)
17665	return c
17666}
17667
17668// OrderBy sets the optional parameter "orderBy": Field by which to sort
17669// the list. Acceptable values are: * `assignedTargetingOptionId`
17670// (default) The default sorting order is ascending. To specify
17671// descending order for a field, a suffix "desc" should be added to the
17672// field name. Example: `assignedTargetingOptionId desc`.
17673func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17674	c.urlParams_.Set("orderBy", orderBy)
17675	return c
17676}
17677
17678// PageSize sets the optional parameter "pageSize": Requested page size.
17679// Must be between `1` and `5000`. If unspecified will default to `100`.
17680// Returns error code `INVALID_ARGUMENT` if an invalid value is
17681// specified.
17682func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17683	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
17684	return c
17685}
17686
17687// PageToken sets the optional parameter "pageToken": A token
17688// identifying a page of results the server should return. Typically,
17689// this is the value of next_page_token returned from the previous call
17690// to `ListCampaignAssignedTargetingOptions` method. If not specified,
17691// the first page of results will be returned.
17692func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17693	c.urlParams_.Set("pageToken", pageToken)
17694	return c
17695}
17696
17697// Fields allows partial responses to be retrieved. See
17698// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17699// for more information.
17700func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17701	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17702	return c
17703}
17704
17705// IfNoneMatch sets the optional parameter which makes the operation
17706// fail if the object's ETag matches the given value. This is useful for
17707// getting updates only after the object has changed since the last
17708// request. Use googleapi.IsNotModified to check whether the response
17709// error from Do is the result of In-None-Match.
17710func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17711	c.ifNoneMatch_ = entityTag
17712	return c
17713}
17714
17715// Context sets the context to be used in this call's Do method. Any
17716// pending HTTP request will be aborted if the provided context is
17717// canceled.
17718func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall {
17719	c.ctx_ = ctx
17720	return c
17721}
17722
17723// Header returns an http.Header that can be modified by the caller to
17724// add HTTP headers to the request.
17725func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
17726	if c.header_ == nil {
17727		c.header_ = make(http.Header)
17728	}
17729	return c.header_
17730}
17731
17732func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
17733	reqHeaders := make(http.Header)
17734	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
17735	for k, v := range c.header_ {
17736		reqHeaders[k] = v
17737	}
17738	reqHeaders.Set("User-Agent", c.s.userAgent())
17739	if c.ifNoneMatch_ != "" {
17740		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17741	}
17742	var body io.Reader = nil
17743	c.urlParams_.Set("alt", alt)
17744	c.urlParams_.Set("prettyPrint", "false")
17745	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
17746	urls += "?" + c.urlParams_.Encode()
17747	req, err := http.NewRequest("GET", urls, body)
17748	if err != nil {
17749		return nil, err
17750	}
17751	req.Header = reqHeaders
17752	googleapi.Expand(req.URL, map[string]string{
17753		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
17754		"campaignId":    strconv.FormatInt(c.campaignId, 10),
17755		"targetingType": c.targetingType,
17756	})
17757	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17758}
17759
17760// Do executes the "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list" call.
17761// Exactly one of *ListCampaignAssignedTargetingOptionsResponse or error
17762// will be non-nil. Any non-2xx status code is an error. Response
17763// headers are in either
17764// *ListCampaignAssignedTargetingOptionsResponse.ServerResponse.Header
17765// or (if a response was returned at all) in
17766// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17767// whether the returned error was because http.StatusNotModified was
17768// returned.
17769func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignAssignedTargetingOptionsResponse, error) {
17770	gensupport.SetOptions(c.urlParams_, opts...)
17771	res, err := c.doRequest("json")
17772	if res != nil && res.StatusCode == http.StatusNotModified {
17773		if res.Body != nil {
17774			res.Body.Close()
17775		}
17776		return nil, &googleapi.Error{
17777			Code:   res.StatusCode,
17778			Header: res.Header,
17779		}
17780	}
17781	if err != nil {
17782		return nil, err
17783	}
17784	defer googleapi.CloseBody(res)
17785	if err := googleapi.CheckResponse(res); err != nil {
17786		return nil, err
17787	}
17788	ret := &ListCampaignAssignedTargetingOptionsResponse{
17789		ServerResponse: googleapi.ServerResponse{
17790			Header:         res.Header,
17791			HTTPStatusCode: res.StatusCode,
17792		},
17793	}
17794	target := &ret
17795	if err := gensupport.DecodeResponse(target, res); err != nil {
17796		return nil, err
17797	}
17798	return ret, nil
17799	// {
17800	//   "description": "Lists the targeting options assigned to a campaign for a specified targeting type.",
17801	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
17802	//   "httpMethod": "GET",
17803	//   "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list",
17804	//   "parameterOrder": [
17805	//     "advertiserId",
17806	//     "campaignId",
17807	//     "targetingType"
17808	//   ],
17809	//   "parameters": {
17810	//     "advertiserId": {
17811	//       "description": "Required. The ID of the advertiser the campaign belongs to.",
17812	//       "format": "int64",
17813	//       "location": "path",
17814	//       "pattern": "^[^/]+$",
17815	//       "required": true,
17816	//       "type": "string"
17817	//     },
17818	//     "campaignId": {
17819	//       "description": "Required. The ID of the campaign to list assigned targeting options for.",
17820	//       "format": "int64",
17821	//       "location": "path",
17822	//       "pattern": "^[^/]+$",
17823	//       "required": true,
17824	//       "type": "string"
17825	//     },
17826	//     "filter": {
17827	//       "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.",
17828	//       "location": "query",
17829	//       "type": "string"
17830	//     },
17831	//     "orderBy": {
17832	//       "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`.",
17833	//       "location": "query",
17834	//       "type": "string"
17835	//     },
17836	//     "pageSize": {
17837	//       "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
17838	//       "format": "int32",
17839	//       "location": "query",
17840	//       "type": "integer"
17841	//     },
17842	//     "pageToken": {
17843	//       "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.",
17844	//       "location": "query",
17845	//       "type": "string"
17846	//     },
17847	//     "targetingType": {
17848	//       "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`",
17849	//       "enum": [
17850	//         "TARGETING_TYPE_UNSPECIFIED",
17851	//         "TARGETING_TYPE_CHANNEL",
17852	//         "TARGETING_TYPE_APP_CATEGORY",
17853	//         "TARGETING_TYPE_APP",
17854	//         "TARGETING_TYPE_URL",
17855	//         "TARGETING_TYPE_DAY_AND_TIME",
17856	//         "TARGETING_TYPE_AGE_RANGE",
17857	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
17858	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
17859	//         "TARGETING_TYPE_GENDER",
17860	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
17861	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
17862	//         "TARGETING_TYPE_PARENTAL_STATUS",
17863	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
17864	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
17865	//         "TARGETING_TYPE_DEVICE_TYPE",
17866	//         "TARGETING_TYPE_AUDIENCE_GROUP",
17867	//         "TARGETING_TYPE_BROWSER",
17868	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
17869	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
17870	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
17871	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
17872	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
17873	//         "TARGETING_TYPE_ENVIRONMENT",
17874	//         "TARGETING_TYPE_CARRIER_AND_ISP",
17875	//         "TARGETING_TYPE_OPERATING_SYSTEM",
17876	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
17877	//         "TARGETING_TYPE_KEYWORD",
17878	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
17879	//         "TARGETING_TYPE_VIEWABILITY",
17880	//         "TARGETING_TYPE_CATEGORY",
17881	//         "TARGETING_TYPE_INVENTORY_SOURCE",
17882	//         "TARGETING_TYPE_LANGUAGE",
17883	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
17884	//         "TARGETING_TYPE_GEO_REGION",
17885	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
17886	//         "TARGETING_TYPE_EXCHANGE",
17887	//         "TARGETING_TYPE_SUB_EXCHANGE",
17888	//         "TARGETING_TYPE_POI",
17889	//         "TARGETING_TYPE_BUSINESS_CHAIN",
17890	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
17891	//         "TARGETING_TYPE_OMID"
17892	//       ],
17893	//       "enumDescriptions": [
17894	//         "Default value when type is not specified or is unknown in this version.",
17895	//         "Target a channel (a custom group of related websites or apps).",
17896	//         "Target an app category (for example, education or puzzle games).",
17897	//         "Target a specific app (for example, Angry Birds).",
17898	//         "Target a specific url (for example, quora.com).",
17899	//         "Target ads during a chosen time period on a specific day.",
17900	//         "Target ads to a specific age range (for example, 18-24).",
17901	//         "Target ads to the specified regions on a regional location list.",
17902	//         "Target ads to the specified points of interest on a proximity location list.",
17903	//         "Target ads to a specific gender (for example, female or male).",
17904	//         "Target a specific video player size for video ads.",
17905	//         "Target user rewarded content for video ads.",
17906	//         "Target ads to a specific parental status (for example, parent or not a parent).",
17907	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
17908	//         "Target ads in a specific content outstream position.",
17909	//         "Target ads to a specific device type (for example, tablet or connected TV).",
17910	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
17911	//         "Target ads to specific web browsers (for example, Chrome).",
17912	//         "Target ads to a specific household income range (for example, top 10%).",
17913	//         "Target ads in a specific on screen position.",
17914	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
17915	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
17916	//         "Filter website content by sensitive categories (for example, adult).",
17917	//         "Target ads to a specific environment (for example, web or app).",
17918	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
17919	//         "Target ads to a specific operating system (for example, macOS).",
17920	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
17921	//         "Target ads to a specific keyword (for example, dog or retriever).",
17922	//         "Target ads to a specific negative keyword list.",
17923	//         "Target ads to a specific viewability (for example, 80% viewable).",
17924	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
17925	//         "Purchase impressions from specific deals and auction packages.",
17926	//         "Target ads to a specific language (for example, English or Japanese).",
17927	//         "Target ads to ads.txt authorized sellers.",
17928	//         "Target ads to a specific regional location (for example, a city or state).",
17929	//         "Purchase impressions from a group of deals and auction packages.",
17930	//         "Purchase impressions from specific exchanges.",
17931	//         "Purchase impressions from specific sub-exchanges.",
17932	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
17933	//         "Target ads around locations of a business chain within a specific geo region.",
17934	//         "Target ads to a specific native content position.",
17935	//         "Target ads in an Open Measurement enabled inventory."
17936	//       ],
17937	//       "location": "path",
17938	//       "pattern": "^[^/]+$",
17939	//       "required": true,
17940	//       "type": "string"
17941	//     }
17942	//   },
17943	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
17944	//   "response": {
17945	//     "$ref": "ListCampaignAssignedTargetingOptionsResponse"
17946	//   },
17947	//   "scopes": [
17948	//     "https://www.googleapis.com/auth/display-video"
17949	//   ]
17950	// }
17951
17952}
17953
17954// Pages invokes f for each page of results.
17955// A non-nil error returned from f will halt the iteration.
17956// The provided context supersedes any context provided to the Context method.
17957func (c *AdvertisersCampaignsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListCampaignAssignedTargetingOptionsResponse) error) error {
17958	c.ctx_ = ctx
17959	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17960	for {
17961		x, err := c.Do()
17962		if err != nil {
17963			return err
17964		}
17965		if err := f(x); err != nil {
17966			return err
17967		}
17968		if x.NextPageToken == "" {
17969			return nil
17970		}
17971		c.PageToken(x.NextPageToken)
17972	}
17973}
17974
17975// method id "displayvideo.advertisers.channels.create":
17976
17977type AdvertisersChannelsCreateCall struct {
17978	s            *Service
17979	advertiserId int64
17980	channel      *Channel
17981	urlParams_   gensupport.URLParams
17982	ctx_         context.Context
17983	header_      http.Header
17984}
17985
17986// Create: Creates a new channel. Returns the newly created channel if
17987// successful.
17988//
17989// - advertiserId: The ID of the advertiser that owns the created
17990//   channel.
17991func (r *AdvertisersChannelsService) Create(advertiserId int64, channel *Channel) *AdvertisersChannelsCreateCall {
17992	c := &AdvertisersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17993	c.advertiserId = advertiserId
17994	c.channel = channel
17995	return c
17996}
17997
17998// PartnerId sets the optional parameter "partnerId": The ID of the
17999// partner that owns the created channel.
18000func (c *AdvertisersChannelsCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsCreateCall {
18001	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18002	return c
18003}
18004
18005// Fields allows partial responses to be retrieved. See
18006// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18007// for more information.
18008func (c *AdvertisersChannelsCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsCreateCall {
18009	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18010	return c
18011}
18012
18013// Context sets the context to be used in this call's Do method. Any
18014// pending HTTP request will be aborted if the provided context is
18015// canceled.
18016func (c *AdvertisersChannelsCreateCall) Context(ctx context.Context) *AdvertisersChannelsCreateCall {
18017	c.ctx_ = ctx
18018	return c
18019}
18020
18021// Header returns an http.Header that can be modified by the caller to
18022// add HTTP headers to the request.
18023func (c *AdvertisersChannelsCreateCall) Header() http.Header {
18024	if c.header_ == nil {
18025		c.header_ = make(http.Header)
18026	}
18027	return c.header_
18028}
18029
18030func (c *AdvertisersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
18031	reqHeaders := make(http.Header)
18032	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
18033	for k, v := range c.header_ {
18034		reqHeaders[k] = v
18035	}
18036	reqHeaders.Set("User-Agent", c.s.userAgent())
18037	var body io.Reader = nil
18038	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
18039	if err != nil {
18040		return nil, err
18041	}
18042	reqHeaders.Set("Content-Type", "application/json")
18043	c.urlParams_.Set("alt", alt)
18044	c.urlParams_.Set("prettyPrint", "false")
18045	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels")
18046	urls += "?" + c.urlParams_.Encode()
18047	req, err := http.NewRequest("POST", urls, body)
18048	if err != nil {
18049		return nil, err
18050	}
18051	req.Header = reqHeaders
18052	googleapi.Expand(req.URL, map[string]string{
18053		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18054	})
18055	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18056}
18057
18058// Do executes the "displayvideo.advertisers.channels.create" call.
18059// Exactly one of *Channel or error will be non-nil. Any non-2xx status
18060// code is an error. Response headers are in either
18061// *Channel.ServerResponse.Header or (if a response was returned at all)
18062// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18063// check whether the returned error was because http.StatusNotModified
18064// was returned.
18065func (c *AdvertisersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
18066	gensupport.SetOptions(c.urlParams_, opts...)
18067	res, err := c.doRequest("json")
18068	if res != nil && res.StatusCode == http.StatusNotModified {
18069		if res.Body != nil {
18070			res.Body.Close()
18071		}
18072		return nil, &googleapi.Error{
18073			Code:   res.StatusCode,
18074			Header: res.Header,
18075		}
18076	}
18077	if err != nil {
18078		return nil, err
18079	}
18080	defer googleapi.CloseBody(res)
18081	if err := googleapi.CheckResponse(res); err != nil {
18082		return nil, err
18083	}
18084	ret := &Channel{
18085		ServerResponse: googleapi.ServerResponse{
18086			Header:         res.Header,
18087			HTTPStatusCode: res.StatusCode,
18088		},
18089	}
18090	target := &ret
18091	if err := gensupport.DecodeResponse(target, res); err != nil {
18092		return nil, err
18093	}
18094	return ret, nil
18095	// {
18096	//   "description": "Creates a new channel. Returns the newly created channel if successful.",
18097	//   "flatPath": "v1/advertisers/{advertisersId}/channels",
18098	//   "httpMethod": "POST",
18099	//   "id": "displayvideo.advertisers.channels.create",
18100	//   "parameterOrder": [
18101	//     "advertiserId"
18102	//   ],
18103	//   "parameters": {
18104	//     "advertiserId": {
18105	//       "description": "The ID of the advertiser that owns the created channel.",
18106	//       "format": "int64",
18107	//       "location": "path",
18108	//       "pattern": "^[^/]+$",
18109	//       "required": true,
18110	//       "type": "string"
18111	//     },
18112	//     "partnerId": {
18113	//       "description": "The ID of the partner that owns the created channel.",
18114	//       "format": "int64",
18115	//       "location": "query",
18116	//       "type": "string"
18117	//     }
18118	//   },
18119	//   "path": "v1/advertisers/{+advertiserId}/channels",
18120	//   "request": {
18121	//     "$ref": "Channel"
18122	//   },
18123	//   "response": {
18124	//     "$ref": "Channel"
18125	//   },
18126	//   "scopes": [
18127	//     "https://www.googleapis.com/auth/display-video"
18128	//   ]
18129	// }
18130
18131}
18132
18133// method id "displayvideo.advertisers.channels.get":
18134
18135type AdvertisersChannelsGetCall struct {
18136	s            *Service
18137	advertiserId int64
18138	channelId    int64
18139	urlParams_   gensupport.URLParams
18140	ifNoneMatch_ string
18141	ctx_         context.Context
18142	header_      http.Header
18143}
18144
18145// Get: Gets a channel for a partner or advertiser.
18146//
18147// - advertiserId: The ID of the advertiser that owns the fetched
18148//   channel.
18149// - channelId: The ID of the channel to fetch.
18150func (r *AdvertisersChannelsService) Get(advertiserId int64, channelId int64) *AdvertisersChannelsGetCall {
18151	c := &AdvertisersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18152	c.advertiserId = advertiserId
18153	c.channelId = channelId
18154	return c
18155}
18156
18157// PartnerId sets the optional parameter "partnerId": The ID of the
18158// partner that owns the fetched channel.
18159func (c *AdvertisersChannelsGetCall) PartnerId(partnerId int64) *AdvertisersChannelsGetCall {
18160	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18161	return c
18162}
18163
18164// Fields allows partial responses to be retrieved. See
18165// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18166// for more information.
18167func (c *AdvertisersChannelsGetCall) Fields(s ...googleapi.Field) *AdvertisersChannelsGetCall {
18168	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18169	return c
18170}
18171
18172// IfNoneMatch sets the optional parameter which makes the operation
18173// fail if the object's ETag matches the given value. This is useful for
18174// getting updates only after the object has changed since the last
18175// request. Use googleapi.IsNotModified to check whether the response
18176// error from Do is the result of In-None-Match.
18177func (c *AdvertisersChannelsGetCall) IfNoneMatch(entityTag string) *AdvertisersChannelsGetCall {
18178	c.ifNoneMatch_ = entityTag
18179	return c
18180}
18181
18182// Context sets the context to be used in this call's Do method. Any
18183// pending HTTP request will be aborted if the provided context is
18184// canceled.
18185func (c *AdvertisersChannelsGetCall) Context(ctx context.Context) *AdvertisersChannelsGetCall {
18186	c.ctx_ = ctx
18187	return c
18188}
18189
18190// Header returns an http.Header that can be modified by the caller to
18191// add HTTP headers to the request.
18192func (c *AdvertisersChannelsGetCall) Header() http.Header {
18193	if c.header_ == nil {
18194		c.header_ = make(http.Header)
18195	}
18196	return c.header_
18197}
18198
18199func (c *AdvertisersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
18200	reqHeaders := make(http.Header)
18201	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
18202	for k, v := range c.header_ {
18203		reqHeaders[k] = v
18204	}
18205	reqHeaders.Set("User-Agent", c.s.userAgent())
18206	if c.ifNoneMatch_ != "" {
18207		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18208	}
18209	var body io.Reader = nil
18210	c.urlParams_.Set("alt", alt)
18211	c.urlParams_.Set("prettyPrint", "false")
18212	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{+channelId}")
18213	urls += "?" + c.urlParams_.Encode()
18214	req, err := http.NewRequest("GET", urls, body)
18215	if err != nil {
18216		return nil, err
18217	}
18218	req.Header = reqHeaders
18219	googleapi.Expand(req.URL, map[string]string{
18220		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18221		"channelId":    strconv.FormatInt(c.channelId, 10),
18222	})
18223	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18224}
18225
18226// Do executes the "displayvideo.advertisers.channels.get" call.
18227// Exactly one of *Channel or error will be non-nil. Any non-2xx status
18228// code is an error. Response headers are in either
18229// *Channel.ServerResponse.Header or (if a response was returned at all)
18230// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18231// check whether the returned error was because http.StatusNotModified
18232// was returned.
18233func (c *AdvertisersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
18234	gensupport.SetOptions(c.urlParams_, opts...)
18235	res, err := c.doRequest("json")
18236	if res != nil && res.StatusCode == http.StatusNotModified {
18237		if res.Body != nil {
18238			res.Body.Close()
18239		}
18240		return nil, &googleapi.Error{
18241			Code:   res.StatusCode,
18242			Header: res.Header,
18243		}
18244	}
18245	if err != nil {
18246		return nil, err
18247	}
18248	defer googleapi.CloseBody(res)
18249	if err := googleapi.CheckResponse(res); err != nil {
18250		return nil, err
18251	}
18252	ret := &Channel{
18253		ServerResponse: googleapi.ServerResponse{
18254			Header:         res.Header,
18255			HTTPStatusCode: res.StatusCode,
18256		},
18257	}
18258	target := &ret
18259	if err := gensupport.DecodeResponse(target, res); err != nil {
18260		return nil, err
18261	}
18262	return ret, nil
18263	// {
18264	//   "description": "Gets a channel for a partner or advertiser.",
18265	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}",
18266	//   "httpMethod": "GET",
18267	//   "id": "displayvideo.advertisers.channels.get",
18268	//   "parameterOrder": [
18269	//     "advertiserId",
18270	//     "channelId"
18271	//   ],
18272	//   "parameters": {
18273	//     "advertiserId": {
18274	//       "description": "The ID of the advertiser that owns the fetched channel.",
18275	//       "format": "int64",
18276	//       "location": "path",
18277	//       "pattern": "^[^/]+$",
18278	//       "required": true,
18279	//       "type": "string"
18280	//     },
18281	//     "channelId": {
18282	//       "description": "Required. The ID of the channel to fetch.",
18283	//       "format": "int64",
18284	//       "location": "path",
18285	//       "pattern": "^[^/]+$",
18286	//       "required": true,
18287	//       "type": "string"
18288	//     },
18289	//     "partnerId": {
18290	//       "description": "The ID of the partner that owns the fetched channel.",
18291	//       "format": "int64",
18292	//       "location": "query",
18293	//       "type": "string"
18294	//     }
18295	//   },
18296	//   "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}",
18297	//   "response": {
18298	//     "$ref": "Channel"
18299	//   },
18300	//   "scopes": [
18301	//     "https://www.googleapis.com/auth/display-video"
18302	//   ]
18303	// }
18304
18305}
18306
18307// method id "displayvideo.advertisers.channels.list":
18308
18309type AdvertisersChannelsListCall struct {
18310	s            *Service
18311	advertiserId int64
18312	urlParams_   gensupport.URLParams
18313	ifNoneMatch_ string
18314	ctx_         context.Context
18315	header_      http.Header
18316}
18317
18318// List: Lists channels for a partner or advertiser.
18319//
18320// - advertiserId: The ID of the advertiser that owns the channels.
18321func (r *AdvertisersChannelsService) List(advertiserId int64) *AdvertisersChannelsListCall {
18322	c := &AdvertisersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18323	c.advertiserId = advertiserId
18324	return c
18325}
18326
18327// Filter sets the optional parameter "filter": Allows filtering by
18328// channel fields. Supported syntax: * Filter expressions for channel
18329// currently can only contain at most one * restriction. * A restriction
18330// has the form of `{field} {operator} {value}`. * The operator must be
18331// `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All
18332// channels for which the display name contains "google": `displayName :
18333// "google". The length of this field should be no more than 500
18334// characters.
18335func (c *AdvertisersChannelsListCall) Filter(filter string) *AdvertisersChannelsListCall {
18336	c.urlParams_.Set("filter", filter)
18337	return c
18338}
18339
18340// OrderBy sets the optional parameter "orderBy": Field by which to sort
18341// the list. Acceptable values are: * `displayName` (default) *
18342// `channelId` The default sorting order is ascending. To specify
18343// descending order for a field, a suffix " desc" should be added to the
18344// field name. Example: `displayName desc`.
18345func (c *AdvertisersChannelsListCall) OrderBy(orderBy string) *AdvertisersChannelsListCall {
18346	c.urlParams_.Set("orderBy", orderBy)
18347	return c
18348}
18349
18350// PageSize sets the optional parameter "pageSize": Requested page size.
18351// Must be between `1` and `100`. If unspecified will default to `100`.
18352// Returns error code `INVALID_ARGUMENT` if an invalid value is
18353// specified.
18354func (c *AdvertisersChannelsListCall) PageSize(pageSize int64) *AdvertisersChannelsListCall {
18355	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18356	return c
18357}
18358
18359// PageToken sets the optional parameter "pageToken": A token
18360// identifying a page of results the server should return. Typically,
18361// this is the value of next_page_token returned from the previous call
18362// to `ListChannels` method. If not specified, the first page of results
18363// will be returned.
18364func (c *AdvertisersChannelsListCall) PageToken(pageToken string) *AdvertisersChannelsListCall {
18365	c.urlParams_.Set("pageToken", pageToken)
18366	return c
18367}
18368
18369// PartnerId sets the optional parameter "partnerId": The ID of the
18370// partner that owns the channels.
18371func (c *AdvertisersChannelsListCall) PartnerId(partnerId int64) *AdvertisersChannelsListCall {
18372	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18373	return c
18374}
18375
18376// Fields allows partial responses to be retrieved. See
18377// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18378// for more information.
18379func (c *AdvertisersChannelsListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsListCall {
18380	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18381	return c
18382}
18383
18384// IfNoneMatch sets the optional parameter which makes the operation
18385// fail if the object's ETag matches the given value. This is useful for
18386// getting updates only after the object has changed since the last
18387// request. Use googleapi.IsNotModified to check whether the response
18388// error from Do is the result of In-None-Match.
18389func (c *AdvertisersChannelsListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsListCall {
18390	c.ifNoneMatch_ = entityTag
18391	return c
18392}
18393
18394// Context sets the context to be used in this call's Do method. Any
18395// pending HTTP request will be aborted if the provided context is
18396// canceled.
18397func (c *AdvertisersChannelsListCall) Context(ctx context.Context) *AdvertisersChannelsListCall {
18398	c.ctx_ = ctx
18399	return c
18400}
18401
18402// Header returns an http.Header that can be modified by the caller to
18403// add HTTP headers to the request.
18404func (c *AdvertisersChannelsListCall) Header() http.Header {
18405	if c.header_ == nil {
18406		c.header_ = make(http.Header)
18407	}
18408	return c.header_
18409}
18410
18411func (c *AdvertisersChannelsListCall) doRequest(alt string) (*http.Response, error) {
18412	reqHeaders := make(http.Header)
18413	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
18414	for k, v := range c.header_ {
18415		reqHeaders[k] = v
18416	}
18417	reqHeaders.Set("User-Agent", c.s.userAgent())
18418	if c.ifNoneMatch_ != "" {
18419		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18420	}
18421	var body io.Reader = nil
18422	c.urlParams_.Set("alt", alt)
18423	c.urlParams_.Set("prettyPrint", "false")
18424	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels")
18425	urls += "?" + c.urlParams_.Encode()
18426	req, err := http.NewRequest("GET", urls, body)
18427	if err != nil {
18428		return nil, err
18429	}
18430	req.Header = reqHeaders
18431	googleapi.Expand(req.URL, map[string]string{
18432		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18433	})
18434	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18435}
18436
18437// Do executes the "displayvideo.advertisers.channels.list" call.
18438// Exactly one of *ListChannelsResponse or error will be non-nil. Any
18439// non-2xx status code is an error. Response headers are in either
18440// *ListChannelsResponse.ServerResponse.Header or (if a response was
18441// returned at all) in error.(*googleapi.Error).Header. Use
18442// googleapi.IsNotModified to check whether the returned error was
18443// because http.StatusNotModified was returned.
18444func (c *AdvertisersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
18445	gensupport.SetOptions(c.urlParams_, opts...)
18446	res, err := c.doRequest("json")
18447	if res != nil && res.StatusCode == http.StatusNotModified {
18448		if res.Body != nil {
18449			res.Body.Close()
18450		}
18451		return nil, &googleapi.Error{
18452			Code:   res.StatusCode,
18453			Header: res.Header,
18454		}
18455	}
18456	if err != nil {
18457		return nil, err
18458	}
18459	defer googleapi.CloseBody(res)
18460	if err := googleapi.CheckResponse(res); err != nil {
18461		return nil, err
18462	}
18463	ret := &ListChannelsResponse{
18464		ServerResponse: googleapi.ServerResponse{
18465			Header:         res.Header,
18466			HTTPStatusCode: res.StatusCode,
18467		},
18468	}
18469	target := &ret
18470	if err := gensupport.DecodeResponse(target, res); err != nil {
18471		return nil, err
18472	}
18473	return ret, nil
18474	// {
18475	//   "description": "Lists channels for a partner or advertiser.",
18476	//   "flatPath": "v1/advertisers/{advertisersId}/channels",
18477	//   "httpMethod": "GET",
18478	//   "id": "displayvideo.advertisers.channels.list",
18479	//   "parameterOrder": [
18480	//     "advertiserId"
18481	//   ],
18482	//   "parameters": {
18483	//     "advertiserId": {
18484	//       "description": "The ID of the advertiser that owns the channels.",
18485	//       "format": "int64",
18486	//       "location": "path",
18487	//       "pattern": "^[^/]+$",
18488	//       "required": true,
18489	//       "type": "string"
18490	//     },
18491	//     "filter": {
18492	//       "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.",
18493	//       "location": "query",
18494	//       "type": "string"
18495	//     },
18496	//     "orderBy": {
18497	//       "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`.",
18498	//       "location": "query",
18499	//       "type": "string"
18500	//     },
18501	//     "pageSize": {
18502	//       "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.",
18503	//       "format": "int32",
18504	//       "location": "query",
18505	//       "type": "integer"
18506	//     },
18507	//     "pageToken": {
18508	//       "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.",
18509	//       "location": "query",
18510	//       "type": "string"
18511	//     },
18512	//     "partnerId": {
18513	//       "description": "The ID of the partner that owns the channels.",
18514	//       "format": "int64",
18515	//       "location": "query",
18516	//       "type": "string"
18517	//     }
18518	//   },
18519	//   "path": "v1/advertisers/{+advertiserId}/channels",
18520	//   "response": {
18521	//     "$ref": "ListChannelsResponse"
18522	//   },
18523	//   "scopes": [
18524	//     "https://www.googleapis.com/auth/display-video"
18525	//   ]
18526	// }
18527
18528}
18529
18530// Pages invokes f for each page of results.
18531// A non-nil error returned from f will halt the iteration.
18532// The provided context supersedes any context provided to the Context method.
18533func (c *AdvertisersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
18534	c.ctx_ = ctx
18535	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18536	for {
18537		x, err := c.Do()
18538		if err != nil {
18539			return err
18540		}
18541		if err := f(x); err != nil {
18542			return err
18543		}
18544		if x.NextPageToken == "" {
18545			return nil
18546		}
18547		c.PageToken(x.NextPageToken)
18548	}
18549}
18550
18551// method id "displayvideo.advertisers.channels.patch":
18552
18553type AdvertisersChannelsPatchCall struct {
18554	s            *Service
18555	advertiserId int64
18556	channelId    int64
18557	channel      *Channel
18558	urlParams_   gensupport.URLParams
18559	ctx_         context.Context
18560	header_      http.Header
18561}
18562
18563// Patch: Updates a channel. Returns the updated channel if successful.
18564//
18565// - advertiserId: The ID of the advertiser that owns the created
18566//   channel.
18567// - channelId: Output only. The unique ID of the channel. Assigned by
18568//   the system.
18569func (r *AdvertisersChannelsService) Patch(advertiserId int64, channelId int64, channel *Channel) *AdvertisersChannelsPatchCall {
18570	c := &AdvertisersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18571	c.advertiserId = advertiserId
18572	c.channelId = channelId
18573	c.channel = channel
18574	return c
18575}
18576
18577// PartnerId sets the optional parameter "partnerId": The ID of the
18578// partner that owns the created channel.
18579func (c *AdvertisersChannelsPatchCall) PartnerId(partnerId int64) *AdvertisersChannelsPatchCall {
18580	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18581	return c
18582}
18583
18584// UpdateMask sets the optional parameter "updateMask": Required. The
18585// mask to control which fields to update.
18586func (c *AdvertisersChannelsPatchCall) UpdateMask(updateMask string) *AdvertisersChannelsPatchCall {
18587	c.urlParams_.Set("updateMask", updateMask)
18588	return c
18589}
18590
18591// Fields allows partial responses to be retrieved. See
18592// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18593// for more information.
18594func (c *AdvertisersChannelsPatchCall) Fields(s ...googleapi.Field) *AdvertisersChannelsPatchCall {
18595	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18596	return c
18597}
18598
18599// Context sets the context to be used in this call's Do method. Any
18600// pending HTTP request will be aborted if the provided context is
18601// canceled.
18602func (c *AdvertisersChannelsPatchCall) Context(ctx context.Context) *AdvertisersChannelsPatchCall {
18603	c.ctx_ = ctx
18604	return c
18605}
18606
18607// Header returns an http.Header that can be modified by the caller to
18608// add HTTP headers to the request.
18609func (c *AdvertisersChannelsPatchCall) Header() http.Header {
18610	if c.header_ == nil {
18611		c.header_ = make(http.Header)
18612	}
18613	return c.header_
18614}
18615
18616func (c *AdvertisersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
18617	reqHeaders := make(http.Header)
18618	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
18619	for k, v := range c.header_ {
18620		reqHeaders[k] = v
18621	}
18622	reqHeaders.Set("User-Agent", c.s.userAgent())
18623	var body io.Reader = nil
18624	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
18625	if err != nil {
18626		return nil, err
18627	}
18628	reqHeaders.Set("Content-Type", "application/json")
18629	c.urlParams_.Set("alt", alt)
18630	c.urlParams_.Set("prettyPrint", "false")
18631	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{channelId}")
18632	urls += "?" + c.urlParams_.Encode()
18633	req, err := http.NewRequest("PATCH", urls, body)
18634	if err != nil {
18635		return nil, err
18636	}
18637	req.Header = reqHeaders
18638	googleapi.Expand(req.URL, map[string]string{
18639		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18640		"channelId":    strconv.FormatInt(c.channelId, 10),
18641	})
18642	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18643}
18644
18645// Do executes the "displayvideo.advertisers.channels.patch" call.
18646// Exactly one of *Channel or error will be non-nil. Any non-2xx status
18647// code is an error. Response headers are in either
18648// *Channel.ServerResponse.Header or (if a response was returned at all)
18649// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
18650// check whether the returned error was because http.StatusNotModified
18651// was returned.
18652func (c *AdvertisersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
18653	gensupport.SetOptions(c.urlParams_, opts...)
18654	res, err := c.doRequest("json")
18655	if res != nil && res.StatusCode == http.StatusNotModified {
18656		if res.Body != nil {
18657			res.Body.Close()
18658		}
18659		return nil, &googleapi.Error{
18660			Code:   res.StatusCode,
18661			Header: res.Header,
18662		}
18663	}
18664	if err != nil {
18665		return nil, err
18666	}
18667	defer googleapi.CloseBody(res)
18668	if err := googleapi.CheckResponse(res); err != nil {
18669		return nil, err
18670	}
18671	ret := &Channel{
18672		ServerResponse: googleapi.ServerResponse{
18673			Header:         res.Header,
18674			HTTPStatusCode: res.StatusCode,
18675		},
18676	}
18677	target := &ret
18678	if err := gensupport.DecodeResponse(target, res); err != nil {
18679		return nil, err
18680	}
18681	return ret, nil
18682	// {
18683	//   "description": "Updates a channel. Returns the updated channel if successful.",
18684	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelId}",
18685	//   "httpMethod": "PATCH",
18686	//   "id": "displayvideo.advertisers.channels.patch",
18687	//   "parameterOrder": [
18688	//     "advertiserId",
18689	//     "channelId"
18690	//   ],
18691	//   "parameters": {
18692	//     "advertiserId": {
18693	//       "description": "The ID of the advertiser that owns the created channel.",
18694	//       "format": "int64",
18695	//       "location": "path",
18696	//       "pattern": "^[^/]+$",
18697	//       "required": true,
18698	//       "type": "string"
18699	//     },
18700	//     "channelId": {
18701	//       "description": "Output only. The unique ID of the channel. Assigned by the system.",
18702	//       "format": "int64",
18703	//       "location": "path",
18704	//       "required": true,
18705	//       "type": "string"
18706	//     },
18707	//     "partnerId": {
18708	//       "description": "The ID of the partner that owns the created channel.",
18709	//       "format": "int64",
18710	//       "location": "query",
18711	//       "type": "string"
18712	//     },
18713	//     "updateMask": {
18714	//       "description": "Required. The mask to control which fields to update.",
18715	//       "format": "google-fieldmask",
18716	//       "location": "query",
18717	//       "type": "string"
18718	//     }
18719	//   },
18720	//   "path": "v1/advertisers/{+advertiserId}/channels/{channelId}",
18721	//   "request": {
18722	//     "$ref": "Channel"
18723	//   },
18724	//   "response": {
18725	//     "$ref": "Channel"
18726	//   },
18727	//   "scopes": [
18728	//     "https://www.googleapis.com/auth/display-video"
18729	//   ]
18730	// }
18731
18732}
18733
18734// method id "displayvideo.advertisers.channels.sites.bulkEdit":
18735
18736type AdvertisersChannelsSitesBulkEditCall struct {
18737	s                    *Service
18738	advertiserId         int64
18739	channelId            int64
18740	bulkeditsitesrequest *BulkEditSitesRequest
18741	urlParams_           gensupport.URLParams
18742	ctx_                 context.Context
18743	header_              http.Header
18744}
18745
18746// BulkEdit: Bulk edits sites under a single channel. The operation will
18747// delete the sites provided in BulkEditSitesRequest.deleted_sites and
18748// then create the sites provided in BulkEditSitesRequest.created_sites.
18749//
18750// - advertiserId: The ID of the advertiser that owns the parent
18751//   channel.
18752// - channelId: The ID of the parent channel to which the sites belong.
18753func (r *AdvertisersChannelsSitesService) BulkEdit(advertiserId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *AdvertisersChannelsSitesBulkEditCall {
18754	c := &AdvertisersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18755	c.advertiserId = advertiserId
18756	c.channelId = channelId
18757	c.bulkeditsitesrequest = bulkeditsitesrequest
18758	return c
18759}
18760
18761// Fields allows partial responses to be retrieved. See
18762// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18763// for more information.
18764func (c *AdvertisersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesBulkEditCall {
18765	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18766	return c
18767}
18768
18769// Context sets the context to be used in this call's Do method. Any
18770// pending HTTP request will be aborted if the provided context is
18771// canceled.
18772func (c *AdvertisersChannelsSitesBulkEditCall) Context(ctx context.Context) *AdvertisersChannelsSitesBulkEditCall {
18773	c.ctx_ = ctx
18774	return c
18775}
18776
18777// Header returns an http.Header that can be modified by the caller to
18778// add HTTP headers to the request.
18779func (c *AdvertisersChannelsSitesBulkEditCall) Header() http.Header {
18780	if c.header_ == nil {
18781		c.header_ = make(http.Header)
18782	}
18783	return c.header_
18784}
18785
18786func (c *AdvertisersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
18787	reqHeaders := make(http.Header)
18788	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
18789	for k, v := range c.header_ {
18790		reqHeaders[k] = v
18791	}
18792	reqHeaders.Set("User-Agent", c.s.userAgent())
18793	var body io.Reader = nil
18794	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
18795	if err != nil {
18796		return nil, err
18797	}
18798	reqHeaders.Set("Content-Type", "application/json")
18799	c.urlParams_.Set("alt", alt)
18800	c.urlParams_.Set("prettyPrint", "false")
18801	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit")
18802	urls += "?" + c.urlParams_.Encode()
18803	req, err := http.NewRequest("POST", urls, body)
18804	if err != nil {
18805		return nil, err
18806	}
18807	req.Header = reqHeaders
18808	googleapi.Expand(req.URL, map[string]string{
18809		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18810		"channelId":    strconv.FormatInt(c.channelId, 10),
18811	})
18812	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18813}
18814
18815// Do executes the "displayvideo.advertisers.channels.sites.bulkEdit" call.
18816// Exactly one of *BulkEditSitesResponse or error will be non-nil. Any
18817// non-2xx status code is an error. Response headers are in either
18818// *BulkEditSitesResponse.ServerResponse.Header or (if a response was
18819// returned at all) in error.(*googleapi.Error).Header. Use
18820// googleapi.IsNotModified to check whether the returned error was
18821// because http.StatusNotModified was returned.
18822func (c *AdvertisersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
18823	gensupport.SetOptions(c.urlParams_, opts...)
18824	res, err := c.doRequest("json")
18825	if res != nil && res.StatusCode == http.StatusNotModified {
18826		if res.Body != nil {
18827			res.Body.Close()
18828		}
18829		return nil, &googleapi.Error{
18830			Code:   res.StatusCode,
18831			Header: res.Header,
18832		}
18833	}
18834	if err != nil {
18835		return nil, err
18836	}
18837	defer googleapi.CloseBody(res)
18838	if err := googleapi.CheckResponse(res); err != nil {
18839		return nil, err
18840	}
18841	ret := &BulkEditSitesResponse{
18842		ServerResponse: googleapi.ServerResponse{
18843			Header:         res.Header,
18844			HTTPStatusCode: res.StatusCode,
18845		},
18846	}
18847	target := &ret
18848	if err := gensupport.DecodeResponse(target, res); err != nil {
18849		return nil, err
18850	}
18851	return ret, nil
18852	// {
18853	//   "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.",
18854	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit",
18855	//   "httpMethod": "POST",
18856	//   "id": "displayvideo.advertisers.channels.sites.bulkEdit",
18857	//   "parameterOrder": [
18858	//     "advertiserId",
18859	//     "channelId"
18860	//   ],
18861	//   "parameters": {
18862	//     "advertiserId": {
18863	//       "description": "The ID of the advertiser that owns the parent channel.",
18864	//       "format": "int64",
18865	//       "location": "path",
18866	//       "required": true,
18867	//       "type": "string"
18868	//     },
18869	//     "channelId": {
18870	//       "description": "Required. The ID of the parent channel to which the sites belong.",
18871	//       "format": "int64",
18872	//       "location": "path",
18873	//       "pattern": "^[^/]+$",
18874	//       "required": true,
18875	//       "type": "string"
18876	//     }
18877	//   },
18878	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit",
18879	//   "request": {
18880	//     "$ref": "BulkEditSitesRequest"
18881	//   },
18882	//   "response": {
18883	//     "$ref": "BulkEditSitesResponse"
18884	//   },
18885	//   "scopes": [
18886	//     "https://www.googleapis.com/auth/display-video"
18887	//   ]
18888	// }
18889
18890}
18891
18892// method id "displayvideo.advertisers.channels.sites.create":
18893
18894type AdvertisersChannelsSitesCreateCall struct {
18895	s            *Service
18896	advertiserId int64
18897	channelId    int64
18898	site         *Site
18899	urlParams_   gensupport.URLParams
18900	ctx_         context.Context
18901	header_      http.Header
18902}
18903
18904// Create: Creates a site in a channel.
18905//
18906// - advertiserId: The ID of the advertiser that owns the parent
18907//   channel.
18908// - channelId: The ID of the parent channel in which the site will be
18909//   created.
18910func (r *AdvertisersChannelsSitesService) Create(advertiserId int64, channelId int64, site *Site) *AdvertisersChannelsSitesCreateCall {
18911	c := &AdvertisersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18912	c.advertiserId = advertiserId
18913	c.channelId = channelId
18914	c.site = site
18915	return c
18916}
18917
18918// PartnerId sets the optional parameter "partnerId": The ID of the
18919// partner that owns the parent channel.
18920func (c *AdvertisersChannelsSitesCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesCreateCall {
18921	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
18922	return c
18923}
18924
18925// Fields allows partial responses to be retrieved. See
18926// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18927// for more information.
18928func (c *AdvertisersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesCreateCall {
18929	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18930	return c
18931}
18932
18933// Context sets the context to be used in this call's Do method. Any
18934// pending HTTP request will be aborted if the provided context is
18935// canceled.
18936func (c *AdvertisersChannelsSitesCreateCall) Context(ctx context.Context) *AdvertisersChannelsSitesCreateCall {
18937	c.ctx_ = ctx
18938	return c
18939}
18940
18941// Header returns an http.Header that can be modified by the caller to
18942// add HTTP headers to the request.
18943func (c *AdvertisersChannelsSitesCreateCall) Header() http.Header {
18944	if c.header_ == nil {
18945		c.header_ = make(http.Header)
18946	}
18947	return c.header_
18948}
18949
18950func (c *AdvertisersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
18951	reqHeaders := make(http.Header)
18952	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
18953	for k, v := range c.header_ {
18954		reqHeaders[k] = v
18955	}
18956	reqHeaders.Set("User-Agent", c.s.userAgent())
18957	var body io.Reader = nil
18958	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
18959	if err != nil {
18960		return nil, err
18961	}
18962	reqHeaders.Set("Content-Type", "application/json")
18963	c.urlParams_.Set("alt", alt)
18964	c.urlParams_.Set("prettyPrint", "false")
18965	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites")
18966	urls += "?" + c.urlParams_.Encode()
18967	req, err := http.NewRequest("POST", urls, body)
18968	if err != nil {
18969		return nil, err
18970	}
18971	req.Header = reqHeaders
18972	googleapi.Expand(req.URL, map[string]string{
18973		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18974		"channelId":    strconv.FormatInt(c.channelId, 10),
18975	})
18976	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18977}
18978
18979// Do executes the "displayvideo.advertisers.channels.sites.create" call.
18980// Exactly one of *Site or error will be non-nil. Any non-2xx status
18981// code is an error. Response headers are in either
18982// *Site.ServerResponse.Header or (if a response was returned at all) in
18983// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18984// whether the returned error was because http.StatusNotModified was
18985// returned.
18986func (c *AdvertisersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
18987	gensupport.SetOptions(c.urlParams_, opts...)
18988	res, err := c.doRequest("json")
18989	if res != nil && res.StatusCode == http.StatusNotModified {
18990		if res.Body != nil {
18991			res.Body.Close()
18992		}
18993		return nil, &googleapi.Error{
18994			Code:   res.StatusCode,
18995			Header: res.Header,
18996		}
18997	}
18998	if err != nil {
18999		return nil, err
19000	}
19001	defer googleapi.CloseBody(res)
19002	if err := googleapi.CheckResponse(res); err != nil {
19003		return nil, err
19004	}
19005	ret := &Site{
19006		ServerResponse: googleapi.ServerResponse{
19007			Header:         res.Header,
19008			HTTPStatusCode: res.StatusCode,
19009		},
19010	}
19011	target := &ret
19012	if err := gensupport.DecodeResponse(target, res); err != nil {
19013		return nil, err
19014	}
19015	return ret, nil
19016	// {
19017	//   "description": "Creates a site in a channel.",
19018	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites",
19019	//   "httpMethod": "POST",
19020	//   "id": "displayvideo.advertisers.channels.sites.create",
19021	//   "parameterOrder": [
19022	//     "advertiserId",
19023	//     "channelId"
19024	//   ],
19025	//   "parameters": {
19026	//     "advertiserId": {
19027	//       "description": "The ID of the advertiser that owns the parent channel.",
19028	//       "format": "int64",
19029	//       "location": "path",
19030	//       "required": true,
19031	//       "type": "string"
19032	//     },
19033	//     "channelId": {
19034	//       "description": "Required. The ID of the parent channel in which the site will be created.",
19035	//       "format": "int64",
19036	//       "location": "path",
19037	//       "pattern": "^[^/]+$",
19038	//       "required": true,
19039	//       "type": "string"
19040	//     },
19041	//     "partnerId": {
19042	//       "description": "The ID of the partner that owns the parent channel.",
19043	//       "format": "int64",
19044	//       "location": "query",
19045	//       "type": "string"
19046	//     }
19047	//   },
19048	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites",
19049	//   "request": {
19050	//     "$ref": "Site"
19051	//   },
19052	//   "response": {
19053	//     "$ref": "Site"
19054	//   },
19055	//   "scopes": [
19056	//     "https://www.googleapis.com/auth/display-video"
19057	//   ]
19058	// }
19059
19060}
19061
19062// method id "displayvideo.advertisers.channels.sites.delete":
19063
19064type AdvertisersChannelsSitesDeleteCall struct {
19065	s            *Service
19066	advertiserId int64
19067	channelId    int64
19068	urlOrAppId   string
19069	urlParams_   gensupport.URLParams
19070	ctx_         context.Context
19071	header_      http.Header
19072}
19073
19074// Delete: Deletes a site from a channel.
19075//
19076// - advertiserId: The ID of the advertiser that owns the parent
19077//   channel.
19078// - channelId: The ID of the parent channel to which the site belongs.
19079// - urlOrAppId: The URL or app ID of the site to delete.
19080func (r *AdvertisersChannelsSitesService) Delete(advertiserId int64, channelId int64, urlOrAppId string) *AdvertisersChannelsSitesDeleteCall {
19081	c := &AdvertisersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19082	c.advertiserId = advertiserId
19083	c.channelId = channelId
19084	c.urlOrAppId = urlOrAppId
19085	return c
19086}
19087
19088// PartnerId sets the optional parameter "partnerId": The ID of the
19089// partner that owns the parent channel.
19090func (c *AdvertisersChannelsSitesDeleteCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesDeleteCall {
19091	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
19092	return c
19093}
19094
19095// Fields allows partial responses to be retrieved. See
19096// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19097// for more information.
19098func (c *AdvertisersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesDeleteCall {
19099	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19100	return c
19101}
19102
19103// Context sets the context to be used in this call's Do method. Any
19104// pending HTTP request will be aborted if the provided context is
19105// canceled.
19106func (c *AdvertisersChannelsSitesDeleteCall) Context(ctx context.Context) *AdvertisersChannelsSitesDeleteCall {
19107	c.ctx_ = ctx
19108	return c
19109}
19110
19111// Header returns an http.Header that can be modified by the caller to
19112// add HTTP headers to the request.
19113func (c *AdvertisersChannelsSitesDeleteCall) Header() http.Header {
19114	if c.header_ == nil {
19115		c.header_ = make(http.Header)
19116	}
19117	return c.header_
19118}
19119
19120func (c *AdvertisersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
19121	reqHeaders := make(http.Header)
19122	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
19123	for k, v := range c.header_ {
19124		reqHeaders[k] = v
19125	}
19126	reqHeaders.Set("User-Agent", c.s.userAgent())
19127	var body io.Reader = nil
19128	c.urlParams_.Set("alt", alt)
19129	c.urlParams_.Set("prettyPrint", "false")
19130	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}")
19131	urls += "?" + c.urlParams_.Encode()
19132	req, err := http.NewRequest("DELETE", urls, body)
19133	if err != nil {
19134		return nil, err
19135	}
19136	req.Header = reqHeaders
19137	googleapi.Expand(req.URL, map[string]string{
19138		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19139		"channelId":    strconv.FormatInt(c.channelId, 10),
19140		"urlOrAppId":   c.urlOrAppId,
19141	})
19142	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19143}
19144
19145// Do executes the "displayvideo.advertisers.channels.sites.delete" call.
19146// Exactly one of *Empty or error will be non-nil. Any non-2xx status
19147// code is an error. Response headers are in either
19148// *Empty.ServerResponse.Header or (if a response was returned at all)
19149// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
19150// check whether the returned error was because http.StatusNotModified
19151// was returned.
19152func (c *AdvertisersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
19153	gensupport.SetOptions(c.urlParams_, opts...)
19154	res, err := c.doRequest("json")
19155	if res != nil && res.StatusCode == http.StatusNotModified {
19156		if res.Body != nil {
19157			res.Body.Close()
19158		}
19159		return nil, &googleapi.Error{
19160			Code:   res.StatusCode,
19161			Header: res.Header,
19162		}
19163	}
19164	if err != nil {
19165		return nil, err
19166	}
19167	defer googleapi.CloseBody(res)
19168	if err := googleapi.CheckResponse(res); err != nil {
19169		return nil, err
19170	}
19171	ret := &Empty{
19172		ServerResponse: googleapi.ServerResponse{
19173			Header:         res.Header,
19174			HTTPStatusCode: res.StatusCode,
19175		},
19176	}
19177	target := &ret
19178	if err := gensupport.DecodeResponse(target, res); err != nil {
19179		return nil, err
19180	}
19181	return ret, nil
19182	// {
19183	//   "description": "Deletes a site from a channel.",
19184	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}",
19185	//   "httpMethod": "DELETE",
19186	//   "id": "displayvideo.advertisers.channels.sites.delete",
19187	//   "parameterOrder": [
19188	//     "advertiserId",
19189	//     "channelId",
19190	//     "urlOrAppId"
19191	//   ],
19192	//   "parameters": {
19193	//     "advertiserId": {
19194	//       "description": "The ID of the advertiser that owns the parent channel.",
19195	//       "format": "int64",
19196	//       "location": "path",
19197	//       "required": true,
19198	//       "type": "string"
19199	//     },
19200	//     "channelId": {
19201	//       "description": "Required. The ID of the parent channel to which the site belongs.",
19202	//       "format": "int64",
19203	//       "location": "path",
19204	//       "pattern": "^[^/]+$",
19205	//       "required": true,
19206	//       "type": "string"
19207	//     },
19208	//     "partnerId": {
19209	//       "description": "The ID of the partner that owns the parent channel.",
19210	//       "format": "int64",
19211	//       "location": "query",
19212	//       "type": "string"
19213	//     },
19214	//     "urlOrAppId": {
19215	//       "description": "Required. The URL or app ID of the site to delete.",
19216	//       "location": "path",
19217	//       "pattern": "^[^/]+$",
19218	//       "required": true,
19219	//       "type": "string"
19220	//     }
19221	//   },
19222	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}",
19223	//   "response": {
19224	//     "$ref": "Empty"
19225	//   },
19226	//   "scopes": [
19227	//     "https://www.googleapis.com/auth/display-video"
19228	//   ]
19229	// }
19230
19231}
19232
19233// method id "displayvideo.advertisers.channels.sites.list":
19234
19235type AdvertisersChannelsSitesListCall struct {
19236	s            *Service
19237	advertiserId int64
19238	channelId    int64
19239	urlParams_   gensupport.URLParams
19240	ifNoneMatch_ string
19241	ctx_         context.Context
19242	header_      http.Header
19243}
19244
19245// List: Lists sites in a channel.
19246//
19247// - advertiserId: The ID of the advertiser that owns the parent
19248//   channel.
19249// - channelId: The ID of the parent channel to which the requested
19250//   sites belong.
19251func (r *AdvertisersChannelsSitesService) List(advertiserId int64, channelId int64) *AdvertisersChannelsSitesListCall {
19252	c := &AdvertisersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19253	c.advertiserId = advertiserId
19254	c.channelId = channelId
19255	return c
19256}
19257
19258// Filter sets the optional parameter "filter": Allows filtering by site
19259// fields. Supported syntax: * Filter expressions for site currently can
19260// only contain at most one * restriction. * A restriction has the form
19261// of `{field} {operator} {value}`. * The operator must be `CONTAINS
19262// (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for
19263// which the URL or app ID contains "google": `urlOrAppId : "google"
19264func (c *AdvertisersChannelsSitesListCall) Filter(filter string) *AdvertisersChannelsSitesListCall {
19265	c.urlParams_.Set("filter", filter)
19266	return c
19267}
19268
19269// OrderBy sets the optional parameter "orderBy": Field by which to sort
19270// the list. Acceptable values are: * `urlOrAppId` (default) The default
19271// sorting order is ascending. To specify descending order for a field,
19272// a suffix " desc" should be added to the field name. Example:
19273// `urlOrAppId desc`.
19274func (c *AdvertisersChannelsSitesListCall) OrderBy(orderBy string) *AdvertisersChannelsSitesListCall {
19275	c.urlParams_.Set("orderBy", orderBy)
19276	return c
19277}
19278
19279// PageSize sets the optional parameter "pageSize": Requested page size.
19280// Must be between `1` and `10000`. If unspecified will default to
19281// `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is
19282// specified.
19283func (c *AdvertisersChannelsSitesListCall) PageSize(pageSize int64) *AdvertisersChannelsSitesListCall {
19284	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
19285	return c
19286}
19287
19288// PageToken sets the optional parameter "pageToken": A token
19289// identifying a page of results the server should return. Typically,
19290// this is the value of next_page_token returned from the previous call
19291// to `ListSites` method. If not specified, the first page of results
19292// will be returned.
19293func (c *AdvertisersChannelsSitesListCall) PageToken(pageToken string) *AdvertisersChannelsSitesListCall {
19294	c.urlParams_.Set("pageToken", pageToken)
19295	return c
19296}
19297
19298// PartnerId sets the optional parameter "partnerId": The ID of the
19299// partner that owns the parent channel.
19300func (c *AdvertisersChannelsSitesListCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesListCall {
19301	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
19302	return c
19303}
19304
19305// Fields allows partial responses to be retrieved. See
19306// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19307// for more information.
19308func (c *AdvertisersChannelsSitesListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesListCall {
19309	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19310	return c
19311}
19312
19313// IfNoneMatch sets the optional parameter which makes the operation
19314// fail if the object's ETag matches the given value. This is useful for
19315// getting updates only after the object has changed since the last
19316// request. Use googleapi.IsNotModified to check whether the response
19317// error from Do is the result of In-None-Match.
19318func (c *AdvertisersChannelsSitesListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsSitesListCall {
19319	c.ifNoneMatch_ = entityTag
19320	return c
19321}
19322
19323// Context sets the context to be used in this call's Do method. Any
19324// pending HTTP request will be aborted if the provided context is
19325// canceled.
19326func (c *AdvertisersChannelsSitesListCall) Context(ctx context.Context) *AdvertisersChannelsSitesListCall {
19327	c.ctx_ = ctx
19328	return c
19329}
19330
19331// Header returns an http.Header that can be modified by the caller to
19332// add HTTP headers to the request.
19333func (c *AdvertisersChannelsSitesListCall) Header() http.Header {
19334	if c.header_ == nil {
19335		c.header_ = make(http.Header)
19336	}
19337	return c.header_
19338}
19339
19340func (c *AdvertisersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
19341	reqHeaders := make(http.Header)
19342	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
19343	for k, v := range c.header_ {
19344		reqHeaders[k] = v
19345	}
19346	reqHeaders.Set("User-Agent", c.s.userAgent())
19347	if c.ifNoneMatch_ != "" {
19348		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19349	}
19350	var body io.Reader = nil
19351	c.urlParams_.Set("alt", alt)
19352	c.urlParams_.Set("prettyPrint", "false")
19353	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{+channelId}/sites")
19354	urls += "?" + c.urlParams_.Encode()
19355	req, err := http.NewRequest("GET", urls, body)
19356	if err != nil {
19357		return nil, err
19358	}
19359	req.Header = reqHeaders
19360	googleapi.Expand(req.URL, map[string]string{
19361		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19362		"channelId":    strconv.FormatInt(c.channelId, 10),
19363	})
19364	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19365}
19366
19367// Do executes the "displayvideo.advertisers.channels.sites.list" call.
19368// Exactly one of *ListSitesResponse or error will be non-nil. Any
19369// non-2xx status code is an error. Response headers are in either
19370// *ListSitesResponse.ServerResponse.Header or (if a response was
19371// returned at all) in error.(*googleapi.Error).Header. Use
19372// googleapi.IsNotModified to check whether the returned error was
19373// because http.StatusNotModified was returned.
19374func (c *AdvertisersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
19375	gensupport.SetOptions(c.urlParams_, opts...)
19376	res, err := c.doRequest("json")
19377	if res != nil && res.StatusCode == http.StatusNotModified {
19378		if res.Body != nil {
19379			res.Body.Close()
19380		}
19381		return nil, &googleapi.Error{
19382			Code:   res.StatusCode,
19383			Header: res.Header,
19384		}
19385	}
19386	if err != nil {
19387		return nil, err
19388	}
19389	defer googleapi.CloseBody(res)
19390	if err := googleapi.CheckResponse(res); err != nil {
19391		return nil, err
19392	}
19393	ret := &ListSitesResponse{
19394		ServerResponse: googleapi.ServerResponse{
19395			Header:         res.Header,
19396			HTTPStatusCode: res.StatusCode,
19397		},
19398	}
19399	target := &ret
19400	if err := gensupport.DecodeResponse(target, res); err != nil {
19401		return nil, err
19402	}
19403	return ret, nil
19404	// {
19405	//   "description": "Lists sites in a channel.",
19406	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}/sites",
19407	//   "httpMethod": "GET",
19408	//   "id": "displayvideo.advertisers.channels.sites.list",
19409	//   "parameterOrder": [
19410	//     "advertiserId",
19411	//     "channelId"
19412	//   ],
19413	//   "parameters": {
19414	//     "advertiserId": {
19415	//       "description": "The ID of the advertiser that owns the parent channel.",
19416	//       "format": "int64",
19417	//       "location": "path",
19418	//       "pattern": "^[^/]+$",
19419	//       "required": true,
19420	//       "type": "string"
19421	//     },
19422	//     "channelId": {
19423	//       "description": "Required. The ID of the parent channel to which the requested sites belong.",
19424	//       "format": "int64",
19425	//       "location": "path",
19426	//       "pattern": "^[^/]+$",
19427	//       "required": true,
19428	//       "type": "string"
19429	//     },
19430	//     "filter": {
19431	//       "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\"`",
19432	//       "location": "query",
19433	//       "type": "string"
19434	//     },
19435	//     "orderBy": {
19436	//       "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`.",
19437	//       "location": "query",
19438	//       "type": "string"
19439	//     },
19440	//     "pageSize": {
19441	//       "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.",
19442	//       "format": "int32",
19443	//       "location": "query",
19444	//       "type": "integer"
19445	//     },
19446	//     "pageToken": {
19447	//       "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.",
19448	//       "location": "query",
19449	//       "type": "string"
19450	//     },
19451	//     "partnerId": {
19452	//       "description": "The ID of the partner that owns the parent channel.",
19453	//       "format": "int64",
19454	//       "location": "query",
19455	//       "type": "string"
19456	//     }
19457	//   },
19458	//   "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}/sites",
19459	//   "response": {
19460	//     "$ref": "ListSitesResponse"
19461	//   },
19462	//   "scopes": [
19463	//     "https://www.googleapis.com/auth/display-video"
19464	//   ]
19465	// }
19466
19467}
19468
19469// Pages invokes f for each page of results.
19470// A non-nil error returned from f will halt the iteration.
19471// The provided context supersedes any context provided to the Context method.
19472func (c *AdvertisersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
19473	c.ctx_ = ctx
19474	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19475	for {
19476		x, err := c.Do()
19477		if err != nil {
19478			return err
19479		}
19480		if err := f(x); err != nil {
19481			return err
19482		}
19483		if x.NextPageToken == "" {
19484			return nil
19485		}
19486		c.PageToken(x.NextPageToken)
19487	}
19488}
19489
19490// method id "displayvideo.advertisers.channels.sites.replace":
19491
19492type AdvertisersChannelsSitesReplaceCall struct {
19493	s                   *Service
19494	advertiserId        int64
19495	channelId           int64
19496	replacesitesrequest *ReplaceSitesRequest
19497	urlParams_          gensupport.URLParams
19498	ctx_                context.Context
19499	header_             http.Header
19500}
19501
19502// Replace: Replaces all of the sites under a single channel. The
19503// operation will replace the sites under a channel with the sites
19504// provided in ReplaceSitesRequest.new_sites.
19505//
19506// - advertiserId: The ID of the advertiser that owns the parent
19507//   channel.
19508// - channelId: The ID of the parent channel whose sites will be
19509//   replaced.
19510func (r *AdvertisersChannelsSitesService) Replace(advertiserId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *AdvertisersChannelsSitesReplaceCall {
19511	c := &AdvertisersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19512	c.advertiserId = advertiserId
19513	c.channelId = channelId
19514	c.replacesitesrequest = replacesitesrequest
19515	return c
19516}
19517
19518// Fields allows partial responses to be retrieved. See
19519// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19520// for more information.
19521func (c *AdvertisersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesReplaceCall {
19522	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19523	return c
19524}
19525
19526// Context sets the context to be used in this call's Do method. Any
19527// pending HTTP request will be aborted if the provided context is
19528// canceled.
19529func (c *AdvertisersChannelsSitesReplaceCall) Context(ctx context.Context) *AdvertisersChannelsSitesReplaceCall {
19530	c.ctx_ = ctx
19531	return c
19532}
19533
19534// Header returns an http.Header that can be modified by the caller to
19535// add HTTP headers to the request.
19536func (c *AdvertisersChannelsSitesReplaceCall) Header() http.Header {
19537	if c.header_ == nil {
19538		c.header_ = make(http.Header)
19539	}
19540	return c.header_
19541}
19542
19543func (c *AdvertisersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
19544	reqHeaders := make(http.Header)
19545	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
19546	for k, v := range c.header_ {
19547		reqHeaders[k] = v
19548	}
19549	reqHeaders.Set("User-Agent", c.s.userAgent())
19550	var body io.Reader = nil
19551	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
19552	if err != nil {
19553		return nil, err
19554	}
19555	reqHeaders.Set("Content-Type", "application/json")
19556	c.urlParams_.Set("alt", alt)
19557	c.urlParams_.Set("prettyPrint", "false")
19558	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:replace")
19559	urls += "?" + c.urlParams_.Encode()
19560	req, err := http.NewRequest("POST", urls, body)
19561	if err != nil {
19562		return nil, err
19563	}
19564	req.Header = reqHeaders
19565	googleapi.Expand(req.URL, map[string]string{
19566		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19567		"channelId":    strconv.FormatInt(c.channelId, 10),
19568	})
19569	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19570}
19571
19572// Do executes the "displayvideo.advertisers.channels.sites.replace" call.
19573// Exactly one of *ReplaceSitesResponse or error will be non-nil. Any
19574// non-2xx status code is an error. Response headers are in either
19575// *ReplaceSitesResponse.ServerResponse.Header or (if a response was
19576// returned at all) in error.(*googleapi.Error).Header. Use
19577// googleapi.IsNotModified to check whether the returned error was
19578// because http.StatusNotModified was returned.
19579func (c *AdvertisersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) {
19580	gensupport.SetOptions(c.urlParams_, opts...)
19581	res, err := c.doRequest("json")
19582	if res != nil && res.StatusCode == http.StatusNotModified {
19583		if res.Body != nil {
19584			res.Body.Close()
19585		}
19586		return nil, &googleapi.Error{
19587			Code:   res.StatusCode,
19588			Header: res.Header,
19589		}
19590	}
19591	if err != nil {
19592		return nil, err
19593	}
19594	defer googleapi.CloseBody(res)
19595	if err := googleapi.CheckResponse(res); err != nil {
19596		return nil, err
19597	}
19598	ret := &ReplaceSitesResponse{
19599		ServerResponse: googleapi.ServerResponse{
19600			Header:         res.Header,
19601			HTTPStatusCode: res.StatusCode,
19602		},
19603	}
19604	target := &ret
19605	if err := gensupport.DecodeResponse(target, res); err != nil {
19606		return nil, err
19607	}
19608	return ret, nil
19609	// {
19610	//   "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.",
19611	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites:replace",
19612	//   "httpMethod": "POST",
19613	//   "id": "displayvideo.advertisers.channels.sites.replace",
19614	//   "parameterOrder": [
19615	//     "advertiserId",
19616	//     "channelId"
19617	//   ],
19618	//   "parameters": {
19619	//     "advertiserId": {
19620	//       "description": "The ID of the advertiser that owns the parent channel.",
19621	//       "format": "int64",
19622	//       "location": "path",
19623	//       "required": true,
19624	//       "type": "string"
19625	//     },
19626	//     "channelId": {
19627	//       "description": "Required. The ID of the parent channel whose sites will be replaced.",
19628	//       "format": "int64",
19629	//       "location": "path",
19630	//       "pattern": "^[^/]+$",
19631	//       "required": true,
19632	//       "type": "string"
19633	//     }
19634	//   },
19635	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:replace",
19636	//   "request": {
19637	//     "$ref": "ReplaceSitesRequest"
19638	//   },
19639	//   "response": {
19640	//     "$ref": "ReplaceSitesResponse"
19641	//   },
19642	//   "scopes": [
19643	//     "https://www.googleapis.com/auth/display-video"
19644	//   ]
19645	// }
19646
19647}
19648
19649// method id "displayvideo.advertisers.creatives.create":
19650
19651type AdvertisersCreativesCreateCall struct {
19652	s            *Service
19653	advertiserId int64
19654	creative     *Creative
19655	urlParams_   gensupport.URLParams
19656	ctx_         context.Context
19657	header_      http.Header
19658}
19659
19660// Create: Creates a new creative. Returns the newly created creative if
19661// successful.
19662//
19663// - advertiserId: Output only. The unique ID of the advertiser the
19664//   creative belongs to.
19665func (r *AdvertisersCreativesService) Create(advertiserId int64, creative *Creative) *AdvertisersCreativesCreateCall {
19666	c := &AdvertisersCreativesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19667	c.advertiserId = advertiserId
19668	c.creative = creative
19669	return c
19670}
19671
19672// Fields allows partial responses to be retrieved. See
19673// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19674// for more information.
19675func (c *AdvertisersCreativesCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreativesCreateCall {
19676	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19677	return c
19678}
19679
19680// Context sets the context to be used in this call's Do method. Any
19681// pending HTTP request will be aborted if the provided context is
19682// canceled.
19683func (c *AdvertisersCreativesCreateCall) Context(ctx context.Context) *AdvertisersCreativesCreateCall {
19684	c.ctx_ = ctx
19685	return c
19686}
19687
19688// Header returns an http.Header that can be modified by the caller to
19689// add HTTP headers to the request.
19690func (c *AdvertisersCreativesCreateCall) Header() http.Header {
19691	if c.header_ == nil {
19692		c.header_ = make(http.Header)
19693	}
19694	return c.header_
19695}
19696
19697func (c *AdvertisersCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
19698	reqHeaders := make(http.Header)
19699	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
19700	for k, v := range c.header_ {
19701		reqHeaders[k] = v
19702	}
19703	reqHeaders.Set("User-Agent", c.s.userAgent())
19704	var body io.Reader = nil
19705	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
19706	if err != nil {
19707		return nil, err
19708	}
19709	reqHeaders.Set("Content-Type", "application/json")
19710	c.urlParams_.Set("alt", alt)
19711	c.urlParams_.Set("prettyPrint", "false")
19712	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives")
19713	urls += "?" + c.urlParams_.Encode()
19714	req, err := http.NewRequest("POST", urls, body)
19715	if err != nil {
19716		return nil, err
19717	}
19718	req.Header = reqHeaders
19719	googleapi.Expand(req.URL, map[string]string{
19720		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19721	})
19722	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19723}
19724
19725// Do executes the "displayvideo.advertisers.creatives.create" call.
19726// Exactly one of *Creative or error will be non-nil. Any non-2xx status
19727// code is an error. Response headers are in either
19728// *Creative.ServerResponse.Header or (if a response was returned at
19729// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19730// to check whether the returned error was because
19731// http.StatusNotModified was returned.
19732func (c *AdvertisersCreativesCreateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
19733	gensupport.SetOptions(c.urlParams_, opts...)
19734	res, err := c.doRequest("json")
19735	if res != nil && res.StatusCode == http.StatusNotModified {
19736		if res.Body != nil {
19737			res.Body.Close()
19738		}
19739		return nil, &googleapi.Error{
19740			Code:   res.StatusCode,
19741			Header: res.Header,
19742		}
19743	}
19744	if err != nil {
19745		return nil, err
19746	}
19747	defer googleapi.CloseBody(res)
19748	if err := googleapi.CheckResponse(res); err != nil {
19749		return nil, err
19750	}
19751	ret := &Creative{
19752		ServerResponse: googleapi.ServerResponse{
19753			Header:         res.Header,
19754			HTTPStatusCode: res.StatusCode,
19755		},
19756	}
19757	target := &ret
19758	if err := gensupport.DecodeResponse(target, res); err != nil {
19759		return nil, err
19760	}
19761	return ret, nil
19762	// {
19763	//   "description": "Creates a new creative. Returns the newly created creative if successful.",
19764	//   "flatPath": "v1/advertisers/{advertisersId}/creatives",
19765	//   "httpMethod": "POST",
19766	//   "id": "displayvideo.advertisers.creatives.create",
19767	//   "parameterOrder": [
19768	//     "advertiserId"
19769	//   ],
19770	//   "parameters": {
19771	//     "advertiserId": {
19772	//       "description": "Output only. The unique ID of the advertiser the creative belongs to.",
19773	//       "format": "int64",
19774	//       "location": "path",
19775	//       "pattern": "^[^/]+$",
19776	//       "required": true,
19777	//       "type": "string"
19778	//     }
19779	//   },
19780	//   "path": "v1/advertisers/{+advertiserId}/creatives",
19781	//   "request": {
19782	//     "$ref": "Creative"
19783	//   },
19784	//   "response": {
19785	//     "$ref": "Creative"
19786	//   },
19787	//   "scopes": [
19788	//     "https://www.googleapis.com/auth/display-video"
19789	//   ]
19790	// }
19791
19792}
19793
19794// method id "displayvideo.advertisers.creatives.delete":
19795
19796type AdvertisersCreativesDeleteCall struct {
19797	s            *Service
19798	advertiserId int64
19799	creativeId   int64
19800	urlParams_   gensupport.URLParams
19801	ctx_         context.Context
19802	header_      http.Header
19803}
19804
19805// Delete: Deletes a creative. Returns error code `NOT_FOUND` if the
19806// creative does not exist. The creative should be archived first, i.e.
19807// set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be
19808// deleted.
19809//
19810// - advertiserId: The ID of the advertiser this creative belongs to.
19811// - creativeId: The ID of the creative to be deleted.
19812func (r *AdvertisersCreativesService) Delete(advertiserId int64, creativeId int64) *AdvertisersCreativesDeleteCall {
19813	c := &AdvertisersCreativesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19814	c.advertiserId = advertiserId
19815	c.creativeId = creativeId
19816	return c
19817}
19818
19819// Fields allows partial responses to be retrieved. See
19820// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19821// for more information.
19822func (c *AdvertisersCreativesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCreativesDeleteCall {
19823	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19824	return c
19825}
19826
19827// Context sets the context to be used in this call's Do method. Any
19828// pending HTTP request will be aborted if the provided context is
19829// canceled.
19830func (c *AdvertisersCreativesDeleteCall) Context(ctx context.Context) *AdvertisersCreativesDeleteCall {
19831	c.ctx_ = ctx
19832	return c
19833}
19834
19835// Header returns an http.Header that can be modified by the caller to
19836// add HTTP headers to the request.
19837func (c *AdvertisersCreativesDeleteCall) Header() http.Header {
19838	if c.header_ == nil {
19839		c.header_ = make(http.Header)
19840	}
19841	return c.header_
19842}
19843
19844func (c *AdvertisersCreativesDeleteCall) doRequest(alt string) (*http.Response, error) {
19845	reqHeaders := make(http.Header)
19846	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
19847	for k, v := range c.header_ {
19848		reqHeaders[k] = v
19849	}
19850	reqHeaders.Set("User-Agent", c.s.userAgent())
19851	var body io.Reader = nil
19852	c.urlParams_.Set("alt", alt)
19853	c.urlParams_.Set("prettyPrint", "false")
19854	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
19855	urls += "?" + c.urlParams_.Encode()
19856	req, err := http.NewRequest("DELETE", urls, body)
19857	if err != nil {
19858		return nil, err
19859	}
19860	req.Header = reqHeaders
19861	googleapi.Expand(req.URL, map[string]string{
19862		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19863		"creativeId":   strconv.FormatInt(c.creativeId, 10),
19864	})
19865	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19866}
19867
19868// Do executes the "displayvideo.advertisers.creatives.delete" call.
19869// Exactly one of *Empty or error will be non-nil. Any non-2xx status
19870// code is an error. Response headers are in either
19871// *Empty.ServerResponse.Header or (if a response was returned at all)
19872// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
19873// check whether the returned error was because http.StatusNotModified
19874// was returned.
19875func (c *AdvertisersCreativesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
19876	gensupport.SetOptions(c.urlParams_, opts...)
19877	res, err := c.doRequest("json")
19878	if res != nil && res.StatusCode == http.StatusNotModified {
19879		if res.Body != nil {
19880			res.Body.Close()
19881		}
19882		return nil, &googleapi.Error{
19883			Code:   res.StatusCode,
19884			Header: res.Header,
19885		}
19886	}
19887	if err != nil {
19888		return nil, err
19889	}
19890	defer googleapi.CloseBody(res)
19891	if err := googleapi.CheckResponse(res); err != nil {
19892		return nil, err
19893	}
19894	ret := &Empty{
19895		ServerResponse: googleapi.ServerResponse{
19896			Header:         res.Header,
19897			HTTPStatusCode: res.StatusCode,
19898		},
19899	}
19900	target := &ret
19901	if err := gensupport.DecodeResponse(target, res); err != nil {
19902		return nil, err
19903	}
19904	return ret, nil
19905	// {
19906	//   "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.",
19907	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
19908	//   "httpMethod": "DELETE",
19909	//   "id": "displayvideo.advertisers.creatives.delete",
19910	//   "parameterOrder": [
19911	//     "advertiserId",
19912	//     "creativeId"
19913	//   ],
19914	//   "parameters": {
19915	//     "advertiserId": {
19916	//       "description": "The ID of the advertiser this creative belongs to.",
19917	//       "format": "int64",
19918	//       "location": "path",
19919	//       "pattern": "^[^/]+$",
19920	//       "required": true,
19921	//       "type": "string"
19922	//     },
19923	//     "creativeId": {
19924	//       "description": "The ID of the creative to be deleted.",
19925	//       "format": "int64",
19926	//       "location": "path",
19927	//       "pattern": "^[^/]+$",
19928	//       "required": true,
19929	//       "type": "string"
19930	//     }
19931	//   },
19932	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
19933	//   "response": {
19934	//     "$ref": "Empty"
19935	//   },
19936	//   "scopes": [
19937	//     "https://www.googleapis.com/auth/display-video"
19938	//   ]
19939	// }
19940
19941}
19942
19943// method id "displayvideo.advertisers.creatives.get":
19944
19945type AdvertisersCreativesGetCall struct {
19946	s            *Service
19947	advertiserId int64
19948	creativeId   int64
19949	urlParams_   gensupport.URLParams
19950	ifNoneMatch_ string
19951	ctx_         context.Context
19952	header_      http.Header
19953}
19954
19955// Get: Gets a creative.
19956//
19957// - advertiserId: The ID of the advertiser this creative belongs to.
19958// - creativeId: The ID of the creative to fetch.
19959func (r *AdvertisersCreativesService) Get(advertiserId int64, creativeId int64) *AdvertisersCreativesGetCall {
19960	c := &AdvertisersCreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19961	c.advertiserId = advertiserId
19962	c.creativeId = creativeId
19963	return c
19964}
19965
19966// Fields allows partial responses to be retrieved. See
19967// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19968// for more information.
19969func (c *AdvertisersCreativesGetCall) Fields(s ...googleapi.Field) *AdvertisersCreativesGetCall {
19970	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19971	return c
19972}
19973
19974// IfNoneMatch sets the optional parameter which makes the operation
19975// fail if the object's ETag matches the given value. This is useful for
19976// getting updates only after the object has changed since the last
19977// request. Use googleapi.IsNotModified to check whether the response
19978// error from Do is the result of In-None-Match.
19979func (c *AdvertisersCreativesGetCall) IfNoneMatch(entityTag string) *AdvertisersCreativesGetCall {
19980	c.ifNoneMatch_ = entityTag
19981	return c
19982}
19983
19984// Context sets the context to be used in this call's Do method. Any
19985// pending HTTP request will be aborted if the provided context is
19986// canceled.
19987func (c *AdvertisersCreativesGetCall) Context(ctx context.Context) *AdvertisersCreativesGetCall {
19988	c.ctx_ = ctx
19989	return c
19990}
19991
19992// Header returns an http.Header that can be modified by the caller to
19993// add HTTP headers to the request.
19994func (c *AdvertisersCreativesGetCall) Header() http.Header {
19995	if c.header_ == nil {
19996		c.header_ = make(http.Header)
19997	}
19998	return c.header_
19999}
20000
20001func (c *AdvertisersCreativesGetCall) doRequest(alt string) (*http.Response, error) {
20002	reqHeaders := make(http.Header)
20003	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
20004	for k, v := range c.header_ {
20005		reqHeaders[k] = v
20006	}
20007	reqHeaders.Set("User-Agent", c.s.userAgent())
20008	if c.ifNoneMatch_ != "" {
20009		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20010	}
20011	var body io.Reader = nil
20012	c.urlParams_.Set("alt", alt)
20013	c.urlParams_.Set("prettyPrint", "false")
20014	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
20015	urls += "?" + c.urlParams_.Encode()
20016	req, err := http.NewRequest("GET", urls, body)
20017	if err != nil {
20018		return nil, err
20019	}
20020	req.Header = reqHeaders
20021	googleapi.Expand(req.URL, map[string]string{
20022		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
20023		"creativeId":   strconv.FormatInt(c.creativeId, 10),
20024	})
20025	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20026}
20027
20028// Do executes the "displayvideo.advertisers.creatives.get" call.
20029// Exactly one of *Creative or error will be non-nil. Any non-2xx status
20030// code is an error. Response headers are in either
20031// *Creative.ServerResponse.Header or (if a response was returned at
20032// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20033// to check whether the returned error was because
20034// http.StatusNotModified was returned.
20035func (c *AdvertisersCreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
20036	gensupport.SetOptions(c.urlParams_, opts...)
20037	res, err := c.doRequest("json")
20038	if res != nil && res.StatusCode == http.StatusNotModified {
20039		if res.Body != nil {
20040			res.Body.Close()
20041		}
20042		return nil, &googleapi.Error{
20043			Code:   res.StatusCode,
20044			Header: res.Header,
20045		}
20046	}
20047	if err != nil {
20048		return nil, err
20049	}
20050	defer googleapi.CloseBody(res)
20051	if err := googleapi.CheckResponse(res); err != nil {
20052		return nil, err
20053	}
20054	ret := &Creative{
20055		ServerResponse: googleapi.ServerResponse{
20056			Header:         res.Header,
20057			HTTPStatusCode: res.StatusCode,
20058		},
20059	}
20060	target := &ret
20061	if err := gensupport.DecodeResponse(target, res); err != nil {
20062		return nil, err
20063	}
20064	return ret, nil
20065	// {
20066	//   "description": "Gets a creative.",
20067	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
20068	//   "httpMethod": "GET",
20069	//   "id": "displayvideo.advertisers.creatives.get",
20070	//   "parameterOrder": [
20071	//     "advertiserId",
20072	//     "creativeId"
20073	//   ],
20074	//   "parameters": {
20075	//     "advertiserId": {
20076	//       "description": "Required. The ID of the advertiser this creative belongs to.",
20077	//       "format": "int64",
20078	//       "location": "path",
20079	//       "pattern": "^[^/]+$",
20080	//       "required": true,
20081	//       "type": "string"
20082	//     },
20083	//     "creativeId": {
20084	//       "description": "Required. The ID of the creative to fetch.",
20085	//       "format": "int64",
20086	//       "location": "path",
20087	//       "pattern": "^[^/]+$",
20088	//       "required": true,
20089	//       "type": "string"
20090	//     }
20091	//   },
20092	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
20093	//   "response": {
20094	//     "$ref": "Creative"
20095	//   },
20096	//   "scopes": [
20097	//     "https://www.googleapis.com/auth/display-video"
20098	//   ]
20099	// }
20100
20101}
20102
20103// method id "displayvideo.advertisers.creatives.list":
20104
20105type AdvertisersCreativesListCall struct {
20106	s            *Service
20107	advertiserId int64
20108	urlParams_   gensupport.URLParams
20109	ifNoneMatch_ string
20110	ctx_         context.Context
20111	header_      http.Header
20112}
20113
20114// List: Lists creatives in an advertiser. The order is defined by the
20115// order_by parameter. If a filter by entity_status is not specified,
20116// creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the
20117// results.
20118//
20119// - advertiserId: The ID of the advertiser to list creatives for.
20120func (r *AdvertisersCreativesService) List(advertiserId int64) *AdvertisersCreativesListCall {
20121	c := &AdvertisersCreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20122	c.advertiserId = advertiserId
20123	return c
20124}
20125
20126// Filter sets the optional parameter "filter": Allows filtering by
20127// creative properties. Supported syntax: * Filter expressions are made
20128// up of one or more restrictions. * Restriction for the same field must
20129// be combined by `OR`. * Restriction for different fields must be
20130// combined by `AND`. * Between `(` and `)` there can only be
20131// restrictions combined by `OR` for the same field. * A restriction has
20132// the form of `{field} {operator} {value}`. * The operator must be
20133// `EQUALS (=)` for the following fields: - `entityStatus` -
20134// `creativeType`. - `dimensions` - `minDuration` - `maxDuration` -
20135// `approvalStatus` - `exchangeReviewStatus` - `dynamic` - `creativeId`
20136// * The operator must be `HAS (:)` for the following fields: -
20137// `lineItemIds` * For `entityStatus`, `minDuration`, `maxDuration`, and
20138// `dynamic` there may be at most one restriction. * For `dimensions`,
20139// the value is in the form of "{width}x{height}". * For
20140// `exchangeReviewStatus`, the value is in the form of
20141// `{exchange}-{reviewStatus}`. * For `minDuration` and `maxDuration`,
20142// the value is in the form of "{duration}s". Only seconds are
20143// supported with millisecond granularity. * There may be multiple
20144// `lineItemIds` restrictions in order to search against multiple
20145// possible line item IDs. * There may be multiple `creativeId`
20146// restrictions in order to search against multiple possible creative
20147// IDs. Examples: * All native creatives:
20148// `creativeType="CREATIVE_TYPE_NATIVE" * All active creatives with
20149// 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE"
20150// AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic
20151// creatives that are approved by AdX or AppNexus, with a minimum
20152// duration of 5 seconds and 200ms. `dynamic="true" AND
20153// minDuration="5.2s" AND
20154// (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROV
20155// ED" OR
20156// exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` *
20157// All video creatives that are associated with line item ID 1 or 2:
20158// `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR
20159// lineItemIds:2)` * Find creatives by multiple creative IDs:
20160// `creativeId=1 OR creativeId=2` The length of this field should be no
20161// more than 500 characters.
20162func (c *AdvertisersCreativesListCall) Filter(filter string) *AdvertisersCreativesListCall {
20163	c.urlParams_.Set("filter", filter)
20164	return c
20165}
20166
20167// OrderBy sets the optional parameter "orderBy": Field by which to sort
20168// the list. Acceptable values are: * `creativeId` (default) *
20169// `createTime` * `mediaDuration` * `dimensions` (sorts by width first,
20170// then by height) The default sorting order is ascending. To specify
20171// descending order for a field, a suffix "desc" should be added to the
20172// field name. Example: `createTime desc`.
20173func (c *AdvertisersCreativesListCall) OrderBy(orderBy string) *AdvertisersCreativesListCall {
20174	c.urlParams_.Set("orderBy", orderBy)
20175	return c
20176}
20177
20178// PageSize sets the optional parameter "pageSize": Requested page size.
20179// Must be between `1` and `100`. If unspecified will default to `100`.
20180// Returns error code `INVALID_ARGUMENT` if an invalid value is
20181// specified.
20182func (c *AdvertisersCreativesListCall) PageSize(pageSize int64) *AdvertisersCreativesListCall {
20183	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20184	return c
20185}
20186
20187// PageToken sets the optional parameter "pageToken": A token
20188// identifying a page of results the server should return. Typically,
20189// this is the value of next_page_token returned from the previous call
20190// to `ListCreatives` method. If not specified, the first page of
20191// results will be returned.
20192func (c *AdvertisersCreativesListCall) PageToken(pageToken string) *AdvertisersCreativesListCall {
20193	c.urlParams_.Set("pageToken", pageToken)
20194	return c
20195}
20196
20197// Fields allows partial responses to be retrieved. See
20198// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20199// for more information.
20200func (c *AdvertisersCreativesListCall) Fields(s ...googleapi.Field) *AdvertisersCreativesListCall {
20201	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20202	return c
20203}
20204
20205// IfNoneMatch sets the optional parameter which makes the operation
20206// fail if the object's ETag matches the given value. This is useful for
20207// getting updates only after the object has changed since the last
20208// request. Use googleapi.IsNotModified to check whether the response
20209// error from Do is the result of In-None-Match.
20210func (c *AdvertisersCreativesListCall) IfNoneMatch(entityTag string) *AdvertisersCreativesListCall {
20211	c.ifNoneMatch_ = entityTag
20212	return c
20213}
20214
20215// Context sets the context to be used in this call's Do method. Any
20216// pending HTTP request will be aborted if the provided context is
20217// canceled.
20218func (c *AdvertisersCreativesListCall) Context(ctx context.Context) *AdvertisersCreativesListCall {
20219	c.ctx_ = ctx
20220	return c
20221}
20222
20223// Header returns an http.Header that can be modified by the caller to
20224// add HTTP headers to the request.
20225func (c *AdvertisersCreativesListCall) Header() http.Header {
20226	if c.header_ == nil {
20227		c.header_ = make(http.Header)
20228	}
20229	return c.header_
20230}
20231
20232func (c *AdvertisersCreativesListCall) doRequest(alt string) (*http.Response, error) {
20233	reqHeaders := make(http.Header)
20234	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
20235	for k, v := range c.header_ {
20236		reqHeaders[k] = v
20237	}
20238	reqHeaders.Set("User-Agent", c.s.userAgent())
20239	if c.ifNoneMatch_ != "" {
20240		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20241	}
20242	var body io.Reader = nil
20243	c.urlParams_.Set("alt", alt)
20244	c.urlParams_.Set("prettyPrint", "false")
20245	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives")
20246	urls += "?" + c.urlParams_.Encode()
20247	req, err := http.NewRequest("GET", urls, body)
20248	if err != nil {
20249		return nil, err
20250	}
20251	req.Header = reqHeaders
20252	googleapi.Expand(req.URL, map[string]string{
20253		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
20254	})
20255	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20256}
20257
20258// Do executes the "displayvideo.advertisers.creatives.list" call.
20259// Exactly one of *ListCreativesResponse or error will be non-nil. Any
20260// non-2xx status code is an error. Response headers are in either
20261// *ListCreativesResponse.ServerResponse.Header or (if a response was
20262// returned at all) in error.(*googleapi.Error).Header. Use
20263// googleapi.IsNotModified to check whether the returned error was
20264// because http.StatusNotModified was returned.
20265func (c *AdvertisersCreativesListCall) Do(opts ...googleapi.CallOption) (*ListCreativesResponse, error) {
20266	gensupport.SetOptions(c.urlParams_, opts...)
20267	res, err := c.doRequest("json")
20268	if res != nil && res.StatusCode == http.StatusNotModified {
20269		if res.Body != nil {
20270			res.Body.Close()
20271		}
20272		return nil, &googleapi.Error{
20273			Code:   res.StatusCode,
20274			Header: res.Header,
20275		}
20276	}
20277	if err != nil {
20278		return nil, err
20279	}
20280	defer googleapi.CloseBody(res)
20281	if err := googleapi.CheckResponse(res); err != nil {
20282		return nil, err
20283	}
20284	ret := &ListCreativesResponse{
20285		ServerResponse: googleapi.ServerResponse{
20286			Header:         res.Header,
20287			HTTPStatusCode: res.StatusCode,
20288		},
20289	}
20290	target := &ret
20291	if err := gensupport.DecodeResponse(target, res); err != nil {
20292		return nil, err
20293	}
20294	return ret, nil
20295	// {
20296	//   "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.",
20297	//   "flatPath": "v1/advertisers/{advertisersId}/creatives",
20298	//   "httpMethod": "GET",
20299	//   "id": "displayvideo.advertisers.creatives.list",
20300	//   "parameterOrder": [
20301	//     "advertiserId"
20302	//   ],
20303	//   "parameters": {
20304	//     "advertiserId": {
20305	//       "description": "Required. The ID of the advertiser to list creatives for.",
20306	//       "format": "int64",
20307	//       "location": "path",
20308	//       "pattern": "^[^/]+$",
20309	//       "required": true,
20310	//       "type": "string"
20311	//     },
20312	//     "filter": {
20313	//       "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.",
20314	//       "location": "query",
20315	//       "type": "string"
20316	//     },
20317	//     "orderBy": {
20318	//       "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`.",
20319	//       "location": "query",
20320	//       "type": "string"
20321	//     },
20322	//     "pageSize": {
20323	//       "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.",
20324	//       "format": "int32",
20325	//       "location": "query",
20326	//       "type": "integer"
20327	//     },
20328	//     "pageToken": {
20329	//       "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.",
20330	//       "location": "query",
20331	//       "type": "string"
20332	//     }
20333	//   },
20334	//   "path": "v1/advertisers/{+advertiserId}/creatives",
20335	//   "response": {
20336	//     "$ref": "ListCreativesResponse"
20337	//   },
20338	//   "scopes": [
20339	//     "https://www.googleapis.com/auth/display-video"
20340	//   ]
20341	// }
20342
20343}
20344
20345// Pages invokes f for each page of results.
20346// A non-nil error returned from f will halt the iteration.
20347// The provided context supersedes any context provided to the Context method.
20348func (c *AdvertisersCreativesListCall) Pages(ctx context.Context, f func(*ListCreativesResponse) error) error {
20349	c.ctx_ = ctx
20350	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20351	for {
20352		x, err := c.Do()
20353		if err != nil {
20354			return err
20355		}
20356		if err := f(x); err != nil {
20357			return err
20358		}
20359		if x.NextPageToken == "" {
20360			return nil
20361		}
20362		c.PageToken(x.NextPageToken)
20363	}
20364}
20365
20366// method id "displayvideo.advertisers.creatives.patch":
20367
20368type AdvertisersCreativesPatchCall struct {
20369	s            *Service
20370	advertiserId int64
20371	creativeId   int64
20372	creative     *Creative
20373	urlParams_   gensupport.URLParams
20374	ctx_         context.Context
20375	header_      http.Header
20376}
20377
20378// Patch: Updates an existing creative. Returns the updated creative if
20379// successful.
20380//
20381// - advertiserId: Output only. The unique ID of the advertiser the
20382//   creative belongs to.
20383// - creativeId: Output only. The unique ID of the creative. Assigned by
20384//   the system.
20385func (r *AdvertisersCreativesService) Patch(advertiserId int64, creativeId int64, creative *Creative) *AdvertisersCreativesPatchCall {
20386	c := &AdvertisersCreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20387	c.advertiserId = advertiserId
20388	c.creativeId = creativeId
20389	c.creative = creative
20390	return c
20391}
20392
20393// UpdateMask sets the optional parameter "updateMask": Required. The
20394// mask to control which fields to update.
20395func (c *AdvertisersCreativesPatchCall) UpdateMask(updateMask string) *AdvertisersCreativesPatchCall {
20396	c.urlParams_.Set("updateMask", updateMask)
20397	return c
20398}
20399
20400// Fields allows partial responses to be retrieved. See
20401// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20402// for more information.
20403func (c *AdvertisersCreativesPatchCall) Fields(s ...googleapi.Field) *AdvertisersCreativesPatchCall {
20404	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20405	return c
20406}
20407
20408// Context sets the context to be used in this call's Do method. Any
20409// pending HTTP request will be aborted if the provided context is
20410// canceled.
20411func (c *AdvertisersCreativesPatchCall) Context(ctx context.Context) *AdvertisersCreativesPatchCall {
20412	c.ctx_ = ctx
20413	return c
20414}
20415
20416// Header returns an http.Header that can be modified by the caller to
20417// add HTTP headers to the request.
20418func (c *AdvertisersCreativesPatchCall) Header() http.Header {
20419	if c.header_ == nil {
20420		c.header_ = make(http.Header)
20421	}
20422	return c.header_
20423}
20424
20425func (c *AdvertisersCreativesPatchCall) doRequest(alt string) (*http.Response, error) {
20426	reqHeaders := make(http.Header)
20427	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
20428	for k, v := range c.header_ {
20429		reqHeaders[k] = v
20430	}
20431	reqHeaders.Set("User-Agent", c.s.userAgent())
20432	var body io.Reader = nil
20433	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
20434	if err != nil {
20435		return nil, err
20436	}
20437	reqHeaders.Set("Content-Type", "application/json")
20438	c.urlParams_.Set("alt", alt)
20439	c.urlParams_.Set("prettyPrint", "false")
20440	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
20441	urls += "?" + c.urlParams_.Encode()
20442	req, err := http.NewRequest("PATCH", urls, body)
20443	if err != nil {
20444		return nil, err
20445	}
20446	req.Header = reqHeaders
20447	googleapi.Expand(req.URL, map[string]string{
20448		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
20449		"creativeId":   strconv.FormatInt(c.creativeId, 10),
20450	})
20451	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20452}
20453
20454// Do executes the "displayvideo.advertisers.creatives.patch" call.
20455// Exactly one of *Creative or error will be non-nil. Any non-2xx status
20456// code is an error. Response headers are in either
20457// *Creative.ServerResponse.Header or (if a response was returned at
20458// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20459// to check whether the returned error was because
20460// http.StatusNotModified was returned.
20461func (c *AdvertisersCreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
20462	gensupport.SetOptions(c.urlParams_, opts...)
20463	res, err := c.doRequest("json")
20464	if res != nil && res.StatusCode == http.StatusNotModified {
20465		if res.Body != nil {
20466			res.Body.Close()
20467		}
20468		return nil, &googleapi.Error{
20469			Code:   res.StatusCode,
20470			Header: res.Header,
20471		}
20472	}
20473	if err != nil {
20474		return nil, err
20475	}
20476	defer googleapi.CloseBody(res)
20477	if err := googleapi.CheckResponse(res); err != nil {
20478		return nil, err
20479	}
20480	ret := &Creative{
20481		ServerResponse: googleapi.ServerResponse{
20482			Header:         res.Header,
20483			HTTPStatusCode: res.StatusCode,
20484		},
20485	}
20486	target := &ret
20487	if err := gensupport.DecodeResponse(target, res); err != nil {
20488		return nil, err
20489	}
20490	return ret, nil
20491	// {
20492	//   "description": "Updates an existing creative. Returns the updated creative if successful.",
20493	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
20494	//   "httpMethod": "PATCH",
20495	//   "id": "displayvideo.advertisers.creatives.patch",
20496	//   "parameterOrder": [
20497	//     "advertiserId",
20498	//     "creativeId"
20499	//   ],
20500	//   "parameters": {
20501	//     "advertiserId": {
20502	//       "description": "Output only. The unique ID of the advertiser the creative belongs to.",
20503	//       "format": "int64",
20504	//       "location": "path",
20505	//       "pattern": "^[^/]+$",
20506	//       "required": true,
20507	//       "type": "string"
20508	//     },
20509	//     "creativeId": {
20510	//       "description": "Output only. The unique ID of the creative. Assigned by the system.",
20511	//       "format": "int64",
20512	//       "location": "path",
20513	//       "pattern": "^[^/]+$",
20514	//       "required": true,
20515	//       "type": "string"
20516	//     },
20517	//     "updateMask": {
20518	//       "description": "Required. The mask to control which fields to update.",
20519	//       "format": "google-fieldmask",
20520	//       "location": "query",
20521	//       "type": "string"
20522	//     }
20523	//   },
20524	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
20525	//   "request": {
20526	//     "$ref": "Creative"
20527	//   },
20528	//   "response": {
20529	//     "$ref": "Creative"
20530	//   },
20531	//   "scopes": [
20532	//     "https://www.googleapis.com/auth/display-video"
20533	//   ]
20534	// }
20535
20536}
20537
20538// method id "displayvideo.advertisers.insertionOrders.bulkListInsertionOrderAssignedTargetingOptions":
20539
20540type AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall struct {
20541	s                *Service
20542	advertiserId     int64
20543	insertionOrderId int64
20544	urlParams_       gensupport.URLParams
20545	ifNoneMatch_     string
20546	ctx_             context.Context
20547	header_          http.Header
20548}
20549
20550// BulkListInsertionOrderAssignedTargetingOptions: Lists assigned
20551// targeting options of an insertion order across targeting types.
20552//
20553// - advertiserId: The ID of the advertiser the insertion order belongs
20554//   to.
20555// - insertionOrderId: The ID of the insertion order to list assigned
20556//   targeting options for.
20557func (r *AdvertisersInsertionOrdersService) BulkListInsertionOrderAssignedTargetingOptions(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20558	c := &AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20559	c.advertiserId = advertiserId
20560	c.insertionOrderId = insertionOrderId
20561	return c
20562}
20563
20564// Filter sets the optional parameter "filter": Allows filtering by
20565// assigned targeting option properties. Supported syntax: * Filter
20566// expressions are made up of one or more restrictions. * Restrictions
20567// can be combined by the logical operator `OR` on the same field. * A
20568// restriction has the form of `{field} {operator} {value}`. * The
20569// operator must be `EQUALS (=)`. * Supported fields: - `targetingType`
20570// - `inheritance` Examples: * AssignedTargetingOptions of targeting
20571// type TARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL
20572// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
20573// targetingType="TARGETING_TYPE_CHANNEL" * AssignedTargetingOptions
20574// with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER
20575// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"
20576// The length of this field should be no more than 500 characters.
20577func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20578	c.urlParams_.Set("filter", filter)
20579	return c
20580}
20581
20582// OrderBy sets the optional parameter "orderBy": Field by which to sort
20583// the list. Acceptable values are: * `targetingType` (default) The
20584// default sorting order is ascending. To specify descending order for a
20585// field, a suffix "desc" should be added to the field name. Example:
20586// `targetingType desc`.
20587func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20588	c.urlParams_.Set("orderBy", orderBy)
20589	return c
20590}
20591
20592// PageSize sets the optional parameter "pageSize": Requested page size.
20593// The size must be an integer between `1` and `5000`. If unspecified,
20594// the default is `5000`. Returns error code `INVALID_ARGUMENT` if an
20595// invalid value is specified.
20596func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20597	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20598	return c
20599}
20600
20601// PageToken sets the optional parameter "pageToken": A token that lets
20602// the client fetch the next page of results. Typically, this is the
20603// value of next_page_token returned from the previous call to
20604// `BulkListInsertionOrderAssignedTargetingOptions` method. If not
20605// specified, the first page of results will be returned.
20606func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20607	c.urlParams_.Set("pageToken", pageToken)
20608	return c
20609}
20610
20611// Fields allows partial responses to be retrieved. See
20612// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20613// for more information.
20614func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20615	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20616	return c
20617}
20618
20619// IfNoneMatch sets the optional parameter which makes the operation
20620// fail if the object's ETag matches the given value. This is useful for
20621// getting updates only after the object has changed since the last
20622// request. Use googleapi.IsNotModified to check whether the response
20623// error from Do is the result of In-None-Match.
20624func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20625	c.ifNoneMatch_ = entityTag
20626	return c
20627}
20628
20629// Context sets the context to be used in this call's Do method. Any
20630// pending HTTP request will be aborted if the provided context is
20631// canceled.
20632func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall {
20633	c.ctx_ = ctx
20634	return c
20635}
20636
20637// Header returns an http.Header that can be modified by the caller to
20638// add HTTP headers to the request.
20639func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Header() http.Header {
20640	if c.header_ == nil {
20641		c.header_ = make(http.Header)
20642	}
20643	return c.header_
20644}
20645
20646func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
20647	reqHeaders := make(http.Header)
20648	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
20649	for k, v := range c.header_ {
20650		reqHeaders[k] = v
20651	}
20652	reqHeaders.Set("User-Agent", c.s.userAgent())
20653	if c.ifNoneMatch_ != "" {
20654		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20655	}
20656	var body io.Reader = nil
20657	c.urlParams_.Set("alt", alt)
20658	c.urlParams_.Set("prettyPrint", "false")
20659	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:bulkListInsertionOrderAssignedTargetingOptions")
20660	urls += "?" + c.urlParams_.Encode()
20661	req, err := http.NewRequest("GET", urls, body)
20662	if err != nil {
20663		return nil, err
20664	}
20665	req.Header = reqHeaders
20666	googleapi.Expand(req.URL, map[string]string{
20667		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
20668		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
20669	})
20670	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20671}
20672
20673// Do executes the "displayvideo.advertisers.insertionOrders.bulkListInsertionOrderAssignedTargetingOptions" call.
20674// Exactly one of
20675// *BulkListInsertionOrderAssignedTargetingOptionsResponse or error will
20676// be non-nil. Any non-2xx status code is an error. Response headers are
20677// in either
20678// *BulkListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse
20679// .Header or (if a response was returned at all) in
20680// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20681// whether the returned error was because http.StatusNotModified was
20682// returned.
20683func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListInsertionOrderAssignedTargetingOptionsResponse, error) {
20684	gensupport.SetOptions(c.urlParams_, opts...)
20685	res, err := c.doRequest("json")
20686	if res != nil && res.StatusCode == http.StatusNotModified {
20687		if res.Body != nil {
20688			res.Body.Close()
20689		}
20690		return nil, &googleapi.Error{
20691			Code:   res.StatusCode,
20692			Header: res.Header,
20693		}
20694	}
20695	if err != nil {
20696		return nil, err
20697	}
20698	defer googleapi.CloseBody(res)
20699	if err := googleapi.CheckResponse(res); err != nil {
20700		return nil, err
20701	}
20702	ret := &BulkListInsertionOrderAssignedTargetingOptionsResponse{
20703		ServerResponse: googleapi.ServerResponse{
20704			Header:         res.Header,
20705			HTTPStatusCode: res.StatusCode,
20706		},
20707	}
20708	target := &ret
20709	if err := gensupport.DecodeResponse(target, res); err != nil {
20710		return nil, err
20711	}
20712	return ret, nil
20713	// {
20714	//   "description": "Lists assigned targeting options of an insertion order across targeting types.",
20715	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}:bulkListInsertionOrderAssignedTargetingOptions",
20716	//   "httpMethod": "GET",
20717	//   "id": "displayvideo.advertisers.insertionOrders.bulkListInsertionOrderAssignedTargetingOptions",
20718	//   "parameterOrder": [
20719	//     "advertiserId",
20720	//     "insertionOrderId"
20721	//   ],
20722	//   "parameters": {
20723	//     "advertiserId": {
20724	//       "description": "Required. The ID of the advertiser the insertion order belongs to.",
20725	//       "format": "int64",
20726	//       "location": "path",
20727	//       "pattern": "^[^/]+$",
20728	//       "required": true,
20729	//       "type": "string"
20730	//     },
20731	//     "filter": {
20732	//       "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.",
20733	//       "location": "query",
20734	//       "type": "string"
20735	//     },
20736	//     "insertionOrderId": {
20737	//       "description": "Required. The ID of the insertion order to list assigned targeting options for.",
20738	//       "format": "int64",
20739	//       "location": "path",
20740	//       "pattern": "^[^/]+$",
20741	//       "required": true,
20742	//       "type": "string"
20743	//     },
20744	//     "orderBy": {
20745	//       "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`.",
20746	//       "location": "query",
20747	//       "type": "string"
20748	//     },
20749	//     "pageSize": {
20750	//       "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.",
20751	//       "format": "int32",
20752	//       "location": "query",
20753	//       "type": "integer"
20754	//     },
20755	//     "pageToken": {
20756	//       "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.",
20757	//       "location": "query",
20758	//       "type": "string"
20759	//     }
20760	//   },
20761	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:bulkListInsertionOrderAssignedTargetingOptions",
20762	//   "response": {
20763	//     "$ref": "BulkListInsertionOrderAssignedTargetingOptionsResponse"
20764	//   },
20765	//   "scopes": [
20766	//     "https://www.googleapis.com/auth/display-video"
20767	//   ]
20768	// }
20769
20770}
20771
20772// Pages invokes f for each page of results.
20773// A non-nil error returned from f will halt the iteration.
20774// The provided context supersedes any context provided to the Context method.
20775func (c *AdvertisersInsertionOrdersBulkListInsertionOrderAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListInsertionOrderAssignedTargetingOptionsResponse) error) error {
20776	c.ctx_ = ctx
20777	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20778	for {
20779		x, err := c.Do()
20780		if err != nil {
20781			return err
20782		}
20783		if err := f(x); err != nil {
20784			return err
20785		}
20786		if x.NextPageToken == "" {
20787			return nil
20788		}
20789		c.PageToken(x.NextPageToken)
20790	}
20791}
20792
20793// method id "displayvideo.advertisers.insertionOrders.create":
20794
20795type AdvertisersInsertionOrdersCreateCall struct {
20796	s              *Service
20797	advertiserId   int64
20798	insertionorder *InsertionOrder
20799	urlParams_     gensupport.URLParams
20800	ctx_           context.Context
20801	header_        http.Header
20802}
20803
20804// Create: Creates a new insertion order. Returns the newly created
20805// insertion order if successful.
20806//
20807// - advertiserId: Output only. The unique ID of the advertiser the
20808//   insertion order belongs to.
20809func (r *AdvertisersInsertionOrdersService) Create(advertiserId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersCreateCall {
20810	c := &AdvertisersInsertionOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20811	c.advertiserId = advertiserId
20812	c.insertionorder = insertionorder
20813	return c
20814}
20815
20816// Fields allows partial responses to be retrieved. See
20817// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20818// for more information.
20819func (c *AdvertisersInsertionOrdersCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersCreateCall {
20820	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20821	return c
20822}
20823
20824// Context sets the context to be used in this call's Do method. Any
20825// pending HTTP request will be aborted if the provided context is
20826// canceled.
20827func (c *AdvertisersInsertionOrdersCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersCreateCall {
20828	c.ctx_ = ctx
20829	return c
20830}
20831
20832// Header returns an http.Header that can be modified by the caller to
20833// add HTTP headers to the request.
20834func (c *AdvertisersInsertionOrdersCreateCall) Header() http.Header {
20835	if c.header_ == nil {
20836		c.header_ = make(http.Header)
20837	}
20838	return c.header_
20839}
20840
20841func (c *AdvertisersInsertionOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
20842	reqHeaders := make(http.Header)
20843	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
20844	for k, v := range c.header_ {
20845		reqHeaders[k] = v
20846	}
20847	reqHeaders.Set("User-Agent", c.s.userAgent())
20848	var body io.Reader = nil
20849	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
20850	if err != nil {
20851		return nil, err
20852	}
20853	reqHeaders.Set("Content-Type", "application/json")
20854	c.urlParams_.Set("alt", alt)
20855	c.urlParams_.Set("prettyPrint", "false")
20856	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders")
20857	urls += "?" + c.urlParams_.Encode()
20858	req, err := http.NewRequest("POST", urls, body)
20859	if err != nil {
20860		return nil, err
20861	}
20862	req.Header = reqHeaders
20863	googleapi.Expand(req.URL, map[string]string{
20864		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
20865	})
20866	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20867}
20868
20869// Do executes the "displayvideo.advertisers.insertionOrders.create" call.
20870// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
20871// status code is an error. Response headers are in either
20872// *InsertionOrder.ServerResponse.Header or (if a response was returned
20873// at all) in error.(*googleapi.Error).Header. Use
20874// googleapi.IsNotModified to check whether the returned error was
20875// because http.StatusNotModified was returned.
20876func (c *AdvertisersInsertionOrdersCreateCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
20877	gensupport.SetOptions(c.urlParams_, opts...)
20878	res, err := c.doRequest("json")
20879	if res != nil && res.StatusCode == http.StatusNotModified {
20880		if res.Body != nil {
20881			res.Body.Close()
20882		}
20883		return nil, &googleapi.Error{
20884			Code:   res.StatusCode,
20885			Header: res.Header,
20886		}
20887	}
20888	if err != nil {
20889		return nil, err
20890	}
20891	defer googleapi.CloseBody(res)
20892	if err := googleapi.CheckResponse(res); err != nil {
20893		return nil, err
20894	}
20895	ret := &InsertionOrder{
20896		ServerResponse: googleapi.ServerResponse{
20897			Header:         res.Header,
20898			HTTPStatusCode: res.StatusCode,
20899		},
20900	}
20901	target := &ret
20902	if err := gensupport.DecodeResponse(target, res); err != nil {
20903		return nil, err
20904	}
20905	return ret, nil
20906	// {
20907	//   "description": "Creates a new insertion order. Returns the newly created insertion order if successful.",
20908	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders",
20909	//   "httpMethod": "POST",
20910	//   "id": "displayvideo.advertisers.insertionOrders.create",
20911	//   "parameterOrder": [
20912	//     "advertiserId"
20913	//   ],
20914	//   "parameters": {
20915	//     "advertiserId": {
20916	//       "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
20917	//       "format": "int64",
20918	//       "location": "path",
20919	//       "pattern": "^[^/]+$",
20920	//       "required": true,
20921	//       "type": "string"
20922	//     }
20923	//   },
20924	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders",
20925	//   "request": {
20926	//     "$ref": "InsertionOrder"
20927	//   },
20928	//   "response": {
20929	//     "$ref": "InsertionOrder"
20930	//   },
20931	//   "scopes": [
20932	//     "https://www.googleapis.com/auth/display-video"
20933	//   ]
20934	// }
20935
20936}
20937
20938// method id "displayvideo.advertisers.insertionOrders.delete":
20939
20940type AdvertisersInsertionOrdersDeleteCall struct {
20941	s                *Service
20942	advertiserId     int64
20943	insertionOrderId int64
20944	urlParams_       gensupport.URLParams
20945	ctx_             context.Context
20946	header_          http.Header
20947}
20948
20949// Delete: Deletes an insertion order. Returns error code `NOT_FOUND` if
20950// the insertion order does not exist. The insertion order should be
20951// archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`,
20952// to be able to delete it.
20953//
20954// - advertiserId: The ID of the advertiser this insertion order belongs
20955//   to.
20956// - insertionOrderId: The ID of the insertion order we need to delete.
20957func (r *AdvertisersInsertionOrdersService) Delete(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersDeleteCall {
20958	c := &AdvertisersInsertionOrdersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20959	c.advertiserId = advertiserId
20960	c.insertionOrderId = insertionOrderId
20961	return c
20962}
20963
20964// Fields allows partial responses to be retrieved. See
20965// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20966// for more information.
20967func (c *AdvertisersInsertionOrdersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersDeleteCall {
20968	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20969	return c
20970}
20971
20972// Context sets the context to be used in this call's Do method. Any
20973// pending HTTP request will be aborted if the provided context is
20974// canceled.
20975func (c *AdvertisersInsertionOrdersDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersDeleteCall {
20976	c.ctx_ = ctx
20977	return c
20978}
20979
20980// Header returns an http.Header that can be modified by the caller to
20981// add HTTP headers to the request.
20982func (c *AdvertisersInsertionOrdersDeleteCall) Header() http.Header {
20983	if c.header_ == nil {
20984		c.header_ = make(http.Header)
20985	}
20986	return c.header_
20987}
20988
20989func (c *AdvertisersInsertionOrdersDeleteCall) doRequest(alt string) (*http.Response, error) {
20990	reqHeaders := make(http.Header)
20991	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
20992	for k, v := range c.header_ {
20993		reqHeaders[k] = v
20994	}
20995	reqHeaders.Set("User-Agent", c.s.userAgent())
20996	var body io.Reader = nil
20997	c.urlParams_.Set("alt", alt)
20998	c.urlParams_.Set("prettyPrint", "false")
20999	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
21000	urls += "?" + c.urlParams_.Encode()
21001	req, err := http.NewRequest("DELETE", urls, body)
21002	if err != nil {
21003		return nil, err
21004	}
21005	req.Header = reqHeaders
21006	googleapi.Expand(req.URL, map[string]string{
21007		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
21008		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
21009	})
21010	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21011}
21012
21013// Do executes the "displayvideo.advertisers.insertionOrders.delete" call.
21014// Exactly one of *Empty or error will be non-nil. Any non-2xx status
21015// code is an error. Response headers are in either
21016// *Empty.ServerResponse.Header or (if a response was returned at all)
21017// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
21018// check whether the returned error was because http.StatusNotModified
21019// was returned.
21020func (c *AdvertisersInsertionOrdersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
21021	gensupport.SetOptions(c.urlParams_, opts...)
21022	res, err := c.doRequest("json")
21023	if res != nil && res.StatusCode == http.StatusNotModified {
21024		if res.Body != nil {
21025			res.Body.Close()
21026		}
21027		return nil, &googleapi.Error{
21028			Code:   res.StatusCode,
21029			Header: res.Header,
21030		}
21031	}
21032	if err != nil {
21033		return nil, err
21034	}
21035	defer googleapi.CloseBody(res)
21036	if err := googleapi.CheckResponse(res); err != nil {
21037		return nil, err
21038	}
21039	ret := &Empty{
21040		ServerResponse: googleapi.ServerResponse{
21041			Header:         res.Header,
21042			HTTPStatusCode: res.StatusCode,
21043		},
21044	}
21045	target := &ret
21046	if err := gensupport.DecodeResponse(target, res); err != nil {
21047		return nil, err
21048	}
21049	return ret, nil
21050	// {
21051	//   "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.",
21052	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
21053	//   "httpMethod": "DELETE",
21054	//   "id": "displayvideo.advertisers.insertionOrders.delete",
21055	//   "parameterOrder": [
21056	//     "advertiserId",
21057	//     "insertionOrderId"
21058	//   ],
21059	//   "parameters": {
21060	//     "advertiserId": {
21061	//       "description": "The ID of the advertiser this insertion order belongs to.",
21062	//       "format": "int64",
21063	//       "location": "path",
21064	//       "pattern": "^[^/]+$",
21065	//       "required": true,
21066	//       "type": "string"
21067	//     },
21068	//     "insertionOrderId": {
21069	//       "description": "The ID of the insertion order we need to delete.",
21070	//       "format": "int64",
21071	//       "location": "path",
21072	//       "pattern": "^[^/]+$",
21073	//       "required": true,
21074	//       "type": "string"
21075	//     }
21076	//   },
21077	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
21078	//   "response": {
21079	//     "$ref": "Empty"
21080	//   },
21081	//   "scopes": [
21082	//     "https://www.googleapis.com/auth/display-video"
21083	//   ]
21084	// }
21085
21086}
21087
21088// method id "displayvideo.advertisers.insertionOrders.get":
21089
21090type AdvertisersInsertionOrdersGetCall struct {
21091	s                *Service
21092	advertiserId     int64
21093	insertionOrderId int64
21094	urlParams_       gensupport.URLParams
21095	ifNoneMatch_     string
21096	ctx_             context.Context
21097	header_          http.Header
21098}
21099
21100// Get: Gets an insertion order. Returns error code `NOT_FOUND` if the
21101// insertion order does not exist.
21102//
21103// - advertiserId: The ID of the advertiser this insertion order belongs
21104//   to.
21105// - insertionOrderId: The ID of the insertion order to fetch.
21106func (r *AdvertisersInsertionOrdersService) Get(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersGetCall {
21107	c := &AdvertisersInsertionOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21108	c.advertiserId = advertiserId
21109	c.insertionOrderId = insertionOrderId
21110	return c
21111}
21112
21113// Fields allows partial responses to be retrieved. See
21114// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21115// for more information.
21116func (c *AdvertisersInsertionOrdersGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersGetCall {
21117	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21118	return c
21119}
21120
21121// IfNoneMatch sets the optional parameter which makes the operation
21122// fail if the object's ETag matches the given value. This is useful for
21123// getting updates only after the object has changed since the last
21124// request. Use googleapi.IsNotModified to check whether the response
21125// error from Do is the result of In-None-Match.
21126func (c *AdvertisersInsertionOrdersGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersGetCall {
21127	c.ifNoneMatch_ = entityTag
21128	return c
21129}
21130
21131// Context sets the context to be used in this call's Do method. Any
21132// pending HTTP request will be aborted if the provided context is
21133// canceled.
21134func (c *AdvertisersInsertionOrdersGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersGetCall {
21135	c.ctx_ = ctx
21136	return c
21137}
21138
21139// Header returns an http.Header that can be modified by the caller to
21140// add HTTP headers to the request.
21141func (c *AdvertisersInsertionOrdersGetCall) Header() http.Header {
21142	if c.header_ == nil {
21143		c.header_ = make(http.Header)
21144	}
21145	return c.header_
21146}
21147
21148func (c *AdvertisersInsertionOrdersGetCall) doRequest(alt string) (*http.Response, error) {
21149	reqHeaders := make(http.Header)
21150	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
21151	for k, v := range c.header_ {
21152		reqHeaders[k] = v
21153	}
21154	reqHeaders.Set("User-Agent", c.s.userAgent())
21155	if c.ifNoneMatch_ != "" {
21156		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21157	}
21158	var body io.Reader = nil
21159	c.urlParams_.Set("alt", alt)
21160	c.urlParams_.Set("prettyPrint", "false")
21161	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
21162	urls += "?" + c.urlParams_.Encode()
21163	req, err := http.NewRequest("GET", urls, body)
21164	if err != nil {
21165		return nil, err
21166	}
21167	req.Header = reqHeaders
21168	googleapi.Expand(req.URL, map[string]string{
21169		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
21170		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
21171	})
21172	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21173}
21174
21175// Do executes the "displayvideo.advertisers.insertionOrders.get" call.
21176// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
21177// status code is an error. Response headers are in either
21178// *InsertionOrder.ServerResponse.Header or (if a response was returned
21179// at all) in error.(*googleapi.Error).Header. Use
21180// googleapi.IsNotModified to check whether the returned error was
21181// because http.StatusNotModified was returned.
21182func (c *AdvertisersInsertionOrdersGetCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
21183	gensupport.SetOptions(c.urlParams_, opts...)
21184	res, err := c.doRequest("json")
21185	if res != nil && res.StatusCode == http.StatusNotModified {
21186		if res.Body != nil {
21187			res.Body.Close()
21188		}
21189		return nil, &googleapi.Error{
21190			Code:   res.StatusCode,
21191			Header: res.Header,
21192		}
21193	}
21194	if err != nil {
21195		return nil, err
21196	}
21197	defer googleapi.CloseBody(res)
21198	if err := googleapi.CheckResponse(res); err != nil {
21199		return nil, err
21200	}
21201	ret := &InsertionOrder{
21202		ServerResponse: googleapi.ServerResponse{
21203			Header:         res.Header,
21204			HTTPStatusCode: res.StatusCode,
21205		},
21206	}
21207	target := &ret
21208	if err := gensupport.DecodeResponse(target, res); err != nil {
21209		return nil, err
21210	}
21211	return ret, nil
21212	// {
21213	//   "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.",
21214	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
21215	//   "httpMethod": "GET",
21216	//   "id": "displayvideo.advertisers.insertionOrders.get",
21217	//   "parameterOrder": [
21218	//     "advertiserId",
21219	//     "insertionOrderId"
21220	//   ],
21221	//   "parameters": {
21222	//     "advertiserId": {
21223	//       "description": "Required. The ID of the advertiser this insertion order belongs to.",
21224	//       "format": "int64",
21225	//       "location": "path",
21226	//       "pattern": "^[^/]+$",
21227	//       "required": true,
21228	//       "type": "string"
21229	//     },
21230	//     "insertionOrderId": {
21231	//       "description": "Required. The ID of the insertion order to fetch.",
21232	//       "format": "int64",
21233	//       "location": "path",
21234	//       "pattern": "^[^/]+$",
21235	//       "required": true,
21236	//       "type": "string"
21237	//     }
21238	//   },
21239	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
21240	//   "response": {
21241	//     "$ref": "InsertionOrder"
21242	//   },
21243	//   "scopes": [
21244	//     "https://www.googleapis.com/auth/display-video"
21245	//   ]
21246	// }
21247
21248}
21249
21250// method id "displayvideo.advertisers.insertionOrders.list":
21251
21252type AdvertisersInsertionOrdersListCall struct {
21253	s            *Service
21254	advertiserId int64
21255	urlParams_   gensupport.URLParams
21256	ifNoneMatch_ string
21257	ctx_         context.Context
21258	header_      http.Header
21259}
21260
21261// List: Lists insertion orders in an advertiser. The order is defined
21262// by the order_by parameter. If a filter by entity_status is not
21263// specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be
21264// included in the results.
21265//
21266// - advertiserId: The ID of the advertiser to list insertion orders
21267//   for.
21268func (r *AdvertisersInsertionOrdersService) List(advertiserId int64) *AdvertisersInsertionOrdersListCall {
21269	c := &AdvertisersInsertionOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21270	c.advertiserId = advertiserId
21271	return c
21272}
21273
21274// Filter sets the optional parameter "filter": Allows filtering by
21275// insertion order properties. Supported syntax: * Filter expressions
21276// are made up of one or more restrictions. * Restrictions can be
21277// combined by `AND` or `OR` logical operators. A sequence of
21278// restrictions implicitly uses `AND`. * A restriction has the form of
21279// `{field} {operator} {value}`. * The operator used on
21280// `budget.budget_segments.date_range.end_date` must be LESS THAN (<). *
21281// The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO
21282// (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operators used on all
21283// other fields must be `EQUALS (=)`. * Supported fields: - `campaignId`
21284// - `displayName` - `entityStatus` -
21285// `budget.budget_segments.date_range.end_date` (input as YYYY-MM-DD) -
21286// `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ)
21287// Examples: * All insertion orders under a campaign:
21288// `campaignId="1234" * All `ENTITY_STATUS_ACTIVE` or
21289// `ENTITY_STATUS_PAUSED` insertion orders under an advertiser:
21290// `(entityStatus="ENTITY_STATUS_ACTIVE" OR
21291// entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders whose
21292// budget segments' dates end before March 28, 2019:
21293// `budget.budget_segments.date_range.end_date<"2019-03-28" * All
21294// insertion orders with an update time less than or equal to
21295// `2020-11-04T18:54:47Z (format of ISO 8601)`:
21296// `updateTime<="2020-11-04T18:54:47Z" * All insertion orders with an
21297// update time greater than or equal to `2020-11-04T18:54:47Z (format of
21298// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this
21299// field should be no more than 500 characters.
21300func (c *AdvertisersInsertionOrdersListCall) Filter(filter string) *AdvertisersInsertionOrdersListCall {
21301	c.urlParams_.Set("filter", filter)
21302	return c
21303}
21304
21305// OrderBy sets the optional parameter "orderBy": Field by which to sort
21306// the list. Acceptable values are: * "displayName" (default) *
21307// "entityStatus" * "updateTime" The default sorting order is ascending.
21308// To specify descending order for a field, a suffix "desc" should be
21309// added to the field name. Example: `displayName desc`.
21310func (c *AdvertisersInsertionOrdersListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListCall {
21311	c.urlParams_.Set("orderBy", orderBy)
21312	return c
21313}
21314
21315// PageSize sets the optional parameter "pageSize": Requested page size.
21316// Must be between `1` and `100`. If unspecified will default to `100`.
21317// Returns error code `INVALID_ARGUMENT` if an invalid value is
21318// specified.
21319func (c *AdvertisersInsertionOrdersListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListCall {
21320	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
21321	return c
21322}
21323
21324// PageToken sets the optional parameter "pageToken": A token
21325// identifying a page of results the server should return. Typically,
21326// this is the value of next_page_token returned from the previous call
21327// to `ListInsertionOrders` method. If not specified, the first page of
21328// results will be returned.
21329func (c *AdvertisersInsertionOrdersListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListCall {
21330	c.urlParams_.Set("pageToken", pageToken)
21331	return c
21332}
21333
21334// Fields allows partial responses to be retrieved. See
21335// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21336// for more information.
21337func (c *AdvertisersInsertionOrdersListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListCall {
21338	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21339	return c
21340}
21341
21342// IfNoneMatch sets the optional parameter which makes the operation
21343// fail if the object's ETag matches the given value. This is useful for
21344// getting updates only after the object has changed since the last
21345// request. Use googleapi.IsNotModified to check whether the response
21346// error from Do is the result of In-None-Match.
21347func (c *AdvertisersInsertionOrdersListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListCall {
21348	c.ifNoneMatch_ = entityTag
21349	return c
21350}
21351
21352// Context sets the context to be used in this call's Do method. Any
21353// pending HTTP request will be aborted if the provided context is
21354// canceled.
21355func (c *AdvertisersInsertionOrdersListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListCall {
21356	c.ctx_ = ctx
21357	return c
21358}
21359
21360// Header returns an http.Header that can be modified by the caller to
21361// add HTTP headers to the request.
21362func (c *AdvertisersInsertionOrdersListCall) Header() http.Header {
21363	if c.header_ == nil {
21364		c.header_ = make(http.Header)
21365	}
21366	return c.header_
21367}
21368
21369func (c *AdvertisersInsertionOrdersListCall) doRequest(alt string) (*http.Response, error) {
21370	reqHeaders := make(http.Header)
21371	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
21372	for k, v := range c.header_ {
21373		reqHeaders[k] = v
21374	}
21375	reqHeaders.Set("User-Agent", c.s.userAgent())
21376	if c.ifNoneMatch_ != "" {
21377		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21378	}
21379	var body io.Reader = nil
21380	c.urlParams_.Set("alt", alt)
21381	c.urlParams_.Set("prettyPrint", "false")
21382	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders")
21383	urls += "?" + c.urlParams_.Encode()
21384	req, err := http.NewRequest("GET", urls, body)
21385	if err != nil {
21386		return nil, err
21387	}
21388	req.Header = reqHeaders
21389	googleapi.Expand(req.URL, map[string]string{
21390		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
21391	})
21392	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21393}
21394
21395// Do executes the "displayvideo.advertisers.insertionOrders.list" call.
21396// Exactly one of *ListInsertionOrdersResponse or error will be non-nil.
21397// Any non-2xx status code is an error. Response headers are in either
21398// *ListInsertionOrdersResponse.ServerResponse.Header or (if a response
21399// was returned at all) in error.(*googleapi.Error).Header. Use
21400// googleapi.IsNotModified to check whether the returned error was
21401// because http.StatusNotModified was returned.
21402func (c *AdvertisersInsertionOrdersListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrdersResponse, error) {
21403	gensupport.SetOptions(c.urlParams_, opts...)
21404	res, err := c.doRequest("json")
21405	if res != nil && res.StatusCode == http.StatusNotModified {
21406		if res.Body != nil {
21407			res.Body.Close()
21408		}
21409		return nil, &googleapi.Error{
21410			Code:   res.StatusCode,
21411			Header: res.Header,
21412		}
21413	}
21414	if err != nil {
21415		return nil, err
21416	}
21417	defer googleapi.CloseBody(res)
21418	if err := googleapi.CheckResponse(res); err != nil {
21419		return nil, err
21420	}
21421	ret := &ListInsertionOrdersResponse{
21422		ServerResponse: googleapi.ServerResponse{
21423			Header:         res.Header,
21424			HTTPStatusCode: res.StatusCode,
21425		},
21426	}
21427	target := &ret
21428	if err := gensupport.DecodeResponse(target, res); err != nil {
21429		return nil, err
21430	}
21431	return ret, nil
21432	// {
21433	//   "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.",
21434	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders",
21435	//   "httpMethod": "GET",
21436	//   "id": "displayvideo.advertisers.insertionOrders.list",
21437	//   "parameterOrder": [
21438	//     "advertiserId"
21439	//   ],
21440	//   "parameters": {
21441	//     "advertiserId": {
21442	//       "description": "Required. The ID of the advertiser to list insertion orders for.",
21443	//       "format": "int64",
21444	//       "location": "path",
21445	//       "pattern": "^[^/]+$",
21446	//       "required": true,
21447	//       "type": "string"
21448	//     },
21449	//     "filter": {
21450	//       "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.",
21451	//       "location": "query",
21452	//       "type": "string"
21453	//     },
21454	//     "orderBy": {
21455	//       "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`.",
21456	//       "location": "query",
21457	//       "type": "string"
21458	//     },
21459	//     "pageSize": {
21460	//       "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.",
21461	//       "format": "int32",
21462	//       "location": "query",
21463	//       "type": "integer"
21464	//     },
21465	//     "pageToken": {
21466	//       "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.",
21467	//       "location": "query",
21468	//       "type": "string"
21469	//     }
21470	//   },
21471	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders",
21472	//   "response": {
21473	//     "$ref": "ListInsertionOrdersResponse"
21474	//   },
21475	//   "scopes": [
21476	//     "https://www.googleapis.com/auth/display-video"
21477	//   ]
21478	// }
21479
21480}
21481
21482// Pages invokes f for each page of results.
21483// A non-nil error returned from f will halt the iteration.
21484// The provided context supersedes any context provided to the Context method.
21485func (c *AdvertisersInsertionOrdersListCall) Pages(ctx context.Context, f func(*ListInsertionOrdersResponse) error) error {
21486	c.ctx_ = ctx
21487	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21488	for {
21489		x, err := c.Do()
21490		if err != nil {
21491			return err
21492		}
21493		if err := f(x); err != nil {
21494			return err
21495		}
21496		if x.NextPageToken == "" {
21497			return nil
21498		}
21499		c.PageToken(x.NextPageToken)
21500	}
21501}
21502
21503// method id "displayvideo.advertisers.insertionOrders.patch":
21504
21505type AdvertisersInsertionOrdersPatchCall struct {
21506	s                *Service
21507	advertiserId     int64
21508	insertionOrderId int64
21509	insertionorder   *InsertionOrder
21510	urlParams_       gensupport.URLParams
21511	ctx_             context.Context
21512	header_          http.Header
21513}
21514
21515// Patch: Updates an existing insertion order. Returns the updated
21516// insertion order if successful.
21517//
21518// - advertiserId: Output only. The unique ID of the advertiser the
21519//   insertion order belongs to.
21520// - insertionOrderId: Output only. The unique ID of the insertion
21521//   order. Assigned by the system.
21522func (r *AdvertisersInsertionOrdersService) Patch(advertiserId int64, insertionOrderId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersPatchCall {
21523	c := &AdvertisersInsertionOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21524	c.advertiserId = advertiserId
21525	c.insertionOrderId = insertionOrderId
21526	c.insertionorder = insertionorder
21527	return c
21528}
21529
21530// UpdateMask sets the optional parameter "updateMask": Required. The
21531// mask to control which fields to update.
21532func (c *AdvertisersInsertionOrdersPatchCall) UpdateMask(updateMask string) *AdvertisersInsertionOrdersPatchCall {
21533	c.urlParams_.Set("updateMask", updateMask)
21534	return c
21535}
21536
21537// Fields allows partial responses to be retrieved. See
21538// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21539// for more information.
21540func (c *AdvertisersInsertionOrdersPatchCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersPatchCall {
21541	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21542	return c
21543}
21544
21545// Context sets the context to be used in this call's Do method. Any
21546// pending HTTP request will be aborted if the provided context is
21547// canceled.
21548func (c *AdvertisersInsertionOrdersPatchCall) Context(ctx context.Context) *AdvertisersInsertionOrdersPatchCall {
21549	c.ctx_ = ctx
21550	return c
21551}
21552
21553// Header returns an http.Header that can be modified by the caller to
21554// add HTTP headers to the request.
21555func (c *AdvertisersInsertionOrdersPatchCall) Header() http.Header {
21556	if c.header_ == nil {
21557		c.header_ = make(http.Header)
21558	}
21559	return c.header_
21560}
21561
21562func (c *AdvertisersInsertionOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
21563	reqHeaders := make(http.Header)
21564	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
21565	for k, v := range c.header_ {
21566		reqHeaders[k] = v
21567	}
21568	reqHeaders.Set("User-Agent", c.s.userAgent())
21569	var body io.Reader = nil
21570	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
21571	if err != nil {
21572		return nil, err
21573	}
21574	reqHeaders.Set("Content-Type", "application/json")
21575	c.urlParams_.Set("alt", alt)
21576	c.urlParams_.Set("prettyPrint", "false")
21577	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
21578	urls += "?" + c.urlParams_.Encode()
21579	req, err := http.NewRequest("PATCH", urls, body)
21580	if err != nil {
21581		return nil, err
21582	}
21583	req.Header = reqHeaders
21584	googleapi.Expand(req.URL, map[string]string{
21585		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
21586		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
21587	})
21588	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21589}
21590
21591// Do executes the "displayvideo.advertisers.insertionOrders.patch" call.
21592// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
21593// status code is an error. Response headers are in either
21594// *InsertionOrder.ServerResponse.Header or (if a response was returned
21595// at all) in error.(*googleapi.Error).Header. Use
21596// googleapi.IsNotModified to check whether the returned error was
21597// because http.StatusNotModified was returned.
21598func (c *AdvertisersInsertionOrdersPatchCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
21599	gensupport.SetOptions(c.urlParams_, opts...)
21600	res, err := c.doRequest("json")
21601	if res != nil && res.StatusCode == http.StatusNotModified {
21602		if res.Body != nil {
21603			res.Body.Close()
21604		}
21605		return nil, &googleapi.Error{
21606			Code:   res.StatusCode,
21607			Header: res.Header,
21608		}
21609	}
21610	if err != nil {
21611		return nil, err
21612	}
21613	defer googleapi.CloseBody(res)
21614	if err := googleapi.CheckResponse(res); err != nil {
21615		return nil, err
21616	}
21617	ret := &InsertionOrder{
21618		ServerResponse: googleapi.ServerResponse{
21619			Header:         res.Header,
21620			HTTPStatusCode: res.StatusCode,
21621		},
21622	}
21623	target := &ret
21624	if err := gensupport.DecodeResponse(target, res); err != nil {
21625		return nil, err
21626	}
21627	return ret, nil
21628	// {
21629	//   "description": "Updates an existing insertion order. Returns the updated insertion order if successful.",
21630	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
21631	//   "httpMethod": "PATCH",
21632	//   "id": "displayvideo.advertisers.insertionOrders.patch",
21633	//   "parameterOrder": [
21634	//     "advertiserId",
21635	//     "insertionOrderId"
21636	//   ],
21637	//   "parameters": {
21638	//     "advertiserId": {
21639	//       "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
21640	//       "format": "int64",
21641	//       "location": "path",
21642	//       "pattern": "^[^/]+$",
21643	//       "required": true,
21644	//       "type": "string"
21645	//     },
21646	//     "insertionOrderId": {
21647	//       "description": "Output only. The unique ID of the insertion order. Assigned by the system.",
21648	//       "format": "int64",
21649	//       "location": "path",
21650	//       "pattern": "^[^/]+$",
21651	//       "required": true,
21652	//       "type": "string"
21653	//     },
21654	//     "updateMask": {
21655	//       "description": "Required. The mask to control which fields to update.",
21656	//       "format": "google-fieldmask",
21657	//       "location": "query",
21658	//       "type": "string"
21659	//     }
21660	//   },
21661	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
21662	//   "request": {
21663	//     "$ref": "InsertionOrder"
21664	//   },
21665	//   "response": {
21666	//     "$ref": "InsertionOrder"
21667	//   },
21668	//   "scopes": [
21669	//     "https://www.googleapis.com/auth/display-video"
21670	//   ]
21671	// }
21672
21673}
21674
21675// method id "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get":
21676
21677type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall struct {
21678	s                         *Service
21679	advertiserId              int64
21680	insertionOrderId          int64
21681	targetingType             string
21682	assignedTargetingOptionId string
21683	urlParams_                gensupport.URLParams
21684	ifNoneMatch_              string
21685	ctx_                      context.Context
21686	header_                   http.Header
21687}
21688
21689// Get: Gets a single targeting option assigned to an insertion order.
21690//
21691// - advertiserId: The ID of the advertiser the insertion order belongs
21692//   to.
21693// - assignedTargetingOptionId: An identifier unique to the targeting
21694//   type in this insertion order that identifies the assigned targeting
21695//   option being requested.
21696// - insertionOrderId: The ID of the insertion order the assigned
21697//   targeting option belongs to.
21698// - targetingType: Identifies the type of this assigned targeting
21699//   option.
21700func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, insertionOrderId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21701	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21702	c.advertiserId = advertiserId
21703	c.insertionOrderId = insertionOrderId
21704	c.targetingType = targetingType
21705	c.assignedTargetingOptionId = assignedTargetingOptionId
21706	return c
21707}
21708
21709// Fields allows partial responses to be retrieved. See
21710// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21711// for more information.
21712func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21713	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21714	return c
21715}
21716
21717// IfNoneMatch sets the optional parameter which makes the operation
21718// fail if the object's ETag matches the given value. This is useful for
21719// getting updates only after the object has changed since the last
21720// request. Use googleapi.IsNotModified to check whether the response
21721// error from Do is the result of In-None-Match.
21722func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21723	c.ifNoneMatch_ = entityTag
21724	return c
21725}
21726
21727// Context sets the context to be used in this call's Do method. Any
21728// pending HTTP request will be aborted if the provided context is
21729// canceled.
21730func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall {
21731	c.ctx_ = ctx
21732	return c
21733}
21734
21735// Header returns an http.Header that can be modified by the caller to
21736// add HTTP headers to the request.
21737func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
21738	if c.header_ == nil {
21739		c.header_ = make(http.Header)
21740	}
21741	return c.header_
21742}
21743
21744func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
21745	reqHeaders := make(http.Header)
21746	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
21747	for k, v := range c.header_ {
21748		reqHeaders[k] = v
21749	}
21750	reqHeaders.Set("User-Agent", c.s.userAgent())
21751	if c.ifNoneMatch_ != "" {
21752		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21753	}
21754	var body io.Reader = nil
21755	c.urlParams_.Set("alt", alt)
21756	c.urlParams_.Set("prettyPrint", "false")
21757	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
21758	urls += "?" + c.urlParams_.Encode()
21759	req, err := http.NewRequest("GET", urls, body)
21760	if err != nil {
21761		return nil, err
21762	}
21763	req.Header = reqHeaders
21764	googleapi.Expand(req.URL, map[string]string{
21765		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
21766		"insertionOrderId":          strconv.FormatInt(c.insertionOrderId, 10),
21767		"targetingType":             c.targetingType,
21768		"assignedTargetingOptionId": c.assignedTargetingOptionId,
21769	})
21770	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21771}
21772
21773// Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get" call.
21774// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
21775// non-2xx status code is an error. Response headers are in either
21776// *AssignedTargetingOption.ServerResponse.Header or (if a response was
21777// returned at all) in error.(*googleapi.Error).Header. Use
21778// googleapi.IsNotModified to check whether the returned error was
21779// because http.StatusNotModified was returned.
21780func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
21781	gensupport.SetOptions(c.urlParams_, opts...)
21782	res, err := c.doRequest("json")
21783	if res != nil && res.StatusCode == http.StatusNotModified {
21784		if res.Body != nil {
21785			res.Body.Close()
21786		}
21787		return nil, &googleapi.Error{
21788			Code:   res.StatusCode,
21789			Header: res.Header,
21790		}
21791	}
21792	if err != nil {
21793		return nil, err
21794	}
21795	defer googleapi.CloseBody(res)
21796	if err := googleapi.CheckResponse(res); err != nil {
21797		return nil, err
21798	}
21799	ret := &AssignedTargetingOption{
21800		ServerResponse: googleapi.ServerResponse{
21801			Header:         res.Header,
21802			HTTPStatusCode: res.StatusCode,
21803		},
21804	}
21805	target := &ret
21806	if err := gensupport.DecodeResponse(target, res); err != nil {
21807		return nil, err
21808	}
21809	return ret, nil
21810	// {
21811	//   "description": "Gets a single targeting option assigned to an insertion order.",
21812	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
21813	//   "httpMethod": "GET",
21814	//   "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get",
21815	//   "parameterOrder": [
21816	//     "advertiserId",
21817	//     "insertionOrderId",
21818	//     "targetingType",
21819	//     "assignedTargetingOptionId"
21820	//   ],
21821	//   "parameters": {
21822	//     "advertiserId": {
21823	//       "description": "Required. The ID of the advertiser the insertion order belongs to.",
21824	//       "format": "int64",
21825	//       "location": "path",
21826	//       "pattern": "^[^/]+$",
21827	//       "required": true,
21828	//       "type": "string"
21829	//     },
21830	//     "assignedTargetingOptionId": {
21831	//       "description": "Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested.",
21832	//       "location": "path",
21833	//       "pattern": "^[^/]+$",
21834	//       "required": true,
21835	//       "type": "string"
21836	//     },
21837	//     "insertionOrderId": {
21838	//       "description": "Required. The ID of the insertion order the assigned targeting option belongs to.",
21839	//       "format": "int64",
21840	//       "location": "path",
21841	//       "pattern": "^[^/]+$",
21842	//       "required": true,
21843	//       "type": "string"
21844	//     },
21845	//     "targetingType": {
21846	//       "description": "Required. Identifies the type of this assigned targeting option.",
21847	//       "enum": [
21848	//         "TARGETING_TYPE_UNSPECIFIED",
21849	//         "TARGETING_TYPE_CHANNEL",
21850	//         "TARGETING_TYPE_APP_CATEGORY",
21851	//         "TARGETING_TYPE_APP",
21852	//         "TARGETING_TYPE_URL",
21853	//         "TARGETING_TYPE_DAY_AND_TIME",
21854	//         "TARGETING_TYPE_AGE_RANGE",
21855	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
21856	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
21857	//         "TARGETING_TYPE_GENDER",
21858	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
21859	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
21860	//         "TARGETING_TYPE_PARENTAL_STATUS",
21861	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
21862	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
21863	//         "TARGETING_TYPE_DEVICE_TYPE",
21864	//         "TARGETING_TYPE_AUDIENCE_GROUP",
21865	//         "TARGETING_TYPE_BROWSER",
21866	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
21867	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
21868	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
21869	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
21870	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
21871	//         "TARGETING_TYPE_ENVIRONMENT",
21872	//         "TARGETING_TYPE_CARRIER_AND_ISP",
21873	//         "TARGETING_TYPE_OPERATING_SYSTEM",
21874	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
21875	//         "TARGETING_TYPE_KEYWORD",
21876	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
21877	//         "TARGETING_TYPE_VIEWABILITY",
21878	//         "TARGETING_TYPE_CATEGORY",
21879	//         "TARGETING_TYPE_INVENTORY_SOURCE",
21880	//         "TARGETING_TYPE_LANGUAGE",
21881	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
21882	//         "TARGETING_TYPE_GEO_REGION",
21883	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
21884	//         "TARGETING_TYPE_EXCHANGE",
21885	//         "TARGETING_TYPE_SUB_EXCHANGE",
21886	//         "TARGETING_TYPE_POI",
21887	//         "TARGETING_TYPE_BUSINESS_CHAIN",
21888	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
21889	//         "TARGETING_TYPE_OMID"
21890	//       ],
21891	//       "enumDescriptions": [
21892	//         "Default value when type is not specified or is unknown in this version.",
21893	//         "Target a channel (a custom group of related websites or apps).",
21894	//         "Target an app category (for example, education or puzzle games).",
21895	//         "Target a specific app (for example, Angry Birds).",
21896	//         "Target a specific url (for example, quora.com).",
21897	//         "Target ads during a chosen time period on a specific day.",
21898	//         "Target ads to a specific age range (for example, 18-24).",
21899	//         "Target ads to the specified regions on a regional location list.",
21900	//         "Target ads to the specified points of interest on a proximity location list.",
21901	//         "Target ads to a specific gender (for example, female or male).",
21902	//         "Target a specific video player size for video ads.",
21903	//         "Target user rewarded content for video ads.",
21904	//         "Target ads to a specific parental status (for example, parent or not a parent).",
21905	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
21906	//         "Target ads in a specific content outstream position.",
21907	//         "Target ads to a specific device type (for example, tablet or connected TV).",
21908	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
21909	//         "Target ads to specific web browsers (for example, Chrome).",
21910	//         "Target ads to a specific household income range (for example, top 10%).",
21911	//         "Target ads in a specific on screen position.",
21912	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
21913	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
21914	//         "Filter website content by sensitive categories (for example, adult).",
21915	//         "Target ads to a specific environment (for example, web or app).",
21916	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
21917	//         "Target ads to a specific operating system (for example, macOS).",
21918	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
21919	//         "Target ads to a specific keyword (for example, dog or retriever).",
21920	//         "Target ads to a specific negative keyword list.",
21921	//         "Target ads to a specific viewability (for example, 80% viewable).",
21922	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
21923	//         "Purchase impressions from specific deals and auction packages.",
21924	//         "Target ads to a specific language (for example, English or Japanese).",
21925	//         "Target ads to ads.txt authorized sellers.",
21926	//         "Target ads to a specific regional location (for example, a city or state).",
21927	//         "Purchase impressions from a group of deals and auction packages.",
21928	//         "Purchase impressions from specific exchanges.",
21929	//         "Purchase impressions from specific sub-exchanges.",
21930	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
21931	//         "Target ads around locations of a business chain within a specific geo region.",
21932	//         "Target ads to a specific native content position.",
21933	//         "Target ads in an Open Measurement enabled inventory."
21934	//       ],
21935	//       "location": "path",
21936	//       "pattern": "^[^/]+$",
21937	//       "required": true,
21938	//       "type": "string"
21939	//     }
21940	//   },
21941	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
21942	//   "response": {
21943	//     "$ref": "AssignedTargetingOption"
21944	//   },
21945	//   "scopes": [
21946	//     "https://www.googleapis.com/auth/display-video"
21947	//   ]
21948	// }
21949
21950}
21951
21952// method id "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list":
21953
21954type AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall struct {
21955	s                *Service
21956	advertiserId     int64
21957	insertionOrderId int64
21958	targetingType    string
21959	urlParams_       gensupport.URLParams
21960	ifNoneMatch_     string
21961	ctx_             context.Context
21962	header_          http.Header
21963}
21964
21965// List: Lists the targeting options assigned to an insertion order.
21966//
21967// - advertiserId: The ID of the advertiser the insertion order belongs
21968//   to.
21969// - insertionOrderId: The ID of the insertion order to list assigned
21970//   targeting options for.
21971// - targetingType: Identifies the type of assigned targeting options to
21972//   list.
21973func (r *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, insertionOrderId int64, targetingType string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21974	c := &AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21975	c.advertiserId = advertiserId
21976	c.insertionOrderId = insertionOrderId
21977	c.targetingType = targetingType
21978	return c
21979}
21980
21981// Filter sets the optional parameter "filter": Allows filtering by
21982// assigned targeting option properties. Supported syntax: * Filter
21983// expressions are made up of one or more restrictions. * Restrictions
21984// can be combined by the logical operator `OR`. * A restriction has the
21985// form of `{field} {operator} {value}`. * The operator must be `EQUALS
21986// (=)`. * Supported fields: - `assignedTargetingOptionId` -
21987// `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2
21988// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
21989// AssignedTargetingOptions with inheritance status of NOT_INHERITED or
21990// INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR
21991// inheritance="INHERITED_FROM_PARTNER" The length of this field should
21992// be no more than 500 characters.
21993func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
21994	c.urlParams_.Set("filter", filter)
21995	return c
21996}
21997
21998// OrderBy sets the optional parameter "orderBy": Field by which to sort
21999// the list. Acceptable values are: * `assignedTargetingOptionId`
22000// (default) The default sorting order is ascending. To specify
22001// descending order for a field, a suffix "desc" should be added to the
22002// field name. Example: `assignedTargetingOptionId desc`.
22003func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
22004	c.urlParams_.Set("orderBy", orderBy)
22005	return c
22006}
22007
22008// PageSize sets the optional parameter "pageSize": Requested page size.
22009// Must be between `1` and `5000`. If unspecified will default to `100`.
22010// Returns error code `INVALID_ARGUMENT` if an invalid value is
22011// specified.
22012func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
22013	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22014	return c
22015}
22016
22017// PageToken sets the optional parameter "pageToken": A token
22018// identifying a page of results the server should return. Typically,
22019// this is the value of next_page_token returned from the previous call
22020// to `ListInsertionOrderAssignedTargetingOptions` method. If not
22021// specified, the first page of results will be returned.
22022func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
22023	c.urlParams_.Set("pageToken", pageToken)
22024	return c
22025}
22026
22027// Fields allows partial responses to be retrieved. See
22028// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22029// for more information.
22030func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
22031	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22032	return c
22033}
22034
22035// IfNoneMatch sets the optional parameter which makes the operation
22036// fail if the object's ETag matches the given value. This is useful for
22037// getting updates only after the object has changed since the last
22038// request. Use googleapi.IsNotModified to check whether the response
22039// error from Do is the result of In-None-Match.
22040func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
22041	c.ifNoneMatch_ = entityTag
22042	return c
22043}
22044
22045// Context sets the context to be used in this call's Do method. Any
22046// pending HTTP request will be aborted if the provided context is
22047// canceled.
22048func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall {
22049	c.ctx_ = ctx
22050	return c
22051}
22052
22053// Header returns an http.Header that can be modified by the caller to
22054// add HTTP headers to the request.
22055func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
22056	if c.header_ == nil {
22057		c.header_ = make(http.Header)
22058	}
22059	return c.header_
22060}
22061
22062func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
22063	reqHeaders := make(http.Header)
22064	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
22065	for k, v := range c.header_ {
22066		reqHeaders[k] = v
22067	}
22068	reqHeaders.Set("User-Agent", c.s.userAgent())
22069	if c.ifNoneMatch_ != "" {
22070		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22071	}
22072	var body io.Reader = nil
22073	c.urlParams_.Set("alt", alt)
22074	c.urlParams_.Set("prettyPrint", "false")
22075	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
22076	urls += "?" + c.urlParams_.Encode()
22077	req, err := http.NewRequest("GET", urls, body)
22078	if err != nil {
22079		return nil, err
22080	}
22081	req.Header = reqHeaders
22082	googleapi.Expand(req.URL, map[string]string{
22083		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
22084		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
22085		"targetingType":    c.targetingType,
22086	})
22087	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22088}
22089
22090// Do executes the "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list" call.
22091// Exactly one of *ListInsertionOrderAssignedTargetingOptionsResponse or
22092// error will be non-nil. Any non-2xx status code is an error. Response
22093// headers are in either
22094// *ListInsertionOrderAssignedTargetingOptionsResponse.ServerResponse.Hea
22095// der or (if a response was returned at all) in
22096// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22097// whether the returned error was because http.StatusNotModified was
22098// returned.
22099func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrderAssignedTargetingOptionsResponse, error) {
22100	gensupport.SetOptions(c.urlParams_, opts...)
22101	res, err := c.doRequest("json")
22102	if res != nil && res.StatusCode == http.StatusNotModified {
22103		if res.Body != nil {
22104			res.Body.Close()
22105		}
22106		return nil, &googleapi.Error{
22107			Code:   res.StatusCode,
22108			Header: res.Header,
22109		}
22110	}
22111	if err != nil {
22112		return nil, err
22113	}
22114	defer googleapi.CloseBody(res)
22115	if err := googleapi.CheckResponse(res); err != nil {
22116		return nil, err
22117	}
22118	ret := &ListInsertionOrderAssignedTargetingOptionsResponse{
22119		ServerResponse: googleapi.ServerResponse{
22120			Header:         res.Header,
22121			HTTPStatusCode: res.StatusCode,
22122		},
22123	}
22124	target := &ret
22125	if err := gensupport.DecodeResponse(target, res); err != nil {
22126		return nil, err
22127	}
22128	return ret, nil
22129	// {
22130	//   "description": "Lists the targeting options assigned to an insertion order.",
22131	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
22132	//   "httpMethod": "GET",
22133	//   "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list",
22134	//   "parameterOrder": [
22135	//     "advertiserId",
22136	//     "insertionOrderId",
22137	//     "targetingType"
22138	//   ],
22139	//   "parameters": {
22140	//     "advertiserId": {
22141	//       "description": "Required. The ID of the advertiser the insertion order belongs to.",
22142	//       "format": "int64",
22143	//       "location": "path",
22144	//       "pattern": "^[^/]+$",
22145	//       "required": true,
22146	//       "type": "string"
22147	//     },
22148	//     "filter": {
22149	//       "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.",
22150	//       "location": "query",
22151	//       "type": "string"
22152	//     },
22153	//     "insertionOrderId": {
22154	//       "description": "Required. The ID of the insertion order to list assigned targeting options for.",
22155	//       "format": "int64",
22156	//       "location": "path",
22157	//       "pattern": "^[^/]+$",
22158	//       "required": true,
22159	//       "type": "string"
22160	//     },
22161	//     "orderBy": {
22162	//       "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`.",
22163	//       "location": "query",
22164	//       "type": "string"
22165	//     },
22166	//     "pageSize": {
22167	//       "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
22168	//       "format": "int32",
22169	//       "location": "query",
22170	//       "type": "integer"
22171	//     },
22172	//     "pageToken": {
22173	//       "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.",
22174	//       "location": "query",
22175	//       "type": "string"
22176	//     },
22177	//     "targetingType": {
22178	//       "description": "Required. Identifies the type of assigned targeting options to list.",
22179	//       "enum": [
22180	//         "TARGETING_TYPE_UNSPECIFIED",
22181	//         "TARGETING_TYPE_CHANNEL",
22182	//         "TARGETING_TYPE_APP_CATEGORY",
22183	//         "TARGETING_TYPE_APP",
22184	//         "TARGETING_TYPE_URL",
22185	//         "TARGETING_TYPE_DAY_AND_TIME",
22186	//         "TARGETING_TYPE_AGE_RANGE",
22187	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
22188	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
22189	//         "TARGETING_TYPE_GENDER",
22190	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
22191	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
22192	//         "TARGETING_TYPE_PARENTAL_STATUS",
22193	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
22194	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
22195	//         "TARGETING_TYPE_DEVICE_TYPE",
22196	//         "TARGETING_TYPE_AUDIENCE_GROUP",
22197	//         "TARGETING_TYPE_BROWSER",
22198	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
22199	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
22200	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
22201	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
22202	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
22203	//         "TARGETING_TYPE_ENVIRONMENT",
22204	//         "TARGETING_TYPE_CARRIER_AND_ISP",
22205	//         "TARGETING_TYPE_OPERATING_SYSTEM",
22206	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
22207	//         "TARGETING_TYPE_KEYWORD",
22208	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
22209	//         "TARGETING_TYPE_VIEWABILITY",
22210	//         "TARGETING_TYPE_CATEGORY",
22211	//         "TARGETING_TYPE_INVENTORY_SOURCE",
22212	//         "TARGETING_TYPE_LANGUAGE",
22213	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
22214	//         "TARGETING_TYPE_GEO_REGION",
22215	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
22216	//         "TARGETING_TYPE_EXCHANGE",
22217	//         "TARGETING_TYPE_SUB_EXCHANGE",
22218	//         "TARGETING_TYPE_POI",
22219	//         "TARGETING_TYPE_BUSINESS_CHAIN",
22220	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
22221	//         "TARGETING_TYPE_OMID"
22222	//       ],
22223	//       "enumDescriptions": [
22224	//         "Default value when type is not specified or is unknown in this version.",
22225	//         "Target a channel (a custom group of related websites or apps).",
22226	//         "Target an app category (for example, education or puzzle games).",
22227	//         "Target a specific app (for example, Angry Birds).",
22228	//         "Target a specific url (for example, quora.com).",
22229	//         "Target ads during a chosen time period on a specific day.",
22230	//         "Target ads to a specific age range (for example, 18-24).",
22231	//         "Target ads to the specified regions on a regional location list.",
22232	//         "Target ads to the specified points of interest on a proximity location list.",
22233	//         "Target ads to a specific gender (for example, female or male).",
22234	//         "Target a specific video player size for video ads.",
22235	//         "Target user rewarded content for video ads.",
22236	//         "Target ads to a specific parental status (for example, parent or not a parent).",
22237	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
22238	//         "Target ads in a specific content outstream position.",
22239	//         "Target ads to a specific device type (for example, tablet or connected TV).",
22240	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
22241	//         "Target ads to specific web browsers (for example, Chrome).",
22242	//         "Target ads to a specific household income range (for example, top 10%).",
22243	//         "Target ads in a specific on screen position.",
22244	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
22245	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
22246	//         "Filter website content by sensitive categories (for example, adult).",
22247	//         "Target ads to a specific environment (for example, web or app).",
22248	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
22249	//         "Target ads to a specific operating system (for example, macOS).",
22250	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
22251	//         "Target ads to a specific keyword (for example, dog or retriever).",
22252	//         "Target ads to a specific negative keyword list.",
22253	//         "Target ads to a specific viewability (for example, 80% viewable).",
22254	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
22255	//         "Purchase impressions from specific deals and auction packages.",
22256	//         "Target ads to a specific language (for example, English or Japanese).",
22257	//         "Target ads to ads.txt authorized sellers.",
22258	//         "Target ads to a specific regional location (for example, a city or state).",
22259	//         "Purchase impressions from a group of deals and auction packages.",
22260	//         "Purchase impressions from specific exchanges.",
22261	//         "Purchase impressions from specific sub-exchanges.",
22262	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
22263	//         "Target ads around locations of a business chain within a specific geo region.",
22264	//         "Target ads to a specific native content position.",
22265	//         "Target ads in an Open Measurement enabled inventory."
22266	//       ],
22267	//       "location": "path",
22268	//       "pattern": "^[^/]+$",
22269	//       "required": true,
22270	//       "type": "string"
22271	//     }
22272	//   },
22273	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
22274	//   "response": {
22275	//     "$ref": "ListInsertionOrderAssignedTargetingOptionsResponse"
22276	//   },
22277	//   "scopes": [
22278	//     "https://www.googleapis.com/auth/display-video"
22279	//   ]
22280	// }
22281
22282}
22283
22284// Pages invokes f for each page of results.
22285// A non-nil error returned from f will halt the iteration.
22286// The provided context supersedes any context provided to the Context method.
22287func (c *AdvertisersInsertionOrdersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListInsertionOrderAssignedTargetingOptionsResponse) error) error {
22288	c.ctx_ = ctx
22289	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22290	for {
22291		x, err := c.Do()
22292		if err != nil {
22293			return err
22294		}
22295		if err := f(x); err != nil {
22296			return err
22297		}
22298		if x.NextPageToken == "" {
22299			return nil
22300		}
22301		c.PageToken(x.NextPageToken)
22302	}
22303}
22304
22305// method id "displayvideo.advertisers.invoices.list":
22306
22307type AdvertisersInvoicesListCall struct {
22308	s            *Service
22309	advertiserId int64
22310	urlParams_   gensupport.URLParams
22311	ifNoneMatch_ string
22312	ctx_         context.Context
22313	header_      http.Header
22314}
22315
22316// List: Lists invoices posted for an advertiser in a given month.
22317// Invoices generated by billing profiles with a "Partner" invoice level
22318// are not retrievable through this method.
22319//
22320// - advertiserId: The ID of the advertiser to list invoices for.
22321func (r *AdvertisersInvoicesService) List(advertiserId int64) *AdvertisersInvoicesListCall {
22322	c := &AdvertisersInvoicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22323	c.advertiserId = advertiserId
22324	return c
22325}
22326
22327// IssueMonth sets the optional parameter "issueMonth": The month to
22328// list the invoices for. If not set, the request will retrieve invoices
22329// for the previous month. Must be in the format YYYYMM.
22330func (c *AdvertisersInvoicesListCall) IssueMonth(issueMonth string) *AdvertisersInvoicesListCall {
22331	c.urlParams_.Set("issueMonth", issueMonth)
22332	return c
22333}
22334
22335// LoiSapinInvoiceType sets the optional parameter
22336// "loiSapinInvoiceType": Select type of invoice to retrieve for Loi
22337// Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be
22338// ignored otherwise.
22339//
22340// Possible values:
22341//   "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED" - Value is not specified.
22342//   "LOI_SAPIN_INVOICE_TYPE_MEDIA" - Invoices with Media cost.
22343//   "LOI_SAPIN_INVOICE_TYPE_PLATFORM" - Invoices with Platform fee.
22344func (c *AdvertisersInvoicesListCall) LoiSapinInvoiceType(loiSapinInvoiceType string) *AdvertisersInvoicesListCall {
22345	c.urlParams_.Set("loiSapinInvoiceType", loiSapinInvoiceType)
22346	return c
22347}
22348
22349// PageSize sets the optional parameter "pageSize": Requested page size.
22350// Must be between `1` and `100`. If unspecified will default to `100`.
22351// Returns error code `INVALID_ARGUMENT` if an invalid value is
22352// specified.
22353func (c *AdvertisersInvoicesListCall) PageSize(pageSize int64) *AdvertisersInvoicesListCall {
22354	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22355	return c
22356}
22357
22358// PageToken sets the optional parameter "pageToken": A token
22359// identifying a page of results the server should return. Typically,
22360// this is the value of next_page_token returned from the previous call
22361// to `ListInvoices` method. If not specified, the first page of results
22362// will be returned.
22363func (c *AdvertisersInvoicesListCall) PageToken(pageToken string) *AdvertisersInvoicesListCall {
22364	c.urlParams_.Set("pageToken", pageToken)
22365	return c
22366}
22367
22368// Fields allows partial responses to be retrieved. See
22369// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22370// for more information.
22371func (c *AdvertisersInvoicesListCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesListCall {
22372	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22373	return c
22374}
22375
22376// IfNoneMatch sets the optional parameter which makes the operation
22377// fail if the object's ETag matches the given value. This is useful for
22378// getting updates only after the object has changed since the last
22379// request. Use googleapi.IsNotModified to check whether the response
22380// error from Do is the result of In-None-Match.
22381func (c *AdvertisersInvoicesListCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesListCall {
22382	c.ifNoneMatch_ = entityTag
22383	return c
22384}
22385
22386// Context sets the context to be used in this call's Do method. Any
22387// pending HTTP request will be aborted if the provided context is
22388// canceled.
22389func (c *AdvertisersInvoicesListCall) Context(ctx context.Context) *AdvertisersInvoicesListCall {
22390	c.ctx_ = ctx
22391	return c
22392}
22393
22394// Header returns an http.Header that can be modified by the caller to
22395// add HTTP headers to the request.
22396func (c *AdvertisersInvoicesListCall) Header() http.Header {
22397	if c.header_ == nil {
22398		c.header_ = make(http.Header)
22399	}
22400	return c.header_
22401}
22402
22403func (c *AdvertisersInvoicesListCall) doRequest(alt string) (*http.Response, error) {
22404	reqHeaders := make(http.Header)
22405	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
22406	for k, v := range c.header_ {
22407		reqHeaders[k] = v
22408	}
22409	reqHeaders.Set("User-Agent", c.s.userAgent())
22410	if c.ifNoneMatch_ != "" {
22411		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22412	}
22413	var body io.Reader = nil
22414	c.urlParams_.Set("alt", alt)
22415	c.urlParams_.Set("prettyPrint", "false")
22416	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/invoices")
22417	urls += "?" + c.urlParams_.Encode()
22418	req, err := http.NewRequest("GET", urls, body)
22419	if err != nil {
22420		return nil, err
22421	}
22422	req.Header = reqHeaders
22423	googleapi.Expand(req.URL, map[string]string{
22424		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22425	})
22426	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22427}
22428
22429// Do executes the "displayvideo.advertisers.invoices.list" call.
22430// Exactly one of *ListInvoicesResponse or error will be non-nil. Any
22431// non-2xx status code is an error. Response headers are in either
22432// *ListInvoicesResponse.ServerResponse.Header or (if a response was
22433// returned at all) in error.(*googleapi.Error).Header. Use
22434// googleapi.IsNotModified to check whether the returned error was
22435// because http.StatusNotModified was returned.
22436func (c *AdvertisersInvoicesListCall) Do(opts ...googleapi.CallOption) (*ListInvoicesResponse, error) {
22437	gensupport.SetOptions(c.urlParams_, opts...)
22438	res, err := c.doRequest("json")
22439	if res != nil && res.StatusCode == http.StatusNotModified {
22440		if res.Body != nil {
22441			res.Body.Close()
22442		}
22443		return nil, &googleapi.Error{
22444			Code:   res.StatusCode,
22445			Header: res.Header,
22446		}
22447	}
22448	if err != nil {
22449		return nil, err
22450	}
22451	defer googleapi.CloseBody(res)
22452	if err := googleapi.CheckResponse(res); err != nil {
22453		return nil, err
22454	}
22455	ret := &ListInvoicesResponse{
22456		ServerResponse: googleapi.ServerResponse{
22457			Header:         res.Header,
22458			HTTPStatusCode: res.StatusCode,
22459		},
22460	}
22461	target := &ret
22462	if err := gensupport.DecodeResponse(target, res); err != nil {
22463		return nil, err
22464	}
22465	return ret, nil
22466	// {
22467	//   "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.",
22468	//   "flatPath": "v1/advertisers/{advertisersId}/invoices",
22469	//   "httpMethod": "GET",
22470	//   "id": "displayvideo.advertisers.invoices.list",
22471	//   "parameterOrder": [
22472	//     "advertiserId"
22473	//   ],
22474	//   "parameters": {
22475	//     "advertiserId": {
22476	//       "description": "Required. The ID of the advertiser to list invoices for.",
22477	//       "format": "int64",
22478	//       "location": "path",
22479	//       "pattern": "^[^/]+$",
22480	//       "required": true,
22481	//       "type": "string"
22482	//     },
22483	//     "issueMonth": {
22484	//       "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.",
22485	//       "location": "query",
22486	//       "type": "string"
22487	//     },
22488	//     "loiSapinInvoiceType": {
22489	//       "description": "Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be ignored otherwise.",
22490	//       "enum": [
22491	//         "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED",
22492	//         "LOI_SAPIN_INVOICE_TYPE_MEDIA",
22493	//         "LOI_SAPIN_INVOICE_TYPE_PLATFORM"
22494	//       ],
22495	//       "enumDescriptions": [
22496	//         "Value is not specified.",
22497	//         "Invoices with Media cost.",
22498	//         "Invoices with Platform fee."
22499	//       ],
22500	//       "location": "query",
22501	//       "type": "string"
22502	//     },
22503	//     "pageSize": {
22504	//       "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.",
22505	//       "format": "int32",
22506	//       "location": "query",
22507	//       "type": "integer"
22508	//     },
22509	//     "pageToken": {
22510	//       "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.",
22511	//       "location": "query",
22512	//       "type": "string"
22513	//     }
22514	//   },
22515	//   "path": "v1/advertisers/{+advertiserId}/invoices",
22516	//   "response": {
22517	//     "$ref": "ListInvoicesResponse"
22518	//   },
22519	//   "scopes": [
22520	//     "https://www.googleapis.com/auth/display-video",
22521	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
22522	//   ]
22523	// }
22524
22525}
22526
22527// Pages invokes f for each page of results.
22528// A non-nil error returned from f will halt the iteration.
22529// The provided context supersedes any context provided to the Context method.
22530func (c *AdvertisersInvoicesListCall) Pages(ctx context.Context, f func(*ListInvoicesResponse) error) error {
22531	c.ctx_ = ctx
22532	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22533	for {
22534		x, err := c.Do()
22535		if err != nil {
22536			return err
22537		}
22538		if err := f(x); err != nil {
22539			return err
22540		}
22541		if x.NextPageToken == "" {
22542			return nil
22543		}
22544		c.PageToken(x.NextPageToken)
22545	}
22546}
22547
22548// method id "displayvideo.advertisers.invoices.lookupInvoiceCurrency":
22549
22550type AdvertisersInvoicesLookupInvoiceCurrencyCall struct {
22551	s            *Service
22552	advertiserId int64
22553	urlParams_   gensupport.URLParams
22554	ifNoneMatch_ string
22555	ctx_         context.Context
22556	header_      http.Header
22557}
22558
22559// LookupInvoiceCurrency: Retrieves the invoice currency used by an
22560// advertiser in a given month.
22561//
22562// - advertiserId: The ID of the advertiser to lookup currency for.
22563func (r *AdvertisersInvoicesService) LookupInvoiceCurrency(advertiserId int64) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22564	c := &AdvertisersInvoicesLookupInvoiceCurrencyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22565	c.advertiserId = advertiserId
22566	return c
22567}
22568
22569// InvoiceMonth sets the optional parameter "invoiceMonth": Month for
22570// which the currency is needed. If not set, the request will return
22571// existing currency settings for the advertiser. Must be in the format
22572// YYYYMM.
22573func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) InvoiceMonth(invoiceMonth string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22574	c.urlParams_.Set("invoiceMonth", invoiceMonth)
22575	return c
22576}
22577
22578// Fields allows partial responses to be retrieved. See
22579// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22580// for more information.
22581func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Fields(s ...googleapi.Field) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22582	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22583	return c
22584}
22585
22586// IfNoneMatch sets the optional parameter which makes the operation
22587// fail if the object's ETag matches the given value. This is useful for
22588// getting updates only after the object has changed since the last
22589// request. Use googleapi.IsNotModified to check whether the response
22590// error from Do is the result of In-None-Match.
22591func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) IfNoneMatch(entityTag string) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22592	c.ifNoneMatch_ = entityTag
22593	return c
22594}
22595
22596// Context sets the context to be used in this call's Do method. Any
22597// pending HTTP request will be aborted if the provided context is
22598// canceled.
22599func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Context(ctx context.Context) *AdvertisersInvoicesLookupInvoiceCurrencyCall {
22600	c.ctx_ = ctx
22601	return c
22602}
22603
22604// Header returns an http.Header that can be modified by the caller to
22605// add HTTP headers to the request.
22606func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Header() http.Header {
22607	if c.header_ == nil {
22608		c.header_ = make(http.Header)
22609	}
22610	return c.header_
22611}
22612
22613func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) doRequest(alt string) (*http.Response, error) {
22614	reqHeaders := make(http.Header)
22615	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
22616	for k, v := range c.header_ {
22617		reqHeaders[k] = v
22618	}
22619	reqHeaders.Set("User-Agent", c.s.userAgent())
22620	if c.ifNoneMatch_ != "" {
22621		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22622	}
22623	var body io.Reader = nil
22624	c.urlParams_.Set("alt", alt)
22625	c.urlParams_.Set("prettyPrint", "false")
22626	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency")
22627	urls += "?" + c.urlParams_.Encode()
22628	req, err := http.NewRequest("GET", urls, body)
22629	if err != nil {
22630		return nil, err
22631	}
22632	req.Header = reqHeaders
22633	googleapi.Expand(req.URL, map[string]string{
22634		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22635	})
22636	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22637}
22638
22639// Do executes the "displayvideo.advertisers.invoices.lookupInvoiceCurrency" call.
22640// Exactly one of *LookupInvoiceCurrencyResponse or error will be
22641// non-nil. Any non-2xx status code is an error. Response headers are in
22642// either *LookupInvoiceCurrencyResponse.ServerResponse.Header or (if a
22643// response was returned at all) in error.(*googleapi.Error).Header. Use
22644// googleapi.IsNotModified to check whether the returned error was
22645// because http.StatusNotModified was returned.
22646func (c *AdvertisersInvoicesLookupInvoiceCurrencyCall) Do(opts ...googleapi.CallOption) (*LookupInvoiceCurrencyResponse, error) {
22647	gensupport.SetOptions(c.urlParams_, opts...)
22648	res, err := c.doRequest("json")
22649	if res != nil && res.StatusCode == http.StatusNotModified {
22650		if res.Body != nil {
22651			res.Body.Close()
22652		}
22653		return nil, &googleapi.Error{
22654			Code:   res.StatusCode,
22655			Header: res.Header,
22656		}
22657	}
22658	if err != nil {
22659		return nil, err
22660	}
22661	defer googleapi.CloseBody(res)
22662	if err := googleapi.CheckResponse(res); err != nil {
22663		return nil, err
22664	}
22665	ret := &LookupInvoiceCurrencyResponse{
22666		ServerResponse: googleapi.ServerResponse{
22667			Header:         res.Header,
22668			HTTPStatusCode: res.StatusCode,
22669		},
22670	}
22671	target := &ret
22672	if err := gensupport.DecodeResponse(target, res); err != nil {
22673		return nil, err
22674	}
22675	return ret, nil
22676	// {
22677	//   "description": "Retrieves the invoice currency used by an advertiser in a given month.",
22678	//   "flatPath": "v1/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency",
22679	//   "httpMethod": "GET",
22680	//   "id": "displayvideo.advertisers.invoices.lookupInvoiceCurrency",
22681	//   "parameterOrder": [
22682	//     "advertiserId"
22683	//   ],
22684	//   "parameters": {
22685	//     "advertiserId": {
22686	//       "description": "Required. The ID of the advertiser to lookup currency for.",
22687	//       "format": "int64",
22688	//       "location": "path",
22689	//       "pattern": "^[^/]+$",
22690	//       "required": true,
22691	//       "type": "string"
22692	//     },
22693	//     "invoiceMonth": {
22694	//       "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.",
22695	//       "location": "query",
22696	//       "type": "string"
22697	//     }
22698	//   },
22699	//   "path": "v1/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency",
22700	//   "response": {
22701	//     "$ref": "LookupInvoiceCurrencyResponse"
22702	//   },
22703	//   "scopes": [
22704	//     "https://www.googleapis.com/auth/display-video",
22705	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
22706	//   ]
22707	// }
22708
22709}
22710
22711// method id "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions":
22712
22713type AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall struct {
22714	s                                               *Service
22715	advertiserId                                    int64
22716	lineItemId                                      int64
22717	bulkeditlineitemassignedtargetingoptionsrequest *BulkEditLineItemAssignedTargetingOptionsRequest
22718	urlParams_                                      gensupport.URLParams
22719	ctx_                                            context.Context
22720	header_                                         http.Header
22721}
22722
22723// BulkEditLineItemAssignedTargetingOptions: Bulk edits targeting
22724// options under a single line item. The operation will delete the
22725// assigned targeting options provided in
22726// BulkEditLineItemAssignedTargetingOptionsRequest.delete_requests and
22727// then create the assigned targeting options provided in
22728// BulkEditLineItemAssignedTargetingOptionsRequest.create_requests .
22729//
22730// - advertiserId: The ID of the advertiser the line item belongs to.
22731// - lineItemId: The ID of the line item the assigned targeting option
22732//   will belong to.
22733func (r *AdvertisersLineItemsService) BulkEditLineItemAssignedTargetingOptions(advertiserId int64, lineItemId int64, bulkeditlineitemassignedtargetingoptionsrequest *BulkEditLineItemAssignedTargetingOptionsRequest) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
22734	c := &AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22735	c.advertiserId = advertiserId
22736	c.lineItemId = lineItemId
22737	c.bulkeditlineitemassignedtargetingoptionsrequest = bulkeditlineitemassignedtargetingoptionsrequest
22738	return c
22739}
22740
22741// Fields allows partial responses to be retrieved. See
22742// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22743// for more information.
22744func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
22745	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22746	return c
22747}
22748
22749// Context sets the context to be used in this call's Do method. Any
22750// pending HTTP request will be aborted if the provided context is
22751// canceled.
22752func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
22753	c.ctx_ = ctx
22754	return c
22755}
22756
22757// Header returns an http.Header that can be modified by the caller to
22758// add HTTP headers to the request.
22759func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Header() http.Header {
22760	if c.header_ == nil {
22761		c.header_ = make(http.Header)
22762	}
22763	return c.header_
22764}
22765
22766func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
22767	reqHeaders := make(http.Header)
22768	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
22769	for k, v := range c.header_ {
22770		reqHeaders[k] = v
22771	}
22772	reqHeaders.Set("User-Agent", c.s.userAgent())
22773	var body io.Reader = nil
22774	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditlineitemassignedtargetingoptionsrequest)
22775	if err != nil {
22776		return nil, err
22777	}
22778	reqHeaders.Set("Content-Type", "application/json")
22779	c.urlParams_.Set("alt", alt)
22780	c.urlParams_.Set("prettyPrint", "false")
22781	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkEditLineItemAssignedTargetingOptions")
22782	urls += "?" + c.urlParams_.Encode()
22783	req, err := http.NewRequest("POST", urls, body)
22784	if err != nil {
22785		return nil, err
22786	}
22787	req.Header = reqHeaders
22788	googleapi.Expand(req.URL, map[string]string{
22789		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22790		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
22791	})
22792	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22793}
22794
22795// Do executes the "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions" call.
22796// Exactly one of *BulkEditLineItemAssignedTargetingOptionsResponse or
22797// error will be non-nil. Any non-2xx status code is an error. Response
22798// headers are in either
22799// *BulkEditLineItemAssignedTargetingOptionsResponse.ServerResponse.Heade
22800// r or (if a response was returned at all) in
22801// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
22802// whether the returned error was because http.StatusNotModified was
22803// returned.
22804func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditLineItemAssignedTargetingOptionsResponse, error) {
22805	gensupport.SetOptions(c.urlParams_, opts...)
22806	res, err := c.doRequest("json")
22807	if res != nil && res.StatusCode == http.StatusNotModified {
22808		if res.Body != nil {
22809			res.Body.Close()
22810		}
22811		return nil, &googleapi.Error{
22812			Code:   res.StatusCode,
22813			Header: res.Header,
22814		}
22815	}
22816	if err != nil {
22817		return nil, err
22818	}
22819	defer googleapi.CloseBody(res)
22820	if err := googleapi.CheckResponse(res); err != nil {
22821		return nil, err
22822	}
22823	ret := &BulkEditLineItemAssignedTargetingOptionsResponse{
22824		ServerResponse: googleapi.ServerResponse{
22825			Header:         res.Header,
22826			HTTPStatusCode: res.StatusCode,
22827		},
22828	}
22829	target := &ret
22830	if err := gensupport.DecodeResponse(target, res); err != nil {
22831		return nil, err
22832	}
22833	return ret, nil
22834	// {
22835	//   "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 .",
22836	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkEditLineItemAssignedTargetingOptions",
22837	//   "httpMethod": "POST",
22838	//   "id": "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions",
22839	//   "parameterOrder": [
22840	//     "advertiserId",
22841	//     "lineItemId"
22842	//   ],
22843	//   "parameters": {
22844	//     "advertiserId": {
22845	//       "description": "Required. The ID of the advertiser the line item belongs to.",
22846	//       "format": "int64",
22847	//       "location": "path",
22848	//       "pattern": "^[^/]+$",
22849	//       "required": true,
22850	//       "type": "string"
22851	//     },
22852	//     "lineItemId": {
22853	//       "description": "Required. The ID of the line item the assigned targeting option will belong to.",
22854	//       "format": "int64",
22855	//       "location": "path",
22856	//       "pattern": "^[^/]+$",
22857	//       "required": true,
22858	//       "type": "string"
22859	//     }
22860	//   },
22861	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkEditLineItemAssignedTargetingOptions",
22862	//   "request": {
22863	//     "$ref": "BulkEditLineItemAssignedTargetingOptionsRequest"
22864	//   },
22865	//   "response": {
22866	//     "$ref": "BulkEditLineItemAssignedTargetingOptionsResponse"
22867	//   },
22868	//   "scopes": [
22869	//     "https://www.googleapis.com/auth/display-video"
22870	//   ]
22871	// }
22872
22873}
22874
22875// method id "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions":
22876
22877type AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall struct {
22878	s            *Service
22879	advertiserId int64
22880	lineItemId   int64
22881	urlParams_   gensupport.URLParams
22882	ifNoneMatch_ string
22883	ctx_         context.Context
22884	header_      http.Header
22885}
22886
22887// BulkListLineItemAssignedTargetingOptions: Lists assigned targeting
22888// options of a line item across targeting types.
22889//
22890// - advertiserId: The ID of the advertiser the line item belongs to.
22891// - lineItemId: The ID of the line item to list assigned targeting
22892//   options for.
22893func (r *AdvertisersLineItemsService) BulkListLineItemAssignedTargetingOptions(advertiserId int64, lineItemId int64) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22894	c := &AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22895	c.advertiserId = advertiserId
22896	c.lineItemId = lineItemId
22897	return c
22898}
22899
22900// Filter sets the optional parameter "filter": Allows filtering by
22901// assigned targeting option properties. Supported syntax: * Filter
22902// expressions are made up of one or more restrictions. * Restrictions
22903// can be combined by the logical operator `OR` on the same field. * A
22904// restriction has the form of `{field} {operator} {value}`. * The
22905// operator must be `EQUALS (=)`. * Supported fields: - `targetingType`
22906// - `inheritance` Examples: * AssignedTargetingOptions of targeting
22907// type TARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL
22908// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
22909// targetingType="TARGETING_TYPE_CHANNEL" * AssignedTargetingOptions
22910// with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER
22911// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"
22912// The length of this field should be no more than 500 characters.
22913func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22914	c.urlParams_.Set("filter", filter)
22915	return c
22916}
22917
22918// OrderBy sets the optional parameter "orderBy": Field by which to sort
22919// the list. Acceptable values are: * `targetingType` (default) The
22920// default sorting order is ascending. To specify descending order for a
22921// field, a suffix "desc" should be added to the field name. Example:
22922// `targetingType desc`.
22923func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22924	c.urlParams_.Set("orderBy", orderBy)
22925	return c
22926}
22927
22928// PageSize sets the optional parameter "pageSize": Requested page size.
22929// The size must be an integer between `1` and `5000`. If unspecified,
22930// the default is '5000'. Returns error code `INVALID_ARGUMENT` if an
22931// invalid value is specified.
22932func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22933	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22934	return c
22935}
22936
22937// PageToken sets the optional parameter "pageToken": A token that lets
22938// the client fetch the next page of results. Typically, this is the
22939// value of next_page_token returned from the previous call to
22940// `BulkListLineItemAssignedTargetingOptions` method. If not specified,
22941// the first page of results will be returned.
22942func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22943	c.urlParams_.Set("pageToken", pageToken)
22944	return c
22945}
22946
22947// Fields allows partial responses to be retrieved. See
22948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22949// for more information.
22950func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22952	return c
22953}
22954
22955// IfNoneMatch sets the optional parameter which makes the operation
22956// fail if the object's ETag matches the given value. This is useful for
22957// getting updates only after the object has changed since the last
22958// request. Use googleapi.IsNotModified to check whether the response
22959// error from Do is the result of In-None-Match.
22960func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22961	c.ifNoneMatch_ = entityTag
22962	return c
22963}
22964
22965// Context sets the context to be used in this call's Do method. Any
22966// pending HTTP request will be aborted if the provided context is
22967// canceled.
22968func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
22969	c.ctx_ = ctx
22970	return c
22971}
22972
22973// Header returns an http.Header that can be modified by the caller to
22974// add HTTP headers to the request.
22975func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Header() http.Header {
22976	if c.header_ == nil {
22977		c.header_ = make(http.Header)
22978	}
22979	return c.header_
22980}
22981
22982func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
22983	reqHeaders := make(http.Header)
22984	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
22985	for k, v := range c.header_ {
22986		reqHeaders[k] = v
22987	}
22988	reqHeaders.Set("User-Agent", c.s.userAgent())
22989	if c.ifNoneMatch_ != "" {
22990		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22991	}
22992	var body io.Reader = nil
22993	c.urlParams_.Set("alt", alt)
22994	c.urlParams_.Set("prettyPrint", "false")
22995	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkListLineItemAssignedTargetingOptions")
22996	urls += "?" + c.urlParams_.Encode()
22997	req, err := http.NewRequest("GET", urls, body)
22998	if err != nil {
22999		return nil, err
23000	}
23001	req.Header = reqHeaders
23002	googleapi.Expand(req.URL, map[string]string{
23003		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23004		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
23005	})
23006	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23007}
23008
23009// Do executes the "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions" call.
23010// Exactly one of *BulkListLineItemAssignedTargetingOptionsResponse or
23011// error will be non-nil. Any non-2xx status code is an error. Response
23012// headers are in either
23013// *BulkListLineItemAssignedTargetingOptionsResponse.ServerResponse.Heade
23014// r or (if a response was returned at all) in
23015// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
23016// whether the returned error was because http.StatusNotModified was
23017// returned.
23018func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListLineItemAssignedTargetingOptionsResponse, error) {
23019	gensupport.SetOptions(c.urlParams_, opts...)
23020	res, err := c.doRequest("json")
23021	if res != nil && res.StatusCode == http.StatusNotModified {
23022		if res.Body != nil {
23023			res.Body.Close()
23024		}
23025		return nil, &googleapi.Error{
23026			Code:   res.StatusCode,
23027			Header: res.Header,
23028		}
23029	}
23030	if err != nil {
23031		return nil, err
23032	}
23033	defer googleapi.CloseBody(res)
23034	if err := googleapi.CheckResponse(res); err != nil {
23035		return nil, err
23036	}
23037	ret := &BulkListLineItemAssignedTargetingOptionsResponse{
23038		ServerResponse: googleapi.ServerResponse{
23039			Header:         res.Header,
23040			HTTPStatusCode: res.StatusCode,
23041		},
23042	}
23043	target := &ret
23044	if err := gensupport.DecodeResponse(target, res); err != nil {
23045		return nil, err
23046	}
23047	return ret, nil
23048	// {
23049	//   "description": "Lists assigned targeting options of a line item across targeting types.",
23050	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkListLineItemAssignedTargetingOptions",
23051	//   "httpMethod": "GET",
23052	//   "id": "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions",
23053	//   "parameterOrder": [
23054	//     "advertiserId",
23055	//     "lineItemId"
23056	//   ],
23057	//   "parameters": {
23058	//     "advertiserId": {
23059	//       "description": "Required. The ID of the advertiser the line item belongs to.",
23060	//       "format": "int64",
23061	//       "location": "path",
23062	//       "pattern": "^[^/]+$",
23063	//       "required": true,
23064	//       "type": "string"
23065	//     },
23066	//     "filter": {
23067	//       "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.",
23068	//       "location": "query",
23069	//       "type": "string"
23070	//     },
23071	//     "lineItemId": {
23072	//       "description": "Required. The ID of the line item to list assigned targeting options for.",
23073	//       "format": "int64",
23074	//       "location": "path",
23075	//       "pattern": "^[^/]+$",
23076	//       "required": true,
23077	//       "type": "string"
23078	//     },
23079	//     "orderBy": {
23080	//       "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`.",
23081	//       "location": "query",
23082	//       "type": "string"
23083	//     },
23084	//     "pageSize": {
23085	//       "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.",
23086	//       "format": "int32",
23087	//       "location": "query",
23088	//       "type": "integer"
23089	//     },
23090	//     "pageToken": {
23091	//       "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.",
23092	//       "location": "query",
23093	//       "type": "string"
23094	//     }
23095	//   },
23096	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkListLineItemAssignedTargetingOptions",
23097	//   "response": {
23098	//     "$ref": "BulkListLineItemAssignedTargetingOptionsResponse"
23099	//   },
23100	//   "scopes": [
23101	//     "https://www.googleapis.com/auth/display-video"
23102	//   ]
23103	// }
23104
23105}
23106
23107// Pages invokes f for each page of results.
23108// A non-nil error returned from f will halt the iteration.
23109// The provided context supersedes any context provided to the Context method.
23110func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListLineItemAssignedTargetingOptionsResponse) error) error {
23111	c.ctx_ = ctx
23112	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23113	for {
23114		x, err := c.Do()
23115		if err != nil {
23116			return err
23117		}
23118		if err := f(x); err != nil {
23119			return err
23120		}
23121		if x.NextPageToken == "" {
23122			return nil
23123		}
23124		c.PageToken(x.NextPageToken)
23125	}
23126}
23127
23128// method id "displayvideo.advertisers.lineItems.create":
23129
23130type AdvertisersLineItemsCreateCall struct {
23131	s            *Service
23132	advertiserId int64
23133	lineitem     *LineItem
23134	urlParams_   gensupport.URLParams
23135	ctx_         context.Context
23136	header_      http.Header
23137}
23138
23139// Create: Creates a new line item. Returns the newly created line item
23140// if successful.
23141//
23142// - advertiserId: Output only. The unique ID of the advertiser the line
23143//   item belongs to.
23144func (r *AdvertisersLineItemsService) Create(advertiserId int64, lineitem *LineItem) *AdvertisersLineItemsCreateCall {
23145	c := &AdvertisersLineItemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23146	c.advertiserId = advertiserId
23147	c.lineitem = lineitem
23148	return c
23149}
23150
23151// Fields allows partial responses to be retrieved. See
23152// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23153// for more information.
23154func (c *AdvertisersLineItemsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsCreateCall {
23155	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23156	return c
23157}
23158
23159// Context sets the context to be used in this call's Do method. Any
23160// pending HTTP request will be aborted if the provided context is
23161// canceled.
23162func (c *AdvertisersLineItemsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsCreateCall {
23163	c.ctx_ = ctx
23164	return c
23165}
23166
23167// Header returns an http.Header that can be modified by the caller to
23168// add HTTP headers to the request.
23169func (c *AdvertisersLineItemsCreateCall) Header() http.Header {
23170	if c.header_ == nil {
23171		c.header_ = make(http.Header)
23172	}
23173	return c.header_
23174}
23175
23176func (c *AdvertisersLineItemsCreateCall) doRequest(alt string) (*http.Response, error) {
23177	reqHeaders := make(http.Header)
23178	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
23179	for k, v := range c.header_ {
23180		reqHeaders[k] = v
23181	}
23182	reqHeaders.Set("User-Agent", c.s.userAgent())
23183	var body io.Reader = nil
23184	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
23185	if err != nil {
23186		return nil, err
23187	}
23188	reqHeaders.Set("Content-Type", "application/json")
23189	c.urlParams_.Set("alt", alt)
23190	c.urlParams_.Set("prettyPrint", "false")
23191	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems")
23192	urls += "?" + c.urlParams_.Encode()
23193	req, err := http.NewRequest("POST", urls, body)
23194	if err != nil {
23195		return nil, err
23196	}
23197	req.Header = reqHeaders
23198	googleapi.Expand(req.URL, map[string]string{
23199		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23200	})
23201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23202}
23203
23204// Do executes the "displayvideo.advertisers.lineItems.create" call.
23205// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
23206// code is an error. Response headers are in either
23207// *LineItem.ServerResponse.Header or (if a response was returned at
23208// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23209// to check whether the returned error was because
23210// http.StatusNotModified was returned.
23211func (c *AdvertisersLineItemsCreateCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
23212	gensupport.SetOptions(c.urlParams_, opts...)
23213	res, err := c.doRequest("json")
23214	if res != nil && res.StatusCode == http.StatusNotModified {
23215		if res.Body != nil {
23216			res.Body.Close()
23217		}
23218		return nil, &googleapi.Error{
23219			Code:   res.StatusCode,
23220			Header: res.Header,
23221		}
23222	}
23223	if err != nil {
23224		return nil, err
23225	}
23226	defer googleapi.CloseBody(res)
23227	if err := googleapi.CheckResponse(res); err != nil {
23228		return nil, err
23229	}
23230	ret := &LineItem{
23231		ServerResponse: googleapi.ServerResponse{
23232			Header:         res.Header,
23233			HTTPStatusCode: res.StatusCode,
23234		},
23235	}
23236	target := &ret
23237	if err := gensupport.DecodeResponse(target, res); err != nil {
23238		return nil, err
23239	}
23240	return ret, nil
23241	// {
23242	//   "description": "Creates a new line item. Returns the newly created line item if successful.",
23243	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems",
23244	//   "httpMethod": "POST",
23245	//   "id": "displayvideo.advertisers.lineItems.create",
23246	//   "parameterOrder": [
23247	//     "advertiserId"
23248	//   ],
23249	//   "parameters": {
23250	//     "advertiserId": {
23251	//       "description": "Output only. The unique ID of the advertiser the line item belongs to.",
23252	//       "format": "int64",
23253	//       "location": "path",
23254	//       "pattern": "^[^/]+$",
23255	//       "required": true,
23256	//       "type": "string"
23257	//     }
23258	//   },
23259	//   "path": "v1/advertisers/{+advertiserId}/lineItems",
23260	//   "request": {
23261	//     "$ref": "LineItem"
23262	//   },
23263	//   "response": {
23264	//     "$ref": "LineItem"
23265	//   },
23266	//   "scopes": [
23267	//     "https://www.googleapis.com/auth/display-video"
23268	//   ]
23269	// }
23270
23271}
23272
23273// method id "displayvideo.advertisers.lineItems.delete":
23274
23275type AdvertisersLineItemsDeleteCall struct {
23276	s            *Service
23277	advertiserId int64
23278	lineItemId   int64
23279	urlParams_   gensupport.URLParams
23280	ctx_         context.Context
23281	header_      http.Header
23282}
23283
23284// Delete: Deletes a line item. Returns error code `NOT_FOUND` if the
23285// line item does not exist. The line item should be archived first,
23286// i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to
23287// delete it.
23288//
23289// - advertiserId: The ID of the advertiser this line item belongs to.
23290// - lineItemId: The ID of the line item we need to fetch.
23291func (r *AdvertisersLineItemsService) Delete(advertiserId int64, lineItemId int64) *AdvertisersLineItemsDeleteCall {
23292	c := &AdvertisersLineItemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23293	c.advertiserId = advertiserId
23294	c.lineItemId = lineItemId
23295	return c
23296}
23297
23298// Fields allows partial responses to be retrieved. See
23299// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23300// for more information.
23301func (c *AdvertisersLineItemsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDeleteCall {
23302	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23303	return c
23304}
23305
23306// Context sets the context to be used in this call's Do method. Any
23307// pending HTTP request will be aborted if the provided context is
23308// canceled.
23309func (c *AdvertisersLineItemsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsDeleteCall {
23310	c.ctx_ = ctx
23311	return c
23312}
23313
23314// Header returns an http.Header that can be modified by the caller to
23315// add HTTP headers to the request.
23316func (c *AdvertisersLineItemsDeleteCall) Header() http.Header {
23317	if c.header_ == nil {
23318		c.header_ = make(http.Header)
23319	}
23320	return c.header_
23321}
23322
23323func (c *AdvertisersLineItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
23324	reqHeaders := make(http.Header)
23325	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
23326	for k, v := range c.header_ {
23327		reqHeaders[k] = v
23328	}
23329	reqHeaders.Set("User-Agent", c.s.userAgent())
23330	var body io.Reader = nil
23331	c.urlParams_.Set("alt", alt)
23332	c.urlParams_.Set("prettyPrint", "false")
23333	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
23334	urls += "?" + c.urlParams_.Encode()
23335	req, err := http.NewRequest("DELETE", urls, body)
23336	if err != nil {
23337		return nil, err
23338	}
23339	req.Header = reqHeaders
23340	googleapi.Expand(req.URL, map[string]string{
23341		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23342		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
23343	})
23344	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23345}
23346
23347// Do executes the "displayvideo.advertisers.lineItems.delete" call.
23348// Exactly one of *Empty or error will be non-nil. Any non-2xx status
23349// code is an error. Response headers are in either
23350// *Empty.ServerResponse.Header or (if a response was returned at all)
23351// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23352// check whether the returned error was because http.StatusNotModified
23353// was returned.
23354func (c *AdvertisersLineItemsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
23355	gensupport.SetOptions(c.urlParams_, opts...)
23356	res, err := c.doRequest("json")
23357	if res != nil && res.StatusCode == http.StatusNotModified {
23358		if res.Body != nil {
23359			res.Body.Close()
23360		}
23361		return nil, &googleapi.Error{
23362			Code:   res.StatusCode,
23363			Header: res.Header,
23364		}
23365	}
23366	if err != nil {
23367		return nil, err
23368	}
23369	defer googleapi.CloseBody(res)
23370	if err := googleapi.CheckResponse(res); err != nil {
23371		return nil, err
23372	}
23373	ret := &Empty{
23374		ServerResponse: googleapi.ServerResponse{
23375			Header:         res.Header,
23376			HTTPStatusCode: res.StatusCode,
23377		},
23378	}
23379	target := &ret
23380	if err := gensupport.DecodeResponse(target, res); err != nil {
23381		return nil, err
23382	}
23383	return ret, nil
23384	// {
23385	//   "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.",
23386	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
23387	//   "httpMethod": "DELETE",
23388	//   "id": "displayvideo.advertisers.lineItems.delete",
23389	//   "parameterOrder": [
23390	//     "advertiserId",
23391	//     "lineItemId"
23392	//   ],
23393	//   "parameters": {
23394	//     "advertiserId": {
23395	//       "description": "The ID of the advertiser this line item belongs to.",
23396	//       "format": "int64",
23397	//       "location": "path",
23398	//       "pattern": "^[^/]+$",
23399	//       "required": true,
23400	//       "type": "string"
23401	//     },
23402	//     "lineItemId": {
23403	//       "description": "The ID of the line item we need to fetch.",
23404	//       "format": "int64",
23405	//       "location": "path",
23406	//       "pattern": "^[^/]+$",
23407	//       "required": true,
23408	//       "type": "string"
23409	//     }
23410	//   },
23411	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
23412	//   "response": {
23413	//     "$ref": "Empty"
23414	//   },
23415	//   "scopes": [
23416	//     "https://www.googleapis.com/auth/display-video"
23417	//   ]
23418	// }
23419
23420}
23421
23422// method id "displayvideo.advertisers.lineItems.generateDefault":
23423
23424type AdvertisersLineItemsGenerateDefaultCall struct {
23425	s                              *Service
23426	advertiserId                   int64
23427	generatedefaultlineitemrequest *GenerateDefaultLineItemRequest
23428	urlParams_                     gensupport.URLParams
23429	ctx_                           context.Context
23430	header_                        http.Header
23431}
23432
23433// GenerateDefault: Creates a new line item with settings (including
23434// targeting) inherited from the insertion order and an
23435// `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line
23436// item if successful. There are default values based on the three
23437// fields: * The insertion order's insertion_order_type * The insertion
23438// order's automation_type * The given line_item_type
23439//
23440// - advertiserId: The ID of the advertiser this line item belongs to.
23441func (r *AdvertisersLineItemsService) GenerateDefault(advertiserId int64, generatedefaultlineitemrequest *GenerateDefaultLineItemRequest) *AdvertisersLineItemsGenerateDefaultCall {
23442	c := &AdvertisersLineItemsGenerateDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23443	c.advertiserId = advertiserId
23444	c.generatedefaultlineitemrequest = generatedefaultlineitemrequest
23445	return c
23446}
23447
23448// Fields allows partial responses to be retrieved. See
23449// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23450// for more information.
23451func (c *AdvertisersLineItemsGenerateDefaultCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGenerateDefaultCall {
23452	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23453	return c
23454}
23455
23456// Context sets the context to be used in this call's Do method. Any
23457// pending HTTP request will be aborted if the provided context is
23458// canceled.
23459func (c *AdvertisersLineItemsGenerateDefaultCall) Context(ctx context.Context) *AdvertisersLineItemsGenerateDefaultCall {
23460	c.ctx_ = ctx
23461	return c
23462}
23463
23464// Header returns an http.Header that can be modified by the caller to
23465// add HTTP headers to the request.
23466func (c *AdvertisersLineItemsGenerateDefaultCall) Header() http.Header {
23467	if c.header_ == nil {
23468		c.header_ = make(http.Header)
23469	}
23470	return c.header_
23471}
23472
23473func (c *AdvertisersLineItemsGenerateDefaultCall) doRequest(alt string) (*http.Response, error) {
23474	reqHeaders := make(http.Header)
23475	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
23476	for k, v := range c.header_ {
23477		reqHeaders[k] = v
23478	}
23479	reqHeaders.Set("User-Agent", c.s.userAgent())
23480	var body io.Reader = nil
23481	body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatedefaultlineitemrequest)
23482	if err != nil {
23483		return nil, err
23484	}
23485	reqHeaders.Set("Content-Type", "application/json")
23486	c.urlParams_.Set("alt", alt)
23487	c.urlParams_.Set("prettyPrint", "false")
23488	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems:generateDefault")
23489	urls += "?" + c.urlParams_.Encode()
23490	req, err := http.NewRequest("POST", urls, body)
23491	if err != nil {
23492		return nil, err
23493	}
23494	req.Header = reqHeaders
23495	googleapi.Expand(req.URL, map[string]string{
23496		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23497	})
23498	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23499}
23500
23501// Do executes the "displayvideo.advertisers.lineItems.generateDefault" call.
23502// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
23503// code is an error. Response headers are in either
23504// *LineItem.ServerResponse.Header or (if a response was returned at
23505// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23506// to check whether the returned error was because
23507// http.StatusNotModified was returned.
23508func (c *AdvertisersLineItemsGenerateDefaultCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
23509	gensupport.SetOptions(c.urlParams_, opts...)
23510	res, err := c.doRequest("json")
23511	if res != nil && res.StatusCode == http.StatusNotModified {
23512		if res.Body != nil {
23513			res.Body.Close()
23514		}
23515		return nil, &googleapi.Error{
23516			Code:   res.StatusCode,
23517			Header: res.Header,
23518		}
23519	}
23520	if err != nil {
23521		return nil, err
23522	}
23523	defer googleapi.CloseBody(res)
23524	if err := googleapi.CheckResponse(res); err != nil {
23525		return nil, err
23526	}
23527	ret := &LineItem{
23528		ServerResponse: googleapi.ServerResponse{
23529			Header:         res.Header,
23530			HTTPStatusCode: res.StatusCode,
23531		},
23532	}
23533	target := &ret
23534	if err := gensupport.DecodeResponse(target, res); err != nil {
23535		return nil, err
23536	}
23537	return ret, nil
23538	// {
23539	//   "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",
23540	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems:generateDefault",
23541	//   "httpMethod": "POST",
23542	//   "id": "displayvideo.advertisers.lineItems.generateDefault",
23543	//   "parameterOrder": [
23544	//     "advertiserId"
23545	//   ],
23546	//   "parameters": {
23547	//     "advertiserId": {
23548	//       "description": "Required. The ID of the advertiser this line item belongs to.",
23549	//       "format": "int64",
23550	//       "location": "path",
23551	//       "pattern": "^[^/]+$",
23552	//       "required": true,
23553	//       "type": "string"
23554	//     }
23555	//   },
23556	//   "path": "v1/advertisers/{+advertiserId}/lineItems:generateDefault",
23557	//   "request": {
23558	//     "$ref": "GenerateDefaultLineItemRequest"
23559	//   },
23560	//   "response": {
23561	//     "$ref": "LineItem"
23562	//   },
23563	//   "scopes": [
23564	//     "https://www.googleapis.com/auth/display-video"
23565	//   ]
23566	// }
23567
23568}
23569
23570// method id "displayvideo.advertisers.lineItems.get":
23571
23572type AdvertisersLineItemsGetCall struct {
23573	s            *Service
23574	advertiserId int64
23575	lineItemId   int64
23576	urlParams_   gensupport.URLParams
23577	ifNoneMatch_ string
23578	ctx_         context.Context
23579	header_      http.Header
23580}
23581
23582// Get: Gets a line item.
23583//
23584// - advertiserId: The ID of the advertiser this line item belongs to.
23585// - lineItemId: The ID of the line item to fetch.
23586func (r *AdvertisersLineItemsService) Get(advertiserId int64, lineItemId int64) *AdvertisersLineItemsGetCall {
23587	c := &AdvertisersLineItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23588	c.advertiserId = advertiserId
23589	c.lineItemId = lineItemId
23590	return c
23591}
23592
23593// Fields allows partial responses to be retrieved. See
23594// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23595// for more information.
23596func (c *AdvertisersLineItemsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGetCall {
23597	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23598	return c
23599}
23600
23601// IfNoneMatch sets the optional parameter which makes the operation
23602// fail if the object's ETag matches the given value. This is useful for
23603// getting updates only after the object has changed since the last
23604// request. Use googleapi.IsNotModified to check whether the response
23605// error from Do is the result of In-None-Match.
23606func (c *AdvertisersLineItemsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsGetCall {
23607	c.ifNoneMatch_ = entityTag
23608	return c
23609}
23610
23611// Context sets the context to be used in this call's Do method. Any
23612// pending HTTP request will be aborted if the provided context is
23613// canceled.
23614func (c *AdvertisersLineItemsGetCall) Context(ctx context.Context) *AdvertisersLineItemsGetCall {
23615	c.ctx_ = ctx
23616	return c
23617}
23618
23619// Header returns an http.Header that can be modified by the caller to
23620// add HTTP headers to the request.
23621func (c *AdvertisersLineItemsGetCall) Header() http.Header {
23622	if c.header_ == nil {
23623		c.header_ = make(http.Header)
23624	}
23625	return c.header_
23626}
23627
23628func (c *AdvertisersLineItemsGetCall) doRequest(alt string) (*http.Response, error) {
23629	reqHeaders := make(http.Header)
23630	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
23631	for k, v := range c.header_ {
23632		reqHeaders[k] = v
23633	}
23634	reqHeaders.Set("User-Agent", c.s.userAgent())
23635	if c.ifNoneMatch_ != "" {
23636		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23637	}
23638	var body io.Reader = nil
23639	c.urlParams_.Set("alt", alt)
23640	c.urlParams_.Set("prettyPrint", "false")
23641	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
23642	urls += "?" + c.urlParams_.Encode()
23643	req, err := http.NewRequest("GET", urls, body)
23644	if err != nil {
23645		return nil, err
23646	}
23647	req.Header = reqHeaders
23648	googleapi.Expand(req.URL, map[string]string{
23649		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23650		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
23651	})
23652	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23653}
23654
23655// Do executes the "displayvideo.advertisers.lineItems.get" call.
23656// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
23657// code is an error. Response headers are in either
23658// *LineItem.ServerResponse.Header or (if a response was returned at
23659// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
23660// to check whether the returned error was because
23661// http.StatusNotModified was returned.
23662func (c *AdvertisersLineItemsGetCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
23663	gensupport.SetOptions(c.urlParams_, opts...)
23664	res, err := c.doRequest("json")
23665	if res != nil && res.StatusCode == http.StatusNotModified {
23666		if res.Body != nil {
23667			res.Body.Close()
23668		}
23669		return nil, &googleapi.Error{
23670			Code:   res.StatusCode,
23671			Header: res.Header,
23672		}
23673	}
23674	if err != nil {
23675		return nil, err
23676	}
23677	defer googleapi.CloseBody(res)
23678	if err := googleapi.CheckResponse(res); err != nil {
23679		return nil, err
23680	}
23681	ret := &LineItem{
23682		ServerResponse: googleapi.ServerResponse{
23683			Header:         res.Header,
23684			HTTPStatusCode: res.StatusCode,
23685		},
23686	}
23687	target := &ret
23688	if err := gensupport.DecodeResponse(target, res); err != nil {
23689		return nil, err
23690	}
23691	return ret, nil
23692	// {
23693	//   "description": "Gets a line item.",
23694	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
23695	//   "httpMethod": "GET",
23696	//   "id": "displayvideo.advertisers.lineItems.get",
23697	//   "parameterOrder": [
23698	//     "advertiserId",
23699	//     "lineItemId"
23700	//   ],
23701	//   "parameters": {
23702	//     "advertiserId": {
23703	//       "description": "Required. The ID of the advertiser this line item belongs to.",
23704	//       "format": "int64",
23705	//       "location": "path",
23706	//       "pattern": "^[^/]+$",
23707	//       "required": true,
23708	//       "type": "string"
23709	//     },
23710	//     "lineItemId": {
23711	//       "description": "Required. The ID of the line item to fetch.",
23712	//       "format": "int64",
23713	//       "location": "path",
23714	//       "pattern": "^[^/]+$",
23715	//       "required": true,
23716	//       "type": "string"
23717	//     }
23718	//   },
23719	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
23720	//   "response": {
23721	//     "$ref": "LineItem"
23722	//   },
23723	//   "scopes": [
23724	//     "https://www.googleapis.com/auth/display-video"
23725	//   ]
23726	// }
23727
23728}
23729
23730// method id "displayvideo.advertisers.lineItems.list":
23731
23732type AdvertisersLineItemsListCall struct {
23733	s            *Service
23734	advertiserId int64
23735	urlParams_   gensupport.URLParams
23736	ifNoneMatch_ string
23737	ctx_         context.Context
23738	header_      http.Header
23739}
23740
23741// List: Lists line items in an advertiser. The order is defined by the
23742// order_by parameter. If a filter by entity_status is not specified,
23743// line items with `ENTITY_STATUS_ARCHIVED` will not be included in the
23744// results.
23745//
23746// - advertiserId: The ID of the advertiser to list line items for.
23747func (r *AdvertisersLineItemsService) List(advertiserId int64) *AdvertisersLineItemsListCall {
23748	c := &AdvertisersLineItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23749	c.advertiserId = advertiserId
23750	return c
23751}
23752
23753// Filter sets the optional parameter "filter": Allows filtering by line
23754// item properties. Supported syntax: * Filter expressions are made up
23755// of one or more restrictions. * Restrictions can be combined by `AND`
23756// or `OR` logical operators. A sequence of restrictions implicitly uses
23757// `AND`. * A restriction has the form of `{field} {operator} {value}`.
23758// * The operator used on `flight.dateRange.endDate` must be LESS THAN
23759// (<). * The operator used on `updateTime` must be `GREATER THAN OR
23760// EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operator used
23761// on `warningMessages` must be `HAS (:)`. * The operators used on all
23762// other fields must be `EQUALS (=)`. * Supported properties: -
23763// `campaignId` - `displayName` - `insertionOrderId` - `entityStatus` -
23764// `lineItemId` - `lineItemType` - `flight.dateRange.endDate` (input
23765// formatted as YYYY-MM-DD) - `warningMessages` - `flight.triggerId` -
23766// `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) -
23767// `targetedChannelId` - `targetedNegativeKeywordListId` Examples: * All
23768// line items under an insertion order: `insertionOrderId="1234" * All
23769// `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and
23770// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser:
23771// `(entityStatus="ENTITY_STATUS_ACTIVE" OR
23772// entityStatus="ENTITY_STATUS_PAUSED") AND
23773// lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" * All line items whose
23774// flight dates end before March 28, 2019:
23775// `flight.dateRange.endDate<"2019-03-28" * All line items that have
23776// `NO_VALID_CREATIVE` in `warningMessages`:
23777// `warningMessages:"NO_VALID_CREATIVE" * All line items with an update
23778// time less than or equal to `2020-11-04T18:54:47Z (format of ISO
23779// 8601)`: `updateTime<="2020-11-04T18:54:47Z" * All line items with an
23780// update time greater than or equal to `2020-11-04T18:54:47Z (format of
23781// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" * All line items
23782// that are using both the specified channel and specified negative
23783// keyword list in their targeting: `targetedNegativeKeywordListId=789
23784// AND targetedChannelId=12345` The length of this field should be no
23785// more than 500 characters.
23786func (c *AdvertisersLineItemsListCall) Filter(filter string) *AdvertisersLineItemsListCall {
23787	c.urlParams_.Set("filter", filter)
23788	return c
23789}
23790
23791// OrderBy sets the optional parameter "orderBy": Field by which to sort
23792// the list. Acceptable values are: * "displayName" (default) *
23793// "entityStatus" * “flight.dateRange.endDate” * "updateTime" The
23794// default sorting order is ascending. To specify descending order for a
23795// field, a suffix "desc" should be added to the field name. Example:
23796// `displayName desc`.
23797func (c *AdvertisersLineItemsListCall) OrderBy(orderBy string) *AdvertisersLineItemsListCall {
23798	c.urlParams_.Set("orderBy", orderBy)
23799	return c
23800}
23801
23802// PageSize sets the optional parameter "pageSize": Requested page size.
23803// Must be between `1` and `100`. If unspecified will default to `100`.
23804// Returns error code `INVALID_ARGUMENT` if an invalid value is
23805// specified.
23806func (c *AdvertisersLineItemsListCall) PageSize(pageSize int64) *AdvertisersLineItemsListCall {
23807	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
23808	return c
23809}
23810
23811// PageToken sets the optional parameter "pageToken": A token
23812// identifying a page of results the server should return. Typically,
23813// this is the value of next_page_token returned from the previous call
23814// to `ListLineItems` method. If not specified, the first page of
23815// results will be returned.
23816func (c *AdvertisersLineItemsListCall) PageToken(pageToken string) *AdvertisersLineItemsListCall {
23817	c.urlParams_.Set("pageToken", pageToken)
23818	return c
23819}
23820
23821// Fields allows partial responses to be retrieved. See
23822// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23823// for more information.
23824func (c *AdvertisersLineItemsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsListCall {
23825	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23826	return c
23827}
23828
23829// IfNoneMatch sets the optional parameter which makes the operation
23830// fail if the object's ETag matches the given value. This is useful for
23831// getting updates only after the object has changed since the last
23832// request. Use googleapi.IsNotModified to check whether the response
23833// error from Do is the result of In-None-Match.
23834func (c *AdvertisersLineItemsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsListCall {
23835	c.ifNoneMatch_ = entityTag
23836	return c
23837}
23838
23839// Context sets the context to be used in this call's Do method. Any
23840// pending HTTP request will be aborted if the provided context is
23841// canceled.
23842func (c *AdvertisersLineItemsListCall) Context(ctx context.Context) *AdvertisersLineItemsListCall {
23843	c.ctx_ = ctx
23844	return c
23845}
23846
23847// Header returns an http.Header that can be modified by the caller to
23848// add HTTP headers to the request.
23849func (c *AdvertisersLineItemsListCall) Header() http.Header {
23850	if c.header_ == nil {
23851		c.header_ = make(http.Header)
23852	}
23853	return c.header_
23854}
23855
23856func (c *AdvertisersLineItemsListCall) doRequest(alt string) (*http.Response, error) {
23857	reqHeaders := make(http.Header)
23858	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
23859	for k, v := range c.header_ {
23860		reqHeaders[k] = v
23861	}
23862	reqHeaders.Set("User-Agent", c.s.userAgent())
23863	if c.ifNoneMatch_ != "" {
23864		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23865	}
23866	var body io.Reader = nil
23867	c.urlParams_.Set("alt", alt)
23868	c.urlParams_.Set("prettyPrint", "false")
23869	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems")
23870	urls += "?" + c.urlParams_.Encode()
23871	req, err := http.NewRequest("GET", urls, body)
23872	if err != nil {
23873		return nil, err
23874	}
23875	req.Header = reqHeaders
23876	googleapi.Expand(req.URL, map[string]string{
23877		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23878	})
23879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23880}
23881
23882// Do executes the "displayvideo.advertisers.lineItems.list" call.
23883// Exactly one of *ListLineItemsResponse or error will be non-nil. Any
23884// non-2xx status code is an error. Response headers are in either
23885// *ListLineItemsResponse.ServerResponse.Header or (if a response was
23886// returned at all) in error.(*googleapi.Error).Header. Use
23887// googleapi.IsNotModified to check whether the returned error was
23888// because http.StatusNotModified was returned.
23889func (c *AdvertisersLineItemsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemsResponse, error) {
23890	gensupport.SetOptions(c.urlParams_, opts...)
23891	res, err := c.doRequest("json")
23892	if res != nil && res.StatusCode == http.StatusNotModified {
23893		if res.Body != nil {
23894			res.Body.Close()
23895		}
23896		return nil, &googleapi.Error{
23897			Code:   res.StatusCode,
23898			Header: res.Header,
23899		}
23900	}
23901	if err != nil {
23902		return nil, err
23903	}
23904	defer googleapi.CloseBody(res)
23905	if err := googleapi.CheckResponse(res); err != nil {
23906		return nil, err
23907	}
23908	ret := &ListLineItemsResponse{
23909		ServerResponse: googleapi.ServerResponse{
23910			Header:         res.Header,
23911			HTTPStatusCode: res.StatusCode,
23912		},
23913	}
23914	target := &ret
23915	if err := gensupport.DecodeResponse(target, res); err != nil {
23916		return nil, err
23917	}
23918	return ret, nil
23919	// {
23920	//   "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.",
23921	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems",
23922	//   "httpMethod": "GET",
23923	//   "id": "displayvideo.advertisers.lineItems.list",
23924	//   "parameterOrder": [
23925	//     "advertiserId"
23926	//   ],
23927	//   "parameters": {
23928	//     "advertiserId": {
23929	//       "description": "Required. The ID of the advertiser to list line items for.",
23930	//       "format": "int64",
23931	//       "location": "path",
23932	//       "pattern": "^[^/]+$",
23933	//       "required": true,
23934	//       "type": "string"
23935	//     },
23936	//     "filter": {
23937	//       "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.",
23938	//       "location": "query",
23939	//       "type": "string"
23940	//     },
23941	//     "orderBy": {
23942	//       "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`.",
23943	//       "location": "query",
23944	//       "type": "string"
23945	//     },
23946	//     "pageSize": {
23947	//       "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.",
23948	//       "format": "int32",
23949	//       "location": "query",
23950	//       "type": "integer"
23951	//     },
23952	//     "pageToken": {
23953	//       "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.",
23954	//       "location": "query",
23955	//       "type": "string"
23956	//     }
23957	//   },
23958	//   "path": "v1/advertisers/{+advertiserId}/lineItems",
23959	//   "response": {
23960	//     "$ref": "ListLineItemsResponse"
23961	//   },
23962	//   "scopes": [
23963	//     "https://www.googleapis.com/auth/display-video"
23964	//   ]
23965	// }
23966
23967}
23968
23969// Pages invokes f for each page of results.
23970// A non-nil error returned from f will halt the iteration.
23971// The provided context supersedes any context provided to the Context method.
23972func (c *AdvertisersLineItemsListCall) Pages(ctx context.Context, f func(*ListLineItemsResponse) error) error {
23973	c.ctx_ = ctx
23974	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23975	for {
23976		x, err := c.Do()
23977		if err != nil {
23978			return err
23979		}
23980		if err := f(x); err != nil {
23981			return err
23982		}
23983		if x.NextPageToken == "" {
23984			return nil
23985		}
23986		c.PageToken(x.NextPageToken)
23987	}
23988}
23989
23990// method id "displayvideo.advertisers.lineItems.patch":
23991
23992type AdvertisersLineItemsPatchCall struct {
23993	s            *Service
23994	advertiserId int64
23995	lineItemId   int64
23996	lineitem     *LineItem
23997	urlParams_   gensupport.URLParams
23998	ctx_         context.Context
23999	header_      http.Header
24000}
24001
24002// Patch: Updates an existing line item. Returns the updated line item
24003// if successful.
24004//
24005// - advertiserId: Output only. The unique ID of the advertiser the line
24006//   item belongs to.
24007// - lineItemId: Output only. The unique ID of the line item. Assigned
24008//   by the system.
24009func (r *AdvertisersLineItemsService) Patch(advertiserId int64, lineItemId int64, lineitem *LineItem) *AdvertisersLineItemsPatchCall {
24010	c := &AdvertisersLineItemsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24011	c.advertiserId = advertiserId
24012	c.lineItemId = lineItemId
24013	c.lineitem = lineitem
24014	return c
24015}
24016
24017// UpdateMask sets the optional parameter "updateMask": Required. The
24018// mask to control which fields to update.
24019func (c *AdvertisersLineItemsPatchCall) UpdateMask(updateMask string) *AdvertisersLineItemsPatchCall {
24020	c.urlParams_.Set("updateMask", updateMask)
24021	return c
24022}
24023
24024// Fields allows partial responses to be retrieved. See
24025// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24026// for more information.
24027func (c *AdvertisersLineItemsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsPatchCall {
24028	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24029	return c
24030}
24031
24032// Context sets the context to be used in this call's Do method. Any
24033// pending HTTP request will be aborted if the provided context is
24034// canceled.
24035func (c *AdvertisersLineItemsPatchCall) Context(ctx context.Context) *AdvertisersLineItemsPatchCall {
24036	c.ctx_ = ctx
24037	return c
24038}
24039
24040// Header returns an http.Header that can be modified by the caller to
24041// add HTTP headers to the request.
24042func (c *AdvertisersLineItemsPatchCall) Header() http.Header {
24043	if c.header_ == nil {
24044		c.header_ = make(http.Header)
24045	}
24046	return c.header_
24047}
24048
24049func (c *AdvertisersLineItemsPatchCall) doRequest(alt string) (*http.Response, error) {
24050	reqHeaders := make(http.Header)
24051	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
24052	for k, v := range c.header_ {
24053		reqHeaders[k] = v
24054	}
24055	reqHeaders.Set("User-Agent", c.s.userAgent())
24056	var body io.Reader = nil
24057	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
24058	if err != nil {
24059		return nil, err
24060	}
24061	reqHeaders.Set("Content-Type", "application/json")
24062	c.urlParams_.Set("alt", alt)
24063	c.urlParams_.Set("prettyPrint", "false")
24064	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
24065	urls += "?" + c.urlParams_.Encode()
24066	req, err := http.NewRequest("PATCH", urls, body)
24067	if err != nil {
24068		return nil, err
24069	}
24070	req.Header = reqHeaders
24071	googleapi.Expand(req.URL, map[string]string{
24072		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
24073		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
24074	})
24075	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24076}
24077
24078// Do executes the "displayvideo.advertisers.lineItems.patch" call.
24079// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
24080// code is an error. Response headers are in either
24081// *LineItem.ServerResponse.Header or (if a response was returned at
24082// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
24083// to check whether the returned error was because
24084// http.StatusNotModified was returned.
24085func (c *AdvertisersLineItemsPatchCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
24086	gensupport.SetOptions(c.urlParams_, opts...)
24087	res, err := c.doRequest("json")
24088	if res != nil && res.StatusCode == http.StatusNotModified {
24089		if res.Body != nil {
24090			res.Body.Close()
24091		}
24092		return nil, &googleapi.Error{
24093			Code:   res.StatusCode,
24094			Header: res.Header,
24095		}
24096	}
24097	if err != nil {
24098		return nil, err
24099	}
24100	defer googleapi.CloseBody(res)
24101	if err := googleapi.CheckResponse(res); err != nil {
24102		return nil, err
24103	}
24104	ret := &LineItem{
24105		ServerResponse: googleapi.ServerResponse{
24106			Header:         res.Header,
24107			HTTPStatusCode: res.StatusCode,
24108		},
24109	}
24110	target := &ret
24111	if err := gensupport.DecodeResponse(target, res); err != nil {
24112		return nil, err
24113	}
24114	return ret, nil
24115	// {
24116	//   "description": "Updates an existing line item. Returns the updated line item if successful.",
24117	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
24118	//   "httpMethod": "PATCH",
24119	//   "id": "displayvideo.advertisers.lineItems.patch",
24120	//   "parameterOrder": [
24121	//     "advertiserId",
24122	//     "lineItemId"
24123	//   ],
24124	//   "parameters": {
24125	//     "advertiserId": {
24126	//       "description": "Output only. The unique ID of the advertiser the line item belongs to.",
24127	//       "format": "int64",
24128	//       "location": "path",
24129	//       "pattern": "^[^/]+$",
24130	//       "required": true,
24131	//       "type": "string"
24132	//     },
24133	//     "lineItemId": {
24134	//       "description": "Output only. The unique ID of the line item. Assigned by the system.",
24135	//       "format": "int64",
24136	//       "location": "path",
24137	//       "pattern": "^[^/]+$",
24138	//       "required": true,
24139	//       "type": "string"
24140	//     },
24141	//     "updateMask": {
24142	//       "description": "Required. The mask to control which fields to update.",
24143	//       "format": "google-fieldmask",
24144	//       "location": "query",
24145	//       "type": "string"
24146	//     }
24147	//   },
24148	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
24149	//   "request": {
24150	//     "$ref": "LineItem"
24151	//   },
24152	//   "response": {
24153	//     "$ref": "LineItem"
24154	//   },
24155	//   "scopes": [
24156	//     "https://www.googleapis.com/auth/display-video"
24157	//   ]
24158	// }
24159
24160}
24161
24162// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create":
24163
24164type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall struct {
24165	s                       *Service
24166	advertiserId            int64
24167	lineItemId              int64
24168	targetingType           string
24169	assignedtargetingoption *AssignedTargetingOption
24170	urlParams_              gensupport.URLParams
24171	ctx_                    context.Context
24172	header_                 http.Header
24173}
24174
24175// Create: Assigns a targeting option to a line item. Returns the
24176// assigned targeting option if successful.
24177//
24178// - advertiserId: The ID of the advertiser the line item belongs to.
24179// - lineItemId: The ID of the line item the assigned targeting option
24180//   will belong to.
24181// - targetingType: Identifies the type of this assigned targeting
24182//   option.
24183func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, lineItemId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
24184	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24185	c.advertiserId = advertiserId
24186	c.lineItemId = lineItemId
24187	c.targetingType = targetingType
24188	c.assignedtargetingoption = assignedtargetingoption
24189	return c
24190}
24191
24192// Fields allows partial responses to be retrieved. See
24193// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24194// for more information.
24195func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
24196	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24197	return c
24198}
24199
24200// Context sets the context to be used in this call's Do method. Any
24201// pending HTTP request will be aborted if the provided context is
24202// canceled.
24203func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
24204	c.ctx_ = ctx
24205	return c
24206}
24207
24208// Header returns an http.Header that can be modified by the caller to
24209// add HTTP headers to the request.
24210func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
24211	if c.header_ == nil {
24212		c.header_ = make(http.Header)
24213	}
24214	return c.header_
24215}
24216
24217func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
24218	reqHeaders := make(http.Header)
24219	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
24220	for k, v := range c.header_ {
24221		reqHeaders[k] = v
24222	}
24223	reqHeaders.Set("User-Agent", c.s.userAgent())
24224	var body io.Reader = nil
24225	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
24226	if err != nil {
24227		return nil, err
24228	}
24229	reqHeaders.Set("Content-Type", "application/json")
24230	c.urlParams_.Set("alt", alt)
24231	c.urlParams_.Set("prettyPrint", "false")
24232	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
24233	urls += "?" + c.urlParams_.Encode()
24234	req, err := http.NewRequest("POST", urls, body)
24235	if err != nil {
24236		return nil, err
24237	}
24238	req.Header = reqHeaders
24239	googleapi.Expand(req.URL, map[string]string{
24240		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
24241		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
24242		"targetingType": c.targetingType,
24243	})
24244	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24245}
24246
24247// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create" call.
24248// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
24249// non-2xx status code is an error. Response headers are in either
24250// *AssignedTargetingOption.ServerResponse.Header or (if a response was
24251// returned at all) in error.(*googleapi.Error).Header. Use
24252// googleapi.IsNotModified to check whether the returned error was
24253// because http.StatusNotModified was returned.
24254func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
24255	gensupport.SetOptions(c.urlParams_, opts...)
24256	res, err := c.doRequest("json")
24257	if res != nil && res.StatusCode == http.StatusNotModified {
24258		if res.Body != nil {
24259			res.Body.Close()
24260		}
24261		return nil, &googleapi.Error{
24262			Code:   res.StatusCode,
24263			Header: res.Header,
24264		}
24265	}
24266	if err != nil {
24267		return nil, err
24268	}
24269	defer googleapi.CloseBody(res)
24270	if err := googleapi.CheckResponse(res); err != nil {
24271		return nil, err
24272	}
24273	ret := &AssignedTargetingOption{
24274		ServerResponse: googleapi.ServerResponse{
24275			Header:         res.Header,
24276			HTTPStatusCode: res.StatusCode,
24277		},
24278	}
24279	target := &ret
24280	if err := gensupport.DecodeResponse(target, res); err != nil {
24281		return nil, err
24282	}
24283	return ret, nil
24284	// {
24285	//   "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful.",
24286	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
24287	//   "httpMethod": "POST",
24288	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create",
24289	//   "parameterOrder": [
24290	//     "advertiserId",
24291	//     "lineItemId",
24292	//     "targetingType"
24293	//   ],
24294	//   "parameters": {
24295	//     "advertiserId": {
24296	//       "description": "Required. The ID of the advertiser the line item belongs to.",
24297	//       "format": "int64",
24298	//       "location": "path",
24299	//       "pattern": "^[^/]+$",
24300	//       "required": true,
24301	//       "type": "string"
24302	//     },
24303	//     "lineItemId": {
24304	//       "description": "Required. The ID of the line item the assigned targeting option will belong to.",
24305	//       "format": "int64",
24306	//       "location": "path",
24307	//       "pattern": "^[^/]+$",
24308	//       "required": true,
24309	//       "type": "string"
24310	//     },
24311	//     "targetingType": {
24312	//       "description": "Required. Identifies the type of this assigned targeting option.",
24313	//       "enum": [
24314	//         "TARGETING_TYPE_UNSPECIFIED",
24315	//         "TARGETING_TYPE_CHANNEL",
24316	//         "TARGETING_TYPE_APP_CATEGORY",
24317	//         "TARGETING_TYPE_APP",
24318	//         "TARGETING_TYPE_URL",
24319	//         "TARGETING_TYPE_DAY_AND_TIME",
24320	//         "TARGETING_TYPE_AGE_RANGE",
24321	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
24322	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
24323	//         "TARGETING_TYPE_GENDER",
24324	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
24325	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
24326	//         "TARGETING_TYPE_PARENTAL_STATUS",
24327	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
24328	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
24329	//         "TARGETING_TYPE_DEVICE_TYPE",
24330	//         "TARGETING_TYPE_AUDIENCE_GROUP",
24331	//         "TARGETING_TYPE_BROWSER",
24332	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
24333	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
24334	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
24335	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
24336	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
24337	//         "TARGETING_TYPE_ENVIRONMENT",
24338	//         "TARGETING_TYPE_CARRIER_AND_ISP",
24339	//         "TARGETING_TYPE_OPERATING_SYSTEM",
24340	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
24341	//         "TARGETING_TYPE_KEYWORD",
24342	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
24343	//         "TARGETING_TYPE_VIEWABILITY",
24344	//         "TARGETING_TYPE_CATEGORY",
24345	//         "TARGETING_TYPE_INVENTORY_SOURCE",
24346	//         "TARGETING_TYPE_LANGUAGE",
24347	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
24348	//         "TARGETING_TYPE_GEO_REGION",
24349	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
24350	//         "TARGETING_TYPE_EXCHANGE",
24351	//         "TARGETING_TYPE_SUB_EXCHANGE",
24352	//         "TARGETING_TYPE_POI",
24353	//         "TARGETING_TYPE_BUSINESS_CHAIN",
24354	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
24355	//         "TARGETING_TYPE_OMID"
24356	//       ],
24357	//       "enumDescriptions": [
24358	//         "Default value when type is not specified or is unknown in this version.",
24359	//         "Target a channel (a custom group of related websites or apps).",
24360	//         "Target an app category (for example, education or puzzle games).",
24361	//         "Target a specific app (for example, Angry Birds).",
24362	//         "Target a specific url (for example, quora.com).",
24363	//         "Target ads during a chosen time period on a specific day.",
24364	//         "Target ads to a specific age range (for example, 18-24).",
24365	//         "Target ads to the specified regions on a regional location list.",
24366	//         "Target ads to the specified points of interest on a proximity location list.",
24367	//         "Target ads to a specific gender (for example, female or male).",
24368	//         "Target a specific video player size for video ads.",
24369	//         "Target user rewarded content for video ads.",
24370	//         "Target ads to a specific parental status (for example, parent or not a parent).",
24371	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
24372	//         "Target ads in a specific content outstream position.",
24373	//         "Target ads to a specific device type (for example, tablet or connected TV).",
24374	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
24375	//         "Target ads to specific web browsers (for example, Chrome).",
24376	//         "Target ads to a specific household income range (for example, top 10%).",
24377	//         "Target ads in a specific on screen position.",
24378	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
24379	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
24380	//         "Filter website content by sensitive categories (for example, adult).",
24381	//         "Target ads to a specific environment (for example, web or app).",
24382	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
24383	//         "Target ads to a specific operating system (for example, macOS).",
24384	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
24385	//         "Target ads to a specific keyword (for example, dog or retriever).",
24386	//         "Target ads to a specific negative keyword list.",
24387	//         "Target ads to a specific viewability (for example, 80% viewable).",
24388	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
24389	//         "Purchase impressions from specific deals and auction packages.",
24390	//         "Target ads to a specific language (for example, English or Japanese).",
24391	//         "Target ads to ads.txt authorized sellers.",
24392	//         "Target ads to a specific regional location (for example, a city or state).",
24393	//         "Purchase impressions from a group of deals and auction packages.",
24394	//         "Purchase impressions from specific exchanges.",
24395	//         "Purchase impressions from specific sub-exchanges.",
24396	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
24397	//         "Target ads around locations of a business chain within a specific geo region.",
24398	//         "Target ads to a specific native content position.",
24399	//         "Target ads in an Open Measurement enabled inventory."
24400	//       ],
24401	//       "location": "path",
24402	//       "pattern": "^[^/]+$",
24403	//       "required": true,
24404	//       "type": "string"
24405	//     }
24406	//   },
24407	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
24408	//   "request": {
24409	//     "$ref": "AssignedTargetingOption"
24410	//   },
24411	//   "response": {
24412	//     "$ref": "AssignedTargetingOption"
24413	//   },
24414	//   "scopes": [
24415	//     "https://www.googleapis.com/auth/display-video"
24416	//   ]
24417	// }
24418
24419}
24420
24421// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete":
24422
24423type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall struct {
24424	s                         *Service
24425	advertiserId              int64
24426	lineItemId                int64
24427	targetingType             string
24428	assignedTargetingOptionId string
24429	urlParams_                gensupport.URLParams
24430	ctx_                      context.Context
24431	header_                   http.Header
24432}
24433
24434// Delete: Deletes an assigned targeting option from a line item.
24435//
24436// - advertiserId: The ID of the advertiser the line item belongs to.
24437// - assignedTargetingOptionId: The ID of the assigned targeting option
24438//   to delete.
24439// - lineItemId: The ID of the line item the assigned targeting option
24440//   belongs to.
24441// - targetingType: Identifies the type of this assigned targeting
24442//   option.
24443func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
24444	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24445	c.advertiserId = advertiserId
24446	c.lineItemId = lineItemId
24447	c.targetingType = targetingType
24448	c.assignedTargetingOptionId = assignedTargetingOptionId
24449	return c
24450}
24451
24452// Fields allows partial responses to be retrieved. See
24453// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24454// for more information.
24455func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
24456	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24457	return c
24458}
24459
24460// Context sets the context to be used in this call's Do method. Any
24461// pending HTTP request will be aborted if the provided context is
24462// canceled.
24463func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
24464	c.ctx_ = ctx
24465	return c
24466}
24467
24468// Header returns an http.Header that can be modified by the caller to
24469// add HTTP headers to the request.
24470func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
24471	if c.header_ == nil {
24472		c.header_ = make(http.Header)
24473	}
24474	return c.header_
24475}
24476
24477func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
24478	reqHeaders := make(http.Header)
24479	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
24480	for k, v := range c.header_ {
24481		reqHeaders[k] = v
24482	}
24483	reqHeaders.Set("User-Agent", c.s.userAgent())
24484	var body io.Reader = nil
24485	c.urlParams_.Set("alt", alt)
24486	c.urlParams_.Set("prettyPrint", "false")
24487	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
24488	urls += "?" + c.urlParams_.Encode()
24489	req, err := http.NewRequest("DELETE", urls, body)
24490	if err != nil {
24491		return nil, err
24492	}
24493	req.Header = reqHeaders
24494	googleapi.Expand(req.URL, map[string]string{
24495		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
24496		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
24497		"targetingType":             c.targetingType,
24498		"assignedTargetingOptionId": c.assignedTargetingOptionId,
24499	})
24500	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24501}
24502
24503// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete" call.
24504// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24505// code is an error. Response headers are in either
24506// *Empty.ServerResponse.Header or (if a response was returned at all)
24507// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24508// check whether the returned error was because http.StatusNotModified
24509// was returned.
24510func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24511	gensupport.SetOptions(c.urlParams_, opts...)
24512	res, err := c.doRequest("json")
24513	if res != nil && res.StatusCode == http.StatusNotModified {
24514		if res.Body != nil {
24515			res.Body.Close()
24516		}
24517		return nil, &googleapi.Error{
24518			Code:   res.StatusCode,
24519			Header: res.Header,
24520		}
24521	}
24522	if err != nil {
24523		return nil, err
24524	}
24525	defer googleapi.CloseBody(res)
24526	if err := googleapi.CheckResponse(res); err != nil {
24527		return nil, err
24528	}
24529	ret := &Empty{
24530		ServerResponse: googleapi.ServerResponse{
24531			Header:         res.Header,
24532			HTTPStatusCode: res.StatusCode,
24533		},
24534	}
24535	target := &ret
24536	if err := gensupport.DecodeResponse(target, res); err != nil {
24537		return nil, err
24538	}
24539	return ret, nil
24540	// {
24541	//   "description": "Deletes an assigned targeting option from a line item.",
24542	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
24543	//   "httpMethod": "DELETE",
24544	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete",
24545	//   "parameterOrder": [
24546	//     "advertiserId",
24547	//     "lineItemId",
24548	//     "targetingType",
24549	//     "assignedTargetingOptionId"
24550	//   ],
24551	//   "parameters": {
24552	//     "advertiserId": {
24553	//       "description": "Required. The ID of the advertiser the line item belongs to.",
24554	//       "format": "int64",
24555	//       "location": "path",
24556	//       "pattern": "^[^/]+$",
24557	//       "required": true,
24558	//       "type": "string"
24559	//     },
24560	//     "assignedTargetingOptionId": {
24561	//       "description": "Required. The ID of the assigned targeting option to delete.",
24562	//       "location": "path",
24563	//       "pattern": "^[^/]+$",
24564	//       "required": true,
24565	//       "type": "string"
24566	//     },
24567	//     "lineItemId": {
24568	//       "description": "Required. The ID of the line item the assigned targeting option belongs to.",
24569	//       "format": "int64",
24570	//       "location": "path",
24571	//       "pattern": "^[^/]+$",
24572	//       "required": true,
24573	//       "type": "string"
24574	//     },
24575	//     "targetingType": {
24576	//       "description": "Required. Identifies the type of this assigned targeting option.",
24577	//       "enum": [
24578	//         "TARGETING_TYPE_UNSPECIFIED",
24579	//         "TARGETING_TYPE_CHANNEL",
24580	//         "TARGETING_TYPE_APP_CATEGORY",
24581	//         "TARGETING_TYPE_APP",
24582	//         "TARGETING_TYPE_URL",
24583	//         "TARGETING_TYPE_DAY_AND_TIME",
24584	//         "TARGETING_TYPE_AGE_RANGE",
24585	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
24586	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
24587	//         "TARGETING_TYPE_GENDER",
24588	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
24589	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
24590	//         "TARGETING_TYPE_PARENTAL_STATUS",
24591	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
24592	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
24593	//         "TARGETING_TYPE_DEVICE_TYPE",
24594	//         "TARGETING_TYPE_AUDIENCE_GROUP",
24595	//         "TARGETING_TYPE_BROWSER",
24596	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
24597	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
24598	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
24599	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
24600	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
24601	//         "TARGETING_TYPE_ENVIRONMENT",
24602	//         "TARGETING_TYPE_CARRIER_AND_ISP",
24603	//         "TARGETING_TYPE_OPERATING_SYSTEM",
24604	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
24605	//         "TARGETING_TYPE_KEYWORD",
24606	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
24607	//         "TARGETING_TYPE_VIEWABILITY",
24608	//         "TARGETING_TYPE_CATEGORY",
24609	//         "TARGETING_TYPE_INVENTORY_SOURCE",
24610	//         "TARGETING_TYPE_LANGUAGE",
24611	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
24612	//         "TARGETING_TYPE_GEO_REGION",
24613	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
24614	//         "TARGETING_TYPE_EXCHANGE",
24615	//         "TARGETING_TYPE_SUB_EXCHANGE",
24616	//         "TARGETING_TYPE_POI",
24617	//         "TARGETING_TYPE_BUSINESS_CHAIN",
24618	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
24619	//         "TARGETING_TYPE_OMID"
24620	//       ],
24621	//       "enumDescriptions": [
24622	//         "Default value when type is not specified or is unknown in this version.",
24623	//         "Target a channel (a custom group of related websites or apps).",
24624	//         "Target an app category (for example, education or puzzle games).",
24625	//         "Target a specific app (for example, Angry Birds).",
24626	//         "Target a specific url (for example, quora.com).",
24627	//         "Target ads during a chosen time period on a specific day.",
24628	//         "Target ads to a specific age range (for example, 18-24).",
24629	//         "Target ads to the specified regions on a regional location list.",
24630	//         "Target ads to the specified points of interest on a proximity location list.",
24631	//         "Target ads to a specific gender (for example, female or male).",
24632	//         "Target a specific video player size for video ads.",
24633	//         "Target user rewarded content for video ads.",
24634	//         "Target ads to a specific parental status (for example, parent or not a parent).",
24635	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
24636	//         "Target ads in a specific content outstream position.",
24637	//         "Target ads to a specific device type (for example, tablet or connected TV).",
24638	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
24639	//         "Target ads to specific web browsers (for example, Chrome).",
24640	//         "Target ads to a specific household income range (for example, top 10%).",
24641	//         "Target ads in a specific on screen position.",
24642	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
24643	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
24644	//         "Filter website content by sensitive categories (for example, adult).",
24645	//         "Target ads to a specific environment (for example, web or app).",
24646	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
24647	//         "Target ads to a specific operating system (for example, macOS).",
24648	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
24649	//         "Target ads to a specific keyword (for example, dog or retriever).",
24650	//         "Target ads to a specific negative keyword list.",
24651	//         "Target ads to a specific viewability (for example, 80% viewable).",
24652	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
24653	//         "Purchase impressions from specific deals and auction packages.",
24654	//         "Target ads to a specific language (for example, English or Japanese).",
24655	//         "Target ads to ads.txt authorized sellers.",
24656	//         "Target ads to a specific regional location (for example, a city or state).",
24657	//         "Purchase impressions from a group of deals and auction packages.",
24658	//         "Purchase impressions from specific exchanges.",
24659	//         "Purchase impressions from specific sub-exchanges.",
24660	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
24661	//         "Target ads around locations of a business chain within a specific geo region.",
24662	//         "Target ads to a specific native content position.",
24663	//         "Target ads in an Open Measurement enabled inventory."
24664	//       ],
24665	//       "location": "path",
24666	//       "pattern": "^[^/]+$",
24667	//       "required": true,
24668	//       "type": "string"
24669	//     }
24670	//   },
24671	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
24672	//   "response": {
24673	//     "$ref": "Empty"
24674	//   },
24675	//   "scopes": [
24676	//     "https://www.googleapis.com/auth/display-video"
24677	//   ]
24678	// }
24679
24680}
24681
24682// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get":
24683
24684type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall struct {
24685	s                         *Service
24686	advertiserId              int64
24687	lineItemId                int64
24688	targetingType             string
24689	assignedTargetingOptionId string
24690	urlParams_                gensupport.URLParams
24691	ifNoneMatch_              string
24692	ctx_                      context.Context
24693	header_                   http.Header
24694}
24695
24696// Get: Gets a single targeting option assigned to a line item.
24697//
24698// - advertiserId: The ID of the advertiser the line item belongs to.
24699// - assignedTargetingOptionId: An identifier unique to the targeting
24700//   type in this line item that identifies the assigned targeting
24701//   option being requested.
24702// - lineItemId: The ID of the line item the assigned targeting option
24703//   belongs to.
24704// - targetingType: Identifies the type of this assigned targeting
24705//   option.
24706func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24707	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24708	c.advertiserId = advertiserId
24709	c.lineItemId = lineItemId
24710	c.targetingType = targetingType
24711	c.assignedTargetingOptionId = assignedTargetingOptionId
24712	return c
24713}
24714
24715// Fields allows partial responses to be retrieved. See
24716// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24717// for more information.
24718func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24719	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24720	return c
24721}
24722
24723// IfNoneMatch sets the optional parameter which makes the operation
24724// fail if the object's ETag matches the given value. This is useful for
24725// getting updates only after the object has changed since the last
24726// request. Use googleapi.IsNotModified to check whether the response
24727// error from Do is the result of In-None-Match.
24728func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24729	c.ifNoneMatch_ = entityTag
24730	return c
24731}
24732
24733// Context sets the context to be used in this call's Do method. Any
24734// pending HTTP request will be aborted if the provided context is
24735// canceled.
24736func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
24737	c.ctx_ = ctx
24738	return c
24739}
24740
24741// Header returns an http.Header that can be modified by the caller to
24742// add HTTP headers to the request.
24743func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
24744	if c.header_ == nil {
24745		c.header_ = make(http.Header)
24746	}
24747	return c.header_
24748}
24749
24750func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
24751	reqHeaders := make(http.Header)
24752	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
24753	for k, v := range c.header_ {
24754		reqHeaders[k] = v
24755	}
24756	reqHeaders.Set("User-Agent", c.s.userAgent())
24757	if c.ifNoneMatch_ != "" {
24758		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24759	}
24760	var body io.Reader = nil
24761	c.urlParams_.Set("alt", alt)
24762	c.urlParams_.Set("prettyPrint", "false")
24763	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
24764	urls += "?" + c.urlParams_.Encode()
24765	req, err := http.NewRequest("GET", urls, body)
24766	if err != nil {
24767		return nil, err
24768	}
24769	req.Header = reqHeaders
24770	googleapi.Expand(req.URL, map[string]string{
24771		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
24772		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
24773		"targetingType":             c.targetingType,
24774		"assignedTargetingOptionId": c.assignedTargetingOptionId,
24775	})
24776	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24777}
24778
24779// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get" call.
24780// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
24781// non-2xx status code is an error. Response headers are in either
24782// *AssignedTargetingOption.ServerResponse.Header or (if a response was
24783// returned at all) in error.(*googleapi.Error).Header. Use
24784// googleapi.IsNotModified to check whether the returned error was
24785// because http.StatusNotModified was returned.
24786func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
24787	gensupport.SetOptions(c.urlParams_, opts...)
24788	res, err := c.doRequest("json")
24789	if res != nil && res.StatusCode == http.StatusNotModified {
24790		if res.Body != nil {
24791			res.Body.Close()
24792		}
24793		return nil, &googleapi.Error{
24794			Code:   res.StatusCode,
24795			Header: res.Header,
24796		}
24797	}
24798	if err != nil {
24799		return nil, err
24800	}
24801	defer googleapi.CloseBody(res)
24802	if err := googleapi.CheckResponse(res); err != nil {
24803		return nil, err
24804	}
24805	ret := &AssignedTargetingOption{
24806		ServerResponse: googleapi.ServerResponse{
24807			Header:         res.Header,
24808			HTTPStatusCode: res.StatusCode,
24809		},
24810	}
24811	target := &ret
24812	if err := gensupport.DecodeResponse(target, res); err != nil {
24813		return nil, err
24814	}
24815	return ret, nil
24816	// {
24817	//   "description": "Gets a single targeting option assigned to a line item.",
24818	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
24819	//   "httpMethod": "GET",
24820	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get",
24821	//   "parameterOrder": [
24822	//     "advertiserId",
24823	//     "lineItemId",
24824	//     "targetingType",
24825	//     "assignedTargetingOptionId"
24826	//   ],
24827	//   "parameters": {
24828	//     "advertiserId": {
24829	//       "description": "Required. The ID of the advertiser the line item belongs to.",
24830	//       "format": "int64",
24831	//       "location": "path",
24832	//       "pattern": "^[^/]+$",
24833	//       "required": true,
24834	//       "type": "string"
24835	//     },
24836	//     "assignedTargetingOptionId": {
24837	//       "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.",
24838	//       "location": "path",
24839	//       "pattern": "^[^/]+$",
24840	//       "required": true,
24841	//       "type": "string"
24842	//     },
24843	//     "lineItemId": {
24844	//       "description": "Required. The ID of the line item the assigned targeting option belongs to.",
24845	//       "format": "int64",
24846	//       "location": "path",
24847	//       "pattern": "^[^/]+$",
24848	//       "required": true,
24849	//       "type": "string"
24850	//     },
24851	//     "targetingType": {
24852	//       "description": "Required. Identifies the type of this assigned targeting option.",
24853	//       "enum": [
24854	//         "TARGETING_TYPE_UNSPECIFIED",
24855	//         "TARGETING_TYPE_CHANNEL",
24856	//         "TARGETING_TYPE_APP_CATEGORY",
24857	//         "TARGETING_TYPE_APP",
24858	//         "TARGETING_TYPE_URL",
24859	//         "TARGETING_TYPE_DAY_AND_TIME",
24860	//         "TARGETING_TYPE_AGE_RANGE",
24861	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
24862	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
24863	//         "TARGETING_TYPE_GENDER",
24864	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
24865	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
24866	//         "TARGETING_TYPE_PARENTAL_STATUS",
24867	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
24868	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
24869	//         "TARGETING_TYPE_DEVICE_TYPE",
24870	//         "TARGETING_TYPE_AUDIENCE_GROUP",
24871	//         "TARGETING_TYPE_BROWSER",
24872	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
24873	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
24874	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
24875	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
24876	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
24877	//         "TARGETING_TYPE_ENVIRONMENT",
24878	//         "TARGETING_TYPE_CARRIER_AND_ISP",
24879	//         "TARGETING_TYPE_OPERATING_SYSTEM",
24880	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
24881	//         "TARGETING_TYPE_KEYWORD",
24882	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
24883	//         "TARGETING_TYPE_VIEWABILITY",
24884	//         "TARGETING_TYPE_CATEGORY",
24885	//         "TARGETING_TYPE_INVENTORY_SOURCE",
24886	//         "TARGETING_TYPE_LANGUAGE",
24887	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
24888	//         "TARGETING_TYPE_GEO_REGION",
24889	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
24890	//         "TARGETING_TYPE_EXCHANGE",
24891	//         "TARGETING_TYPE_SUB_EXCHANGE",
24892	//         "TARGETING_TYPE_POI",
24893	//         "TARGETING_TYPE_BUSINESS_CHAIN",
24894	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
24895	//         "TARGETING_TYPE_OMID"
24896	//       ],
24897	//       "enumDescriptions": [
24898	//         "Default value when type is not specified or is unknown in this version.",
24899	//         "Target a channel (a custom group of related websites or apps).",
24900	//         "Target an app category (for example, education or puzzle games).",
24901	//         "Target a specific app (for example, Angry Birds).",
24902	//         "Target a specific url (for example, quora.com).",
24903	//         "Target ads during a chosen time period on a specific day.",
24904	//         "Target ads to a specific age range (for example, 18-24).",
24905	//         "Target ads to the specified regions on a regional location list.",
24906	//         "Target ads to the specified points of interest on a proximity location list.",
24907	//         "Target ads to a specific gender (for example, female or male).",
24908	//         "Target a specific video player size for video ads.",
24909	//         "Target user rewarded content for video ads.",
24910	//         "Target ads to a specific parental status (for example, parent or not a parent).",
24911	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
24912	//         "Target ads in a specific content outstream position.",
24913	//         "Target ads to a specific device type (for example, tablet or connected TV).",
24914	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
24915	//         "Target ads to specific web browsers (for example, Chrome).",
24916	//         "Target ads to a specific household income range (for example, top 10%).",
24917	//         "Target ads in a specific on screen position.",
24918	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
24919	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
24920	//         "Filter website content by sensitive categories (for example, adult).",
24921	//         "Target ads to a specific environment (for example, web or app).",
24922	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
24923	//         "Target ads to a specific operating system (for example, macOS).",
24924	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
24925	//         "Target ads to a specific keyword (for example, dog or retriever).",
24926	//         "Target ads to a specific negative keyword list.",
24927	//         "Target ads to a specific viewability (for example, 80% viewable).",
24928	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
24929	//         "Purchase impressions from specific deals and auction packages.",
24930	//         "Target ads to a specific language (for example, English or Japanese).",
24931	//         "Target ads to ads.txt authorized sellers.",
24932	//         "Target ads to a specific regional location (for example, a city or state).",
24933	//         "Purchase impressions from a group of deals and auction packages.",
24934	//         "Purchase impressions from specific exchanges.",
24935	//         "Purchase impressions from specific sub-exchanges.",
24936	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
24937	//         "Target ads around locations of a business chain within a specific geo region.",
24938	//         "Target ads to a specific native content position.",
24939	//         "Target ads in an Open Measurement enabled inventory."
24940	//       ],
24941	//       "location": "path",
24942	//       "pattern": "^[^/]+$",
24943	//       "required": true,
24944	//       "type": "string"
24945	//     }
24946	//   },
24947	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
24948	//   "response": {
24949	//     "$ref": "AssignedTargetingOption"
24950	//   },
24951	//   "scopes": [
24952	//     "https://www.googleapis.com/auth/display-video"
24953	//   ]
24954	// }
24955
24956}
24957
24958// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list":
24959
24960type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall struct {
24961	s             *Service
24962	advertiserId  int64
24963	lineItemId    int64
24964	targetingType string
24965	urlParams_    gensupport.URLParams
24966	ifNoneMatch_  string
24967	ctx_          context.Context
24968	header_       http.Header
24969}
24970
24971// List: Lists the targeting options assigned to a line item.
24972//
24973// - advertiserId: The ID of the advertiser the line item belongs to.
24974// - lineItemId: The ID of the line item to list assigned targeting
24975//   options for.
24976// - targetingType: Identifies the type of assigned targeting options to
24977//   list.
24978func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, lineItemId int64, targetingType string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24979	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24980	c.advertiserId = advertiserId
24981	c.lineItemId = lineItemId
24982	c.targetingType = targetingType
24983	return c
24984}
24985
24986// Filter sets the optional parameter "filter": Allows filtering by
24987// assigned targeting option properties. Supported syntax: * Filter
24988// expressions are made up of one or more restrictions. * Restrictions
24989// can be combined by the logical operator `OR`. * A restriction has the
24990// form of `{field} {operator} {value}`. * The operator must be `EQUALS
24991// (=)`. * Supported fields: - `assignedTargetingOptionId` -
24992// `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2
24993// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
24994// AssignedTargetingOptions with inheritance status of NOT_INHERITED or
24995// INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR
24996// inheritance="INHERITED_FROM_PARTNER" The length of this field should
24997// be no more than 500 characters.
24998func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
24999	c.urlParams_.Set("filter", filter)
25000	return c
25001}
25002
25003// OrderBy sets the optional parameter "orderBy": Field by which to sort
25004// the list. Acceptable values are: * `assignedTargetingOptionId`
25005// (default) The default sorting order is ascending. To specify
25006// descending order for a field, a suffix "desc" should be added to the
25007// field name. Example: `assignedTargetingOptionId desc`.
25008func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
25009	c.urlParams_.Set("orderBy", orderBy)
25010	return c
25011}
25012
25013// PageSize sets the optional parameter "pageSize": Requested page size.
25014// Must be between `1` and `5000`. If unspecified will default to `100`.
25015// Returns error code `INVALID_ARGUMENT` if an invalid value is
25016// specified.
25017func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
25018	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
25019	return c
25020}
25021
25022// PageToken sets the optional parameter "pageToken": A token
25023// identifying a page of results the server should return. Typically,
25024// this is the value of next_page_token returned from the previous call
25025// to `ListLineItemAssignedTargetingOptions` method. If not specified,
25026// the first page of results will be returned.
25027func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
25028	c.urlParams_.Set("pageToken", pageToken)
25029	return c
25030}
25031
25032// Fields allows partial responses to be retrieved. See
25033// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25034// for more information.
25035func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
25036	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25037	return c
25038}
25039
25040// IfNoneMatch sets the optional parameter which makes the operation
25041// fail if the object's ETag matches the given value. This is useful for
25042// getting updates only after the object has changed since the last
25043// request. Use googleapi.IsNotModified to check whether the response
25044// error from Do is the result of In-None-Match.
25045func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
25046	c.ifNoneMatch_ = entityTag
25047	return c
25048}
25049
25050// Context sets the context to be used in this call's Do method. Any
25051// pending HTTP request will be aborted if the provided context is
25052// canceled.
25053func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
25054	c.ctx_ = ctx
25055	return c
25056}
25057
25058// Header returns an http.Header that can be modified by the caller to
25059// add HTTP headers to the request.
25060func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
25061	if c.header_ == nil {
25062		c.header_ = make(http.Header)
25063	}
25064	return c.header_
25065}
25066
25067func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
25068	reqHeaders := make(http.Header)
25069	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
25070	for k, v := range c.header_ {
25071		reqHeaders[k] = v
25072	}
25073	reqHeaders.Set("User-Agent", c.s.userAgent())
25074	if c.ifNoneMatch_ != "" {
25075		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25076	}
25077	var body io.Reader = nil
25078	c.urlParams_.Set("alt", alt)
25079	c.urlParams_.Set("prettyPrint", "false")
25080	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
25081	urls += "?" + c.urlParams_.Encode()
25082	req, err := http.NewRequest("GET", urls, body)
25083	if err != nil {
25084		return nil, err
25085	}
25086	req.Header = reqHeaders
25087	googleapi.Expand(req.URL, map[string]string{
25088		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
25089		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
25090		"targetingType": c.targetingType,
25091	})
25092	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25093}
25094
25095// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list" call.
25096// Exactly one of *ListLineItemAssignedTargetingOptionsResponse or error
25097// will be non-nil. Any non-2xx status code is an error. Response
25098// headers are in either
25099// *ListLineItemAssignedTargetingOptionsResponse.ServerResponse.Header
25100// or (if a response was returned at all) in
25101// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25102// whether the returned error was because http.StatusNotModified was
25103// returned.
25104func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemAssignedTargetingOptionsResponse, error) {
25105	gensupport.SetOptions(c.urlParams_, opts...)
25106	res, err := c.doRequest("json")
25107	if res != nil && res.StatusCode == http.StatusNotModified {
25108		if res.Body != nil {
25109			res.Body.Close()
25110		}
25111		return nil, &googleapi.Error{
25112			Code:   res.StatusCode,
25113			Header: res.Header,
25114		}
25115	}
25116	if err != nil {
25117		return nil, err
25118	}
25119	defer googleapi.CloseBody(res)
25120	if err := googleapi.CheckResponse(res); err != nil {
25121		return nil, err
25122	}
25123	ret := &ListLineItemAssignedTargetingOptionsResponse{
25124		ServerResponse: googleapi.ServerResponse{
25125			Header:         res.Header,
25126			HTTPStatusCode: res.StatusCode,
25127		},
25128	}
25129	target := &ret
25130	if err := gensupport.DecodeResponse(target, res); err != nil {
25131		return nil, err
25132	}
25133	return ret, nil
25134	// {
25135	//   "description": "Lists the targeting options assigned to a line item.",
25136	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
25137	//   "httpMethod": "GET",
25138	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list",
25139	//   "parameterOrder": [
25140	//     "advertiserId",
25141	//     "lineItemId",
25142	//     "targetingType"
25143	//   ],
25144	//   "parameters": {
25145	//     "advertiserId": {
25146	//       "description": "Required. The ID of the advertiser the line item belongs to.",
25147	//       "format": "int64",
25148	//       "location": "path",
25149	//       "pattern": "^[^/]+$",
25150	//       "required": true,
25151	//       "type": "string"
25152	//     },
25153	//     "filter": {
25154	//       "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.",
25155	//       "location": "query",
25156	//       "type": "string"
25157	//     },
25158	//     "lineItemId": {
25159	//       "description": "Required. The ID of the line item to list assigned targeting options for.",
25160	//       "format": "int64",
25161	//       "location": "path",
25162	//       "pattern": "^[^/]+$",
25163	//       "required": true,
25164	//       "type": "string"
25165	//     },
25166	//     "orderBy": {
25167	//       "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`.",
25168	//       "location": "query",
25169	//       "type": "string"
25170	//     },
25171	//     "pageSize": {
25172	//       "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
25173	//       "format": "int32",
25174	//       "location": "query",
25175	//       "type": "integer"
25176	//     },
25177	//     "pageToken": {
25178	//       "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.",
25179	//       "location": "query",
25180	//       "type": "string"
25181	//     },
25182	//     "targetingType": {
25183	//       "description": "Required. Identifies the type of assigned targeting options to list.",
25184	//       "enum": [
25185	//         "TARGETING_TYPE_UNSPECIFIED",
25186	//         "TARGETING_TYPE_CHANNEL",
25187	//         "TARGETING_TYPE_APP_CATEGORY",
25188	//         "TARGETING_TYPE_APP",
25189	//         "TARGETING_TYPE_URL",
25190	//         "TARGETING_TYPE_DAY_AND_TIME",
25191	//         "TARGETING_TYPE_AGE_RANGE",
25192	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
25193	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
25194	//         "TARGETING_TYPE_GENDER",
25195	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
25196	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
25197	//         "TARGETING_TYPE_PARENTAL_STATUS",
25198	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
25199	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
25200	//         "TARGETING_TYPE_DEVICE_TYPE",
25201	//         "TARGETING_TYPE_AUDIENCE_GROUP",
25202	//         "TARGETING_TYPE_BROWSER",
25203	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
25204	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
25205	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
25206	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
25207	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
25208	//         "TARGETING_TYPE_ENVIRONMENT",
25209	//         "TARGETING_TYPE_CARRIER_AND_ISP",
25210	//         "TARGETING_TYPE_OPERATING_SYSTEM",
25211	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
25212	//         "TARGETING_TYPE_KEYWORD",
25213	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
25214	//         "TARGETING_TYPE_VIEWABILITY",
25215	//         "TARGETING_TYPE_CATEGORY",
25216	//         "TARGETING_TYPE_INVENTORY_SOURCE",
25217	//         "TARGETING_TYPE_LANGUAGE",
25218	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
25219	//         "TARGETING_TYPE_GEO_REGION",
25220	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
25221	//         "TARGETING_TYPE_EXCHANGE",
25222	//         "TARGETING_TYPE_SUB_EXCHANGE",
25223	//         "TARGETING_TYPE_POI",
25224	//         "TARGETING_TYPE_BUSINESS_CHAIN",
25225	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
25226	//         "TARGETING_TYPE_OMID"
25227	//       ],
25228	//       "enumDescriptions": [
25229	//         "Default value when type is not specified or is unknown in this version.",
25230	//         "Target a channel (a custom group of related websites or apps).",
25231	//         "Target an app category (for example, education or puzzle games).",
25232	//         "Target a specific app (for example, Angry Birds).",
25233	//         "Target a specific url (for example, quora.com).",
25234	//         "Target ads during a chosen time period on a specific day.",
25235	//         "Target ads to a specific age range (for example, 18-24).",
25236	//         "Target ads to the specified regions on a regional location list.",
25237	//         "Target ads to the specified points of interest on a proximity location list.",
25238	//         "Target ads to a specific gender (for example, female or male).",
25239	//         "Target a specific video player size for video ads.",
25240	//         "Target user rewarded content for video ads.",
25241	//         "Target ads to a specific parental status (for example, parent or not a parent).",
25242	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
25243	//         "Target ads in a specific content outstream position.",
25244	//         "Target ads to a specific device type (for example, tablet or connected TV).",
25245	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
25246	//         "Target ads to specific web browsers (for example, Chrome).",
25247	//         "Target ads to a specific household income range (for example, top 10%).",
25248	//         "Target ads in a specific on screen position.",
25249	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
25250	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
25251	//         "Filter website content by sensitive categories (for example, adult).",
25252	//         "Target ads to a specific environment (for example, web or app).",
25253	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
25254	//         "Target ads to a specific operating system (for example, macOS).",
25255	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
25256	//         "Target ads to a specific keyword (for example, dog or retriever).",
25257	//         "Target ads to a specific negative keyword list.",
25258	//         "Target ads to a specific viewability (for example, 80% viewable).",
25259	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
25260	//         "Purchase impressions from specific deals and auction packages.",
25261	//         "Target ads to a specific language (for example, English or Japanese).",
25262	//         "Target ads to ads.txt authorized sellers.",
25263	//         "Target ads to a specific regional location (for example, a city or state).",
25264	//         "Purchase impressions from a group of deals and auction packages.",
25265	//         "Purchase impressions from specific exchanges.",
25266	//         "Purchase impressions from specific sub-exchanges.",
25267	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
25268	//         "Target ads around locations of a business chain within a specific geo region.",
25269	//         "Target ads to a specific native content position.",
25270	//         "Target ads in an Open Measurement enabled inventory."
25271	//       ],
25272	//       "location": "path",
25273	//       "pattern": "^[^/]+$",
25274	//       "required": true,
25275	//       "type": "string"
25276	//     }
25277	//   },
25278	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
25279	//   "response": {
25280	//     "$ref": "ListLineItemAssignedTargetingOptionsResponse"
25281	//   },
25282	//   "scopes": [
25283	//     "https://www.googleapis.com/auth/display-video"
25284	//   ]
25285	// }
25286
25287}
25288
25289// Pages invokes f for each page of results.
25290// A non-nil error returned from f will halt the iteration.
25291// The provided context supersedes any context provided to the Context method.
25292func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListLineItemAssignedTargetingOptionsResponse) error) error {
25293	c.ctx_ = ctx
25294	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25295	for {
25296		x, err := c.Do()
25297		if err != nil {
25298			return err
25299		}
25300		if err := f(x); err != nil {
25301			return err
25302		}
25303		if x.NextPageToken == "" {
25304			return nil
25305		}
25306		c.PageToken(x.NextPageToken)
25307	}
25308}
25309
25310// method id "displayvideo.advertisers.locationLists.create":
25311
25312type AdvertisersLocationListsCreateCall struct {
25313	s            *Service
25314	advertiserId int64
25315	locationlist *LocationList
25316	urlParams_   gensupport.URLParams
25317	ctx_         context.Context
25318	header_      http.Header
25319}
25320
25321// Create: Creates a new location list. Returns the newly created
25322// location list if successful.
25323//
25324// - advertiserId: The ID of the DV360 advertiser to which the location
25325//   list belongs.
25326func (r *AdvertisersLocationListsService) Create(advertiserId int64, locationlist *LocationList) *AdvertisersLocationListsCreateCall {
25327	c := &AdvertisersLocationListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25328	c.advertiserId = advertiserId
25329	c.locationlist = locationlist
25330	return c
25331}
25332
25333// Fields allows partial responses to be retrieved. See
25334// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25335// for more information.
25336func (c *AdvertisersLocationListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsCreateCall {
25337	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25338	return c
25339}
25340
25341// Context sets the context to be used in this call's Do method. Any
25342// pending HTTP request will be aborted if the provided context is
25343// canceled.
25344func (c *AdvertisersLocationListsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsCreateCall {
25345	c.ctx_ = ctx
25346	return c
25347}
25348
25349// Header returns an http.Header that can be modified by the caller to
25350// add HTTP headers to the request.
25351func (c *AdvertisersLocationListsCreateCall) Header() http.Header {
25352	if c.header_ == nil {
25353		c.header_ = make(http.Header)
25354	}
25355	return c.header_
25356}
25357
25358func (c *AdvertisersLocationListsCreateCall) doRequest(alt string) (*http.Response, error) {
25359	reqHeaders := make(http.Header)
25360	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
25361	for k, v := range c.header_ {
25362		reqHeaders[k] = v
25363	}
25364	reqHeaders.Set("User-Agent", c.s.userAgent())
25365	var body io.Reader = nil
25366	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
25367	if err != nil {
25368		return nil, err
25369	}
25370	reqHeaders.Set("Content-Type", "application/json")
25371	c.urlParams_.Set("alt", alt)
25372	c.urlParams_.Set("prettyPrint", "false")
25373	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists")
25374	urls += "?" + c.urlParams_.Encode()
25375	req, err := http.NewRequest("POST", urls, body)
25376	if err != nil {
25377		return nil, err
25378	}
25379	req.Header = reqHeaders
25380	googleapi.Expand(req.URL, map[string]string{
25381		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
25382	})
25383	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25384}
25385
25386// Do executes the "displayvideo.advertisers.locationLists.create" call.
25387// Exactly one of *LocationList or error will be non-nil. Any non-2xx
25388// status code is an error. Response headers are in either
25389// *LocationList.ServerResponse.Header or (if a response was returned at
25390// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
25391// to check whether the returned error was because
25392// http.StatusNotModified was returned.
25393func (c *AdvertisersLocationListsCreateCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
25394	gensupport.SetOptions(c.urlParams_, opts...)
25395	res, err := c.doRequest("json")
25396	if res != nil && res.StatusCode == http.StatusNotModified {
25397		if res.Body != nil {
25398			res.Body.Close()
25399		}
25400		return nil, &googleapi.Error{
25401			Code:   res.StatusCode,
25402			Header: res.Header,
25403		}
25404	}
25405	if err != nil {
25406		return nil, err
25407	}
25408	defer googleapi.CloseBody(res)
25409	if err := googleapi.CheckResponse(res); err != nil {
25410		return nil, err
25411	}
25412	ret := &LocationList{
25413		ServerResponse: googleapi.ServerResponse{
25414			Header:         res.Header,
25415			HTTPStatusCode: res.StatusCode,
25416		},
25417	}
25418	target := &ret
25419	if err := gensupport.DecodeResponse(target, res); err != nil {
25420		return nil, err
25421	}
25422	return ret, nil
25423	// {
25424	//   "description": "Creates a new location list. Returns the newly created location list if successful.",
25425	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists",
25426	//   "httpMethod": "POST",
25427	//   "id": "displayvideo.advertisers.locationLists.create",
25428	//   "parameterOrder": [
25429	//     "advertiserId"
25430	//   ],
25431	//   "parameters": {
25432	//     "advertiserId": {
25433	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
25434	//       "format": "int64",
25435	//       "location": "path",
25436	//       "pattern": "^[^/]+$",
25437	//       "required": true,
25438	//       "type": "string"
25439	//     }
25440	//   },
25441	//   "path": "v1/advertisers/{+advertiserId}/locationLists",
25442	//   "request": {
25443	//     "$ref": "LocationList"
25444	//   },
25445	//   "response": {
25446	//     "$ref": "LocationList"
25447	//   },
25448	//   "scopes": [
25449	//     "https://www.googleapis.com/auth/display-video"
25450	//   ]
25451	// }
25452
25453}
25454
25455// method id "displayvideo.advertisers.locationLists.get":
25456
25457type AdvertisersLocationListsGetCall struct {
25458	s              *Service
25459	advertiserId   int64
25460	locationListId int64
25461	urlParams_     gensupport.URLParams
25462	ifNoneMatch_   string
25463	ctx_           context.Context
25464	header_        http.Header
25465}
25466
25467// Get: Gets a location list.
25468//
25469// - advertiserId: The ID of the DV360 advertiser to which the fetched
25470//   location list belongs.
25471// - locationListId: The ID of the location list to fetch.
25472func (r *AdvertisersLocationListsService) Get(advertiserId int64, locationListId int64) *AdvertisersLocationListsGetCall {
25473	c := &AdvertisersLocationListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25474	c.advertiserId = advertiserId
25475	c.locationListId = locationListId
25476	return c
25477}
25478
25479// Fields allows partial responses to be retrieved. See
25480// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25481// for more information.
25482func (c *AdvertisersLocationListsGetCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsGetCall {
25483	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25484	return c
25485}
25486
25487// IfNoneMatch sets the optional parameter which makes the operation
25488// fail if the object's ETag matches the given value. This is useful for
25489// getting updates only after the object has changed since the last
25490// request. Use googleapi.IsNotModified to check whether the response
25491// error from Do is the result of In-None-Match.
25492func (c *AdvertisersLocationListsGetCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsGetCall {
25493	c.ifNoneMatch_ = entityTag
25494	return c
25495}
25496
25497// Context sets the context to be used in this call's Do method. Any
25498// pending HTTP request will be aborted if the provided context is
25499// canceled.
25500func (c *AdvertisersLocationListsGetCall) Context(ctx context.Context) *AdvertisersLocationListsGetCall {
25501	c.ctx_ = ctx
25502	return c
25503}
25504
25505// Header returns an http.Header that can be modified by the caller to
25506// add HTTP headers to the request.
25507func (c *AdvertisersLocationListsGetCall) Header() http.Header {
25508	if c.header_ == nil {
25509		c.header_ = make(http.Header)
25510	}
25511	return c.header_
25512}
25513
25514func (c *AdvertisersLocationListsGetCall) doRequest(alt string) (*http.Response, error) {
25515	reqHeaders := make(http.Header)
25516	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
25517	for k, v := range c.header_ {
25518		reqHeaders[k] = v
25519	}
25520	reqHeaders.Set("User-Agent", c.s.userAgent())
25521	if c.ifNoneMatch_ != "" {
25522		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25523	}
25524	var body io.Reader = nil
25525	c.urlParams_.Set("alt", alt)
25526	c.urlParams_.Set("prettyPrint", "false")
25527	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists/{+locationListId}")
25528	urls += "?" + c.urlParams_.Encode()
25529	req, err := http.NewRequest("GET", urls, body)
25530	if err != nil {
25531		return nil, err
25532	}
25533	req.Header = reqHeaders
25534	googleapi.Expand(req.URL, map[string]string{
25535		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
25536		"locationListId": strconv.FormatInt(c.locationListId, 10),
25537	})
25538	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25539}
25540
25541// Do executes the "displayvideo.advertisers.locationLists.get" call.
25542// Exactly one of *LocationList or error will be non-nil. Any non-2xx
25543// status code is an error. Response headers are in either
25544// *LocationList.ServerResponse.Header or (if a response was returned at
25545// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
25546// to check whether the returned error was because
25547// http.StatusNotModified was returned.
25548func (c *AdvertisersLocationListsGetCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
25549	gensupport.SetOptions(c.urlParams_, opts...)
25550	res, err := c.doRequest("json")
25551	if res != nil && res.StatusCode == http.StatusNotModified {
25552		if res.Body != nil {
25553			res.Body.Close()
25554		}
25555		return nil, &googleapi.Error{
25556			Code:   res.StatusCode,
25557			Header: res.Header,
25558		}
25559	}
25560	if err != nil {
25561		return nil, err
25562	}
25563	defer googleapi.CloseBody(res)
25564	if err := googleapi.CheckResponse(res); err != nil {
25565		return nil, err
25566	}
25567	ret := &LocationList{
25568		ServerResponse: googleapi.ServerResponse{
25569			Header:         res.Header,
25570			HTTPStatusCode: res.StatusCode,
25571		},
25572	}
25573	target := &ret
25574	if err := gensupport.DecodeResponse(target, res); err != nil {
25575		return nil, err
25576	}
25577	return ret, nil
25578	// {
25579	//   "description": "Gets a location list.",
25580	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListsId}",
25581	//   "httpMethod": "GET",
25582	//   "id": "displayvideo.advertisers.locationLists.get",
25583	//   "parameterOrder": [
25584	//     "advertiserId",
25585	//     "locationListId"
25586	//   ],
25587	//   "parameters": {
25588	//     "advertiserId": {
25589	//       "description": "Required. The ID of the DV360 advertiser to which the fetched location list belongs.",
25590	//       "format": "int64",
25591	//       "location": "path",
25592	//       "pattern": "^[^/]+$",
25593	//       "required": true,
25594	//       "type": "string"
25595	//     },
25596	//     "locationListId": {
25597	//       "description": "Required. The ID of the location list to fetch.",
25598	//       "format": "int64",
25599	//       "location": "path",
25600	//       "pattern": "^[^/]+$",
25601	//       "required": true,
25602	//       "type": "string"
25603	//     }
25604	//   },
25605	//   "path": "v1/advertisers/{+advertiserId}/locationLists/{+locationListId}",
25606	//   "response": {
25607	//     "$ref": "LocationList"
25608	//   },
25609	//   "scopes": [
25610	//     "https://www.googleapis.com/auth/display-video"
25611	//   ]
25612	// }
25613
25614}
25615
25616// method id "displayvideo.advertisers.locationLists.list":
25617
25618type AdvertisersLocationListsListCall struct {
25619	s            *Service
25620	advertiserId int64
25621	urlParams_   gensupport.URLParams
25622	ifNoneMatch_ string
25623	ctx_         context.Context
25624	header_      http.Header
25625}
25626
25627// List: Lists location lists based on a given advertiser id.
25628//
25629// - advertiserId: The ID of the DV360 advertiser to which the fetched
25630//   location lists belong.
25631func (r *AdvertisersLocationListsService) List(advertiserId int64) *AdvertisersLocationListsListCall {
25632	c := &AdvertisersLocationListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25633	c.advertiserId = advertiserId
25634	return c
25635}
25636
25637// Filter sets the optional parameter "filter": Allows filtering by
25638// location list fields. Supported syntax: * Filter expressions are made
25639// up of one or more restrictions. * Restrictions can be combined by
25640// `AND` or `OR` logical operators. A sequence of restrictions
25641// implicitly uses `AND`. * A restriction has the form of `{field}
25642// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
25643// fields: - `locationType` Examples: * All regional location list:
25644// `locationType="TARGETING_LOCATION_TYPE_REGIONAL" * All proximity
25645// location list: `locationType="TARGETING_LOCATION_TYPE_PROXIMITY"
25646func (c *AdvertisersLocationListsListCall) Filter(filter string) *AdvertisersLocationListsListCall {
25647	c.urlParams_.Set("filter", filter)
25648	return c
25649}
25650
25651// OrderBy sets the optional parameter "orderBy": Field by which to sort
25652// the list. Acceptable values are: * `locationListId` (default) *
25653// `displayName` The default sorting order is ascending. To specify
25654// descending order for a field, a suffix "desc" should be added to the
25655// field name. Example: `displayName desc`.
25656func (c *AdvertisersLocationListsListCall) OrderBy(orderBy string) *AdvertisersLocationListsListCall {
25657	c.urlParams_.Set("orderBy", orderBy)
25658	return c
25659}
25660
25661// PageSize sets the optional parameter "pageSize": Requested page size.
25662// Must be between `1` and `100`. Defaults to `100` if not set. Returns
25663// error code `INVALID_ARGUMENT` if an invalid value is specified.
25664func (c *AdvertisersLocationListsListCall) PageSize(pageSize int64) *AdvertisersLocationListsListCall {
25665	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
25666	return c
25667}
25668
25669// PageToken sets the optional parameter "pageToken": A token
25670// identifying a page of results the server should return. Typically,
25671// this is the value of next_page_token returned from the previous call
25672// to `ListLocationLists` method. If not specified, the first page of
25673// results will be returned.
25674func (c *AdvertisersLocationListsListCall) PageToken(pageToken string) *AdvertisersLocationListsListCall {
25675	c.urlParams_.Set("pageToken", pageToken)
25676	return c
25677}
25678
25679// Fields allows partial responses to be retrieved. See
25680// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25681// for more information.
25682func (c *AdvertisersLocationListsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsListCall {
25683	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25684	return c
25685}
25686
25687// IfNoneMatch sets the optional parameter which makes the operation
25688// fail if the object's ETag matches the given value. This is useful for
25689// getting updates only after the object has changed since the last
25690// request. Use googleapi.IsNotModified to check whether the response
25691// error from Do is the result of In-None-Match.
25692func (c *AdvertisersLocationListsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsListCall {
25693	c.ifNoneMatch_ = entityTag
25694	return c
25695}
25696
25697// Context sets the context to be used in this call's Do method. Any
25698// pending HTTP request will be aborted if the provided context is
25699// canceled.
25700func (c *AdvertisersLocationListsListCall) Context(ctx context.Context) *AdvertisersLocationListsListCall {
25701	c.ctx_ = ctx
25702	return c
25703}
25704
25705// Header returns an http.Header that can be modified by the caller to
25706// add HTTP headers to the request.
25707func (c *AdvertisersLocationListsListCall) Header() http.Header {
25708	if c.header_ == nil {
25709		c.header_ = make(http.Header)
25710	}
25711	return c.header_
25712}
25713
25714func (c *AdvertisersLocationListsListCall) doRequest(alt string) (*http.Response, error) {
25715	reqHeaders := make(http.Header)
25716	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
25717	for k, v := range c.header_ {
25718		reqHeaders[k] = v
25719	}
25720	reqHeaders.Set("User-Agent", c.s.userAgent())
25721	if c.ifNoneMatch_ != "" {
25722		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25723	}
25724	var body io.Reader = nil
25725	c.urlParams_.Set("alt", alt)
25726	c.urlParams_.Set("prettyPrint", "false")
25727	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists")
25728	urls += "?" + c.urlParams_.Encode()
25729	req, err := http.NewRequest("GET", urls, body)
25730	if err != nil {
25731		return nil, err
25732	}
25733	req.Header = reqHeaders
25734	googleapi.Expand(req.URL, map[string]string{
25735		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
25736	})
25737	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25738}
25739
25740// Do executes the "displayvideo.advertisers.locationLists.list" call.
25741// Exactly one of *ListLocationListsResponse or error will be non-nil.
25742// Any non-2xx status code is an error. Response headers are in either
25743// *ListLocationListsResponse.ServerResponse.Header or (if a response
25744// was returned at all) in error.(*googleapi.Error).Header. Use
25745// googleapi.IsNotModified to check whether the returned error was
25746// because http.StatusNotModified was returned.
25747func (c *AdvertisersLocationListsListCall) Do(opts ...googleapi.CallOption) (*ListLocationListsResponse, error) {
25748	gensupport.SetOptions(c.urlParams_, opts...)
25749	res, err := c.doRequest("json")
25750	if res != nil && res.StatusCode == http.StatusNotModified {
25751		if res.Body != nil {
25752			res.Body.Close()
25753		}
25754		return nil, &googleapi.Error{
25755			Code:   res.StatusCode,
25756			Header: res.Header,
25757		}
25758	}
25759	if err != nil {
25760		return nil, err
25761	}
25762	defer googleapi.CloseBody(res)
25763	if err := googleapi.CheckResponse(res); err != nil {
25764		return nil, err
25765	}
25766	ret := &ListLocationListsResponse{
25767		ServerResponse: googleapi.ServerResponse{
25768			Header:         res.Header,
25769			HTTPStatusCode: res.StatusCode,
25770		},
25771	}
25772	target := &ret
25773	if err := gensupport.DecodeResponse(target, res); err != nil {
25774		return nil, err
25775	}
25776	return ret, nil
25777	// {
25778	//   "description": "Lists location lists based on a given advertiser id.",
25779	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists",
25780	//   "httpMethod": "GET",
25781	//   "id": "displayvideo.advertisers.locationLists.list",
25782	//   "parameterOrder": [
25783	//     "advertiserId"
25784	//   ],
25785	//   "parameters": {
25786	//     "advertiserId": {
25787	//       "description": "Required. The ID of the DV360 advertiser to which the fetched location lists belong.",
25788	//       "format": "int64",
25789	//       "location": "path",
25790	//       "pattern": "^[^/]+$",
25791	//       "required": true,
25792	//       "type": "string"
25793	//     },
25794	//     "filter": {
25795	//       "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\"`",
25796	//       "location": "query",
25797	//       "type": "string"
25798	//     },
25799	//     "orderBy": {
25800	//       "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`.",
25801	//       "location": "query",
25802	//       "type": "string"
25803	//     },
25804	//     "pageSize": {
25805	//       "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.",
25806	//       "format": "int32",
25807	//       "location": "query",
25808	//       "type": "integer"
25809	//     },
25810	//     "pageToken": {
25811	//       "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.",
25812	//       "location": "query",
25813	//       "type": "string"
25814	//     }
25815	//   },
25816	//   "path": "v1/advertisers/{+advertiserId}/locationLists",
25817	//   "response": {
25818	//     "$ref": "ListLocationListsResponse"
25819	//   },
25820	//   "scopes": [
25821	//     "https://www.googleapis.com/auth/display-video"
25822	//   ]
25823	// }
25824
25825}
25826
25827// Pages invokes f for each page of results.
25828// A non-nil error returned from f will halt the iteration.
25829// The provided context supersedes any context provided to the Context method.
25830func (c *AdvertisersLocationListsListCall) Pages(ctx context.Context, f func(*ListLocationListsResponse) error) error {
25831	c.ctx_ = ctx
25832	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25833	for {
25834		x, err := c.Do()
25835		if err != nil {
25836			return err
25837		}
25838		if err := f(x); err != nil {
25839			return err
25840		}
25841		if x.NextPageToken == "" {
25842			return nil
25843		}
25844		c.PageToken(x.NextPageToken)
25845	}
25846}
25847
25848// method id "displayvideo.advertisers.locationLists.patch":
25849
25850type AdvertisersLocationListsPatchCall struct {
25851	s              *Service
25852	advertiserId   int64
25853	locationListId int64
25854	locationlist   *LocationList
25855	urlParams_     gensupport.URLParams
25856	ctx_           context.Context
25857	header_        http.Header
25858}
25859
25860// Patch: Updates a location list. Returns the updated location list if
25861// successful.
25862//
25863// - advertiserId: The ID of the DV360 advertiser to which the location
25864//   lists belongs.
25865// - locationListId: Output only. The unique ID of the location list.
25866//   Assigned by the system.
25867func (r *AdvertisersLocationListsService) Patch(advertiserId int64, locationListId int64, locationlist *LocationList) *AdvertisersLocationListsPatchCall {
25868	c := &AdvertisersLocationListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25869	c.advertiserId = advertiserId
25870	c.locationListId = locationListId
25871	c.locationlist = locationlist
25872	return c
25873}
25874
25875// UpdateMask sets the optional parameter "updateMask": Required. The
25876// mask to control which fields to update.
25877func (c *AdvertisersLocationListsPatchCall) UpdateMask(updateMask string) *AdvertisersLocationListsPatchCall {
25878	c.urlParams_.Set("updateMask", updateMask)
25879	return c
25880}
25881
25882// Fields allows partial responses to be retrieved. See
25883// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25884// for more information.
25885func (c *AdvertisersLocationListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsPatchCall {
25886	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25887	return c
25888}
25889
25890// Context sets the context to be used in this call's Do method. Any
25891// pending HTTP request will be aborted if the provided context is
25892// canceled.
25893func (c *AdvertisersLocationListsPatchCall) Context(ctx context.Context) *AdvertisersLocationListsPatchCall {
25894	c.ctx_ = ctx
25895	return c
25896}
25897
25898// Header returns an http.Header that can be modified by the caller to
25899// add HTTP headers to the request.
25900func (c *AdvertisersLocationListsPatchCall) Header() http.Header {
25901	if c.header_ == nil {
25902		c.header_ = make(http.Header)
25903	}
25904	return c.header_
25905}
25906
25907func (c *AdvertisersLocationListsPatchCall) doRequest(alt string) (*http.Response, error) {
25908	reqHeaders := make(http.Header)
25909	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
25910	for k, v := range c.header_ {
25911		reqHeaders[k] = v
25912	}
25913	reqHeaders.Set("User-Agent", c.s.userAgent())
25914	var body io.Reader = nil
25915	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
25916	if err != nil {
25917		return nil, err
25918	}
25919	reqHeaders.Set("Content-Type", "application/json")
25920	c.urlParams_.Set("alt", alt)
25921	c.urlParams_.Set("prettyPrint", "false")
25922	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists/{locationListId}")
25923	urls += "?" + c.urlParams_.Encode()
25924	req, err := http.NewRequest("PATCH", urls, body)
25925	if err != nil {
25926		return nil, err
25927	}
25928	req.Header = reqHeaders
25929	googleapi.Expand(req.URL, map[string]string{
25930		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
25931		"locationListId": strconv.FormatInt(c.locationListId, 10),
25932	})
25933	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25934}
25935
25936// Do executes the "displayvideo.advertisers.locationLists.patch" call.
25937// Exactly one of *LocationList or error will be non-nil. Any non-2xx
25938// status code is an error. Response headers are in either
25939// *LocationList.ServerResponse.Header or (if a response was returned at
25940// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
25941// to check whether the returned error was because
25942// http.StatusNotModified was returned.
25943func (c *AdvertisersLocationListsPatchCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
25944	gensupport.SetOptions(c.urlParams_, opts...)
25945	res, err := c.doRequest("json")
25946	if res != nil && res.StatusCode == http.StatusNotModified {
25947		if res.Body != nil {
25948			res.Body.Close()
25949		}
25950		return nil, &googleapi.Error{
25951			Code:   res.StatusCode,
25952			Header: res.Header,
25953		}
25954	}
25955	if err != nil {
25956		return nil, err
25957	}
25958	defer googleapi.CloseBody(res)
25959	if err := googleapi.CheckResponse(res); err != nil {
25960		return nil, err
25961	}
25962	ret := &LocationList{
25963		ServerResponse: googleapi.ServerResponse{
25964			Header:         res.Header,
25965			HTTPStatusCode: res.StatusCode,
25966		},
25967	}
25968	target := &ret
25969	if err := gensupport.DecodeResponse(target, res); err != nil {
25970		return nil, err
25971	}
25972	return ret, nil
25973	// {
25974	//   "description": "Updates a location list. Returns the updated location list if successful.",
25975	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListId}",
25976	//   "httpMethod": "PATCH",
25977	//   "id": "displayvideo.advertisers.locationLists.patch",
25978	//   "parameterOrder": [
25979	//     "advertiserId",
25980	//     "locationListId"
25981	//   ],
25982	//   "parameters": {
25983	//     "advertiserId": {
25984	//       "description": "Required. The ID of the DV360 advertiser to which the location lists belongs.",
25985	//       "format": "int64",
25986	//       "location": "path",
25987	//       "pattern": "^[^/]+$",
25988	//       "required": true,
25989	//       "type": "string"
25990	//     },
25991	//     "locationListId": {
25992	//       "description": "Output only. The unique ID of the location list. Assigned by the system.",
25993	//       "format": "int64",
25994	//       "location": "path",
25995	//       "required": true,
25996	//       "type": "string"
25997	//     },
25998	//     "updateMask": {
25999	//       "description": "Required. The mask to control which fields to update.",
26000	//       "format": "google-fieldmask",
26001	//       "location": "query",
26002	//       "type": "string"
26003	//     }
26004	//   },
26005	//   "path": "v1/advertisers/{+advertiserId}/locationLists/{locationListId}",
26006	//   "request": {
26007	//     "$ref": "LocationList"
26008	//   },
26009	//   "response": {
26010	//     "$ref": "LocationList"
26011	//   },
26012	//   "scopes": [
26013	//     "https://www.googleapis.com/auth/display-video"
26014	//   ]
26015	// }
26016
26017}
26018
26019// method id "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit":
26020
26021type AdvertisersLocationListsAssignedLocationsBulkEditCall struct {
26022	s                                *Service
26023	advertiserId                     int64
26024	locationListId                   int64
26025	bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest
26026	urlParams_                       gensupport.URLParams
26027	ctx_                             context.Context
26028	header_                          http.Header
26029}
26030
26031// BulkEdit: Bulk edits multiple assignments between locations and a
26032// single location list. The operation will delete the assigned
26033// locations provided in
26034// BulkEditAssignedLocationsRequest.deleted_assigned_locations and then
26035// create the assigned locations provided in
26036// BulkEditAssignedLocationsRequest.created_assigned_locations.
26037//
26038// - advertiserId: The ID of the DV360 advertiser to which the location
26039//   list belongs.
26040// - locationListId: The ID of the location list to which these
26041//   assignments are assigned.
26042func (r *AdvertisersLocationListsAssignedLocationsService) BulkEdit(advertiserId int64, locationListId int64, bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
26043	c := &AdvertisersLocationListsAssignedLocationsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26044	c.advertiserId = advertiserId
26045	c.locationListId = locationListId
26046	c.bulkeditassignedlocationsrequest = bulkeditassignedlocationsrequest
26047	return c
26048}
26049
26050// Fields allows partial responses to be retrieved. See
26051// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26052// for more information.
26053func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
26054	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26055	return c
26056}
26057
26058// Context sets the context to be used in this call's Do method. Any
26059// pending HTTP request will be aborted if the provided context is
26060// canceled.
26061func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
26062	c.ctx_ = ctx
26063	return c
26064}
26065
26066// Header returns an http.Header that can be modified by the caller to
26067// add HTTP headers to the request.
26068func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Header() http.Header {
26069	if c.header_ == nil {
26070		c.header_ = make(http.Header)
26071	}
26072	return c.header_
26073}
26074
26075func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) doRequest(alt string) (*http.Response, error) {
26076	reqHeaders := make(http.Header)
26077	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
26078	for k, v := range c.header_ {
26079		reqHeaders[k] = v
26080	}
26081	reqHeaders.Set("User-Agent", c.s.userAgent())
26082	var body io.Reader = nil
26083	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedlocationsrequest)
26084	if err != nil {
26085		return nil, err
26086	}
26087	reqHeaders.Set("Content-Type", "application/json")
26088	c.urlParams_.Set("alt", alt)
26089	c.urlParams_.Set("prettyPrint", "false")
26090	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit")
26091	urls += "?" + c.urlParams_.Encode()
26092	req, err := http.NewRequest("POST", urls, body)
26093	if err != nil {
26094		return nil, err
26095	}
26096	req.Header = reqHeaders
26097	googleapi.Expand(req.URL, map[string]string{
26098		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
26099		"locationListId": strconv.FormatInt(c.locationListId, 10),
26100	})
26101	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26102}
26103
26104// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit" call.
26105// Exactly one of *BulkEditAssignedLocationsResponse or error will be
26106// non-nil. Any non-2xx status code is an error. Response headers are in
26107// either *BulkEditAssignedLocationsResponse.ServerResponse.Header or
26108// (if a response was returned at all) in
26109// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26110// whether the returned error was because http.StatusNotModified was
26111// returned.
26112func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedLocationsResponse, error) {
26113	gensupport.SetOptions(c.urlParams_, opts...)
26114	res, err := c.doRequest("json")
26115	if res != nil && res.StatusCode == http.StatusNotModified {
26116		if res.Body != nil {
26117			res.Body.Close()
26118		}
26119		return nil, &googleapi.Error{
26120			Code:   res.StatusCode,
26121			Header: res.Header,
26122		}
26123	}
26124	if err != nil {
26125		return nil, err
26126	}
26127	defer googleapi.CloseBody(res)
26128	if err := googleapi.CheckResponse(res); err != nil {
26129		return nil, err
26130	}
26131	ret := &BulkEditAssignedLocationsResponse{
26132		ServerResponse: googleapi.ServerResponse{
26133			Header:         res.Header,
26134			HTTPStatusCode: res.StatusCode,
26135		},
26136	}
26137	target := &ret
26138	if err := gensupport.DecodeResponse(target, res); err != nil {
26139		return nil, err
26140	}
26141	return ret, nil
26142	// {
26143	//   "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.",
26144	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit",
26145	//   "httpMethod": "POST",
26146	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit",
26147	//   "parameterOrder": [
26148	//     "advertiserId",
26149	//     "locationListId"
26150	//   ],
26151	//   "parameters": {
26152	//     "advertiserId": {
26153	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
26154	//       "format": "int64",
26155	//       "location": "path",
26156	//       "required": true,
26157	//       "type": "string"
26158	//     },
26159	//     "locationListId": {
26160	//       "description": "Required. The ID of the location list to which these assignments are assigned.",
26161	//       "format": "int64",
26162	//       "location": "path",
26163	//       "pattern": "^[^/]+$",
26164	//       "required": true,
26165	//       "type": "string"
26166	//     }
26167	//   },
26168	//   "path": "v1/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit",
26169	//   "request": {
26170	//     "$ref": "BulkEditAssignedLocationsRequest"
26171	//   },
26172	//   "response": {
26173	//     "$ref": "BulkEditAssignedLocationsResponse"
26174	//   },
26175	//   "scopes": [
26176	//     "https://www.googleapis.com/auth/display-video"
26177	//   ]
26178	// }
26179
26180}
26181
26182// method id "displayvideo.advertisers.locationLists.assignedLocations.create":
26183
26184type AdvertisersLocationListsAssignedLocationsCreateCall struct {
26185	s                *Service
26186	advertiserId     int64
26187	locationListId   int64
26188	assignedlocation *AssignedLocation
26189	urlParams_       gensupport.URLParams
26190	ctx_             context.Context
26191	header_          http.Header
26192}
26193
26194// Create: Creates an assignment between a location and a location list.
26195//
26196// - advertiserId: The ID of the DV360 advertiser to which the location
26197//   list belongs.
26198// - locationListId: The ID of the location list for which the
26199//   assignment will be created.
26200func (r *AdvertisersLocationListsAssignedLocationsService) Create(advertiserId int64, locationListId int64, assignedlocation *AssignedLocation) *AdvertisersLocationListsAssignedLocationsCreateCall {
26201	c := &AdvertisersLocationListsAssignedLocationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26202	c.advertiserId = advertiserId
26203	c.locationListId = locationListId
26204	c.assignedlocation = assignedlocation
26205	return c
26206}
26207
26208// Fields allows partial responses to be retrieved. See
26209// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26210// for more information.
26211func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsCreateCall {
26212	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26213	return c
26214}
26215
26216// Context sets the context to be used in this call's Do method. Any
26217// pending HTTP request will be aborted if the provided context is
26218// canceled.
26219func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsCreateCall {
26220	c.ctx_ = ctx
26221	return c
26222}
26223
26224// Header returns an http.Header that can be modified by the caller to
26225// add HTTP headers to the request.
26226func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Header() http.Header {
26227	if c.header_ == nil {
26228		c.header_ = make(http.Header)
26229	}
26230	return c.header_
26231}
26232
26233func (c *AdvertisersLocationListsAssignedLocationsCreateCall) doRequest(alt string) (*http.Response, error) {
26234	reqHeaders := make(http.Header)
26235	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
26236	for k, v := range c.header_ {
26237		reqHeaders[k] = v
26238	}
26239	reqHeaders.Set("User-Agent", c.s.userAgent())
26240	var body io.Reader = nil
26241	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedlocation)
26242	if err != nil {
26243		return nil, err
26244	}
26245	reqHeaders.Set("Content-Type", "application/json")
26246	c.urlParams_.Set("alt", alt)
26247	c.urlParams_.Set("prettyPrint", "false")
26248	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
26249	urls += "?" + c.urlParams_.Encode()
26250	req, err := http.NewRequest("POST", urls, body)
26251	if err != nil {
26252		return nil, err
26253	}
26254	req.Header = reqHeaders
26255	googleapi.Expand(req.URL, map[string]string{
26256		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
26257		"locationListId": strconv.FormatInt(c.locationListId, 10),
26258	})
26259	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26260}
26261
26262// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.create" call.
26263// Exactly one of *AssignedLocation or error will be non-nil. Any
26264// non-2xx status code is an error. Response headers are in either
26265// *AssignedLocation.ServerResponse.Header or (if a response was
26266// returned at all) in error.(*googleapi.Error).Header. Use
26267// googleapi.IsNotModified to check whether the returned error was
26268// because http.StatusNotModified was returned.
26269func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedLocation, error) {
26270	gensupport.SetOptions(c.urlParams_, opts...)
26271	res, err := c.doRequest("json")
26272	if res != nil && res.StatusCode == http.StatusNotModified {
26273		if res.Body != nil {
26274			res.Body.Close()
26275		}
26276		return nil, &googleapi.Error{
26277			Code:   res.StatusCode,
26278			Header: res.Header,
26279		}
26280	}
26281	if err != nil {
26282		return nil, err
26283	}
26284	defer googleapi.CloseBody(res)
26285	if err := googleapi.CheckResponse(res); err != nil {
26286		return nil, err
26287	}
26288	ret := &AssignedLocation{
26289		ServerResponse: googleapi.ServerResponse{
26290			Header:         res.Header,
26291			HTTPStatusCode: res.StatusCode,
26292		},
26293	}
26294	target := &ret
26295	if err := gensupport.DecodeResponse(target, res); err != nil {
26296		return nil, err
26297	}
26298	return ret, nil
26299	// {
26300	//   "description": "Creates an assignment between a location and a location list.",
26301	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
26302	//   "httpMethod": "POST",
26303	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.create",
26304	//   "parameterOrder": [
26305	//     "advertiserId",
26306	//     "locationListId"
26307	//   ],
26308	//   "parameters": {
26309	//     "advertiserId": {
26310	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
26311	//       "format": "int64",
26312	//       "location": "path",
26313	//       "required": true,
26314	//       "type": "string"
26315	//     },
26316	//     "locationListId": {
26317	//       "description": "Required. The ID of the location list for which the assignment will be created.",
26318	//       "format": "int64",
26319	//       "location": "path",
26320	//       "required": true,
26321	//       "type": "string"
26322	//     }
26323	//   },
26324	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
26325	//   "request": {
26326	//     "$ref": "AssignedLocation"
26327	//   },
26328	//   "response": {
26329	//     "$ref": "AssignedLocation"
26330	//   },
26331	//   "scopes": [
26332	//     "https://www.googleapis.com/auth/display-video"
26333	//   ]
26334	// }
26335
26336}
26337
26338// method id "displayvideo.advertisers.locationLists.assignedLocations.delete":
26339
26340type AdvertisersLocationListsAssignedLocationsDeleteCall struct {
26341	s                  *Service
26342	advertiserId       int64
26343	locationListId     int64
26344	assignedLocationId int64
26345	urlParams_         gensupport.URLParams
26346	ctx_               context.Context
26347	header_            http.Header
26348}
26349
26350// Delete: Deletes the assignment between a location and a location
26351// list.
26352//
26353// - advertiserId: The ID of the DV360 advertiser to which the location
26354//   list belongs.
26355// - assignedLocationId: The ID of the assigned location to delete.
26356// - locationListId: The ID of the location list to which this
26357//   assignment is assigned.
26358func (r *AdvertisersLocationListsAssignedLocationsService) Delete(advertiserId int64, locationListId int64, assignedLocationId int64) *AdvertisersLocationListsAssignedLocationsDeleteCall {
26359	c := &AdvertisersLocationListsAssignedLocationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26360	c.advertiserId = advertiserId
26361	c.locationListId = locationListId
26362	c.assignedLocationId = assignedLocationId
26363	return c
26364}
26365
26366// Fields allows partial responses to be retrieved. See
26367// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26368// for more information.
26369func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsDeleteCall {
26370	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26371	return c
26372}
26373
26374// Context sets the context to be used in this call's Do method. Any
26375// pending HTTP request will be aborted if the provided context is
26376// canceled.
26377func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsDeleteCall {
26378	c.ctx_ = ctx
26379	return c
26380}
26381
26382// Header returns an http.Header that can be modified by the caller to
26383// add HTTP headers to the request.
26384func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Header() http.Header {
26385	if c.header_ == nil {
26386		c.header_ = make(http.Header)
26387	}
26388	return c.header_
26389}
26390
26391func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) doRequest(alt string) (*http.Response, error) {
26392	reqHeaders := make(http.Header)
26393	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
26394	for k, v := range c.header_ {
26395		reqHeaders[k] = v
26396	}
26397	reqHeaders.Set("User-Agent", c.s.userAgent())
26398	var body io.Reader = nil
26399	c.urlParams_.Set("alt", alt)
26400	c.urlParams_.Set("prettyPrint", "false")
26401	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}")
26402	urls += "?" + c.urlParams_.Encode()
26403	req, err := http.NewRequest("DELETE", urls, body)
26404	if err != nil {
26405		return nil, err
26406	}
26407	req.Header = reqHeaders
26408	googleapi.Expand(req.URL, map[string]string{
26409		"advertiserId":       strconv.FormatInt(c.advertiserId, 10),
26410		"locationListId":     strconv.FormatInt(c.locationListId, 10),
26411		"assignedLocationId": strconv.FormatInt(c.assignedLocationId, 10),
26412	})
26413	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26414}
26415
26416// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.delete" call.
26417// Exactly one of *Empty or error will be non-nil. Any non-2xx status
26418// code is an error. Response headers are in either
26419// *Empty.ServerResponse.Header or (if a response was returned at all)
26420// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
26421// check whether the returned error was because http.StatusNotModified
26422// was returned.
26423func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
26424	gensupport.SetOptions(c.urlParams_, opts...)
26425	res, err := c.doRequest("json")
26426	if res != nil && res.StatusCode == http.StatusNotModified {
26427		if res.Body != nil {
26428			res.Body.Close()
26429		}
26430		return nil, &googleapi.Error{
26431			Code:   res.StatusCode,
26432			Header: res.Header,
26433		}
26434	}
26435	if err != nil {
26436		return nil, err
26437	}
26438	defer googleapi.CloseBody(res)
26439	if err := googleapi.CheckResponse(res); err != nil {
26440		return nil, err
26441	}
26442	ret := &Empty{
26443		ServerResponse: googleapi.ServerResponse{
26444			Header:         res.Header,
26445			HTTPStatusCode: res.StatusCode,
26446		},
26447	}
26448	target := &ret
26449	if err := gensupport.DecodeResponse(target, res); err != nil {
26450		return nil, err
26451	}
26452	return ret, nil
26453	// {
26454	//   "description": "Deletes the assignment between a location and a location list.",
26455	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId}",
26456	//   "httpMethod": "DELETE",
26457	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.delete",
26458	//   "parameterOrder": [
26459	//     "advertiserId",
26460	//     "locationListId",
26461	//     "assignedLocationId"
26462	//   ],
26463	//   "parameters": {
26464	//     "advertiserId": {
26465	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
26466	//       "format": "int64",
26467	//       "location": "path",
26468	//       "required": true,
26469	//       "type": "string"
26470	//     },
26471	//     "assignedLocationId": {
26472	//       "description": "Required. The ID of the assigned location to delete.",
26473	//       "format": "int64",
26474	//       "location": "path",
26475	//       "pattern": "^[^/]+$",
26476	//       "required": true,
26477	//       "type": "string"
26478	//     },
26479	//     "locationListId": {
26480	//       "description": "Required. The ID of the location list to which this assignment is assigned.",
26481	//       "format": "int64",
26482	//       "location": "path",
26483	//       "required": true,
26484	//       "type": "string"
26485	//     }
26486	//   },
26487	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}",
26488	//   "response": {
26489	//     "$ref": "Empty"
26490	//   },
26491	//   "scopes": [
26492	//     "https://www.googleapis.com/auth/display-video"
26493	//   ]
26494	// }
26495
26496}
26497
26498// method id "displayvideo.advertisers.locationLists.assignedLocations.list":
26499
26500type AdvertisersLocationListsAssignedLocationsListCall struct {
26501	s              *Service
26502	advertiserId   int64
26503	locationListId int64
26504	urlParams_     gensupport.URLParams
26505	ifNoneMatch_   string
26506	ctx_           context.Context
26507	header_        http.Header
26508}
26509
26510// List: Lists locations assigned to a location list.
26511//
26512// - advertiserId: The ID of the DV360 advertiser to which the location
26513//   list belongs.
26514// - locationListId: The ID of the location list to which these
26515//   assignments are assigned.
26516func (r *AdvertisersLocationListsAssignedLocationsService) List(advertiserId int64, locationListId int64) *AdvertisersLocationListsAssignedLocationsListCall {
26517	c := &AdvertisersLocationListsAssignedLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26518	c.advertiserId = advertiserId
26519	c.locationListId = locationListId
26520	return c
26521}
26522
26523// Filter sets the optional parameter "filter": Allows filtering by
26524// location list assignment fields. Supported syntax: * Filter
26525// expressions are made up of one or more restrictions. * Restrictions
26526// can be combined by the logical operator `OR`. * A restriction has the
26527// form of `{field} {operator} {value}`. * The operator must be `EQUALS
26528// (=)`. * Supported fields: - `assignedLocationId` The length of this
26529// field should be no more than 500 characters.
26530func (c *AdvertisersLocationListsAssignedLocationsListCall) Filter(filter string) *AdvertisersLocationListsAssignedLocationsListCall {
26531	c.urlParams_.Set("filter", filter)
26532	return c
26533}
26534
26535// OrderBy sets the optional parameter "orderBy": Field by which to sort
26536// the list. Acceptable values are: * `assignedLocationId` (default) The
26537// default sorting order is ascending. To specify descending order for a
26538// field, a suffix " desc" should be added to the field name. Example:
26539// `assignedLocationId desc`.
26540func (c *AdvertisersLocationListsAssignedLocationsListCall) OrderBy(orderBy string) *AdvertisersLocationListsAssignedLocationsListCall {
26541	c.urlParams_.Set("orderBy", orderBy)
26542	return c
26543}
26544
26545// PageSize sets the optional parameter "pageSize": Requested page size.
26546// Must be between `1` and `100`. If unspecified will default to `100`.
26547// Returns error code `INVALID_ARGUMENT` if an invalid value is
26548// specified.
26549func (c *AdvertisersLocationListsAssignedLocationsListCall) PageSize(pageSize int64) *AdvertisersLocationListsAssignedLocationsListCall {
26550	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26551	return c
26552}
26553
26554// PageToken sets the optional parameter "pageToken": A token
26555// identifying a page of results the server should return. Typically,
26556// this is the value of next_page_token returned from the previous call
26557// to `ListAssignedLocations` method. If not specified, the first page
26558// of results will be returned.
26559func (c *AdvertisersLocationListsAssignedLocationsListCall) PageToken(pageToken string) *AdvertisersLocationListsAssignedLocationsListCall {
26560	c.urlParams_.Set("pageToken", pageToken)
26561	return c
26562}
26563
26564// Fields allows partial responses to be retrieved. See
26565// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26566// for more information.
26567func (c *AdvertisersLocationListsAssignedLocationsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsListCall {
26568	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26569	return c
26570}
26571
26572// IfNoneMatch sets the optional parameter which makes the operation
26573// fail if the object's ETag matches the given value. This is useful for
26574// getting updates only after the object has changed since the last
26575// request. Use googleapi.IsNotModified to check whether the response
26576// error from Do is the result of In-None-Match.
26577func (c *AdvertisersLocationListsAssignedLocationsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsAssignedLocationsListCall {
26578	c.ifNoneMatch_ = entityTag
26579	return c
26580}
26581
26582// Context sets the context to be used in this call's Do method. Any
26583// pending HTTP request will be aborted if the provided context is
26584// canceled.
26585func (c *AdvertisersLocationListsAssignedLocationsListCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsListCall {
26586	c.ctx_ = ctx
26587	return c
26588}
26589
26590// Header returns an http.Header that can be modified by the caller to
26591// add HTTP headers to the request.
26592func (c *AdvertisersLocationListsAssignedLocationsListCall) Header() http.Header {
26593	if c.header_ == nil {
26594		c.header_ = make(http.Header)
26595	}
26596	return c.header_
26597}
26598
26599func (c *AdvertisersLocationListsAssignedLocationsListCall) doRequest(alt string) (*http.Response, error) {
26600	reqHeaders := make(http.Header)
26601	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
26602	for k, v := range c.header_ {
26603		reqHeaders[k] = v
26604	}
26605	reqHeaders.Set("User-Agent", c.s.userAgent())
26606	if c.ifNoneMatch_ != "" {
26607		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26608	}
26609	var body io.Reader = nil
26610	c.urlParams_.Set("alt", alt)
26611	c.urlParams_.Set("prettyPrint", "false")
26612	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
26613	urls += "?" + c.urlParams_.Encode()
26614	req, err := http.NewRequest("GET", urls, body)
26615	if err != nil {
26616		return nil, err
26617	}
26618	req.Header = reqHeaders
26619	googleapi.Expand(req.URL, map[string]string{
26620		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
26621		"locationListId": strconv.FormatInt(c.locationListId, 10),
26622	})
26623	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26624}
26625
26626// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.list" call.
26627// Exactly one of *ListAssignedLocationsResponse or error will be
26628// non-nil. Any non-2xx status code is an error. Response headers are in
26629// either *ListAssignedLocationsResponse.ServerResponse.Header or (if a
26630// response was returned at all) in error.(*googleapi.Error).Header. Use
26631// googleapi.IsNotModified to check whether the returned error was
26632// because http.StatusNotModified was returned.
26633func (c *AdvertisersLocationListsAssignedLocationsListCall) Do(opts ...googleapi.CallOption) (*ListAssignedLocationsResponse, error) {
26634	gensupport.SetOptions(c.urlParams_, opts...)
26635	res, err := c.doRequest("json")
26636	if res != nil && res.StatusCode == http.StatusNotModified {
26637		if res.Body != nil {
26638			res.Body.Close()
26639		}
26640		return nil, &googleapi.Error{
26641			Code:   res.StatusCode,
26642			Header: res.Header,
26643		}
26644	}
26645	if err != nil {
26646		return nil, err
26647	}
26648	defer googleapi.CloseBody(res)
26649	if err := googleapi.CheckResponse(res); err != nil {
26650		return nil, err
26651	}
26652	ret := &ListAssignedLocationsResponse{
26653		ServerResponse: googleapi.ServerResponse{
26654			Header:         res.Header,
26655			HTTPStatusCode: res.StatusCode,
26656		},
26657	}
26658	target := &ret
26659	if err := gensupport.DecodeResponse(target, res); err != nil {
26660		return nil, err
26661	}
26662	return ret, nil
26663	// {
26664	//   "description": "Lists locations assigned to a location list.",
26665	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
26666	//   "httpMethod": "GET",
26667	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.list",
26668	//   "parameterOrder": [
26669	//     "advertiserId",
26670	//     "locationListId"
26671	//   ],
26672	//   "parameters": {
26673	//     "advertiserId": {
26674	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
26675	//       "format": "int64",
26676	//       "location": "path",
26677	//       "required": true,
26678	//       "type": "string"
26679	//     },
26680	//     "filter": {
26681	//       "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.",
26682	//       "location": "query",
26683	//       "type": "string"
26684	//     },
26685	//     "locationListId": {
26686	//       "description": "Required. The ID of the location list to which these assignments are assigned.",
26687	//       "format": "int64",
26688	//       "location": "path",
26689	//       "required": true,
26690	//       "type": "string"
26691	//     },
26692	//     "orderBy": {
26693	//       "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`.",
26694	//       "location": "query",
26695	//       "type": "string"
26696	//     },
26697	//     "pageSize": {
26698	//       "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.",
26699	//       "format": "int32",
26700	//       "location": "query",
26701	//       "type": "integer"
26702	//     },
26703	//     "pageToken": {
26704	//       "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.",
26705	//       "location": "query",
26706	//       "type": "string"
26707	//     }
26708	//   },
26709	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
26710	//   "response": {
26711	//     "$ref": "ListAssignedLocationsResponse"
26712	//   },
26713	//   "scopes": [
26714	//     "https://www.googleapis.com/auth/display-video"
26715	//   ]
26716	// }
26717
26718}
26719
26720// Pages invokes f for each page of results.
26721// A non-nil error returned from f will halt the iteration.
26722// The provided context supersedes any context provided to the Context method.
26723func (c *AdvertisersLocationListsAssignedLocationsListCall) Pages(ctx context.Context, f func(*ListAssignedLocationsResponse) error) error {
26724	c.ctx_ = ctx
26725	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26726	for {
26727		x, err := c.Do()
26728		if err != nil {
26729			return err
26730		}
26731		if err := f(x); err != nil {
26732			return err
26733		}
26734		if x.NextPageToken == "" {
26735			return nil
26736		}
26737		c.PageToken(x.NextPageToken)
26738	}
26739}
26740
26741// method id "displayvideo.advertisers.manualTriggers.activate":
26742
26743type AdvertisersManualTriggersActivateCall struct {
26744	s                            *Service
26745	advertiserId                 int64
26746	triggerId                    int64
26747	activatemanualtriggerrequest *ActivateManualTriggerRequest
26748	urlParams_                   gensupport.URLParams
26749	ctx_                         context.Context
26750	header_                      http.Header
26751}
26752
26753// Activate: Activates a manual trigger. Each activation of the manual
26754// trigger must be at least 5 minutes apart, otherwise an error will be
26755// returned.
26756//
26757// - advertiserId: The ID of the advertiser that the manual trigger
26758//   belongs.
26759// - triggerId: The ID of the manual trigger to activate.
26760func (r *AdvertisersManualTriggersService) Activate(advertiserId int64, triggerId int64, activatemanualtriggerrequest *ActivateManualTriggerRequest) *AdvertisersManualTriggersActivateCall {
26761	c := &AdvertisersManualTriggersActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26762	c.advertiserId = advertiserId
26763	c.triggerId = triggerId
26764	c.activatemanualtriggerrequest = activatemanualtriggerrequest
26765	return c
26766}
26767
26768// Fields allows partial responses to be retrieved. See
26769// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26770// for more information.
26771func (c *AdvertisersManualTriggersActivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersActivateCall {
26772	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26773	return c
26774}
26775
26776// Context sets the context to be used in this call's Do method. Any
26777// pending HTTP request will be aborted if the provided context is
26778// canceled.
26779func (c *AdvertisersManualTriggersActivateCall) Context(ctx context.Context) *AdvertisersManualTriggersActivateCall {
26780	c.ctx_ = ctx
26781	return c
26782}
26783
26784// Header returns an http.Header that can be modified by the caller to
26785// add HTTP headers to the request.
26786func (c *AdvertisersManualTriggersActivateCall) Header() http.Header {
26787	if c.header_ == nil {
26788		c.header_ = make(http.Header)
26789	}
26790	return c.header_
26791}
26792
26793func (c *AdvertisersManualTriggersActivateCall) doRequest(alt string) (*http.Response, error) {
26794	reqHeaders := make(http.Header)
26795	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
26796	for k, v := range c.header_ {
26797		reqHeaders[k] = v
26798	}
26799	reqHeaders.Set("User-Agent", c.s.userAgent())
26800	var body io.Reader = nil
26801	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activatemanualtriggerrequest)
26802	if err != nil {
26803		return nil, err
26804	}
26805	reqHeaders.Set("Content-Type", "application/json")
26806	c.urlParams_.Set("alt", alt)
26807	c.urlParams_.Set("prettyPrint", "false")
26808	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate")
26809	urls += "?" + c.urlParams_.Encode()
26810	req, err := http.NewRequest("POST", urls, body)
26811	if err != nil {
26812		return nil, err
26813	}
26814	req.Header = reqHeaders
26815	googleapi.Expand(req.URL, map[string]string{
26816		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
26817		"triggerId":    strconv.FormatInt(c.triggerId, 10),
26818	})
26819	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26820}
26821
26822// Do executes the "displayvideo.advertisers.manualTriggers.activate" call.
26823// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
26824// status code is an error. Response headers are in either
26825// *ManualTrigger.ServerResponse.Header or (if a response was returned
26826// at all) in error.(*googleapi.Error).Header. Use
26827// googleapi.IsNotModified to check whether the returned error was
26828// because http.StatusNotModified was returned.
26829func (c *AdvertisersManualTriggersActivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
26830	gensupport.SetOptions(c.urlParams_, opts...)
26831	res, err := c.doRequest("json")
26832	if res != nil && res.StatusCode == http.StatusNotModified {
26833		if res.Body != nil {
26834			res.Body.Close()
26835		}
26836		return nil, &googleapi.Error{
26837			Code:   res.StatusCode,
26838			Header: res.Header,
26839		}
26840	}
26841	if err != nil {
26842		return nil, err
26843	}
26844	defer googleapi.CloseBody(res)
26845	if err := googleapi.CheckResponse(res); err != nil {
26846		return nil, err
26847	}
26848	ret := &ManualTrigger{
26849		ServerResponse: googleapi.ServerResponse{
26850			Header:         res.Header,
26851			HTTPStatusCode: res.StatusCode,
26852		},
26853	}
26854	target := &ret
26855	if err := gensupport.DecodeResponse(target, res); err != nil {
26856		return nil, err
26857	}
26858	return ret, nil
26859	// {
26860	//   "description": "Activates a manual trigger. Each activation of the manual trigger must be at least 5 minutes apart, otherwise an error will be returned.",
26861	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:activate",
26862	//   "httpMethod": "POST",
26863	//   "id": "displayvideo.advertisers.manualTriggers.activate",
26864	//   "parameterOrder": [
26865	//     "advertiserId",
26866	//     "triggerId"
26867	//   ],
26868	//   "parameters": {
26869	//     "advertiserId": {
26870	//       "description": "Required. The ID of the advertiser that the manual trigger belongs.",
26871	//       "format": "int64",
26872	//       "location": "path",
26873	//       "pattern": "^[^/]+$",
26874	//       "required": true,
26875	//       "type": "string"
26876	//     },
26877	//     "triggerId": {
26878	//       "description": "Required. The ID of the manual trigger to activate.",
26879	//       "format": "int64",
26880	//       "location": "path",
26881	//       "pattern": "^[^/]+$",
26882	//       "required": true,
26883	//       "type": "string"
26884	//     }
26885	//   },
26886	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate",
26887	//   "request": {
26888	//     "$ref": "ActivateManualTriggerRequest"
26889	//   },
26890	//   "response": {
26891	//     "$ref": "ManualTrigger"
26892	//   },
26893	//   "scopes": [
26894	//     "https://www.googleapis.com/auth/display-video"
26895	//   ]
26896	// }
26897
26898}
26899
26900// method id "displayvideo.advertisers.manualTriggers.create":
26901
26902type AdvertisersManualTriggersCreateCall struct {
26903	s             *Service
26904	advertiserId  int64
26905	manualtrigger *ManualTrigger
26906	urlParams_    gensupport.URLParams
26907	ctx_          context.Context
26908	header_       http.Header
26909}
26910
26911// Create: Creates a new manual trigger. Returns the newly created
26912// manual trigger if successful.
26913//
26914// - advertiserId: Immutable. The unique ID of the advertiser that the
26915//   manual trigger belongs to.
26916func (r *AdvertisersManualTriggersService) Create(advertiserId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersCreateCall {
26917	c := &AdvertisersManualTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26918	c.advertiserId = advertiserId
26919	c.manualtrigger = manualtrigger
26920	return c
26921}
26922
26923// Fields allows partial responses to be retrieved. See
26924// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26925// for more information.
26926func (c *AdvertisersManualTriggersCreateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersCreateCall {
26927	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26928	return c
26929}
26930
26931// Context sets the context to be used in this call's Do method. Any
26932// pending HTTP request will be aborted if the provided context is
26933// canceled.
26934func (c *AdvertisersManualTriggersCreateCall) Context(ctx context.Context) *AdvertisersManualTriggersCreateCall {
26935	c.ctx_ = ctx
26936	return c
26937}
26938
26939// Header returns an http.Header that can be modified by the caller to
26940// add HTTP headers to the request.
26941func (c *AdvertisersManualTriggersCreateCall) Header() http.Header {
26942	if c.header_ == nil {
26943		c.header_ = make(http.Header)
26944	}
26945	return c.header_
26946}
26947
26948func (c *AdvertisersManualTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
26949	reqHeaders := make(http.Header)
26950	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
26951	for k, v := range c.header_ {
26952		reqHeaders[k] = v
26953	}
26954	reqHeaders.Set("User-Agent", c.s.userAgent())
26955	var body io.Reader = nil
26956	body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger)
26957	if err != nil {
26958		return nil, err
26959	}
26960	reqHeaders.Set("Content-Type", "application/json")
26961	c.urlParams_.Set("alt", alt)
26962	c.urlParams_.Set("prettyPrint", "false")
26963	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers")
26964	urls += "?" + c.urlParams_.Encode()
26965	req, err := http.NewRequest("POST", urls, body)
26966	if err != nil {
26967		return nil, err
26968	}
26969	req.Header = reqHeaders
26970	googleapi.Expand(req.URL, map[string]string{
26971		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
26972	})
26973	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26974}
26975
26976// Do executes the "displayvideo.advertisers.manualTriggers.create" call.
26977// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
26978// status code is an error. Response headers are in either
26979// *ManualTrigger.ServerResponse.Header or (if a response was returned
26980// at all) in error.(*googleapi.Error).Header. Use
26981// googleapi.IsNotModified to check whether the returned error was
26982// because http.StatusNotModified was returned.
26983func (c *AdvertisersManualTriggersCreateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
26984	gensupport.SetOptions(c.urlParams_, opts...)
26985	res, err := c.doRequest("json")
26986	if res != nil && res.StatusCode == http.StatusNotModified {
26987		if res.Body != nil {
26988			res.Body.Close()
26989		}
26990		return nil, &googleapi.Error{
26991			Code:   res.StatusCode,
26992			Header: res.Header,
26993		}
26994	}
26995	if err != nil {
26996		return nil, err
26997	}
26998	defer googleapi.CloseBody(res)
26999	if err := googleapi.CheckResponse(res); err != nil {
27000		return nil, err
27001	}
27002	ret := &ManualTrigger{
27003		ServerResponse: googleapi.ServerResponse{
27004			Header:         res.Header,
27005			HTTPStatusCode: res.StatusCode,
27006		},
27007	}
27008	target := &ret
27009	if err := gensupport.DecodeResponse(target, res); err != nil {
27010		return nil, err
27011	}
27012	return ret, nil
27013	// {
27014	//   "description": "Creates a new manual trigger. Returns the newly created manual trigger if successful.",
27015	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers",
27016	//   "httpMethod": "POST",
27017	//   "id": "displayvideo.advertisers.manualTriggers.create",
27018	//   "parameterOrder": [
27019	//     "advertiserId"
27020	//   ],
27021	//   "parameters": {
27022	//     "advertiserId": {
27023	//       "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
27024	//       "format": "int64",
27025	//       "location": "path",
27026	//       "pattern": "^[^/]+$",
27027	//       "required": true,
27028	//       "type": "string"
27029	//     }
27030	//   },
27031	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers",
27032	//   "request": {
27033	//     "$ref": "ManualTrigger"
27034	//   },
27035	//   "response": {
27036	//     "$ref": "ManualTrigger"
27037	//   },
27038	//   "scopes": [
27039	//     "https://www.googleapis.com/auth/display-video"
27040	//   ]
27041	// }
27042
27043}
27044
27045// method id "displayvideo.advertisers.manualTriggers.deactivate":
27046
27047type AdvertisersManualTriggersDeactivateCall struct {
27048	s                              *Service
27049	advertiserId                   int64
27050	triggerId                      int64
27051	deactivatemanualtriggerrequest *DeactivateManualTriggerRequest
27052	urlParams_                     gensupport.URLParams
27053	ctx_                           context.Context
27054	header_                        http.Header
27055}
27056
27057// Deactivate: Deactivates a manual trigger.
27058//
27059// - advertiserId: The ID of the advertiser that the manual trigger
27060//   belongs.
27061// - triggerId: The ID of the manual trigger to deactivate.
27062func (r *AdvertisersManualTriggersService) Deactivate(advertiserId int64, triggerId int64, deactivatemanualtriggerrequest *DeactivateManualTriggerRequest) *AdvertisersManualTriggersDeactivateCall {
27063	c := &AdvertisersManualTriggersDeactivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27064	c.advertiserId = advertiserId
27065	c.triggerId = triggerId
27066	c.deactivatemanualtriggerrequest = deactivatemanualtriggerrequest
27067	return c
27068}
27069
27070// Fields allows partial responses to be retrieved. See
27071// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27072// for more information.
27073func (c *AdvertisersManualTriggersDeactivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersDeactivateCall {
27074	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27075	return c
27076}
27077
27078// Context sets the context to be used in this call's Do method. Any
27079// pending HTTP request will be aborted if the provided context is
27080// canceled.
27081func (c *AdvertisersManualTriggersDeactivateCall) Context(ctx context.Context) *AdvertisersManualTriggersDeactivateCall {
27082	c.ctx_ = ctx
27083	return c
27084}
27085
27086// Header returns an http.Header that can be modified by the caller to
27087// add HTTP headers to the request.
27088func (c *AdvertisersManualTriggersDeactivateCall) Header() http.Header {
27089	if c.header_ == nil {
27090		c.header_ = make(http.Header)
27091	}
27092	return c.header_
27093}
27094
27095func (c *AdvertisersManualTriggersDeactivateCall) doRequest(alt string) (*http.Response, error) {
27096	reqHeaders := make(http.Header)
27097	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
27098	for k, v := range c.header_ {
27099		reqHeaders[k] = v
27100	}
27101	reqHeaders.Set("User-Agent", c.s.userAgent())
27102	var body io.Reader = nil
27103	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deactivatemanualtriggerrequest)
27104	if err != nil {
27105		return nil, err
27106	}
27107	reqHeaders.Set("Content-Type", "application/json")
27108	c.urlParams_.Set("alt", alt)
27109	c.urlParams_.Set("prettyPrint", "false")
27110	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate")
27111	urls += "?" + c.urlParams_.Encode()
27112	req, err := http.NewRequest("POST", urls, body)
27113	if err != nil {
27114		return nil, err
27115	}
27116	req.Header = reqHeaders
27117	googleapi.Expand(req.URL, map[string]string{
27118		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27119		"triggerId":    strconv.FormatInt(c.triggerId, 10),
27120	})
27121	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27122}
27123
27124// Do executes the "displayvideo.advertisers.manualTriggers.deactivate" call.
27125// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
27126// status code is an error. Response headers are in either
27127// *ManualTrigger.ServerResponse.Header or (if a response was returned
27128// at all) in error.(*googleapi.Error).Header. Use
27129// googleapi.IsNotModified to check whether the returned error was
27130// because http.StatusNotModified was returned.
27131func (c *AdvertisersManualTriggersDeactivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
27132	gensupport.SetOptions(c.urlParams_, opts...)
27133	res, err := c.doRequest("json")
27134	if res != nil && res.StatusCode == http.StatusNotModified {
27135		if res.Body != nil {
27136			res.Body.Close()
27137		}
27138		return nil, &googleapi.Error{
27139			Code:   res.StatusCode,
27140			Header: res.Header,
27141		}
27142	}
27143	if err != nil {
27144		return nil, err
27145	}
27146	defer googleapi.CloseBody(res)
27147	if err := googleapi.CheckResponse(res); err != nil {
27148		return nil, err
27149	}
27150	ret := &ManualTrigger{
27151		ServerResponse: googleapi.ServerResponse{
27152			Header:         res.Header,
27153			HTTPStatusCode: res.StatusCode,
27154		},
27155	}
27156	target := &ret
27157	if err := gensupport.DecodeResponse(target, res); err != nil {
27158		return nil, err
27159	}
27160	return ret, nil
27161	// {
27162	//   "description": "Deactivates a manual trigger.",
27163	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:deactivate",
27164	//   "httpMethod": "POST",
27165	//   "id": "displayvideo.advertisers.manualTriggers.deactivate",
27166	//   "parameterOrder": [
27167	//     "advertiserId",
27168	//     "triggerId"
27169	//   ],
27170	//   "parameters": {
27171	//     "advertiserId": {
27172	//       "description": "Required. The ID of the advertiser that the manual trigger belongs.",
27173	//       "format": "int64",
27174	//       "location": "path",
27175	//       "pattern": "^[^/]+$",
27176	//       "required": true,
27177	//       "type": "string"
27178	//     },
27179	//     "triggerId": {
27180	//       "description": "Required. The ID of the manual trigger to deactivate.",
27181	//       "format": "int64",
27182	//       "location": "path",
27183	//       "pattern": "^[^/]+$",
27184	//       "required": true,
27185	//       "type": "string"
27186	//     }
27187	//   },
27188	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate",
27189	//   "request": {
27190	//     "$ref": "DeactivateManualTriggerRequest"
27191	//   },
27192	//   "response": {
27193	//     "$ref": "ManualTrigger"
27194	//   },
27195	//   "scopes": [
27196	//     "https://www.googleapis.com/auth/display-video"
27197	//   ]
27198	// }
27199
27200}
27201
27202// method id "displayvideo.advertisers.manualTriggers.get":
27203
27204type AdvertisersManualTriggersGetCall struct {
27205	s            *Service
27206	advertiserId int64
27207	triggerId    int64
27208	urlParams_   gensupport.URLParams
27209	ifNoneMatch_ string
27210	ctx_         context.Context
27211	header_      http.Header
27212}
27213
27214// Get: Gets a manual trigger.
27215//
27216// - advertiserId: The ID of the advertiser this manual trigger belongs
27217//   to.
27218// - triggerId: The ID of the manual trigger to fetch.
27219func (r *AdvertisersManualTriggersService) Get(advertiserId int64, triggerId int64) *AdvertisersManualTriggersGetCall {
27220	c := &AdvertisersManualTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27221	c.advertiserId = advertiserId
27222	c.triggerId = triggerId
27223	return c
27224}
27225
27226// Fields allows partial responses to be retrieved. See
27227// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27228// for more information.
27229func (c *AdvertisersManualTriggersGetCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersGetCall {
27230	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27231	return c
27232}
27233
27234// IfNoneMatch sets the optional parameter which makes the operation
27235// fail if the object's ETag matches the given value. This is useful for
27236// getting updates only after the object has changed since the last
27237// request. Use googleapi.IsNotModified to check whether the response
27238// error from Do is the result of In-None-Match.
27239func (c *AdvertisersManualTriggersGetCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersGetCall {
27240	c.ifNoneMatch_ = entityTag
27241	return c
27242}
27243
27244// Context sets the context to be used in this call's Do method. Any
27245// pending HTTP request will be aborted if the provided context is
27246// canceled.
27247func (c *AdvertisersManualTriggersGetCall) Context(ctx context.Context) *AdvertisersManualTriggersGetCall {
27248	c.ctx_ = ctx
27249	return c
27250}
27251
27252// Header returns an http.Header that can be modified by the caller to
27253// add HTTP headers to the request.
27254func (c *AdvertisersManualTriggersGetCall) Header() http.Header {
27255	if c.header_ == nil {
27256		c.header_ = make(http.Header)
27257	}
27258	return c.header_
27259}
27260
27261func (c *AdvertisersManualTriggersGetCall) doRequest(alt string) (*http.Response, error) {
27262	reqHeaders := make(http.Header)
27263	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
27264	for k, v := range c.header_ {
27265		reqHeaders[k] = v
27266	}
27267	reqHeaders.Set("User-Agent", c.s.userAgent())
27268	if c.ifNoneMatch_ != "" {
27269		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27270	}
27271	var body io.Reader = nil
27272	c.urlParams_.Set("alt", alt)
27273	c.urlParams_.Set("prettyPrint", "false")
27274	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
27275	urls += "?" + c.urlParams_.Encode()
27276	req, err := http.NewRequest("GET", urls, body)
27277	if err != nil {
27278		return nil, err
27279	}
27280	req.Header = reqHeaders
27281	googleapi.Expand(req.URL, map[string]string{
27282		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27283		"triggerId":    strconv.FormatInt(c.triggerId, 10),
27284	})
27285	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27286}
27287
27288// Do executes the "displayvideo.advertisers.manualTriggers.get" call.
27289// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
27290// status code is an error. Response headers are in either
27291// *ManualTrigger.ServerResponse.Header or (if a response was returned
27292// at all) in error.(*googleapi.Error).Header. Use
27293// googleapi.IsNotModified to check whether the returned error was
27294// because http.StatusNotModified was returned.
27295func (c *AdvertisersManualTriggersGetCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
27296	gensupport.SetOptions(c.urlParams_, opts...)
27297	res, err := c.doRequest("json")
27298	if res != nil && res.StatusCode == http.StatusNotModified {
27299		if res.Body != nil {
27300			res.Body.Close()
27301		}
27302		return nil, &googleapi.Error{
27303			Code:   res.StatusCode,
27304			Header: res.Header,
27305		}
27306	}
27307	if err != nil {
27308		return nil, err
27309	}
27310	defer googleapi.CloseBody(res)
27311	if err := googleapi.CheckResponse(res); err != nil {
27312		return nil, err
27313	}
27314	ret := &ManualTrigger{
27315		ServerResponse: googleapi.ServerResponse{
27316			Header:         res.Header,
27317			HTTPStatusCode: res.StatusCode,
27318		},
27319	}
27320	target := &ret
27321	if err := gensupport.DecodeResponse(target, res); err != nil {
27322		return nil, err
27323	}
27324	return ret, nil
27325	// {
27326	//   "description": "Gets a manual trigger.",
27327	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
27328	//   "httpMethod": "GET",
27329	//   "id": "displayvideo.advertisers.manualTriggers.get",
27330	//   "parameterOrder": [
27331	//     "advertiserId",
27332	//     "triggerId"
27333	//   ],
27334	//   "parameters": {
27335	//     "advertiserId": {
27336	//       "description": "Required. The ID of the advertiser this manual trigger belongs to.",
27337	//       "format": "int64",
27338	//       "location": "path",
27339	//       "pattern": "^[^/]+$",
27340	//       "required": true,
27341	//       "type": "string"
27342	//     },
27343	//     "triggerId": {
27344	//       "description": "Required. The ID of the manual trigger to fetch.",
27345	//       "format": "int64",
27346	//       "location": "path",
27347	//       "pattern": "^[^/]+$",
27348	//       "required": true,
27349	//       "type": "string"
27350	//     }
27351	//   },
27352	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
27353	//   "response": {
27354	//     "$ref": "ManualTrigger"
27355	//   },
27356	//   "scopes": [
27357	//     "https://www.googleapis.com/auth/display-video"
27358	//   ]
27359	// }
27360
27361}
27362
27363// method id "displayvideo.advertisers.manualTriggers.list":
27364
27365type AdvertisersManualTriggersListCall struct {
27366	s            *Service
27367	advertiserId int64
27368	urlParams_   gensupport.URLParams
27369	ifNoneMatch_ string
27370	ctx_         context.Context
27371	header_      http.Header
27372}
27373
27374// List: Lists manual triggers that are accessible to the current user
27375// for a given advertiser ID. The order is defined by the order_by
27376// parameter. A single advertiser_id is required.
27377//
27378// - advertiserId: The ID of the advertiser that the fetched manual
27379//   triggers belong to.
27380func (r *AdvertisersManualTriggersService) List(advertiserId int64) *AdvertisersManualTriggersListCall {
27381	c := &AdvertisersManualTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27382	c.advertiserId = advertiserId
27383	return c
27384}
27385
27386// Filter sets the optional parameter "filter": Allows filtering by
27387// manual trigger properties. Supported syntax: * Filter expressions are
27388// made up of one or more restrictions. * Restrictions can be combined
27389// by `AND` or `OR` logical operators. A sequence of restrictions
27390// implicitly uses `AND`. * A restriction has the form of `{field}
27391// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
27392// fields: - `displayName` - `state` Examples: * All active manual
27393// triggers under an advertiser: `state="ACTIVE" The length of this
27394// field should be no more than 500 characters.
27395func (c *AdvertisersManualTriggersListCall) Filter(filter string) *AdvertisersManualTriggersListCall {
27396	c.urlParams_.Set("filter", filter)
27397	return c
27398}
27399
27400// OrderBy sets the optional parameter "orderBy": Field by which to sort
27401// the list. Acceptable values are: * `displayName` (default) * `state`
27402// The default sorting order is ascending. To specify descending order
27403// for a field, a suffix "desc" should be added to the field name. For
27404// example, `displayName desc`.
27405func (c *AdvertisersManualTriggersListCall) OrderBy(orderBy string) *AdvertisersManualTriggersListCall {
27406	c.urlParams_.Set("orderBy", orderBy)
27407	return c
27408}
27409
27410// PageSize sets the optional parameter "pageSize": Requested page size.
27411// Must be between `1` and `100`. If unspecified will default to `100`.
27412func (c *AdvertisersManualTriggersListCall) PageSize(pageSize int64) *AdvertisersManualTriggersListCall {
27413	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27414	return c
27415}
27416
27417// PageToken sets the optional parameter "pageToken": A token
27418// identifying a page of results the server should return. Typically,
27419// this is the value of next_page_token returned from the previous call
27420// to `ListManualTriggers` method. If not specified, the first page of
27421// results will be returned.
27422func (c *AdvertisersManualTriggersListCall) PageToken(pageToken string) *AdvertisersManualTriggersListCall {
27423	c.urlParams_.Set("pageToken", pageToken)
27424	return c
27425}
27426
27427// Fields allows partial responses to be retrieved. See
27428// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27429// for more information.
27430func (c *AdvertisersManualTriggersListCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersListCall {
27431	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27432	return c
27433}
27434
27435// IfNoneMatch sets the optional parameter which makes the operation
27436// fail if the object's ETag matches the given value. This is useful for
27437// getting updates only after the object has changed since the last
27438// request. Use googleapi.IsNotModified to check whether the response
27439// error from Do is the result of In-None-Match.
27440func (c *AdvertisersManualTriggersListCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersListCall {
27441	c.ifNoneMatch_ = entityTag
27442	return c
27443}
27444
27445// Context sets the context to be used in this call's Do method. Any
27446// pending HTTP request will be aborted if the provided context is
27447// canceled.
27448func (c *AdvertisersManualTriggersListCall) Context(ctx context.Context) *AdvertisersManualTriggersListCall {
27449	c.ctx_ = ctx
27450	return c
27451}
27452
27453// Header returns an http.Header that can be modified by the caller to
27454// add HTTP headers to the request.
27455func (c *AdvertisersManualTriggersListCall) Header() http.Header {
27456	if c.header_ == nil {
27457		c.header_ = make(http.Header)
27458	}
27459	return c.header_
27460}
27461
27462func (c *AdvertisersManualTriggersListCall) doRequest(alt string) (*http.Response, error) {
27463	reqHeaders := make(http.Header)
27464	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
27465	for k, v := range c.header_ {
27466		reqHeaders[k] = v
27467	}
27468	reqHeaders.Set("User-Agent", c.s.userAgent())
27469	if c.ifNoneMatch_ != "" {
27470		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27471	}
27472	var body io.Reader = nil
27473	c.urlParams_.Set("alt", alt)
27474	c.urlParams_.Set("prettyPrint", "false")
27475	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers")
27476	urls += "?" + c.urlParams_.Encode()
27477	req, err := http.NewRequest("GET", urls, body)
27478	if err != nil {
27479		return nil, err
27480	}
27481	req.Header = reqHeaders
27482	googleapi.Expand(req.URL, map[string]string{
27483		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27484	})
27485	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27486}
27487
27488// Do executes the "displayvideo.advertisers.manualTriggers.list" call.
27489// Exactly one of *ListManualTriggersResponse or error will be non-nil.
27490// Any non-2xx status code is an error. Response headers are in either
27491// *ListManualTriggersResponse.ServerResponse.Header or (if a response
27492// was returned at all) in error.(*googleapi.Error).Header. Use
27493// googleapi.IsNotModified to check whether the returned error was
27494// because http.StatusNotModified was returned.
27495func (c *AdvertisersManualTriggersListCall) Do(opts ...googleapi.CallOption) (*ListManualTriggersResponse, error) {
27496	gensupport.SetOptions(c.urlParams_, opts...)
27497	res, err := c.doRequest("json")
27498	if res != nil && res.StatusCode == http.StatusNotModified {
27499		if res.Body != nil {
27500			res.Body.Close()
27501		}
27502		return nil, &googleapi.Error{
27503			Code:   res.StatusCode,
27504			Header: res.Header,
27505		}
27506	}
27507	if err != nil {
27508		return nil, err
27509	}
27510	defer googleapi.CloseBody(res)
27511	if err := googleapi.CheckResponse(res); err != nil {
27512		return nil, err
27513	}
27514	ret := &ListManualTriggersResponse{
27515		ServerResponse: googleapi.ServerResponse{
27516			Header:         res.Header,
27517			HTTPStatusCode: res.StatusCode,
27518		},
27519	}
27520	target := &ret
27521	if err := gensupport.DecodeResponse(target, res); err != nil {
27522		return nil, err
27523	}
27524	return ret, nil
27525	// {
27526	//   "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.",
27527	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers",
27528	//   "httpMethod": "GET",
27529	//   "id": "displayvideo.advertisers.manualTriggers.list",
27530	//   "parameterOrder": [
27531	//     "advertiserId"
27532	//   ],
27533	//   "parameters": {
27534	//     "advertiserId": {
27535	//       "description": "Required. The ID of the advertiser that the fetched manual triggers belong to.",
27536	//       "format": "int64",
27537	//       "location": "path",
27538	//       "pattern": "^[^/]+$",
27539	//       "required": true,
27540	//       "type": "string"
27541	//     },
27542	//     "filter": {
27543	//       "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.",
27544	//       "location": "query",
27545	//       "type": "string"
27546	//     },
27547	//     "orderBy": {
27548	//       "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`.",
27549	//       "location": "query",
27550	//       "type": "string"
27551	//     },
27552	//     "pageSize": {
27553	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
27554	//       "format": "int32",
27555	//       "location": "query",
27556	//       "type": "integer"
27557	//     },
27558	//     "pageToken": {
27559	//       "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.",
27560	//       "location": "query",
27561	//       "type": "string"
27562	//     }
27563	//   },
27564	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers",
27565	//   "response": {
27566	//     "$ref": "ListManualTriggersResponse"
27567	//   },
27568	//   "scopes": [
27569	//     "https://www.googleapis.com/auth/display-video"
27570	//   ]
27571	// }
27572
27573}
27574
27575// Pages invokes f for each page of results.
27576// A non-nil error returned from f will halt the iteration.
27577// The provided context supersedes any context provided to the Context method.
27578func (c *AdvertisersManualTriggersListCall) Pages(ctx context.Context, f func(*ListManualTriggersResponse) error) error {
27579	c.ctx_ = ctx
27580	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27581	for {
27582		x, err := c.Do()
27583		if err != nil {
27584			return err
27585		}
27586		if err := f(x); err != nil {
27587			return err
27588		}
27589		if x.NextPageToken == "" {
27590			return nil
27591		}
27592		c.PageToken(x.NextPageToken)
27593	}
27594}
27595
27596// method id "displayvideo.advertisers.manualTriggers.patch":
27597
27598type AdvertisersManualTriggersPatchCall struct {
27599	s             *Service
27600	advertiserId  int64
27601	triggerId     int64
27602	manualtrigger *ManualTrigger
27603	urlParams_    gensupport.URLParams
27604	ctx_          context.Context
27605	header_       http.Header
27606}
27607
27608// Patch: Updates a manual trigger. Returns the updated manual trigger
27609// if successful.
27610//
27611// - advertiserId: Immutable. The unique ID of the advertiser that the
27612//   manual trigger belongs to.
27613// - triggerId: Output only. The unique ID of the manual trigger.
27614func (r *AdvertisersManualTriggersService) Patch(advertiserId int64, triggerId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersPatchCall {
27615	c := &AdvertisersManualTriggersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27616	c.advertiserId = advertiserId
27617	c.triggerId = triggerId
27618	c.manualtrigger = manualtrigger
27619	return c
27620}
27621
27622// UpdateMask sets the optional parameter "updateMask": Required. The
27623// mask to control which fields to update.
27624func (c *AdvertisersManualTriggersPatchCall) UpdateMask(updateMask string) *AdvertisersManualTriggersPatchCall {
27625	c.urlParams_.Set("updateMask", updateMask)
27626	return c
27627}
27628
27629// Fields allows partial responses to be retrieved. See
27630// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27631// for more information.
27632func (c *AdvertisersManualTriggersPatchCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersPatchCall {
27633	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27634	return c
27635}
27636
27637// Context sets the context to be used in this call's Do method. Any
27638// pending HTTP request will be aborted if the provided context is
27639// canceled.
27640func (c *AdvertisersManualTriggersPatchCall) Context(ctx context.Context) *AdvertisersManualTriggersPatchCall {
27641	c.ctx_ = ctx
27642	return c
27643}
27644
27645// Header returns an http.Header that can be modified by the caller to
27646// add HTTP headers to the request.
27647func (c *AdvertisersManualTriggersPatchCall) Header() http.Header {
27648	if c.header_ == nil {
27649		c.header_ = make(http.Header)
27650	}
27651	return c.header_
27652}
27653
27654func (c *AdvertisersManualTriggersPatchCall) doRequest(alt string) (*http.Response, error) {
27655	reqHeaders := make(http.Header)
27656	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
27657	for k, v := range c.header_ {
27658		reqHeaders[k] = v
27659	}
27660	reqHeaders.Set("User-Agent", c.s.userAgent())
27661	var body io.Reader = nil
27662	body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger)
27663	if err != nil {
27664		return nil, err
27665	}
27666	reqHeaders.Set("Content-Type", "application/json")
27667	c.urlParams_.Set("alt", alt)
27668	c.urlParams_.Set("prettyPrint", "false")
27669	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
27670	urls += "?" + c.urlParams_.Encode()
27671	req, err := http.NewRequest("PATCH", urls, body)
27672	if err != nil {
27673		return nil, err
27674	}
27675	req.Header = reqHeaders
27676	googleapi.Expand(req.URL, map[string]string{
27677		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27678		"triggerId":    strconv.FormatInt(c.triggerId, 10),
27679	})
27680	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27681}
27682
27683// Do executes the "displayvideo.advertisers.manualTriggers.patch" call.
27684// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
27685// status code is an error. Response headers are in either
27686// *ManualTrigger.ServerResponse.Header or (if a response was returned
27687// at all) in error.(*googleapi.Error).Header. Use
27688// googleapi.IsNotModified to check whether the returned error was
27689// because http.StatusNotModified was returned.
27690func (c *AdvertisersManualTriggersPatchCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
27691	gensupport.SetOptions(c.urlParams_, opts...)
27692	res, err := c.doRequest("json")
27693	if res != nil && res.StatusCode == http.StatusNotModified {
27694		if res.Body != nil {
27695			res.Body.Close()
27696		}
27697		return nil, &googleapi.Error{
27698			Code:   res.StatusCode,
27699			Header: res.Header,
27700		}
27701	}
27702	if err != nil {
27703		return nil, err
27704	}
27705	defer googleapi.CloseBody(res)
27706	if err := googleapi.CheckResponse(res); err != nil {
27707		return nil, err
27708	}
27709	ret := &ManualTrigger{
27710		ServerResponse: googleapi.ServerResponse{
27711			Header:         res.Header,
27712			HTTPStatusCode: res.StatusCode,
27713		},
27714	}
27715	target := &ret
27716	if err := gensupport.DecodeResponse(target, res); err != nil {
27717		return nil, err
27718	}
27719	return ret, nil
27720	// {
27721	//   "description": "Updates a manual trigger. Returns the updated manual trigger if successful.",
27722	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
27723	//   "httpMethod": "PATCH",
27724	//   "id": "displayvideo.advertisers.manualTriggers.patch",
27725	//   "parameterOrder": [
27726	//     "advertiserId",
27727	//     "triggerId"
27728	//   ],
27729	//   "parameters": {
27730	//     "advertiserId": {
27731	//       "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
27732	//       "format": "int64",
27733	//       "location": "path",
27734	//       "pattern": "^[^/]+$",
27735	//       "required": true,
27736	//       "type": "string"
27737	//     },
27738	//     "triggerId": {
27739	//       "description": "Output only. The unique ID of the manual trigger.",
27740	//       "format": "int64",
27741	//       "location": "path",
27742	//       "pattern": "^[^/]+$",
27743	//       "required": true,
27744	//       "type": "string"
27745	//     },
27746	//     "updateMask": {
27747	//       "description": "Required. The mask to control which fields to update.",
27748	//       "format": "google-fieldmask",
27749	//       "location": "query",
27750	//       "type": "string"
27751	//     }
27752	//   },
27753	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
27754	//   "request": {
27755	//     "$ref": "ManualTrigger"
27756	//   },
27757	//   "response": {
27758	//     "$ref": "ManualTrigger"
27759	//   },
27760	//   "scopes": [
27761	//     "https://www.googleapis.com/auth/display-video"
27762	//   ]
27763	// }
27764
27765}
27766
27767// method id "displayvideo.advertisers.negativeKeywordLists.create":
27768
27769type AdvertisersNegativeKeywordListsCreateCall struct {
27770	s                   *Service
27771	advertiserId        int64
27772	negativekeywordlist *NegativeKeywordList
27773	urlParams_          gensupport.URLParams
27774	ctx_                context.Context
27775	header_             http.Header
27776}
27777
27778// Create: Creates a new negative keyword list. Returns the newly
27779// created negative keyword list if successful.
27780//
27781// - advertiserId: The ID of the DV360 advertiser to which the negative
27782//   keyword list will belong.
27783func (r *AdvertisersNegativeKeywordListsService) Create(advertiserId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsCreateCall {
27784	c := &AdvertisersNegativeKeywordListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27785	c.advertiserId = advertiserId
27786	c.negativekeywordlist = negativekeywordlist
27787	return c
27788}
27789
27790// Fields allows partial responses to be retrieved. See
27791// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27792// for more information.
27793func (c *AdvertisersNegativeKeywordListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsCreateCall {
27794	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27795	return c
27796}
27797
27798// Context sets the context to be used in this call's Do method. Any
27799// pending HTTP request will be aborted if the provided context is
27800// canceled.
27801func (c *AdvertisersNegativeKeywordListsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsCreateCall {
27802	c.ctx_ = ctx
27803	return c
27804}
27805
27806// Header returns an http.Header that can be modified by the caller to
27807// add HTTP headers to the request.
27808func (c *AdvertisersNegativeKeywordListsCreateCall) Header() http.Header {
27809	if c.header_ == nil {
27810		c.header_ = make(http.Header)
27811	}
27812	return c.header_
27813}
27814
27815func (c *AdvertisersNegativeKeywordListsCreateCall) doRequest(alt string) (*http.Response, error) {
27816	reqHeaders := make(http.Header)
27817	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
27818	for k, v := range c.header_ {
27819		reqHeaders[k] = v
27820	}
27821	reqHeaders.Set("User-Agent", c.s.userAgent())
27822	var body io.Reader = nil
27823	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
27824	if err != nil {
27825		return nil, err
27826	}
27827	reqHeaders.Set("Content-Type", "application/json")
27828	c.urlParams_.Set("alt", alt)
27829	c.urlParams_.Set("prettyPrint", "false")
27830	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists")
27831	urls += "?" + c.urlParams_.Encode()
27832	req, err := http.NewRequest("POST", urls, body)
27833	if err != nil {
27834		return nil, err
27835	}
27836	req.Header = reqHeaders
27837	googleapi.Expand(req.URL, map[string]string{
27838		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
27839	})
27840	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27841}
27842
27843// Do executes the "displayvideo.advertisers.negativeKeywordLists.create" call.
27844// Exactly one of *NegativeKeywordList or error will be non-nil. Any
27845// non-2xx status code is an error. Response headers are in either
27846// *NegativeKeywordList.ServerResponse.Header or (if a response was
27847// returned at all) in error.(*googleapi.Error).Header. Use
27848// googleapi.IsNotModified to check whether the returned error was
27849// because http.StatusNotModified was returned.
27850func (c *AdvertisersNegativeKeywordListsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
27851	gensupport.SetOptions(c.urlParams_, opts...)
27852	res, err := c.doRequest("json")
27853	if res != nil && res.StatusCode == http.StatusNotModified {
27854		if res.Body != nil {
27855			res.Body.Close()
27856		}
27857		return nil, &googleapi.Error{
27858			Code:   res.StatusCode,
27859			Header: res.Header,
27860		}
27861	}
27862	if err != nil {
27863		return nil, err
27864	}
27865	defer googleapi.CloseBody(res)
27866	if err := googleapi.CheckResponse(res); err != nil {
27867		return nil, err
27868	}
27869	ret := &NegativeKeywordList{
27870		ServerResponse: googleapi.ServerResponse{
27871			Header:         res.Header,
27872			HTTPStatusCode: res.StatusCode,
27873		},
27874	}
27875	target := &ret
27876	if err := gensupport.DecodeResponse(target, res); err != nil {
27877		return nil, err
27878	}
27879	return ret, nil
27880	// {
27881	//   "description": "Creates a new negative keyword list. Returns the newly created negative keyword list if successful.",
27882	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists",
27883	//   "httpMethod": "POST",
27884	//   "id": "displayvideo.advertisers.negativeKeywordLists.create",
27885	//   "parameterOrder": [
27886	//     "advertiserId"
27887	//   ],
27888	//   "parameters": {
27889	//     "advertiserId": {
27890	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list will belong.",
27891	//       "format": "int64",
27892	//       "location": "path",
27893	//       "pattern": "^[^/]+$",
27894	//       "required": true,
27895	//       "type": "string"
27896	//     }
27897	//   },
27898	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists",
27899	//   "request": {
27900	//     "$ref": "NegativeKeywordList"
27901	//   },
27902	//   "response": {
27903	//     "$ref": "NegativeKeywordList"
27904	//   },
27905	//   "scopes": [
27906	//     "https://www.googleapis.com/auth/display-video"
27907	//   ]
27908	// }
27909
27910}
27911
27912// method id "displayvideo.advertisers.negativeKeywordLists.delete":
27913
27914type AdvertisersNegativeKeywordListsDeleteCall struct {
27915	s                     *Service
27916	advertiserId          int64
27917	negativeKeywordListId int64
27918	urlParams_            gensupport.URLParams
27919	ctx_                  context.Context
27920	header_               http.Header
27921}
27922
27923// Delete: Deletes a negative keyword list given an advertiser ID and a
27924// negative keyword list ID.
27925//
27926// - advertiserId: The ID of the DV360 advertiser to which the negative
27927//   keyword list belongs.
27928// - negativeKeywordListId: The ID of the negative keyword list to
27929//   delete.
27930func (r *AdvertisersNegativeKeywordListsService) Delete(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsDeleteCall {
27931	c := &AdvertisersNegativeKeywordListsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27932	c.advertiserId = advertiserId
27933	c.negativeKeywordListId = negativeKeywordListId
27934	return c
27935}
27936
27937// Fields allows partial responses to be retrieved. See
27938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27939// for more information.
27940func (c *AdvertisersNegativeKeywordListsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsDeleteCall {
27941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27942	return c
27943}
27944
27945// Context sets the context to be used in this call's Do method. Any
27946// pending HTTP request will be aborted if the provided context is
27947// canceled.
27948func (c *AdvertisersNegativeKeywordListsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsDeleteCall {
27949	c.ctx_ = ctx
27950	return c
27951}
27952
27953// Header returns an http.Header that can be modified by the caller to
27954// add HTTP headers to the request.
27955func (c *AdvertisersNegativeKeywordListsDeleteCall) Header() http.Header {
27956	if c.header_ == nil {
27957		c.header_ = make(http.Header)
27958	}
27959	return c.header_
27960}
27961
27962func (c *AdvertisersNegativeKeywordListsDeleteCall) doRequest(alt string) (*http.Response, error) {
27963	reqHeaders := make(http.Header)
27964	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
27965	for k, v := range c.header_ {
27966		reqHeaders[k] = v
27967	}
27968	reqHeaders.Set("User-Agent", c.s.userAgent())
27969	var body io.Reader = nil
27970	c.urlParams_.Set("alt", alt)
27971	c.urlParams_.Set("prettyPrint", "false")
27972	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
27973	urls += "?" + c.urlParams_.Encode()
27974	req, err := http.NewRequest("DELETE", urls, body)
27975	if err != nil {
27976		return nil, err
27977	}
27978	req.Header = reqHeaders
27979	googleapi.Expand(req.URL, map[string]string{
27980		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
27981		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
27982	})
27983	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27984}
27985
27986// Do executes the "displayvideo.advertisers.negativeKeywordLists.delete" call.
27987// Exactly one of *Empty or error will be non-nil. Any non-2xx status
27988// code is an error. Response headers are in either
27989// *Empty.ServerResponse.Header or (if a response was returned at all)
27990// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
27991// check whether the returned error was because http.StatusNotModified
27992// was returned.
27993func (c *AdvertisersNegativeKeywordListsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
27994	gensupport.SetOptions(c.urlParams_, opts...)
27995	res, err := c.doRequest("json")
27996	if res != nil && res.StatusCode == http.StatusNotModified {
27997		if res.Body != nil {
27998			res.Body.Close()
27999		}
28000		return nil, &googleapi.Error{
28001			Code:   res.StatusCode,
28002			Header: res.Header,
28003		}
28004	}
28005	if err != nil {
28006		return nil, err
28007	}
28008	defer googleapi.CloseBody(res)
28009	if err := googleapi.CheckResponse(res); err != nil {
28010		return nil, err
28011	}
28012	ret := &Empty{
28013		ServerResponse: googleapi.ServerResponse{
28014			Header:         res.Header,
28015			HTTPStatusCode: res.StatusCode,
28016		},
28017	}
28018	target := &ret
28019	if err := gensupport.DecodeResponse(target, res); err != nil {
28020		return nil, err
28021	}
28022	return ret, nil
28023	// {
28024	//   "description": "Deletes a negative keyword list given an advertiser ID and a negative keyword list ID.",
28025	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
28026	//   "httpMethod": "DELETE",
28027	//   "id": "displayvideo.advertisers.negativeKeywordLists.delete",
28028	//   "parameterOrder": [
28029	//     "advertiserId",
28030	//     "negativeKeywordListId"
28031	//   ],
28032	//   "parameters": {
28033	//     "advertiserId": {
28034	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
28035	//       "format": "int64",
28036	//       "location": "path",
28037	//       "pattern": "^[^/]+$",
28038	//       "required": true,
28039	//       "type": "string"
28040	//     },
28041	//     "negativeKeywordListId": {
28042	//       "description": "Required. The ID of the negative keyword list to delete.",
28043	//       "format": "int64",
28044	//       "location": "path",
28045	//       "pattern": "^[^/]+$",
28046	//       "required": true,
28047	//       "type": "string"
28048	//     }
28049	//   },
28050	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
28051	//   "response": {
28052	//     "$ref": "Empty"
28053	//   },
28054	//   "scopes": [
28055	//     "https://www.googleapis.com/auth/display-video"
28056	//   ]
28057	// }
28058
28059}
28060
28061// method id "displayvideo.advertisers.negativeKeywordLists.get":
28062
28063type AdvertisersNegativeKeywordListsGetCall struct {
28064	s                     *Service
28065	advertiserId          int64
28066	negativeKeywordListId int64
28067	urlParams_            gensupport.URLParams
28068	ifNoneMatch_          string
28069	ctx_                  context.Context
28070	header_               http.Header
28071}
28072
28073// Get: Gets a negative keyword list given an advertiser ID and a
28074// negative keyword list ID.
28075//
28076// - advertiserId: The ID of the DV360 advertiser to which the fetched
28077//   negative keyword list belongs.
28078// - negativeKeywordListId: The ID of the negative keyword list to
28079//   fetch.
28080func (r *AdvertisersNegativeKeywordListsService) Get(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsGetCall {
28081	c := &AdvertisersNegativeKeywordListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28082	c.advertiserId = advertiserId
28083	c.negativeKeywordListId = negativeKeywordListId
28084	return c
28085}
28086
28087// Fields allows partial responses to be retrieved. See
28088// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28089// for more information.
28090func (c *AdvertisersNegativeKeywordListsGetCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsGetCall {
28091	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28092	return c
28093}
28094
28095// IfNoneMatch sets the optional parameter which makes the operation
28096// fail if the object's ETag matches the given value. This is useful for
28097// getting updates only after the object has changed since the last
28098// request. Use googleapi.IsNotModified to check whether the response
28099// error from Do is the result of In-None-Match.
28100func (c *AdvertisersNegativeKeywordListsGetCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsGetCall {
28101	c.ifNoneMatch_ = entityTag
28102	return c
28103}
28104
28105// Context sets the context to be used in this call's Do method. Any
28106// pending HTTP request will be aborted if the provided context is
28107// canceled.
28108func (c *AdvertisersNegativeKeywordListsGetCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsGetCall {
28109	c.ctx_ = ctx
28110	return c
28111}
28112
28113// Header returns an http.Header that can be modified by the caller to
28114// add HTTP headers to the request.
28115func (c *AdvertisersNegativeKeywordListsGetCall) Header() http.Header {
28116	if c.header_ == nil {
28117		c.header_ = make(http.Header)
28118	}
28119	return c.header_
28120}
28121
28122func (c *AdvertisersNegativeKeywordListsGetCall) doRequest(alt string) (*http.Response, error) {
28123	reqHeaders := make(http.Header)
28124	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
28125	for k, v := range c.header_ {
28126		reqHeaders[k] = v
28127	}
28128	reqHeaders.Set("User-Agent", c.s.userAgent())
28129	if c.ifNoneMatch_ != "" {
28130		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28131	}
28132	var body io.Reader = nil
28133	c.urlParams_.Set("alt", alt)
28134	c.urlParams_.Set("prettyPrint", "false")
28135	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
28136	urls += "?" + c.urlParams_.Encode()
28137	req, err := http.NewRequest("GET", urls, body)
28138	if err != nil {
28139		return nil, err
28140	}
28141	req.Header = reqHeaders
28142	googleapi.Expand(req.URL, map[string]string{
28143		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28144		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28145	})
28146	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28147}
28148
28149// Do executes the "displayvideo.advertisers.negativeKeywordLists.get" call.
28150// Exactly one of *NegativeKeywordList or error will be non-nil. Any
28151// non-2xx status code is an error. Response headers are in either
28152// *NegativeKeywordList.ServerResponse.Header or (if a response was
28153// returned at all) in error.(*googleapi.Error).Header. Use
28154// googleapi.IsNotModified to check whether the returned error was
28155// because http.StatusNotModified was returned.
28156func (c *AdvertisersNegativeKeywordListsGetCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
28157	gensupport.SetOptions(c.urlParams_, opts...)
28158	res, err := c.doRequest("json")
28159	if res != nil && res.StatusCode == http.StatusNotModified {
28160		if res.Body != nil {
28161			res.Body.Close()
28162		}
28163		return nil, &googleapi.Error{
28164			Code:   res.StatusCode,
28165			Header: res.Header,
28166		}
28167	}
28168	if err != nil {
28169		return nil, err
28170	}
28171	defer googleapi.CloseBody(res)
28172	if err := googleapi.CheckResponse(res); err != nil {
28173		return nil, err
28174	}
28175	ret := &NegativeKeywordList{
28176		ServerResponse: googleapi.ServerResponse{
28177			Header:         res.Header,
28178			HTTPStatusCode: res.StatusCode,
28179		},
28180	}
28181	target := &ret
28182	if err := gensupport.DecodeResponse(target, res); err != nil {
28183		return nil, err
28184	}
28185	return ret, nil
28186	// {
28187	//   "description": "Gets a negative keyword list given an advertiser ID and a negative keyword list ID.",
28188	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
28189	//   "httpMethod": "GET",
28190	//   "id": "displayvideo.advertisers.negativeKeywordLists.get",
28191	//   "parameterOrder": [
28192	//     "advertiserId",
28193	//     "negativeKeywordListId"
28194	//   ],
28195	//   "parameters": {
28196	//     "advertiserId": {
28197	//       "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs.",
28198	//       "format": "int64",
28199	//       "location": "path",
28200	//       "pattern": "^[^/]+$",
28201	//       "required": true,
28202	//       "type": "string"
28203	//     },
28204	//     "negativeKeywordListId": {
28205	//       "description": "Required. The ID of the negative keyword list to fetch.",
28206	//       "format": "int64",
28207	//       "location": "path",
28208	//       "pattern": "^[^/]+$",
28209	//       "required": true,
28210	//       "type": "string"
28211	//     }
28212	//   },
28213	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
28214	//   "response": {
28215	//     "$ref": "NegativeKeywordList"
28216	//   },
28217	//   "scopes": [
28218	//     "https://www.googleapis.com/auth/display-video"
28219	//   ]
28220	// }
28221
28222}
28223
28224// method id "displayvideo.advertisers.negativeKeywordLists.list":
28225
28226type AdvertisersNegativeKeywordListsListCall struct {
28227	s            *Service
28228	advertiserId int64
28229	urlParams_   gensupport.URLParams
28230	ifNoneMatch_ string
28231	ctx_         context.Context
28232	header_      http.Header
28233}
28234
28235// List: Lists negative keyword lists based on a given advertiser id.
28236//
28237// - advertiserId: The ID of the DV360 advertiser to which the fetched
28238//   negative keyword lists belong.
28239func (r *AdvertisersNegativeKeywordListsService) List(advertiserId int64) *AdvertisersNegativeKeywordListsListCall {
28240	c := &AdvertisersNegativeKeywordListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28241	c.advertiserId = advertiserId
28242	return c
28243}
28244
28245// PageSize sets the optional parameter "pageSize": Requested page size.
28246// Must be between `1` and `100`. Defaults to `100` if not set. Returns
28247// error code `INVALID_ARGUMENT` if an invalid value is specified.
28248func (c *AdvertisersNegativeKeywordListsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsListCall {
28249	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28250	return c
28251}
28252
28253// PageToken sets the optional parameter "pageToken": A token
28254// identifying a page of results the server should return. Typically,
28255// this is the value of next_page_token returned from the previous call
28256// to `ListNegativeKeywordLists` method. If not specified, the first
28257// page of results will be returned.
28258func (c *AdvertisersNegativeKeywordListsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsListCall {
28259	c.urlParams_.Set("pageToken", pageToken)
28260	return c
28261}
28262
28263// Fields allows partial responses to be retrieved. See
28264// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28265// for more information.
28266func (c *AdvertisersNegativeKeywordListsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsListCall {
28267	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28268	return c
28269}
28270
28271// IfNoneMatch sets the optional parameter which makes the operation
28272// fail if the object's ETag matches the given value. This is useful for
28273// getting updates only after the object has changed since the last
28274// request. Use googleapi.IsNotModified to check whether the response
28275// error from Do is the result of In-None-Match.
28276func (c *AdvertisersNegativeKeywordListsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsListCall {
28277	c.ifNoneMatch_ = entityTag
28278	return c
28279}
28280
28281// Context sets the context to be used in this call's Do method. Any
28282// pending HTTP request will be aborted if the provided context is
28283// canceled.
28284func (c *AdvertisersNegativeKeywordListsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsListCall {
28285	c.ctx_ = ctx
28286	return c
28287}
28288
28289// Header returns an http.Header that can be modified by the caller to
28290// add HTTP headers to the request.
28291func (c *AdvertisersNegativeKeywordListsListCall) Header() http.Header {
28292	if c.header_ == nil {
28293		c.header_ = make(http.Header)
28294	}
28295	return c.header_
28296}
28297
28298func (c *AdvertisersNegativeKeywordListsListCall) doRequest(alt string) (*http.Response, error) {
28299	reqHeaders := make(http.Header)
28300	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
28301	for k, v := range c.header_ {
28302		reqHeaders[k] = v
28303	}
28304	reqHeaders.Set("User-Agent", c.s.userAgent())
28305	if c.ifNoneMatch_ != "" {
28306		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28307	}
28308	var body io.Reader = nil
28309	c.urlParams_.Set("alt", alt)
28310	c.urlParams_.Set("prettyPrint", "false")
28311	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists")
28312	urls += "?" + c.urlParams_.Encode()
28313	req, err := http.NewRequest("GET", urls, body)
28314	if err != nil {
28315		return nil, err
28316	}
28317	req.Header = reqHeaders
28318	googleapi.Expand(req.URL, map[string]string{
28319		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
28320	})
28321	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28322}
28323
28324// Do executes the "displayvideo.advertisers.negativeKeywordLists.list" call.
28325// Exactly one of *ListNegativeKeywordListsResponse or error will be
28326// non-nil. Any non-2xx status code is an error. Response headers are in
28327// either *ListNegativeKeywordListsResponse.ServerResponse.Header or (if
28328// a response was returned at all) in error.(*googleapi.Error).Header.
28329// Use googleapi.IsNotModified to check whether the returned error was
28330// because http.StatusNotModified was returned.
28331func (c *AdvertisersNegativeKeywordListsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordListsResponse, error) {
28332	gensupport.SetOptions(c.urlParams_, opts...)
28333	res, err := c.doRequest("json")
28334	if res != nil && res.StatusCode == http.StatusNotModified {
28335		if res.Body != nil {
28336			res.Body.Close()
28337		}
28338		return nil, &googleapi.Error{
28339			Code:   res.StatusCode,
28340			Header: res.Header,
28341		}
28342	}
28343	if err != nil {
28344		return nil, err
28345	}
28346	defer googleapi.CloseBody(res)
28347	if err := googleapi.CheckResponse(res); err != nil {
28348		return nil, err
28349	}
28350	ret := &ListNegativeKeywordListsResponse{
28351		ServerResponse: googleapi.ServerResponse{
28352			Header:         res.Header,
28353			HTTPStatusCode: res.StatusCode,
28354		},
28355	}
28356	target := &ret
28357	if err := gensupport.DecodeResponse(target, res); err != nil {
28358		return nil, err
28359	}
28360	return ret, nil
28361	// {
28362	//   "description": "Lists negative keyword lists based on a given advertiser id.",
28363	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists",
28364	//   "httpMethod": "GET",
28365	//   "id": "displayvideo.advertisers.negativeKeywordLists.list",
28366	//   "parameterOrder": [
28367	//     "advertiserId"
28368	//   ],
28369	//   "parameters": {
28370	//     "advertiserId": {
28371	//       "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong.",
28372	//       "format": "int64",
28373	//       "location": "path",
28374	//       "pattern": "^[^/]+$",
28375	//       "required": true,
28376	//       "type": "string"
28377	//     },
28378	//     "pageSize": {
28379	//       "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.",
28380	//       "format": "int32",
28381	//       "location": "query",
28382	//       "type": "integer"
28383	//     },
28384	//     "pageToken": {
28385	//       "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.",
28386	//       "location": "query",
28387	//       "type": "string"
28388	//     }
28389	//   },
28390	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists",
28391	//   "response": {
28392	//     "$ref": "ListNegativeKeywordListsResponse"
28393	//   },
28394	//   "scopes": [
28395	//     "https://www.googleapis.com/auth/display-video"
28396	//   ]
28397	// }
28398
28399}
28400
28401// Pages invokes f for each page of results.
28402// A non-nil error returned from f will halt the iteration.
28403// The provided context supersedes any context provided to the Context method.
28404func (c *AdvertisersNegativeKeywordListsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordListsResponse) error) error {
28405	c.ctx_ = ctx
28406	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28407	for {
28408		x, err := c.Do()
28409		if err != nil {
28410			return err
28411		}
28412		if err := f(x); err != nil {
28413			return err
28414		}
28415		if x.NextPageToken == "" {
28416			return nil
28417		}
28418		c.PageToken(x.NextPageToken)
28419	}
28420}
28421
28422// method id "displayvideo.advertisers.negativeKeywordLists.patch":
28423
28424type AdvertisersNegativeKeywordListsPatchCall struct {
28425	s                     *Service
28426	advertiserId          int64
28427	negativeKeywordListId int64
28428	negativekeywordlist   *NegativeKeywordList
28429	urlParams_            gensupport.URLParams
28430	ctx_                  context.Context
28431	header_               http.Header
28432}
28433
28434// Patch: Updates a negative keyword list. Returns the updated negative
28435// keyword list if successful.
28436//
28437// - advertiserId: The ID of the DV360 advertiser to which the negative
28438//   keyword list belongs.
28439// - negativeKeywordListId: Output only. The unique ID of the negative
28440//   keyword list. Assigned by the system.
28441func (r *AdvertisersNegativeKeywordListsService) Patch(advertiserId int64, negativeKeywordListId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsPatchCall {
28442	c := &AdvertisersNegativeKeywordListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28443	c.advertiserId = advertiserId
28444	c.negativeKeywordListId = negativeKeywordListId
28445	c.negativekeywordlist = negativekeywordlist
28446	return c
28447}
28448
28449// UpdateMask sets the optional parameter "updateMask": Required. The
28450// mask to control which fields to update.
28451func (c *AdvertisersNegativeKeywordListsPatchCall) UpdateMask(updateMask string) *AdvertisersNegativeKeywordListsPatchCall {
28452	c.urlParams_.Set("updateMask", updateMask)
28453	return c
28454}
28455
28456// Fields allows partial responses to be retrieved. See
28457// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28458// for more information.
28459func (c *AdvertisersNegativeKeywordListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsPatchCall {
28460	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28461	return c
28462}
28463
28464// Context sets the context to be used in this call's Do method. Any
28465// pending HTTP request will be aborted if the provided context is
28466// canceled.
28467func (c *AdvertisersNegativeKeywordListsPatchCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsPatchCall {
28468	c.ctx_ = ctx
28469	return c
28470}
28471
28472// Header returns an http.Header that can be modified by the caller to
28473// add HTTP headers to the request.
28474func (c *AdvertisersNegativeKeywordListsPatchCall) Header() http.Header {
28475	if c.header_ == nil {
28476		c.header_ = make(http.Header)
28477	}
28478	return c.header_
28479}
28480
28481func (c *AdvertisersNegativeKeywordListsPatchCall) doRequest(alt string) (*http.Response, error) {
28482	reqHeaders := make(http.Header)
28483	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
28484	for k, v := range c.header_ {
28485		reqHeaders[k] = v
28486	}
28487	reqHeaders.Set("User-Agent", c.s.userAgent())
28488	var body io.Reader = nil
28489	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
28490	if err != nil {
28491		return nil, err
28492	}
28493	reqHeaders.Set("Content-Type", "application/json")
28494	c.urlParams_.Set("alt", alt)
28495	c.urlParams_.Set("prettyPrint", "false")
28496	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}")
28497	urls += "?" + c.urlParams_.Encode()
28498	req, err := http.NewRequest("PATCH", urls, body)
28499	if err != nil {
28500		return nil, err
28501	}
28502	req.Header = reqHeaders
28503	googleapi.Expand(req.URL, map[string]string{
28504		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28505		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28506	})
28507	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28508}
28509
28510// Do executes the "displayvideo.advertisers.negativeKeywordLists.patch" call.
28511// Exactly one of *NegativeKeywordList or error will be non-nil. Any
28512// non-2xx status code is an error. Response headers are in either
28513// *NegativeKeywordList.ServerResponse.Header or (if a response was
28514// returned at all) in error.(*googleapi.Error).Header. Use
28515// googleapi.IsNotModified to check whether the returned error was
28516// because http.StatusNotModified was returned.
28517func (c *AdvertisersNegativeKeywordListsPatchCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
28518	gensupport.SetOptions(c.urlParams_, opts...)
28519	res, err := c.doRequest("json")
28520	if res != nil && res.StatusCode == http.StatusNotModified {
28521		if res.Body != nil {
28522			res.Body.Close()
28523		}
28524		return nil, &googleapi.Error{
28525			Code:   res.StatusCode,
28526			Header: res.Header,
28527		}
28528	}
28529	if err != nil {
28530		return nil, err
28531	}
28532	defer googleapi.CloseBody(res)
28533	if err := googleapi.CheckResponse(res); err != nil {
28534		return nil, err
28535	}
28536	ret := &NegativeKeywordList{
28537		ServerResponse: googleapi.ServerResponse{
28538			Header:         res.Header,
28539			HTTPStatusCode: res.StatusCode,
28540		},
28541	}
28542	target := &ret
28543	if err := gensupport.DecodeResponse(target, res); err != nil {
28544		return nil, err
28545	}
28546	return ret, nil
28547	// {
28548	//   "description": "Updates a negative keyword list. Returns the updated negative keyword list if successful.",
28549	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId}",
28550	//   "httpMethod": "PATCH",
28551	//   "id": "displayvideo.advertisers.negativeKeywordLists.patch",
28552	//   "parameterOrder": [
28553	//     "advertiserId",
28554	//     "negativeKeywordListId"
28555	//   ],
28556	//   "parameters": {
28557	//     "advertiserId": {
28558	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
28559	//       "format": "int64",
28560	//       "location": "path",
28561	//       "pattern": "^[^/]+$",
28562	//       "required": true,
28563	//       "type": "string"
28564	//     },
28565	//     "negativeKeywordListId": {
28566	//       "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.",
28567	//       "format": "int64",
28568	//       "location": "path",
28569	//       "required": true,
28570	//       "type": "string"
28571	//     },
28572	//     "updateMask": {
28573	//       "description": "Required. The mask to control which fields to update.",
28574	//       "format": "google-fieldmask",
28575	//       "location": "query",
28576	//       "type": "string"
28577	//     }
28578	//   },
28579	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}",
28580	//   "request": {
28581	//     "$ref": "NegativeKeywordList"
28582	//   },
28583	//   "response": {
28584	//     "$ref": "NegativeKeywordList"
28585	//   },
28586	//   "scopes": [
28587	//     "https://www.googleapis.com/auth/display-video"
28588	//   ]
28589	// }
28590
28591}
28592
28593// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit":
28594
28595type AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall struct {
28596	s                               *Service
28597	advertiserId                    int64
28598	negativeKeywordListId           int64
28599	bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest
28600	urlParams_                      gensupport.URLParams
28601	ctx_                            context.Context
28602	header_                         http.Header
28603}
28604
28605// BulkEdit: Bulk edits negative keywords in a single negative keyword
28606// list. The operation will delete the negative keywords provided in
28607// BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then
28608// create the negative keywords provided in
28609// BulkEditNegativeKeywordsRequest.created_negative_keywords. This
28610// operation is guaranteed to be atomic and will never result in a
28611// partial success or partial failure.
28612//
28613// - advertiserId: The ID of the DV360 advertiser to which the parent
28614//   negative keyword list belongs.
28615// - negativeKeywordListId: The ID of the parent negative keyword list
28616//   to which the negative keywords belong.
28617func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) BulkEdit(advertiserId int64, negativeKeywordListId int64, bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
28618	c := &AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28619	c.advertiserId = advertiserId
28620	c.negativeKeywordListId = negativeKeywordListId
28621	c.bulkeditnegativekeywordsrequest = bulkeditnegativekeywordsrequest
28622	return c
28623}
28624
28625// Fields allows partial responses to be retrieved. See
28626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28627// for more information.
28628func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
28629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28630	return c
28631}
28632
28633// Context sets the context to be used in this call's Do method. Any
28634// pending HTTP request will be aborted if the provided context is
28635// canceled.
28636func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
28637	c.ctx_ = ctx
28638	return c
28639}
28640
28641// Header returns an http.Header that can be modified by the caller to
28642// add HTTP headers to the request.
28643func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Header() http.Header {
28644	if c.header_ == nil {
28645		c.header_ = make(http.Header)
28646	}
28647	return c.header_
28648}
28649
28650func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) doRequest(alt string) (*http.Response, error) {
28651	reqHeaders := make(http.Header)
28652	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
28653	for k, v := range c.header_ {
28654		reqHeaders[k] = v
28655	}
28656	reqHeaders.Set("User-Agent", c.s.userAgent())
28657	var body io.Reader = nil
28658	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditnegativekeywordsrequest)
28659	if err != nil {
28660		return nil, err
28661	}
28662	reqHeaders.Set("Content-Type", "application/json")
28663	c.urlParams_.Set("alt", alt)
28664	c.urlParams_.Set("prettyPrint", "false")
28665	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit")
28666	urls += "?" + c.urlParams_.Encode()
28667	req, err := http.NewRequest("POST", urls, body)
28668	if err != nil {
28669		return nil, err
28670	}
28671	req.Header = reqHeaders
28672	googleapi.Expand(req.URL, map[string]string{
28673		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28674		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28675	})
28676	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28677}
28678
28679// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit" call.
28680// Exactly one of *BulkEditNegativeKeywordsResponse or error will be
28681// non-nil. Any non-2xx status code is an error. Response headers are in
28682// either *BulkEditNegativeKeywordsResponse.ServerResponse.Header or (if
28683// a response was returned at all) in error.(*googleapi.Error).Header.
28684// Use googleapi.IsNotModified to check whether the returned error was
28685// because http.StatusNotModified was returned.
28686func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditNegativeKeywordsResponse, error) {
28687	gensupport.SetOptions(c.urlParams_, opts...)
28688	res, err := c.doRequest("json")
28689	if res != nil && res.StatusCode == http.StatusNotModified {
28690		if res.Body != nil {
28691			res.Body.Close()
28692		}
28693		return nil, &googleapi.Error{
28694			Code:   res.StatusCode,
28695			Header: res.Header,
28696		}
28697	}
28698	if err != nil {
28699		return nil, err
28700	}
28701	defer googleapi.CloseBody(res)
28702	if err := googleapi.CheckResponse(res); err != nil {
28703		return nil, err
28704	}
28705	ret := &BulkEditNegativeKeywordsResponse{
28706		ServerResponse: googleapi.ServerResponse{
28707			Header:         res.Header,
28708			HTTPStatusCode: res.StatusCode,
28709		},
28710	}
28711	target := &ret
28712	if err := gensupport.DecodeResponse(target, res); err != nil {
28713		return nil, err
28714	}
28715	return ret, nil
28716	// {
28717	//   "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.",
28718	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit",
28719	//   "httpMethod": "POST",
28720	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit",
28721	//   "parameterOrder": [
28722	//     "advertiserId",
28723	//     "negativeKeywordListId"
28724	//   ],
28725	//   "parameters": {
28726	//     "advertiserId": {
28727	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
28728	//       "format": "int64",
28729	//       "location": "path",
28730	//       "required": true,
28731	//       "type": "string"
28732	//     },
28733	//     "negativeKeywordListId": {
28734	//       "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.",
28735	//       "format": "int64",
28736	//       "location": "path",
28737	//       "pattern": "^[^/]+$",
28738	//       "required": true,
28739	//       "type": "string"
28740	//     }
28741	//   },
28742	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit",
28743	//   "request": {
28744	//     "$ref": "BulkEditNegativeKeywordsRequest"
28745	//   },
28746	//   "response": {
28747	//     "$ref": "BulkEditNegativeKeywordsResponse"
28748	//   },
28749	//   "scopes": [
28750	//     "https://www.googleapis.com/auth/display-video"
28751	//   ]
28752	// }
28753
28754}
28755
28756// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create":
28757
28758type AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall struct {
28759	s                     *Service
28760	advertiserId          int64
28761	negativeKeywordListId int64
28762	negativekeyword       *NegativeKeyword
28763	urlParams_            gensupport.URLParams
28764	ctx_                  context.Context
28765	header_               http.Header
28766}
28767
28768// Create: Creates a negative keyword in a negative keyword list.
28769//
28770// - advertiserId: The ID of the DV360 advertiser to which the parent
28771//   negative keyword list belongs.
28772// - negativeKeywordListId: The ID of the parent negative keyword list
28773//   in which the negative keyword will be created.
28774func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Create(advertiserId int64, negativeKeywordListId int64, negativekeyword *NegativeKeyword) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
28775	c := &AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28776	c.advertiserId = advertiserId
28777	c.negativeKeywordListId = negativeKeywordListId
28778	c.negativekeyword = negativekeyword
28779	return c
28780}
28781
28782// Fields allows partial responses to be retrieved. See
28783// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28784// for more information.
28785func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
28786	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28787	return c
28788}
28789
28790// Context sets the context to be used in this call's Do method. Any
28791// pending HTTP request will be aborted if the provided context is
28792// canceled.
28793func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
28794	c.ctx_ = ctx
28795	return c
28796}
28797
28798// Header returns an http.Header that can be modified by the caller to
28799// add HTTP headers to the request.
28800func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Header() http.Header {
28801	if c.header_ == nil {
28802		c.header_ = make(http.Header)
28803	}
28804	return c.header_
28805}
28806
28807func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) doRequest(alt string) (*http.Response, error) {
28808	reqHeaders := make(http.Header)
28809	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
28810	for k, v := range c.header_ {
28811		reqHeaders[k] = v
28812	}
28813	reqHeaders.Set("User-Agent", c.s.userAgent())
28814	var body io.Reader = nil
28815	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeyword)
28816	if err != nil {
28817		return nil, err
28818	}
28819	reqHeaders.Set("Content-Type", "application/json")
28820	c.urlParams_.Set("alt", alt)
28821	c.urlParams_.Set("prettyPrint", "false")
28822	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
28823	urls += "?" + c.urlParams_.Encode()
28824	req, err := http.NewRequest("POST", urls, body)
28825	if err != nil {
28826		return nil, err
28827	}
28828	req.Header = reqHeaders
28829	googleapi.Expand(req.URL, map[string]string{
28830		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28831		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28832	})
28833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28834}
28835
28836// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create" call.
28837// Exactly one of *NegativeKeyword or error will be non-nil. Any non-2xx
28838// status code is an error. Response headers are in either
28839// *NegativeKeyword.ServerResponse.Header or (if a response was returned
28840// at all) in error.(*googleapi.Error).Header. Use
28841// googleapi.IsNotModified to check whether the returned error was
28842// because http.StatusNotModified was returned.
28843func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeyword, error) {
28844	gensupport.SetOptions(c.urlParams_, opts...)
28845	res, err := c.doRequest("json")
28846	if res != nil && res.StatusCode == http.StatusNotModified {
28847		if res.Body != nil {
28848			res.Body.Close()
28849		}
28850		return nil, &googleapi.Error{
28851			Code:   res.StatusCode,
28852			Header: res.Header,
28853		}
28854	}
28855	if err != nil {
28856		return nil, err
28857	}
28858	defer googleapi.CloseBody(res)
28859	if err := googleapi.CheckResponse(res); err != nil {
28860		return nil, err
28861	}
28862	ret := &NegativeKeyword{
28863		ServerResponse: googleapi.ServerResponse{
28864			Header:         res.Header,
28865			HTTPStatusCode: res.StatusCode,
28866		},
28867	}
28868	target := &ret
28869	if err := gensupport.DecodeResponse(target, res); err != nil {
28870		return nil, err
28871	}
28872	return ret, nil
28873	// {
28874	//   "description": "Creates a negative keyword in a negative keyword list.",
28875	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords",
28876	//   "httpMethod": "POST",
28877	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create",
28878	//   "parameterOrder": [
28879	//     "advertiserId",
28880	//     "negativeKeywordListId"
28881	//   ],
28882	//   "parameters": {
28883	//     "advertiserId": {
28884	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
28885	//       "format": "int64",
28886	//       "location": "path",
28887	//       "required": true,
28888	//       "type": "string"
28889	//     },
28890	//     "negativeKeywordListId": {
28891	//       "description": "Required. The ID of the parent negative keyword list in which the negative keyword will be created.",
28892	//       "format": "int64",
28893	//       "location": "path",
28894	//       "pattern": "^[^/]+$",
28895	//       "required": true,
28896	//       "type": "string"
28897	//     }
28898	//   },
28899	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
28900	//   "request": {
28901	//     "$ref": "NegativeKeyword"
28902	//   },
28903	//   "response": {
28904	//     "$ref": "NegativeKeyword"
28905	//   },
28906	//   "scopes": [
28907	//     "https://www.googleapis.com/auth/display-video"
28908	//   ]
28909	// }
28910
28911}
28912
28913// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete":
28914
28915type AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall struct {
28916	s                     *Service
28917	advertiserId          int64
28918	negativeKeywordListId int64
28919	keywordValue          string
28920	urlParams_            gensupport.URLParams
28921	ctx_                  context.Context
28922	header_               http.Header
28923}
28924
28925// Delete: Deletes a negative keyword from a negative keyword list.
28926//
28927// - advertiserId: The ID of the DV360 advertiser to which the parent
28928//   negative keyword list belongs.
28929// - keywordValue: The keyword value of the negative keyword to delete.
28930// - negativeKeywordListId: The ID of the parent negative keyword list
28931//   to which the negative keyword belongs.
28932func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Delete(advertiserId int64, negativeKeywordListId int64, keywordValue string) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
28933	c := &AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28934	c.advertiserId = advertiserId
28935	c.negativeKeywordListId = negativeKeywordListId
28936	c.keywordValue = keywordValue
28937	return c
28938}
28939
28940// Fields allows partial responses to be retrieved. See
28941// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28942// for more information.
28943func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
28944	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28945	return c
28946}
28947
28948// Context sets the context to be used in this call's Do method. Any
28949// pending HTTP request will be aborted if the provided context is
28950// canceled.
28951func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
28952	c.ctx_ = ctx
28953	return c
28954}
28955
28956// Header returns an http.Header that can be modified by the caller to
28957// add HTTP headers to the request.
28958func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Header() http.Header {
28959	if c.header_ == nil {
28960		c.header_ = make(http.Header)
28961	}
28962	return c.header_
28963}
28964
28965func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) doRequest(alt string) (*http.Response, error) {
28966	reqHeaders := make(http.Header)
28967	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
28968	for k, v := range c.header_ {
28969		reqHeaders[k] = v
28970	}
28971	reqHeaders.Set("User-Agent", c.s.userAgent())
28972	var body io.Reader = nil
28973	c.urlParams_.Set("alt", alt)
28974	c.urlParams_.Set("prettyPrint", "false")
28975	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}")
28976	urls += "?" + c.urlParams_.Encode()
28977	req, err := http.NewRequest("DELETE", urls, body)
28978	if err != nil {
28979		return nil, err
28980	}
28981	req.Header = reqHeaders
28982	googleapi.Expand(req.URL, map[string]string{
28983		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
28984		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
28985		"keywordValue":          c.keywordValue,
28986	})
28987	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28988}
28989
28990// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete" call.
28991// Exactly one of *Empty or error will be non-nil. Any non-2xx status
28992// code is an error. Response headers are in either
28993// *Empty.ServerResponse.Header or (if a response was returned at all)
28994// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28995// check whether the returned error was because http.StatusNotModified
28996// was returned.
28997func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
28998	gensupport.SetOptions(c.urlParams_, opts...)
28999	res, err := c.doRequest("json")
29000	if res != nil && res.StatusCode == http.StatusNotModified {
29001		if res.Body != nil {
29002			res.Body.Close()
29003		}
29004		return nil, &googleapi.Error{
29005			Code:   res.StatusCode,
29006			Header: res.Header,
29007		}
29008	}
29009	if err != nil {
29010		return nil, err
29011	}
29012	defer googleapi.CloseBody(res)
29013	if err := googleapi.CheckResponse(res); err != nil {
29014		return nil, err
29015	}
29016	ret := &Empty{
29017		ServerResponse: googleapi.ServerResponse{
29018			Header:         res.Header,
29019			HTTPStatusCode: res.StatusCode,
29020		},
29021	}
29022	target := &ret
29023	if err := gensupport.DecodeResponse(target, res); err != nil {
29024		return nil, err
29025	}
29026	return ret, nil
29027	// {
29028	//   "description": "Deletes a negative keyword from a negative keyword list.",
29029	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId}",
29030	//   "httpMethod": "DELETE",
29031	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete",
29032	//   "parameterOrder": [
29033	//     "advertiserId",
29034	//     "negativeKeywordListId",
29035	//     "keywordValue"
29036	//   ],
29037	//   "parameters": {
29038	//     "advertiserId": {
29039	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
29040	//       "format": "int64",
29041	//       "location": "path",
29042	//       "required": true,
29043	//       "type": "string"
29044	//     },
29045	//     "keywordValue": {
29046	//       "description": "Required. The keyword value of the negative keyword to delete.",
29047	//       "location": "path",
29048	//       "pattern": "^[^/]+$",
29049	//       "required": true,
29050	//       "type": "string"
29051	//     },
29052	//     "negativeKeywordListId": {
29053	//       "description": "Required. The ID of the parent negative keyword list to which the negative keyword belongs.",
29054	//       "format": "int64",
29055	//       "location": "path",
29056	//       "pattern": "^[^/]+$",
29057	//       "required": true,
29058	//       "type": "string"
29059	//     }
29060	//   },
29061	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}",
29062	//   "response": {
29063	//     "$ref": "Empty"
29064	//   },
29065	//   "scopes": [
29066	//     "https://www.googleapis.com/auth/display-video"
29067	//   ]
29068	// }
29069
29070}
29071
29072// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list":
29073
29074type AdvertisersNegativeKeywordListsNegativeKeywordsListCall struct {
29075	s                     *Service
29076	advertiserId          int64
29077	negativeKeywordListId int64
29078	urlParams_            gensupport.URLParams
29079	ifNoneMatch_          string
29080	ctx_                  context.Context
29081	header_               http.Header
29082}
29083
29084// List: Lists negative keywords in a negative keyword list.
29085//
29086// - advertiserId: The ID of the DV360 advertiser to which the parent
29087//   negative keyword list belongs.
29088// - negativeKeywordListId: The ID of the parent negative keyword list
29089//   to which the requested negative keywords belong.
29090func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) List(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29091	c := &AdvertisersNegativeKeywordListsNegativeKeywordsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29092	c.advertiserId = advertiserId
29093	c.negativeKeywordListId = negativeKeywordListId
29094	return c
29095}
29096
29097// Filter sets the optional parameter "filter": Allows filtering by
29098// negative keyword fields. Supported syntax: * Filter expressions for
29099// negative keyword currently can only contain at most one *
29100// restriction. * A restriction has the form of `{field} {operator}
29101// {value}`. * The operator must be `CONTAINS (:)`. * Supported fields:
29102// - `keywordValue` Examples: * All negative keywords for which the
29103// keyword value contains "google": `keywordValue : "google"
29104func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Filter(filter string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29105	c.urlParams_.Set("filter", filter)
29106	return c
29107}
29108
29109// OrderBy sets the optional parameter "orderBy": Field by which to sort
29110// the list. Acceptable values are: * `keywordValue` (default) The
29111// default sorting order is ascending. To specify descending order for a
29112// field, a suffix " desc" should be added to the field name. Example:
29113// `keywordValue desc`.
29114func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) OrderBy(orderBy string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29115	c.urlParams_.Set("orderBy", orderBy)
29116	return c
29117}
29118
29119// PageSize sets the optional parameter "pageSize": Requested page size.
29120// Must be between `1` and `1000`. If unspecified will default to `100`.
29121// Returns error code `INVALID_ARGUMENT` if an invalid value is
29122// specified.
29123func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29124	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29125	return c
29126}
29127
29128// PageToken sets the optional parameter "pageToken": A token
29129// identifying a page of results the server should return. Typically,
29130// this is the value of next_page_token returned from the previous call
29131// to `ListNegativeKeywords` method. If not specified, the first page of
29132// results will be returned.
29133func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29134	c.urlParams_.Set("pageToken", pageToken)
29135	return c
29136}
29137
29138// Fields allows partial responses to be retrieved. See
29139// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29140// for more information.
29141func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29142	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29143	return c
29144}
29145
29146// IfNoneMatch sets the optional parameter which makes the operation
29147// fail if the object's ETag matches the given value. This is useful for
29148// getting updates only after the object has changed since the last
29149// request. Use googleapi.IsNotModified to check whether the response
29150// error from Do is the result of In-None-Match.
29151func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29152	c.ifNoneMatch_ = entityTag
29153	return c
29154}
29155
29156// Context sets the context to be used in this call's Do method. Any
29157// pending HTTP request will be aborted if the provided context is
29158// canceled.
29159func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
29160	c.ctx_ = ctx
29161	return c
29162}
29163
29164// Header returns an http.Header that can be modified by the caller to
29165// add HTTP headers to the request.
29166func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Header() http.Header {
29167	if c.header_ == nil {
29168		c.header_ = make(http.Header)
29169	}
29170	return c.header_
29171}
29172
29173func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) doRequest(alt string) (*http.Response, error) {
29174	reqHeaders := make(http.Header)
29175	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
29176	for k, v := range c.header_ {
29177		reqHeaders[k] = v
29178	}
29179	reqHeaders.Set("User-Agent", c.s.userAgent())
29180	if c.ifNoneMatch_ != "" {
29181		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29182	}
29183	var body io.Reader = nil
29184	c.urlParams_.Set("alt", alt)
29185	c.urlParams_.Set("prettyPrint", "false")
29186	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
29187	urls += "?" + c.urlParams_.Encode()
29188	req, err := http.NewRequest("GET", urls, body)
29189	if err != nil {
29190		return nil, err
29191	}
29192	req.Header = reqHeaders
29193	googleapi.Expand(req.URL, map[string]string{
29194		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
29195		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
29196	})
29197	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29198}
29199
29200// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list" call.
29201// Exactly one of *ListNegativeKeywordsResponse or error will be
29202// non-nil. Any non-2xx status code is an error. Response headers are in
29203// either *ListNegativeKeywordsResponse.ServerResponse.Header or (if a
29204// response was returned at all) in error.(*googleapi.Error).Header. Use
29205// googleapi.IsNotModified to check whether the returned error was
29206// because http.StatusNotModified was returned.
29207func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordsResponse, error) {
29208	gensupport.SetOptions(c.urlParams_, opts...)
29209	res, err := c.doRequest("json")
29210	if res != nil && res.StatusCode == http.StatusNotModified {
29211		if res.Body != nil {
29212			res.Body.Close()
29213		}
29214		return nil, &googleapi.Error{
29215			Code:   res.StatusCode,
29216			Header: res.Header,
29217		}
29218	}
29219	if err != nil {
29220		return nil, err
29221	}
29222	defer googleapi.CloseBody(res)
29223	if err := googleapi.CheckResponse(res); err != nil {
29224		return nil, err
29225	}
29226	ret := &ListNegativeKeywordsResponse{
29227		ServerResponse: googleapi.ServerResponse{
29228			Header:         res.Header,
29229			HTTPStatusCode: res.StatusCode,
29230		},
29231	}
29232	target := &ret
29233	if err := gensupport.DecodeResponse(target, res); err != nil {
29234		return nil, err
29235	}
29236	return ret, nil
29237	// {
29238	//   "description": "Lists negative keywords in a negative keyword list.",
29239	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords",
29240	//   "httpMethod": "GET",
29241	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list",
29242	//   "parameterOrder": [
29243	//     "advertiserId",
29244	//     "negativeKeywordListId"
29245	//   ],
29246	//   "parameters": {
29247	//     "advertiserId": {
29248	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
29249	//       "format": "int64",
29250	//       "location": "path",
29251	//       "pattern": "^[^/]+$",
29252	//       "required": true,
29253	//       "type": "string"
29254	//     },
29255	//     "filter": {
29256	//       "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\"`",
29257	//       "location": "query",
29258	//       "type": "string"
29259	//     },
29260	//     "negativeKeywordListId": {
29261	//       "description": "Required. The ID of the parent negative keyword list to which the requested negative keywords belong.",
29262	//       "format": "int64",
29263	//       "location": "path",
29264	//       "pattern": "^[^/]+$",
29265	//       "required": true,
29266	//       "type": "string"
29267	//     },
29268	//     "orderBy": {
29269	//       "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`.",
29270	//       "location": "query",
29271	//       "type": "string"
29272	//     },
29273	//     "pageSize": {
29274	//       "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.",
29275	//       "format": "int32",
29276	//       "location": "query",
29277	//       "type": "integer"
29278	//     },
29279	//     "pageToken": {
29280	//       "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.",
29281	//       "location": "query",
29282	//       "type": "string"
29283	//     }
29284	//   },
29285	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
29286	//   "response": {
29287	//     "$ref": "ListNegativeKeywordsResponse"
29288	//   },
29289	//   "scopes": [
29290	//     "https://www.googleapis.com/auth/display-video"
29291	//   ]
29292	// }
29293
29294}
29295
29296// Pages invokes f for each page of results.
29297// A non-nil error returned from f will halt the iteration.
29298// The provided context supersedes any context provided to the Context method.
29299func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordsResponse) error) error {
29300	c.ctx_ = ctx
29301	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29302	for {
29303		x, err := c.Do()
29304		if err != nil {
29305			return err
29306		}
29307		if err := f(x); err != nil {
29308			return err
29309		}
29310		if x.NextPageToken == "" {
29311			return nil
29312		}
29313		c.PageToken(x.NextPageToken)
29314	}
29315}
29316
29317// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace":
29318
29319type AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall struct {
29320	s                              *Service
29321	advertiserId                   int64
29322	negativeKeywordListId          int64
29323	replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest
29324	urlParams_                     gensupport.URLParams
29325	ctx_                           context.Context
29326	header_                        http.Header
29327}
29328
29329// Replace: Replaces all negative keywords in a single negative keyword
29330// list. The operation will replace the keywords in a negative keyword
29331// list with keywords provided in
29332// ReplaceNegativeKeywordsRequest.new_negative_keywords.
29333//
29334// - advertiserId: The ID of the DV360 advertiser to which the parent
29335//   negative keyword list belongs.
29336// - negativeKeywordListId: The ID of the parent negative keyword list
29337//   to which the negative keywords belong.
29338func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Replace(advertiserId int64, negativeKeywordListId int64, replacenegativekeywordsrequest *ReplaceNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
29339	c := &AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29340	c.advertiserId = advertiserId
29341	c.negativeKeywordListId = negativeKeywordListId
29342	c.replacenegativekeywordsrequest = replacenegativekeywordsrequest
29343	return c
29344}
29345
29346// Fields allows partial responses to be retrieved. See
29347// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29348// for more information.
29349func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
29350	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29351	return c
29352}
29353
29354// Context sets the context to be used in this call's Do method. Any
29355// pending HTTP request will be aborted if the provided context is
29356// canceled.
29357func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall {
29358	c.ctx_ = ctx
29359	return c
29360}
29361
29362// Header returns an http.Header that can be modified by the caller to
29363// add HTTP headers to the request.
29364func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Header() http.Header {
29365	if c.header_ == nil {
29366		c.header_ = make(http.Header)
29367	}
29368	return c.header_
29369}
29370
29371func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) doRequest(alt string) (*http.Response, error) {
29372	reqHeaders := make(http.Header)
29373	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
29374	for k, v := range c.header_ {
29375		reqHeaders[k] = v
29376	}
29377	reqHeaders.Set("User-Agent", c.s.userAgent())
29378	var body io.Reader = nil
29379	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacenegativekeywordsrequest)
29380	if err != nil {
29381		return nil, err
29382	}
29383	reqHeaders.Set("Content-Type", "application/json")
29384	c.urlParams_.Set("alt", alt)
29385	c.urlParams_.Set("prettyPrint", "false")
29386	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace")
29387	urls += "?" + c.urlParams_.Encode()
29388	req, err := http.NewRequest("POST", urls, body)
29389	if err != nil {
29390		return nil, err
29391	}
29392	req.Header = reqHeaders
29393	googleapi.Expand(req.URL, map[string]string{
29394		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
29395		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
29396	})
29397	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29398}
29399
29400// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace" call.
29401// Exactly one of *ReplaceNegativeKeywordsResponse or error will be
29402// non-nil. Any non-2xx status code is an error. Response headers are in
29403// either *ReplaceNegativeKeywordsResponse.ServerResponse.Header or (if
29404// a response was returned at all) in error.(*googleapi.Error).Header.
29405// Use googleapi.IsNotModified to check whether the returned error was
29406// because http.StatusNotModified was returned.
29407func (c *AdvertisersNegativeKeywordListsNegativeKeywordsReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceNegativeKeywordsResponse, error) {
29408	gensupport.SetOptions(c.urlParams_, opts...)
29409	res, err := c.doRequest("json")
29410	if res != nil && res.StatusCode == http.StatusNotModified {
29411		if res.Body != nil {
29412			res.Body.Close()
29413		}
29414		return nil, &googleapi.Error{
29415			Code:   res.StatusCode,
29416			Header: res.Header,
29417		}
29418	}
29419	if err != nil {
29420		return nil, err
29421	}
29422	defer googleapi.CloseBody(res)
29423	if err := googleapi.CheckResponse(res); err != nil {
29424		return nil, err
29425	}
29426	ret := &ReplaceNegativeKeywordsResponse{
29427		ServerResponse: googleapi.ServerResponse{
29428			Header:         res.Header,
29429			HTTPStatusCode: res.StatusCode,
29430		},
29431	}
29432	target := &ret
29433	if err := gensupport.DecodeResponse(target, res); err != nil {
29434		return nil, err
29435	}
29436	return ret, nil
29437	// {
29438	//   "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.",
29439	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:replace",
29440	//   "httpMethod": "POST",
29441	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace",
29442	//   "parameterOrder": [
29443	//     "advertiserId",
29444	//     "negativeKeywordListId"
29445	//   ],
29446	//   "parameters": {
29447	//     "advertiserId": {
29448	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
29449	//       "format": "int64",
29450	//       "location": "path",
29451	//       "required": true,
29452	//       "type": "string"
29453	//     },
29454	//     "negativeKeywordListId": {
29455	//       "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.",
29456	//       "format": "int64",
29457	//       "location": "path",
29458	//       "pattern": "^[^/]+$",
29459	//       "required": true,
29460	//       "type": "string"
29461	//     }
29462	//   },
29463	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace",
29464	//   "request": {
29465	//     "$ref": "ReplaceNegativeKeywordsRequest"
29466	//   },
29467	//   "response": {
29468	//     "$ref": "ReplaceNegativeKeywordsResponse"
29469	//   },
29470	//   "scopes": [
29471	//     "https://www.googleapis.com/auth/display-video"
29472	//   ]
29473	// }
29474
29475}
29476
29477// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create":
29478
29479type AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall struct {
29480	s                       *Service
29481	advertiserId            int64
29482	targetingType           string
29483	assignedtargetingoption *AssignedTargetingOption
29484	urlParams_              gensupport.URLParams
29485	ctx_                    context.Context
29486	header_                 http.Header
29487}
29488
29489// Create: Assigns a targeting option to an advertiser. Returns the
29490// assigned targeting option if successful.
29491//
29492// - advertiserId: The ID of the advertiser.
29493// - targetingType: Identifies the type of this assigned targeting
29494//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
29495//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
29496//   `TARGETING_TYPE_OMID` *
29497//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
29498func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
29499	c := &AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29500	c.advertiserId = advertiserId
29501	c.targetingType = targetingType
29502	c.assignedtargetingoption = assignedtargetingoption
29503	return c
29504}
29505
29506// Fields allows partial responses to be retrieved. See
29507// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29508// for more information.
29509func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
29510	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29511	return c
29512}
29513
29514// Context sets the context to be used in this call's Do method. Any
29515// pending HTTP request will be aborted if the provided context is
29516// canceled.
29517func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
29518	c.ctx_ = ctx
29519	return c
29520}
29521
29522// Header returns an http.Header that can be modified by the caller to
29523// add HTTP headers to the request.
29524func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
29525	if c.header_ == nil {
29526		c.header_ = make(http.Header)
29527	}
29528	return c.header_
29529}
29530
29531func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
29532	reqHeaders := make(http.Header)
29533	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
29534	for k, v := range c.header_ {
29535		reqHeaders[k] = v
29536	}
29537	reqHeaders.Set("User-Agent", c.s.userAgent())
29538	var body io.Reader = nil
29539	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
29540	if err != nil {
29541		return nil, err
29542	}
29543	reqHeaders.Set("Content-Type", "application/json")
29544	c.urlParams_.Set("alt", alt)
29545	c.urlParams_.Set("prettyPrint", "false")
29546	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
29547	urls += "?" + c.urlParams_.Encode()
29548	req, err := http.NewRequest("POST", urls, body)
29549	if err != nil {
29550		return nil, err
29551	}
29552	req.Header = reqHeaders
29553	googleapi.Expand(req.URL, map[string]string{
29554		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
29555		"targetingType": c.targetingType,
29556	})
29557	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29558}
29559
29560// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create" call.
29561// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
29562// non-2xx status code is an error. Response headers are in either
29563// *AssignedTargetingOption.ServerResponse.Header or (if a response was
29564// returned at all) in error.(*googleapi.Error).Header. Use
29565// googleapi.IsNotModified to check whether the returned error was
29566// because http.StatusNotModified was returned.
29567func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
29568	gensupport.SetOptions(c.urlParams_, opts...)
29569	res, err := c.doRequest("json")
29570	if res != nil && res.StatusCode == http.StatusNotModified {
29571		if res.Body != nil {
29572			res.Body.Close()
29573		}
29574		return nil, &googleapi.Error{
29575			Code:   res.StatusCode,
29576			Header: res.Header,
29577		}
29578	}
29579	if err != nil {
29580		return nil, err
29581	}
29582	defer googleapi.CloseBody(res)
29583	if err := googleapi.CheckResponse(res); err != nil {
29584		return nil, err
29585	}
29586	ret := &AssignedTargetingOption{
29587		ServerResponse: googleapi.ServerResponse{
29588			Header:         res.Header,
29589			HTTPStatusCode: res.StatusCode,
29590		},
29591	}
29592	target := &ret
29593	if err := gensupport.DecodeResponse(target, res); err != nil {
29594		return nil, err
29595	}
29596	return ret, nil
29597	// {
29598	//   "description": "Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful.",
29599	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
29600	//   "httpMethod": "POST",
29601	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create",
29602	//   "parameterOrder": [
29603	//     "advertiserId",
29604	//     "targetingType"
29605	//   ],
29606	//   "parameters": {
29607	//     "advertiserId": {
29608	//       "description": "Required. The ID of the advertiser.",
29609	//       "format": "int64",
29610	//       "location": "path",
29611	//       "pattern": "^[^/]+$",
29612	//       "required": true,
29613	//       "type": "string"
29614	//     },
29615	//     "targetingType": {
29616	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
29617	//       "enum": [
29618	//         "TARGETING_TYPE_UNSPECIFIED",
29619	//         "TARGETING_TYPE_CHANNEL",
29620	//         "TARGETING_TYPE_APP_CATEGORY",
29621	//         "TARGETING_TYPE_APP",
29622	//         "TARGETING_TYPE_URL",
29623	//         "TARGETING_TYPE_DAY_AND_TIME",
29624	//         "TARGETING_TYPE_AGE_RANGE",
29625	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
29626	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
29627	//         "TARGETING_TYPE_GENDER",
29628	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
29629	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
29630	//         "TARGETING_TYPE_PARENTAL_STATUS",
29631	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
29632	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
29633	//         "TARGETING_TYPE_DEVICE_TYPE",
29634	//         "TARGETING_TYPE_AUDIENCE_GROUP",
29635	//         "TARGETING_TYPE_BROWSER",
29636	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
29637	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
29638	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
29639	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
29640	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
29641	//         "TARGETING_TYPE_ENVIRONMENT",
29642	//         "TARGETING_TYPE_CARRIER_AND_ISP",
29643	//         "TARGETING_TYPE_OPERATING_SYSTEM",
29644	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
29645	//         "TARGETING_TYPE_KEYWORD",
29646	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
29647	//         "TARGETING_TYPE_VIEWABILITY",
29648	//         "TARGETING_TYPE_CATEGORY",
29649	//         "TARGETING_TYPE_INVENTORY_SOURCE",
29650	//         "TARGETING_TYPE_LANGUAGE",
29651	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
29652	//         "TARGETING_TYPE_GEO_REGION",
29653	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
29654	//         "TARGETING_TYPE_EXCHANGE",
29655	//         "TARGETING_TYPE_SUB_EXCHANGE",
29656	//         "TARGETING_TYPE_POI",
29657	//         "TARGETING_TYPE_BUSINESS_CHAIN",
29658	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
29659	//         "TARGETING_TYPE_OMID"
29660	//       ],
29661	//       "enumDescriptions": [
29662	//         "Default value when type is not specified or is unknown in this version.",
29663	//         "Target a channel (a custom group of related websites or apps).",
29664	//         "Target an app category (for example, education or puzzle games).",
29665	//         "Target a specific app (for example, Angry Birds).",
29666	//         "Target a specific url (for example, quora.com).",
29667	//         "Target ads during a chosen time period on a specific day.",
29668	//         "Target ads to a specific age range (for example, 18-24).",
29669	//         "Target ads to the specified regions on a regional location list.",
29670	//         "Target ads to the specified points of interest on a proximity location list.",
29671	//         "Target ads to a specific gender (for example, female or male).",
29672	//         "Target a specific video player size for video ads.",
29673	//         "Target user rewarded content for video ads.",
29674	//         "Target ads to a specific parental status (for example, parent or not a parent).",
29675	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
29676	//         "Target ads in a specific content outstream position.",
29677	//         "Target ads to a specific device type (for example, tablet or connected TV).",
29678	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
29679	//         "Target ads to specific web browsers (for example, Chrome).",
29680	//         "Target ads to a specific household income range (for example, top 10%).",
29681	//         "Target ads in a specific on screen position.",
29682	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
29683	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
29684	//         "Filter website content by sensitive categories (for example, adult).",
29685	//         "Target ads to a specific environment (for example, web or app).",
29686	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
29687	//         "Target ads to a specific operating system (for example, macOS).",
29688	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
29689	//         "Target ads to a specific keyword (for example, dog or retriever).",
29690	//         "Target ads to a specific negative keyword list.",
29691	//         "Target ads to a specific viewability (for example, 80% viewable).",
29692	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
29693	//         "Purchase impressions from specific deals and auction packages.",
29694	//         "Target ads to a specific language (for example, English or Japanese).",
29695	//         "Target ads to ads.txt authorized sellers.",
29696	//         "Target ads to a specific regional location (for example, a city or state).",
29697	//         "Purchase impressions from a group of deals and auction packages.",
29698	//         "Purchase impressions from specific exchanges.",
29699	//         "Purchase impressions from specific sub-exchanges.",
29700	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
29701	//         "Target ads around locations of a business chain within a specific geo region.",
29702	//         "Target ads to a specific native content position.",
29703	//         "Target ads in an Open Measurement enabled inventory."
29704	//       ],
29705	//       "location": "path",
29706	//       "pattern": "^[^/]+$",
29707	//       "required": true,
29708	//       "type": "string"
29709	//     }
29710	//   },
29711	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
29712	//   "request": {
29713	//     "$ref": "AssignedTargetingOption"
29714	//   },
29715	//   "response": {
29716	//     "$ref": "AssignedTargetingOption"
29717	//   },
29718	//   "scopes": [
29719	//     "https://www.googleapis.com/auth/display-video"
29720	//   ]
29721	// }
29722
29723}
29724
29725// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete":
29726
29727type AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
29728	s                         *Service
29729	advertiserId              int64
29730	targetingType             string
29731	assignedTargetingOptionId string
29732	urlParams_                gensupport.URLParams
29733	ctx_                      context.Context
29734	header_                   http.Header
29735}
29736
29737// Delete: Deletes an assigned targeting option from an advertiser.
29738//
29739// - advertiserId: The ID of the advertiser.
29740// - assignedTargetingOptionId: The ID of the assigned targeting option
29741//   to delete.
29742// - targetingType: Identifies the type of this assigned targeting
29743//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
29744//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
29745//   `TARGETING_TYPE_OMID` *
29746//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
29747func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
29748	c := &AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29749	c.advertiserId = advertiserId
29750	c.targetingType = targetingType
29751	c.assignedTargetingOptionId = assignedTargetingOptionId
29752	return c
29753}
29754
29755// Fields allows partial responses to be retrieved. See
29756// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29757// for more information.
29758func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
29759	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29760	return c
29761}
29762
29763// Context sets the context to be used in this call's Do method. Any
29764// pending HTTP request will be aborted if the provided context is
29765// canceled.
29766func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
29767	c.ctx_ = ctx
29768	return c
29769}
29770
29771// Header returns an http.Header that can be modified by the caller to
29772// add HTTP headers to the request.
29773func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
29774	if c.header_ == nil {
29775		c.header_ = make(http.Header)
29776	}
29777	return c.header_
29778}
29779
29780func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
29781	reqHeaders := make(http.Header)
29782	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
29783	for k, v := range c.header_ {
29784		reqHeaders[k] = v
29785	}
29786	reqHeaders.Set("User-Agent", c.s.userAgent())
29787	var body io.Reader = nil
29788	c.urlParams_.Set("alt", alt)
29789	c.urlParams_.Set("prettyPrint", "false")
29790	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
29791	urls += "?" + c.urlParams_.Encode()
29792	req, err := http.NewRequest("DELETE", urls, body)
29793	if err != nil {
29794		return nil, err
29795	}
29796	req.Header = reqHeaders
29797	googleapi.Expand(req.URL, map[string]string{
29798		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
29799		"targetingType":             c.targetingType,
29800		"assignedTargetingOptionId": c.assignedTargetingOptionId,
29801	})
29802	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29803}
29804
29805// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete" call.
29806// Exactly one of *Empty or error will be non-nil. Any non-2xx status
29807// code is an error. Response headers are in either
29808// *Empty.ServerResponse.Header or (if a response was returned at all)
29809// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29810// check whether the returned error was because http.StatusNotModified
29811// was returned.
29812func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
29813	gensupport.SetOptions(c.urlParams_, opts...)
29814	res, err := c.doRequest("json")
29815	if res != nil && res.StatusCode == http.StatusNotModified {
29816		if res.Body != nil {
29817			res.Body.Close()
29818		}
29819		return nil, &googleapi.Error{
29820			Code:   res.StatusCode,
29821			Header: res.Header,
29822		}
29823	}
29824	if err != nil {
29825		return nil, err
29826	}
29827	defer googleapi.CloseBody(res)
29828	if err := googleapi.CheckResponse(res); err != nil {
29829		return nil, err
29830	}
29831	ret := &Empty{
29832		ServerResponse: googleapi.ServerResponse{
29833			Header:         res.Header,
29834			HTTPStatusCode: res.StatusCode,
29835		},
29836	}
29837	target := &ret
29838	if err := gensupport.DecodeResponse(target, res); err != nil {
29839		return nil, err
29840	}
29841	return ret, nil
29842	// {
29843	//   "description": "Deletes an assigned targeting option from an advertiser.",
29844	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
29845	//   "httpMethod": "DELETE",
29846	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete",
29847	//   "parameterOrder": [
29848	//     "advertiserId",
29849	//     "targetingType",
29850	//     "assignedTargetingOptionId"
29851	//   ],
29852	//   "parameters": {
29853	//     "advertiserId": {
29854	//       "description": "Required. The ID of the advertiser.",
29855	//       "format": "int64",
29856	//       "location": "path",
29857	//       "pattern": "^[^/]+$",
29858	//       "required": true,
29859	//       "type": "string"
29860	//     },
29861	//     "assignedTargetingOptionId": {
29862	//       "description": "Required. The ID of the assigned targeting option to delete.",
29863	//       "location": "path",
29864	//       "pattern": "^[^/]+$",
29865	//       "required": true,
29866	//       "type": "string"
29867	//     },
29868	//     "targetingType": {
29869	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
29870	//       "enum": [
29871	//         "TARGETING_TYPE_UNSPECIFIED",
29872	//         "TARGETING_TYPE_CHANNEL",
29873	//         "TARGETING_TYPE_APP_CATEGORY",
29874	//         "TARGETING_TYPE_APP",
29875	//         "TARGETING_TYPE_URL",
29876	//         "TARGETING_TYPE_DAY_AND_TIME",
29877	//         "TARGETING_TYPE_AGE_RANGE",
29878	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
29879	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
29880	//         "TARGETING_TYPE_GENDER",
29881	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
29882	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
29883	//         "TARGETING_TYPE_PARENTAL_STATUS",
29884	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
29885	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
29886	//         "TARGETING_TYPE_DEVICE_TYPE",
29887	//         "TARGETING_TYPE_AUDIENCE_GROUP",
29888	//         "TARGETING_TYPE_BROWSER",
29889	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
29890	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
29891	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
29892	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
29893	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
29894	//         "TARGETING_TYPE_ENVIRONMENT",
29895	//         "TARGETING_TYPE_CARRIER_AND_ISP",
29896	//         "TARGETING_TYPE_OPERATING_SYSTEM",
29897	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
29898	//         "TARGETING_TYPE_KEYWORD",
29899	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
29900	//         "TARGETING_TYPE_VIEWABILITY",
29901	//         "TARGETING_TYPE_CATEGORY",
29902	//         "TARGETING_TYPE_INVENTORY_SOURCE",
29903	//         "TARGETING_TYPE_LANGUAGE",
29904	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
29905	//         "TARGETING_TYPE_GEO_REGION",
29906	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
29907	//         "TARGETING_TYPE_EXCHANGE",
29908	//         "TARGETING_TYPE_SUB_EXCHANGE",
29909	//         "TARGETING_TYPE_POI",
29910	//         "TARGETING_TYPE_BUSINESS_CHAIN",
29911	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
29912	//         "TARGETING_TYPE_OMID"
29913	//       ],
29914	//       "enumDescriptions": [
29915	//         "Default value when type is not specified or is unknown in this version.",
29916	//         "Target a channel (a custom group of related websites or apps).",
29917	//         "Target an app category (for example, education or puzzle games).",
29918	//         "Target a specific app (for example, Angry Birds).",
29919	//         "Target a specific url (for example, quora.com).",
29920	//         "Target ads during a chosen time period on a specific day.",
29921	//         "Target ads to a specific age range (for example, 18-24).",
29922	//         "Target ads to the specified regions on a regional location list.",
29923	//         "Target ads to the specified points of interest on a proximity location list.",
29924	//         "Target ads to a specific gender (for example, female or male).",
29925	//         "Target a specific video player size for video ads.",
29926	//         "Target user rewarded content for video ads.",
29927	//         "Target ads to a specific parental status (for example, parent or not a parent).",
29928	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
29929	//         "Target ads in a specific content outstream position.",
29930	//         "Target ads to a specific device type (for example, tablet or connected TV).",
29931	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
29932	//         "Target ads to specific web browsers (for example, Chrome).",
29933	//         "Target ads to a specific household income range (for example, top 10%).",
29934	//         "Target ads in a specific on screen position.",
29935	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
29936	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
29937	//         "Filter website content by sensitive categories (for example, adult).",
29938	//         "Target ads to a specific environment (for example, web or app).",
29939	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
29940	//         "Target ads to a specific operating system (for example, macOS).",
29941	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
29942	//         "Target ads to a specific keyword (for example, dog or retriever).",
29943	//         "Target ads to a specific negative keyword list.",
29944	//         "Target ads to a specific viewability (for example, 80% viewable).",
29945	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
29946	//         "Purchase impressions from specific deals and auction packages.",
29947	//         "Target ads to a specific language (for example, English or Japanese).",
29948	//         "Target ads to ads.txt authorized sellers.",
29949	//         "Target ads to a specific regional location (for example, a city or state).",
29950	//         "Purchase impressions from a group of deals and auction packages.",
29951	//         "Purchase impressions from specific exchanges.",
29952	//         "Purchase impressions from specific sub-exchanges.",
29953	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
29954	//         "Target ads around locations of a business chain within a specific geo region.",
29955	//         "Target ads to a specific native content position.",
29956	//         "Target ads in an Open Measurement enabled inventory."
29957	//       ],
29958	//       "location": "path",
29959	//       "pattern": "^[^/]+$",
29960	//       "required": true,
29961	//       "type": "string"
29962	//     }
29963	//   },
29964	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
29965	//   "response": {
29966	//     "$ref": "Empty"
29967	//   },
29968	//   "scopes": [
29969	//     "https://www.googleapis.com/auth/display-video"
29970	//   ]
29971	// }
29972
29973}
29974
29975// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get":
29976
29977type AdvertisersTargetingTypesAssignedTargetingOptionsGetCall struct {
29978	s                         *Service
29979	advertiserId              int64
29980	targetingType             string
29981	assignedTargetingOptionId string
29982	urlParams_                gensupport.URLParams
29983	ifNoneMatch_              string
29984	ctx_                      context.Context
29985	header_                   http.Header
29986}
29987
29988// Get: Gets a single targeting option assigned to an advertiser.
29989//
29990// - advertiserId: The ID of the advertiser.
29991// - assignedTargetingOptionId: An identifier unique to the targeting
29992//   type in this advertiser that identifies the assigned targeting
29993//   option being requested.
29994// - targetingType: Identifies the type of this assigned targeting
29995//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
29996//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
29997//   `TARGETING_TYPE_OMID` *
29998//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
29999func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
30000	c := &AdvertisersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30001	c.advertiserId = advertiserId
30002	c.targetingType = targetingType
30003	c.assignedTargetingOptionId = assignedTargetingOptionId
30004	return c
30005}
30006
30007// Fields allows partial responses to be retrieved. See
30008// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30009// for more information.
30010func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
30011	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30012	return c
30013}
30014
30015// IfNoneMatch sets the optional parameter which makes the operation
30016// fail if the object's ETag matches the given value. This is useful for
30017// getting updates only after the object has changed since the last
30018// request. Use googleapi.IsNotModified to check whether the response
30019// error from Do is the result of In-None-Match.
30020func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
30021	c.ifNoneMatch_ = entityTag
30022	return c
30023}
30024
30025// Context sets the context to be used in this call's Do method. Any
30026// pending HTTP request will be aborted if the provided context is
30027// canceled.
30028func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
30029	c.ctx_ = ctx
30030	return c
30031}
30032
30033// Header returns an http.Header that can be modified by the caller to
30034// add HTTP headers to the request.
30035func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
30036	if c.header_ == nil {
30037		c.header_ = make(http.Header)
30038	}
30039	return c.header_
30040}
30041
30042func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
30043	reqHeaders := make(http.Header)
30044	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
30045	for k, v := range c.header_ {
30046		reqHeaders[k] = v
30047	}
30048	reqHeaders.Set("User-Agent", c.s.userAgent())
30049	if c.ifNoneMatch_ != "" {
30050		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30051	}
30052	var body io.Reader = nil
30053	c.urlParams_.Set("alt", alt)
30054	c.urlParams_.Set("prettyPrint", "false")
30055	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
30056	urls += "?" + c.urlParams_.Encode()
30057	req, err := http.NewRequest("GET", urls, body)
30058	if err != nil {
30059		return nil, err
30060	}
30061	req.Header = reqHeaders
30062	googleapi.Expand(req.URL, map[string]string{
30063		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
30064		"targetingType":             c.targetingType,
30065		"assignedTargetingOptionId": c.assignedTargetingOptionId,
30066	})
30067	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30068}
30069
30070// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get" call.
30071// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
30072// non-2xx status code is an error. Response headers are in either
30073// *AssignedTargetingOption.ServerResponse.Header or (if a response was
30074// returned at all) in error.(*googleapi.Error).Header. Use
30075// googleapi.IsNotModified to check whether the returned error was
30076// because http.StatusNotModified was returned.
30077func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
30078	gensupport.SetOptions(c.urlParams_, opts...)
30079	res, err := c.doRequest("json")
30080	if res != nil && res.StatusCode == http.StatusNotModified {
30081		if res.Body != nil {
30082			res.Body.Close()
30083		}
30084		return nil, &googleapi.Error{
30085			Code:   res.StatusCode,
30086			Header: res.Header,
30087		}
30088	}
30089	if err != nil {
30090		return nil, err
30091	}
30092	defer googleapi.CloseBody(res)
30093	if err := googleapi.CheckResponse(res); err != nil {
30094		return nil, err
30095	}
30096	ret := &AssignedTargetingOption{
30097		ServerResponse: googleapi.ServerResponse{
30098			Header:         res.Header,
30099			HTTPStatusCode: res.StatusCode,
30100		},
30101	}
30102	target := &ret
30103	if err := gensupport.DecodeResponse(target, res); err != nil {
30104		return nil, err
30105	}
30106	return ret, nil
30107	// {
30108	//   "description": "Gets a single targeting option assigned to an advertiser.",
30109	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
30110	//   "httpMethod": "GET",
30111	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get",
30112	//   "parameterOrder": [
30113	//     "advertiserId",
30114	//     "targetingType",
30115	//     "assignedTargetingOptionId"
30116	//   ],
30117	//   "parameters": {
30118	//     "advertiserId": {
30119	//       "description": "Required. The ID of the advertiser.",
30120	//       "format": "int64",
30121	//       "location": "path",
30122	//       "pattern": "^[^/]+$",
30123	//       "required": true,
30124	//       "type": "string"
30125	//     },
30126	//     "assignedTargetingOptionId": {
30127	//       "description": "Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested.",
30128	//       "location": "path",
30129	//       "pattern": "^[^/]+$",
30130	//       "required": true,
30131	//       "type": "string"
30132	//     },
30133	//     "targetingType": {
30134	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
30135	//       "enum": [
30136	//         "TARGETING_TYPE_UNSPECIFIED",
30137	//         "TARGETING_TYPE_CHANNEL",
30138	//         "TARGETING_TYPE_APP_CATEGORY",
30139	//         "TARGETING_TYPE_APP",
30140	//         "TARGETING_TYPE_URL",
30141	//         "TARGETING_TYPE_DAY_AND_TIME",
30142	//         "TARGETING_TYPE_AGE_RANGE",
30143	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
30144	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
30145	//         "TARGETING_TYPE_GENDER",
30146	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
30147	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
30148	//         "TARGETING_TYPE_PARENTAL_STATUS",
30149	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
30150	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
30151	//         "TARGETING_TYPE_DEVICE_TYPE",
30152	//         "TARGETING_TYPE_AUDIENCE_GROUP",
30153	//         "TARGETING_TYPE_BROWSER",
30154	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
30155	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
30156	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
30157	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
30158	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
30159	//         "TARGETING_TYPE_ENVIRONMENT",
30160	//         "TARGETING_TYPE_CARRIER_AND_ISP",
30161	//         "TARGETING_TYPE_OPERATING_SYSTEM",
30162	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
30163	//         "TARGETING_TYPE_KEYWORD",
30164	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
30165	//         "TARGETING_TYPE_VIEWABILITY",
30166	//         "TARGETING_TYPE_CATEGORY",
30167	//         "TARGETING_TYPE_INVENTORY_SOURCE",
30168	//         "TARGETING_TYPE_LANGUAGE",
30169	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
30170	//         "TARGETING_TYPE_GEO_REGION",
30171	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
30172	//         "TARGETING_TYPE_EXCHANGE",
30173	//         "TARGETING_TYPE_SUB_EXCHANGE",
30174	//         "TARGETING_TYPE_POI",
30175	//         "TARGETING_TYPE_BUSINESS_CHAIN",
30176	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
30177	//         "TARGETING_TYPE_OMID"
30178	//       ],
30179	//       "enumDescriptions": [
30180	//         "Default value when type is not specified or is unknown in this version.",
30181	//         "Target a channel (a custom group of related websites or apps).",
30182	//         "Target an app category (for example, education or puzzle games).",
30183	//         "Target a specific app (for example, Angry Birds).",
30184	//         "Target a specific url (for example, quora.com).",
30185	//         "Target ads during a chosen time period on a specific day.",
30186	//         "Target ads to a specific age range (for example, 18-24).",
30187	//         "Target ads to the specified regions on a regional location list.",
30188	//         "Target ads to the specified points of interest on a proximity location list.",
30189	//         "Target ads to a specific gender (for example, female or male).",
30190	//         "Target a specific video player size for video ads.",
30191	//         "Target user rewarded content for video ads.",
30192	//         "Target ads to a specific parental status (for example, parent or not a parent).",
30193	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
30194	//         "Target ads in a specific content outstream position.",
30195	//         "Target ads to a specific device type (for example, tablet or connected TV).",
30196	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
30197	//         "Target ads to specific web browsers (for example, Chrome).",
30198	//         "Target ads to a specific household income range (for example, top 10%).",
30199	//         "Target ads in a specific on screen position.",
30200	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
30201	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
30202	//         "Filter website content by sensitive categories (for example, adult).",
30203	//         "Target ads to a specific environment (for example, web or app).",
30204	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
30205	//         "Target ads to a specific operating system (for example, macOS).",
30206	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
30207	//         "Target ads to a specific keyword (for example, dog or retriever).",
30208	//         "Target ads to a specific negative keyword list.",
30209	//         "Target ads to a specific viewability (for example, 80% viewable).",
30210	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
30211	//         "Purchase impressions from specific deals and auction packages.",
30212	//         "Target ads to a specific language (for example, English or Japanese).",
30213	//         "Target ads to ads.txt authorized sellers.",
30214	//         "Target ads to a specific regional location (for example, a city or state).",
30215	//         "Purchase impressions from a group of deals and auction packages.",
30216	//         "Purchase impressions from specific exchanges.",
30217	//         "Purchase impressions from specific sub-exchanges.",
30218	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
30219	//         "Target ads around locations of a business chain within a specific geo region.",
30220	//         "Target ads to a specific native content position.",
30221	//         "Target ads in an Open Measurement enabled inventory."
30222	//       ],
30223	//       "location": "path",
30224	//       "pattern": "^[^/]+$",
30225	//       "required": true,
30226	//       "type": "string"
30227	//     }
30228	//   },
30229	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
30230	//   "response": {
30231	//     "$ref": "AssignedTargetingOption"
30232	//   },
30233	//   "scopes": [
30234	//     "https://www.googleapis.com/auth/display-video"
30235	//   ]
30236	// }
30237
30238}
30239
30240// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list":
30241
30242type AdvertisersTargetingTypesAssignedTargetingOptionsListCall struct {
30243	s             *Service
30244	advertiserId  int64
30245	targetingType string
30246	urlParams_    gensupport.URLParams
30247	ifNoneMatch_  string
30248	ctx_          context.Context
30249	header_       http.Header
30250}
30251
30252// List: Lists the targeting options assigned to an advertiser.
30253//
30254// - advertiserId: The ID of the advertiser.
30255// - targetingType: Identifies the type of assigned targeting options to
30256//   list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
30257//   `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
30258//   `TARGETING_TYPE_OMID` *
30259//   `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
30260func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, targetingType string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30261	c := &AdvertisersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30262	c.advertiserId = advertiserId
30263	c.targetingType = targetingType
30264	return c
30265}
30266
30267// Filter sets the optional parameter "filter": Allows filtering by
30268// assigned targeting option properties. Supported syntax: * Filter
30269// expressions are made up of one or more restrictions. * Restrictions
30270// can be combined by the logical operator `OR`. * A restriction has the
30271// form of `{field} {operator} {value}`. * The operator must be `EQUALS
30272// (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: *
30273// AssignedTargetingOption with ID 123456
30274// `assignedTargetingOptionId="123456" The length of this field should
30275// be no more than 500 characters.
30276func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30277	c.urlParams_.Set("filter", filter)
30278	return c
30279}
30280
30281// OrderBy sets the optional parameter "orderBy": Field by which to sort
30282// the list. Acceptable values are: * `assignedTargetingOptionId`
30283// (default) The default sorting order is ascending. To specify
30284// descending order for a field, a suffix "desc" should be added to the
30285// field name. Example: `assignedTargetingOptionId desc`.
30286func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30287	c.urlParams_.Set("orderBy", orderBy)
30288	return c
30289}
30290
30291// PageSize sets the optional parameter "pageSize": Requested page size.
30292// Must be between `1` and `5000`. If unspecified will default to `100`.
30293// Returns error code `INVALID_ARGUMENT` if an invalid value is
30294// specified.
30295func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30296	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
30297	return c
30298}
30299
30300// PageToken sets the optional parameter "pageToken": A token
30301// identifying a page of results the server should return. Typically,
30302// this is the value of next_page_token returned from the previous call
30303// to `ListAdvertiserAssignedTargetingOptions` method. If not specified,
30304// the first page of results will be returned.
30305func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30306	c.urlParams_.Set("pageToken", pageToken)
30307	return c
30308}
30309
30310// Fields allows partial responses to be retrieved. See
30311// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30312// for more information.
30313func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30314	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30315	return c
30316}
30317
30318// IfNoneMatch sets the optional parameter which makes the operation
30319// fail if the object's ETag matches the given value. This is useful for
30320// getting updates only after the object has changed since the last
30321// request. Use googleapi.IsNotModified to check whether the response
30322// error from Do is the result of In-None-Match.
30323func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30324	c.ifNoneMatch_ = entityTag
30325	return c
30326}
30327
30328// Context sets the context to be used in this call's Do method. Any
30329// pending HTTP request will be aborted if the provided context is
30330// canceled.
30331func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
30332	c.ctx_ = ctx
30333	return c
30334}
30335
30336// Header returns an http.Header that can be modified by the caller to
30337// add HTTP headers to the request.
30338func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
30339	if c.header_ == nil {
30340		c.header_ = make(http.Header)
30341	}
30342	return c.header_
30343}
30344
30345func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
30346	reqHeaders := make(http.Header)
30347	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
30348	for k, v := range c.header_ {
30349		reqHeaders[k] = v
30350	}
30351	reqHeaders.Set("User-Agent", c.s.userAgent())
30352	if c.ifNoneMatch_ != "" {
30353		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30354	}
30355	var body io.Reader = nil
30356	c.urlParams_.Set("alt", alt)
30357	c.urlParams_.Set("prettyPrint", "false")
30358	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
30359	urls += "?" + c.urlParams_.Encode()
30360	req, err := http.NewRequest("GET", urls, body)
30361	if err != nil {
30362		return nil, err
30363	}
30364	req.Header = reqHeaders
30365	googleapi.Expand(req.URL, map[string]string{
30366		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
30367		"targetingType": c.targetingType,
30368	})
30369	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30370}
30371
30372// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list" call.
30373// Exactly one of *ListAdvertiserAssignedTargetingOptionsResponse or
30374// error will be non-nil. Any non-2xx status code is an error. Response
30375// headers are in either
30376// *ListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header
30377// or (if a response was returned at all) in
30378// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30379// whether the returned error was because http.StatusNotModified was
30380// returned.
30381func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListAdvertiserAssignedTargetingOptionsResponse, error) {
30382	gensupport.SetOptions(c.urlParams_, opts...)
30383	res, err := c.doRequest("json")
30384	if res != nil && res.StatusCode == http.StatusNotModified {
30385		if res.Body != nil {
30386			res.Body.Close()
30387		}
30388		return nil, &googleapi.Error{
30389			Code:   res.StatusCode,
30390			Header: res.Header,
30391		}
30392	}
30393	if err != nil {
30394		return nil, err
30395	}
30396	defer googleapi.CloseBody(res)
30397	if err := googleapi.CheckResponse(res); err != nil {
30398		return nil, err
30399	}
30400	ret := &ListAdvertiserAssignedTargetingOptionsResponse{
30401		ServerResponse: googleapi.ServerResponse{
30402			Header:         res.Header,
30403			HTTPStatusCode: res.StatusCode,
30404		},
30405	}
30406	target := &ret
30407	if err := gensupport.DecodeResponse(target, res); err != nil {
30408		return nil, err
30409	}
30410	return ret, nil
30411	// {
30412	//   "description": "Lists the targeting options assigned to an advertiser.",
30413	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
30414	//   "httpMethod": "GET",
30415	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list",
30416	//   "parameterOrder": [
30417	//     "advertiserId",
30418	//     "targetingType"
30419	//   ],
30420	//   "parameters": {
30421	//     "advertiserId": {
30422	//       "description": "Required. The ID of the advertiser.",
30423	//       "format": "int64",
30424	//       "location": "path",
30425	//       "pattern": "^[^/]+$",
30426	//       "required": true,
30427	//       "type": "string"
30428	//     },
30429	//     "filter": {
30430	//       "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.",
30431	//       "location": "query",
30432	//       "type": "string"
30433	//     },
30434	//     "orderBy": {
30435	//       "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`.",
30436	//       "location": "query",
30437	//       "type": "string"
30438	//     },
30439	//     "pageSize": {
30440	//       "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.",
30441	//       "format": "int32",
30442	//       "location": "query",
30443	//       "type": "integer"
30444	//     },
30445	//     "pageToken": {
30446	//       "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.",
30447	//       "location": "query",
30448	//       "type": "string"
30449	//     },
30450	//     "targetingType": {
30451	//       "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_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
30452	//       "enum": [
30453	//         "TARGETING_TYPE_UNSPECIFIED",
30454	//         "TARGETING_TYPE_CHANNEL",
30455	//         "TARGETING_TYPE_APP_CATEGORY",
30456	//         "TARGETING_TYPE_APP",
30457	//         "TARGETING_TYPE_URL",
30458	//         "TARGETING_TYPE_DAY_AND_TIME",
30459	//         "TARGETING_TYPE_AGE_RANGE",
30460	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
30461	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
30462	//         "TARGETING_TYPE_GENDER",
30463	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
30464	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
30465	//         "TARGETING_TYPE_PARENTAL_STATUS",
30466	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
30467	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
30468	//         "TARGETING_TYPE_DEVICE_TYPE",
30469	//         "TARGETING_TYPE_AUDIENCE_GROUP",
30470	//         "TARGETING_TYPE_BROWSER",
30471	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
30472	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
30473	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
30474	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
30475	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
30476	//         "TARGETING_TYPE_ENVIRONMENT",
30477	//         "TARGETING_TYPE_CARRIER_AND_ISP",
30478	//         "TARGETING_TYPE_OPERATING_SYSTEM",
30479	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
30480	//         "TARGETING_TYPE_KEYWORD",
30481	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
30482	//         "TARGETING_TYPE_VIEWABILITY",
30483	//         "TARGETING_TYPE_CATEGORY",
30484	//         "TARGETING_TYPE_INVENTORY_SOURCE",
30485	//         "TARGETING_TYPE_LANGUAGE",
30486	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
30487	//         "TARGETING_TYPE_GEO_REGION",
30488	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
30489	//         "TARGETING_TYPE_EXCHANGE",
30490	//         "TARGETING_TYPE_SUB_EXCHANGE",
30491	//         "TARGETING_TYPE_POI",
30492	//         "TARGETING_TYPE_BUSINESS_CHAIN",
30493	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
30494	//         "TARGETING_TYPE_OMID"
30495	//       ],
30496	//       "enumDescriptions": [
30497	//         "Default value when type is not specified or is unknown in this version.",
30498	//         "Target a channel (a custom group of related websites or apps).",
30499	//         "Target an app category (for example, education or puzzle games).",
30500	//         "Target a specific app (for example, Angry Birds).",
30501	//         "Target a specific url (for example, quora.com).",
30502	//         "Target ads during a chosen time period on a specific day.",
30503	//         "Target ads to a specific age range (for example, 18-24).",
30504	//         "Target ads to the specified regions on a regional location list.",
30505	//         "Target ads to the specified points of interest on a proximity location list.",
30506	//         "Target ads to a specific gender (for example, female or male).",
30507	//         "Target a specific video player size for video ads.",
30508	//         "Target user rewarded content for video ads.",
30509	//         "Target ads to a specific parental status (for example, parent or not a parent).",
30510	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
30511	//         "Target ads in a specific content outstream position.",
30512	//         "Target ads to a specific device type (for example, tablet or connected TV).",
30513	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
30514	//         "Target ads to specific web browsers (for example, Chrome).",
30515	//         "Target ads to a specific household income range (for example, top 10%).",
30516	//         "Target ads in a specific on screen position.",
30517	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
30518	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
30519	//         "Filter website content by sensitive categories (for example, adult).",
30520	//         "Target ads to a specific environment (for example, web or app).",
30521	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
30522	//         "Target ads to a specific operating system (for example, macOS).",
30523	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
30524	//         "Target ads to a specific keyword (for example, dog or retriever).",
30525	//         "Target ads to a specific negative keyword list.",
30526	//         "Target ads to a specific viewability (for example, 80% viewable).",
30527	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
30528	//         "Purchase impressions from specific deals and auction packages.",
30529	//         "Target ads to a specific language (for example, English or Japanese).",
30530	//         "Target ads to ads.txt authorized sellers.",
30531	//         "Target ads to a specific regional location (for example, a city or state).",
30532	//         "Purchase impressions from a group of deals and auction packages.",
30533	//         "Purchase impressions from specific exchanges.",
30534	//         "Purchase impressions from specific sub-exchanges.",
30535	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
30536	//         "Target ads around locations of a business chain within a specific geo region.",
30537	//         "Target ads to a specific native content position.",
30538	//         "Target ads in an Open Measurement enabled inventory."
30539	//       ],
30540	//       "location": "path",
30541	//       "pattern": "^[^/]+$",
30542	//       "required": true,
30543	//       "type": "string"
30544	//     }
30545	//   },
30546	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
30547	//   "response": {
30548	//     "$ref": "ListAdvertiserAssignedTargetingOptionsResponse"
30549	//   },
30550	//   "scopes": [
30551	//     "https://www.googleapis.com/auth/display-video"
30552	//   ]
30553	// }
30554
30555}
30556
30557// Pages invokes f for each page of results.
30558// A non-nil error returned from f will halt the iteration.
30559// The provided context supersedes any context provided to the Context method.
30560func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListAdvertiserAssignedTargetingOptionsResponse) error) error {
30561	c.ctx_ = ctx
30562	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30563	for {
30564		x, err := c.Do()
30565		if err != nil {
30566			return err
30567		}
30568		if err := f(x); err != nil {
30569			return err
30570		}
30571		if x.NextPageToken == "" {
30572			return nil
30573		}
30574		c.PageToken(x.NextPageToken)
30575	}
30576}
30577
30578// method id "displayvideo.combinedAudiences.get":
30579
30580type CombinedAudiencesGetCall struct {
30581	s                  *Service
30582	combinedAudienceId int64
30583	urlParams_         gensupport.URLParams
30584	ifNoneMatch_       string
30585	ctx_               context.Context
30586	header_            http.Header
30587}
30588
30589// Get: Gets a combined audience.
30590//
30591// - combinedAudienceId: The ID of the combined audience to fetch.
30592func (r *CombinedAudiencesService) Get(combinedAudienceId int64) *CombinedAudiencesGetCall {
30593	c := &CombinedAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30594	c.combinedAudienceId = combinedAudienceId
30595	return c
30596}
30597
30598// AdvertiserId sets the optional parameter "advertiserId": The ID of
30599// the advertiser that has access to the fetched combined audience.
30600func (c *CombinedAudiencesGetCall) AdvertiserId(advertiserId int64) *CombinedAudiencesGetCall {
30601	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30602	return c
30603}
30604
30605// PartnerId sets the optional parameter "partnerId": The ID of the
30606// partner that has access to the fetched combined audience.
30607func (c *CombinedAudiencesGetCall) PartnerId(partnerId int64) *CombinedAudiencesGetCall {
30608	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
30609	return c
30610}
30611
30612// Fields allows partial responses to be retrieved. See
30613// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30614// for more information.
30615func (c *CombinedAudiencesGetCall) Fields(s ...googleapi.Field) *CombinedAudiencesGetCall {
30616	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30617	return c
30618}
30619
30620// IfNoneMatch sets the optional parameter which makes the operation
30621// fail if the object's ETag matches the given value. This is useful for
30622// getting updates only after the object has changed since the last
30623// request. Use googleapi.IsNotModified to check whether the response
30624// error from Do is the result of In-None-Match.
30625func (c *CombinedAudiencesGetCall) IfNoneMatch(entityTag string) *CombinedAudiencesGetCall {
30626	c.ifNoneMatch_ = entityTag
30627	return c
30628}
30629
30630// Context sets the context to be used in this call's Do method. Any
30631// pending HTTP request will be aborted if the provided context is
30632// canceled.
30633func (c *CombinedAudiencesGetCall) Context(ctx context.Context) *CombinedAudiencesGetCall {
30634	c.ctx_ = ctx
30635	return c
30636}
30637
30638// Header returns an http.Header that can be modified by the caller to
30639// add HTTP headers to the request.
30640func (c *CombinedAudiencesGetCall) Header() http.Header {
30641	if c.header_ == nil {
30642		c.header_ = make(http.Header)
30643	}
30644	return c.header_
30645}
30646
30647func (c *CombinedAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
30648	reqHeaders := make(http.Header)
30649	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
30650	for k, v := range c.header_ {
30651		reqHeaders[k] = v
30652	}
30653	reqHeaders.Set("User-Agent", c.s.userAgent())
30654	if c.ifNoneMatch_ != "" {
30655		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30656	}
30657	var body io.Reader = nil
30658	c.urlParams_.Set("alt", alt)
30659	c.urlParams_.Set("prettyPrint", "false")
30660	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/combinedAudiences/{+combinedAudienceId}")
30661	urls += "?" + c.urlParams_.Encode()
30662	req, err := http.NewRequest("GET", urls, body)
30663	if err != nil {
30664		return nil, err
30665	}
30666	req.Header = reqHeaders
30667	googleapi.Expand(req.URL, map[string]string{
30668		"combinedAudienceId": strconv.FormatInt(c.combinedAudienceId, 10),
30669	})
30670	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30671}
30672
30673// Do executes the "displayvideo.combinedAudiences.get" call.
30674// Exactly one of *CombinedAudience or error will be non-nil. Any
30675// non-2xx status code is an error. Response headers are in either
30676// *CombinedAudience.ServerResponse.Header or (if a response was
30677// returned at all) in error.(*googleapi.Error).Header. Use
30678// googleapi.IsNotModified to check whether the returned error was
30679// because http.StatusNotModified was returned.
30680func (c *CombinedAudiencesGetCall) Do(opts ...googleapi.CallOption) (*CombinedAudience, error) {
30681	gensupport.SetOptions(c.urlParams_, opts...)
30682	res, err := c.doRequest("json")
30683	if res != nil && res.StatusCode == http.StatusNotModified {
30684		if res.Body != nil {
30685			res.Body.Close()
30686		}
30687		return nil, &googleapi.Error{
30688			Code:   res.StatusCode,
30689			Header: res.Header,
30690		}
30691	}
30692	if err != nil {
30693		return nil, err
30694	}
30695	defer googleapi.CloseBody(res)
30696	if err := googleapi.CheckResponse(res); err != nil {
30697		return nil, err
30698	}
30699	ret := &CombinedAudience{
30700		ServerResponse: googleapi.ServerResponse{
30701			Header:         res.Header,
30702			HTTPStatusCode: res.StatusCode,
30703		},
30704	}
30705	target := &ret
30706	if err := gensupport.DecodeResponse(target, res); err != nil {
30707		return nil, err
30708	}
30709	return ret, nil
30710	// {
30711	//   "description": "Gets a combined audience.",
30712	//   "flatPath": "v1/combinedAudiences/{combinedAudiencesId}",
30713	//   "httpMethod": "GET",
30714	//   "id": "displayvideo.combinedAudiences.get",
30715	//   "parameterOrder": [
30716	//     "combinedAudienceId"
30717	//   ],
30718	//   "parameters": {
30719	//     "advertiserId": {
30720	//       "description": "The ID of the advertiser that has access to the fetched combined audience.",
30721	//       "format": "int64",
30722	//       "location": "query",
30723	//       "type": "string"
30724	//     },
30725	//     "combinedAudienceId": {
30726	//       "description": "Required. The ID of the combined audience to fetch.",
30727	//       "format": "int64",
30728	//       "location": "path",
30729	//       "pattern": "^[^/]+$",
30730	//       "required": true,
30731	//       "type": "string"
30732	//     },
30733	//     "partnerId": {
30734	//       "description": "The ID of the partner that has access to the fetched combined audience.",
30735	//       "format": "int64",
30736	//       "location": "query",
30737	//       "type": "string"
30738	//     }
30739	//   },
30740	//   "path": "v1/combinedAudiences/{+combinedAudienceId}",
30741	//   "response": {
30742	//     "$ref": "CombinedAudience"
30743	//   },
30744	//   "scopes": [
30745	//     "https://www.googleapis.com/auth/display-video"
30746	//   ]
30747	// }
30748
30749}
30750
30751// method id "displayvideo.combinedAudiences.list":
30752
30753type CombinedAudiencesListCall struct {
30754	s            *Service
30755	urlParams_   gensupport.URLParams
30756	ifNoneMatch_ string
30757	ctx_         context.Context
30758	header_      http.Header
30759}
30760
30761// List: Lists combined audiences. The order is defined by the order_by
30762// parameter.
30763func (r *CombinedAudiencesService) List() *CombinedAudiencesListCall {
30764	c := &CombinedAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30765	return c
30766}
30767
30768// AdvertiserId sets the optional parameter "advertiserId": The ID of
30769// the advertiser that has access to the fetched combined audiences.
30770func (c *CombinedAudiencesListCall) AdvertiserId(advertiserId int64) *CombinedAudiencesListCall {
30771	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30772	return c
30773}
30774
30775// Filter sets the optional parameter "filter": Allows filtering by
30776// combined audience fields. Supported syntax: * Filter expressions for
30777// combined audiences currently can only contain at most one
30778// restriction. * A restriction has the form of `{field} {operator}
30779// {value}`. * The operator must be `CONTAINS (:)`. * Supported fields:
30780// - `displayName` Examples: * All combined audiences for which the
30781// display name contains "Google": `displayName : "Google". The length
30782// of this field should be no more than 500 characters.
30783func (c *CombinedAudiencesListCall) Filter(filter string) *CombinedAudiencesListCall {
30784	c.urlParams_.Set("filter", filter)
30785	return c
30786}
30787
30788// OrderBy sets the optional parameter "orderBy": Field by which to sort
30789// the list. Acceptable values are: * `combinedAudienceId` (default) *
30790// `displayName` The default sorting order is ascending. To specify
30791// descending order for a field, a suffix "desc" should be added to the
30792// field name. Example: `displayName desc`.
30793func (c *CombinedAudiencesListCall) OrderBy(orderBy string) *CombinedAudiencesListCall {
30794	c.urlParams_.Set("orderBy", orderBy)
30795	return c
30796}
30797
30798// PageSize sets the optional parameter "pageSize": Requested page size.
30799// Must be between `1` and `100`. If unspecified will default to `100`.
30800// Returns error code `INVALID_ARGUMENT` if an invalid value is
30801// specified.
30802func (c *CombinedAudiencesListCall) PageSize(pageSize int64) *CombinedAudiencesListCall {
30803	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
30804	return c
30805}
30806
30807// PageToken sets the optional parameter "pageToken": A token
30808// identifying a page of results the server should return. Typically,
30809// this is the value of next_page_token returned from the previous call
30810// to `ListCombinedAudiences` method. If not specified, the first page
30811// of results will be returned.
30812func (c *CombinedAudiencesListCall) PageToken(pageToken string) *CombinedAudiencesListCall {
30813	c.urlParams_.Set("pageToken", pageToken)
30814	return c
30815}
30816
30817// PartnerId sets the optional parameter "partnerId": The ID of the
30818// partner that has access to the fetched combined audiences.
30819func (c *CombinedAudiencesListCall) PartnerId(partnerId int64) *CombinedAudiencesListCall {
30820	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
30821	return c
30822}
30823
30824// Fields allows partial responses to be retrieved. See
30825// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30826// for more information.
30827func (c *CombinedAudiencesListCall) Fields(s ...googleapi.Field) *CombinedAudiencesListCall {
30828	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30829	return c
30830}
30831
30832// IfNoneMatch sets the optional parameter which makes the operation
30833// fail if the object's ETag matches the given value. This is useful for
30834// getting updates only after the object has changed since the last
30835// request. Use googleapi.IsNotModified to check whether the response
30836// error from Do is the result of In-None-Match.
30837func (c *CombinedAudiencesListCall) IfNoneMatch(entityTag string) *CombinedAudiencesListCall {
30838	c.ifNoneMatch_ = entityTag
30839	return c
30840}
30841
30842// Context sets the context to be used in this call's Do method. Any
30843// pending HTTP request will be aborted if the provided context is
30844// canceled.
30845func (c *CombinedAudiencesListCall) Context(ctx context.Context) *CombinedAudiencesListCall {
30846	c.ctx_ = ctx
30847	return c
30848}
30849
30850// Header returns an http.Header that can be modified by the caller to
30851// add HTTP headers to the request.
30852func (c *CombinedAudiencesListCall) Header() http.Header {
30853	if c.header_ == nil {
30854		c.header_ = make(http.Header)
30855	}
30856	return c.header_
30857}
30858
30859func (c *CombinedAudiencesListCall) doRequest(alt string) (*http.Response, error) {
30860	reqHeaders := make(http.Header)
30861	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
30862	for k, v := range c.header_ {
30863		reqHeaders[k] = v
30864	}
30865	reqHeaders.Set("User-Agent", c.s.userAgent())
30866	if c.ifNoneMatch_ != "" {
30867		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30868	}
30869	var body io.Reader = nil
30870	c.urlParams_.Set("alt", alt)
30871	c.urlParams_.Set("prettyPrint", "false")
30872	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/combinedAudiences")
30873	urls += "?" + c.urlParams_.Encode()
30874	req, err := http.NewRequest("GET", urls, body)
30875	if err != nil {
30876		return nil, err
30877	}
30878	req.Header = reqHeaders
30879	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30880}
30881
30882// Do executes the "displayvideo.combinedAudiences.list" call.
30883// Exactly one of *ListCombinedAudiencesResponse or error will be
30884// non-nil. Any non-2xx status code is an error. Response headers are in
30885// either *ListCombinedAudiencesResponse.ServerResponse.Header or (if a
30886// response was returned at all) in error.(*googleapi.Error).Header. Use
30887// googleapi.IsNotModified to check whether the returned error was
30888// because http.StatusNotModified was returned.
30889func (c *CombinedAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListCombinedAudiencesResponse, error) {
30890	gensupport.SetOptions(c.urlParams_, opts...)
30891	res, err := c.doRequest("json")
30892	if res != nil && res.StatusCode == http.StatusNotModified {
30893		if res.Body != nil {
30894			res.Body.Close()
30895		}
30896		return nil, &googleapi.Error{
30897			Code:   res.StatusCode,
30898			Header: res.Header,
30899		}
30900	}
30901	if err != nil {
30902		return nil, err
30903	}
30904	defer googleapi.CloseBody(res)
30905	if err := googleapi.CheckResponse(res); err != nil {
30906		return nil, err
30907	}
30908	ret := &ListCombinedAudiencesResponse{
30909		ServerResponse: googleapi.ServerResponse{
30910			Header:         res.Header,
30911			HTTPStatusCode: res.StatusCode,
30912		},
30913	}
30914	target := &ret
30915	if err := gensupport.DecodeResponse(target, res); err != nil {
30916		return nil, err
30917	}
30918	return ret, nil
30919	// {
30920	//   "description": "Lists combined audiences. The order is defined by the order_by parameter.",
30921	//   "flatPath": "v1/combinedAudiences",
30922	//   "httpMethod": "GET",
30923	//   "id": "displayvideo.combinedAudiences.list",
30924	//   "parameterOrder": [],
30925	//   "parameters": {
30926	//     "advertiserId": {
30927	//       "description": "The ID of the advertiser that has access to the fetched combined audiences.",
30928	//       "format": "int64",
30929	//       "location": "query",
30930	//       "type": "string"
30931	//     },
30932	//     "filter": {
30933	//       "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.",
30934	//       "location": "query",
30935	//       "type": "string"
30936	//     },
30937	//     "orderBy": {
30938	//       "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`.",
30939	//       "location": "query",
30940	//       "type": "string"
30941	//     },
30942	//     "pageSize": {
30943	//       "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.",
30944	//       "format": "int32",
30945	//       "location": "query",
30946	//       "type": "integer"
30947	//     },
30948	//     "pageToken": {
30949	//       "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.",
30950	//       "location": "query",
30951	//       "type": "string"
30952	//     },
30953	//     "partnerId": {
30954	//       "description": "The ID of the partner that has access to the fetched combined audiences.",
30955	//       "format": "int64",
30956	//       "location": "query",
30957	//       "type": "string"
30958	//     }
30959	//   },
30960	//   "path": "v1/combinedAudiences",
30961	//   "response": {
30962	//     "$ref": "ListCombinedAudiencesResponse"
30963	//   },
30964	//   "scopes": [
30965	//     "https://www.googleapis.com/auth/display-video"
30966	//   ]
30967	// }
30968
30969}
30970
30971// Pages invokes f for each page of results.
30972// A non-nil error returned from f will halt the iteration.
30973// The provided context supersedes any context provided to the Context method.
30974func (c *CombinedAudiencesListCall) Pages(ctx context.Context, f func(*ListCombinedAudiencesResponse) error) error {
30975	c.ctx_ = ctx
30976	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30977	for {
30978		x, err := c.Do()
30979		if err != nil {
30980			return err
30981		}
30982		if err := f(x); err != nil {
30983			return err
30984		}
30985		if x.NextPageToken == "" {
30986			return nil
30987		}
30988		c.PageToken(x.NextPageToken)
30989	}
30990}
30991
30992// method id "displayvideo.customBiddingAlgorithms.get":
30993
30994type CustomBiddingAlgorithmsGetCall struct {
30995	s                        *Service
30996	customBiddingAlgorithmId int64
30997	urlParams_               gensupport.URLParams
30998	ifNoneMatch_             string
30999	ctx_                     context.Context
31000	header_                  http.Header
31001}
31002
31003// Get: Gets a custom bidding algorithm.
31004//
31005// - customBiddingAlgorithmId: The ID of the custom bidding algorithm to
31006//   fetch.
31007func (r *CustomBiddingAlgorithmsService) Get(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsGetCall {
31008	c := &CustomBiddingAlgorithmsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31009	c.customBiddingAlgorithmId = customBiddingAlgorithmId
31010	return c
31011}
31012
31013// AdvertiserId sets the optional parameter "advertiserId": The ID of
31014// the DV360 partner that has access to the custom bidding algorithm.
31015func (c *CustomBiddingAlgorithmsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsGetCall {
31016	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31017	return c
31018}
31019
31020// PartnerId sets the optional parameter "partnerId": The ID of the
31021// DV360 partner that has access to the custom bidding algorithm.
31022func (c *CustomBiddingAlgorithmsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsGetCall {
31023	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31024	return c
31025}
31026
31027// Fields allows partial responses to be retrieved. See
31028// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31029// for more information.
31030func (c *CustomBiddingAlgorithmsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsGetCall {
31031	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31032	return c
31033}
31034
31035// IfNoneMatch sets the optional parameter which makes the operation
31036// fail if the object's ETag matches the given value. This is useful for
31037// getting updates only after the object has changed since the last
31038// request. Use googleapi.IsNotModified to check whether the response
31039// error from Do is the result of In-None-Match.
31040func (c *CustomBiddingAlgorithmsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsGetCall {
31041	c.ifNoneMatch_ = entityTag
31042	return c
31043}
31044
31045// Context sets the context to be used in this call's Do method. Any
31046// pending HTTP request will be aborted if the provided context is
31047// canceled.
31048func (c *CustomBiddingAlgorithmsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsGetCall {
31049	c.ctx_ = ctx
31050	return c
31051}
31052
31053// Header returns an http.Header that can be modified by the caller to
31054// add HTTP headers to the request.
31055func (c *CustomBiddingAlgorithmsGetCall) Header() http.Header {
31056	if c.header_ == nil {
31057		c.header_ = make(http.Header)
31058	}
31059	return c.header_
31060}
31061
31062func (c *CustomBiddingAlgorithmsGetCall) doRequest(alt string) (*http.Response, error) {
31063	reqHeaders := make(http.Header)
31064	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
31065	for k, v := range c.header_ {
31066		reqHeaders[k] = v
31067	}
31068	reqHeaders.Set("User-Agent", c.s.userAgent())
31069	if c.ifNoneMatch_ != "" {
31070		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31071	}
31072	var body io.Reader = nil
31073	c.urlParams_.Set("alt", alt)
31074	c.urlParams_.Set("prettyPrint", "false")
31075	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}")
31076	urls += "?" + c.urlParams_.Encode()
31077	req, err := http.NewRequest("GET", urls, body)
31078	if err != nil {
31079		return nil, err
31080	}
31081	req.Header = reqHeaders
31082	googleapi.Expand(req.URL, map[string]string{
31083		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
31084	})
31085	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31086}
31087
31088// Do executes the "displayvideo.customBiddingAlgorithms.get" call.
31089// Exactly one of *CustomBiddingAlgorithm or error will be non-nil. Any
31090// non-2xx status code is an error. Response headers are in either
31091// *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was
31092// returned at all) in error.(*googleapi.Error).Header. Use
31093// googleapi.IsNotModified to check whether the returned error was
31094// because http.StatusNotModified was returned.
31095func (c *CustomBiddingAlgorithmsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
31096	gensupport.SetOptions(c.urlParams_, opts...)
31097	res, err := c.doRequest("json")
31098	if res != nil && res.StatusCode == http.StatusNotModified {
31099		if res.Body != nil {
31100			res.Body.Close()
31101		}
31102		return nil, &googleapi.Error{
31103			Code:   res.StatusCode,
31104			Header: res.Header,
31105		}
31106	}
31107	if err != nil {
31108		return nil, err
31109	}
31110	defer googleapi.CloseBody(res)
31111	if err := googleapi.CheckResponse(res); err != nil {
31112		return nil, err
31113	}
31114	ret := &CustomBiddingAlgorithm{
31115		ServerResponse: googleapi.ServerResponse{
31116			Header:         res.Header,
31117			HTTPStatusCode: res.StatusCode,
31118		},
31119	}
31120	target := &ret
31121	if err := gensupport.DecodeResponse(target, res); err != nil {
31122		return nil, err
31123	}
31124	return ret, nil
31125	// {
31126	//   "description": "Gets a custom bidding algorithm.",
31127	//   "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}",
31128	//   "httpMethod": "GET",
31129	//   "id": "displayvideo.customBiddingAlgorithms.get",
31130	//   "parameterOrder": [
31131	//     "customBiddingAlgorithmId"
31132	//   ],
31133	//   "parameters": {
31134	//     "advertiserId": {
31135	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
31136	//       "format": "int64",
31137	//       "location": "query",
31138	//       "type": "string"
31139	//     },
31140	//     "customBiddingAlgorithmId": {
31141	//       "description": "Required. The ID of the custom bidding algorithm to fetch.",
31142	//       "format": "int64",
31143	//       "location": "path",
31144	//       "pattern": "^[^/]+$",
31145	//       "required": true,
31146	//       "type": "string"
31147	//     },
31148	//     "partnerId": {
31149	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
31150	//       "format": "int64",
31151	//       "location": "query",
31152	//       "type": "string"
31153	//     }
31154	//   },
31155	//   "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}",
31156	//   "response": {
31157	//     "$ref": "CustomBiddingAlgorithm"
31158	//   },
31159	//   "scopes": [
31160	//     "https://www.googleapis.com/auth/display-video"
31161	//   ]
31162	// }
31163
31164}
31165
31166// method id "displayvideo.customBiddingAlgorithms.list":
31167
31168type CustomBiddingAlgorithmsListCall struct {
31169	s            *Service
31170	urlParams_   gensupport.URLParams
31171	ifNoneMatch_ string
31172	ctx_         context.Context
31173	header_      http.Header
31174}
31175
31176// List: Lists custom bidding algorithms that are accessible to the
31177// current user and can be used in bidding stratgies. The order is
31178// defined by the order_by parameter.
31179func (r *CustomBiddingAlgorithmsService) List() *CustomBiddingAlgorithmsListCall {
31180	c := &CustomBiddingAlgorithmsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31181	return c
31182}
31183
31184// AdvertiserId sets the optional parameter "advertiserId": The ID of
31185// the DV360 advertiser that has access to the custom bidding algorithm.
31186func (c *CustomBiddingAlgorithmsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsListCall {
31187	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31188	return c
31189}
31190
31191// Filter sets the optional parameter "filter": Allows filtering by
31192// custom bidding algorithm fields. Supported syntax: * Filter
31193// expressions are made up of one or more restrictions. * Restrictions
31194// can be combined by `AND`. A sequence of restrictions * implicitly
31195// uses `AND`. * A restriction has the form of `{field} {operator}
31196// {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. *
31197// The operator must be `CONTAINS (:)` for the following field: -
31198// `displayName` * The operator must be `EQUALS (=)` for the following
31199// field: - `customBiddingAlgorithmType` - `customBiddingAlgorithmState`
31200// * For `displayName`, the value is a string. We return all custom
31201// bidding algorithms whose display_name contains such string. * For
31202// `customBiddingAlgorithmType`, the value is a string. We return all
31203// algorithms whose custom_bidding_algorithm_type is equal to the given
31204// type. * For `customBiddingAlgorithmState`, the value is a string. We
31205// return all algorithms whose custom_bidding_algorithm_state is equal
31206// to the given type. Examples: * All custom bidding algorithms for
31207// which the display name contains "politics": `displayName:politics`. *
31208// All custom bidding algorithms for which the type is "SCRIPT_BASED":
31209// `customBiddingAlgorithmType=SCRIPT_BASED` * All custom bidding
31210// algorithms for which the state is "ENABLED":
31211// `customBiddingAlgorithmState=ENABLED` The length of this field should
31212// be no more than 500 characters.
31213func (c *CustomBiddingAlgorithmsListCall) Filter(filter string) *CustomBiddingAlgorithmsListCall {
31214	c.urlParams_.Set("filter", filter)
31215	return c
31216}
31217
31218// OrderBy sets the optional parameter "orderBy": Field by which to sort
31219// the list. Acceptable values are: * `displayName` (default) The
31220// default sorting order is ascending. To specify descending order for a
31221// field, a suffix "desc" should be added to the field name. Example:
31222// `displayName desc`.
31223func (c *CustomBiddingAlgorithmsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsListCall {
31224	c.urlParams_.Set("orderBy", orderBy)
31225	return c
31226}
31227
31228// PageSize sets the optional parameter "pageSize": Requested page size.
31229// Must be between `1` and `100`. If unspecified will default to `100`.
31230// Returns error code `INVALID_ARGUMENT` if an invalid value is
31231// specified.
31232func (c *CustomBiddingAlgorithmsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsListCall {
31233	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31234	return c
31235}
31236
31237// PageToken sets the optional parameter "pageToken": A token
31238// identifying a page of results the server should return. Typically,
31239// this is the value of next_page_token returned from the previous call
31240// to `ListCustomBiddingAlgorithms` method. If not specified, the first
31241// page of results will be returned.
31242func (c *CustomBiddingAlgorithmsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsListCall {
31243	c.urlParams_.Set("pageToken", pageToken)
31244	return c
31245}
31246
31247// PartnerId sets the optional parameter "partnerId": The ID of the
31248// DV360 partner that has access to the custom bidding algorithm.
31249func (c *CustomBiddingAlgorithmsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsListCall {
31250	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31251	return c
31252}
31253
31254// Fields allows partial responses to be retrieved. See
31255// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31256// for more information.
31257func (c *CustomBiddingAlgorithmsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsListCall {
31258	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31259	return c
31260}
31261
31262// IfNoneMatch sets the optional parameter which makes the operation
31263// fail if the object's ETag matches the given value. This is useful for
31264// getting updates only after the object has changed since the last
31265// request. Use googleapi.IsNotModified to check whether the response
31266// error from Do is the result of In-None-Match.
31267func (c *CustomBiddingAlgorithmsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsListCall {
31268	c.ifNoneMatch_ = entityTag
31269	return c
31270}
31271
31272// Context sets the context to be used in this call's Do method. Any
31273// pending HTTP request will be aborted if the provided context is
31274// canceled.
31275func (c *CustomBiddingAlgorithmsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsListCall {
31276	c.ctx_ = ctx
31277	return c
31278}
31279
31280// Header returns an http.Header that can be modified by the caller to
31281// add HTTP headers to the request.
31282func (c *CustomBiddingAlgorithmsListCall) Header() http.Header {
31283	if c.header_ == nil {
31284		c.header_ = make(http.Header)
31285	}
31286	return c.header_
31287}
31288
31289func (c *CustomBiddingAlgorithmsListCall) doRequest(alt string) (*http.Response, error) {
31290	reqHeaders := make(http.Header)
31291	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
31292	for k, v := range c.header_ {
31293		reqHeaders[k] = v
31294	}
31295	reqHeaders.Set("User-Agent", c.s.userAgent())
31296	if c.ifNoneMatch_ != "" {
31297		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31298	}
31299	var body io.Reader = nil
31300	c.urlParams_.Set("alt", alt)
31301	c.urlParams_.Set("prettyPrint", "false")
31302	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customBiddingAlgorithms")
31303	urls += "?" + c.urlParams_.Encode()
31304	req, err := http.NewRequest("GET", urls, body)
31305	if err != nil {
31306		return nil, err
31307	}
31308	req.Header = reqHeaders
31309	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31310}
31311
31312// Do executes the "displayvideo.customBiddingAlgorithms.list" call.
31313// Exactly one of *ListCustomBiddingAlgorithmsResponse or error will be
31314// non-nil. Any non-2xx status code is an error. Response headers are in
31315// either *ListCustomBiddingAlgorithmsResponse.ServerResponse.Header or
31316// (if a response was returned at all) in
31317// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31318// whether the returned error was because http.StatusNotModified was
31319// returned.
31320func (c *CustomBiddingAlgorithmsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingAlgorithmsResponse, error) {
31321	gensupport.SetOptions(c.urlParams_, opts...)
31322	res, err := c.doRequest("json")
31323	if res != nil && res.StatusCode == http.StatusNotModified {
31324		if res.Body != nil {
31325			res.Body.Close()
31326		}
31327		return nil, &googleapi.Error{
31328			Code:   res.StatusCode,
31329			Header: res.Header,
31330		}
31331	}
31332	if err != nil {
31333		return nil, err
31334	}
31335	defer googleapi.CloseBody(res)
31336	if err := googleapi.CheckResponse(res); err != nil {
31337		return nil, err
31338	}
31339	ret := &ListCustomBiddingAlgorithmsResponse{
31340		ServerResponse: googleapi.ServerResponse{
31341			Header:         res.Header,
31342			HTTPStatusCode: res.StatusCode,
31343		},
31344	}
31345	target := &ret
31346	if err := gensupport.DecodeResponse(target, res); err != nil {
31347		return nil, err
31348	}
31349	return ret, nil
31350	// {
31351	//   "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.",
31352	//   "flatPath": "v1/customBiddingAlgorithms",
31353	//   "httpMethod": "GET",
31354	//   "id": "displayvideo.customBiddingAlgorithms.list",
31355	//   "parameterOrder": [],
31356	//   "parameters": {
31357	//     "advertiserId": {
31358	//       "description": "The ID of the DV360 advertiser that has access to the custom bidding algorithm.",
31359	//       "format": "int64",
31360	//       "location": "query",
31361	//       "type": "string"
31362	//     },
31363	//     "filter": {
31364	//       "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` - `customBiddingAlgorithmState` * 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. * For `customBiddingAlgorithmState`, the value is a string. We return all algorithms whose custom_bidding_algorithm_state 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` * All custom bidding algorithms for which the state is \"ENABLED\": `customBiddingAlgorithmState=ENABLED` The length of this field should be no more than 500 characters.",
31365	//       "location": "query",
31366	//       "type": "string"
31367	//     },
31368	//     "orderBy": {
31369	//       "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`.",
31370	//       "location": "query",
31371	//       "type": "string"
31372	//     },
31373	//     "pageSize": {
31374	//       "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.",
31375	//       "format": "int32",
31376	//       "location": "query",
31377	//       "type": "integer"
31378	//     },
31379	//     "pageToken": {
31380	//       "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.",
31381	//       "location": "query",
31382	//       "type": "string"
31383	//     },
31384	//     "partnerId": {
31385	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
31386	//       "format": "int64",
31387	//       "location": "query",
31388	//       "type": "string"
31389	//     }
31390	//   },
31391	//   "path": "v1/customBiddingAlgorithms",
31392	//   "response": {
31393	//     "$ref": "ListCustomBiddingAlgorithmsResponse"
31394	//   },
31395	//   "scopes": [
31396	//     "https://www.googleapis.com/auth/display-video"
31397	//   ]
31398	// }
31399
31400}
31401
31402// Pages invokes f for each page of results.
31403// A non-nil error returned from f will halt the iteration.
31404// The provided context supersedes any context provided to the Context method.
31405func (c *CustomBiddingAlgorithmsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingAlgorithmsResponse) error) error {
31406	c.ctx_ = ctx
31407	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31408	for {
31409		x, err := c.Do()
31410		if err != nil {
31411			return err
31412		}
31413		if err := f(x); err != nil {
31414			return err
31415		}
31416		if x.NextPageToken == "" {
31417			return nil
31418		}
31419		c.PageToken(x.NextPageToken)
31420	}
31421}
31422
31423// method id "displayvideo.customLists.get":
31424
31425type CustomListsGetCall struct {
31426	s            *Service
31427	customListId int64
31428	urlParams_   gensupport.URLParams
31429	ifNoneMatch_ string
31430	ctx_         context.Context
31431	header_      http.Header
31432}
31433
31434// Get: Gets a custom list.
31435//
31436// - customListId: The ID of the custom list to fetch.
31437func (r *CustomListsService) Get(customListId int64) *CustomListsGetCall {
31438	c := &CustomListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31439	c.customListId = customListId
31440	return c
31441}
31442
31443// AdvertiserId sets the optional parameter "advertiserId": The ID of
31444// the DV360 advertiser that has access to the fetched custom lists.
31445func (c *CustomListsGetCall) AdvertiserId(advertiserId int64) *CustomListsGetCall {
31446	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31447	return c
31448}
31449
31450// Fields allows partial responses to be retrieved. See
31451// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31452// for more information.
31453func (c *CustomListsGetCall) Fields(s ...googleapi.Field) *CustomListsGetCall {
31454	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31455	return c
31456}
31457
31458// IfNoneMatch sets the optional parameter which makes the operation
31459// fail if the object's ETag matches the given value. This is useful for
31460// getting updates only after the object has changed since the last
31461// request. Use googleapi.IsNotModified to check whether the response
31462// error from Do is the result of In-None-Match.
31463func (c *CustomListsGetCall) IfNoneMatch(entityTag string) *CustomListsGetCall {
31464	c.ifNoneMatch_ = entityTag
31465	return c
31466}
31467
31468// Context sets the context to be used in this call's Do method. Any
31469// pending HTTP request will be aborted if the provided context is
31470// canceled.
31471func (c *CustomListsGetCall) Context(ctx context.Context) *CustomListsGetCall {
31472	c.ctx_ = ctx
31473	return c
31474}
31475
31476// Header returns an http.Header that can be modified by the caller to
31477// add HTTP headers to the request.
31478func (c *CustomListsGetCall) Header() http.Header {
31479	if c.header_ == nil {
31480		c.header_ = make(http.Header)
31481	}
31482	return c.header_
31483}
31484
31485func (c *CustomListsGetCall) doRequest(alt string) (*http.Response, error) {
31486	reqHeaders := make(http.Header)
31487	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
31488	for k, v := range c.header_ {
31489		reqHeaders[k] = v
31490	}
31491	reqHeaders.Set("User-Agent", c.s.userAgent())
31492	if c.ifNoneMatch_ != "" {
31493		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31494	}
31495	var body io.Reader = nil
31496	c.urlParams_.Set("alt", alt)
31497	c.urlParams_.Set("prettyPrint", "false")
31498	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customLists/{+customListId}")
31499	urls += "?" + c.urlParams_.Encode()
31500	req, err := http.NewRequest("GET", urls, body)
31501	if err != nil {
31502		return nil, err
31503	}
31504	req.Header = reqHeaders
31505	googleapi.Expand(req.URL, map[string]string{
31506		"customListId": strconv.FormatInt(c.customListId, 10),
31507	})
31508	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31509}
31510
31511// Do executes the "displayvideo.customLists.get" call.
31512// Exactly one of *CustomList or error will be non-nil. Any non-2xx
31513// status code is an error. Response headers are in either
31514// *CustomList.ServerResponse.Header or (if a response was returned at
31515// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31516// to check whether the returned error was because
31517// http.StatusNotModified was returned.
31518func (c *CustomListsGetCall) Do(opts ...googleapi.CallOption) (*CustomList, error) {
31519	gensupport.SetOptions(c.urlParams_, opts...)
31520	res, err := c.doRequest("json")
31521	if res != nil && res.StatusCode == http.StatusNotModified {
31522		if res.Body != nil {
31523			res.Body.Close()
31524		}
31525		return nil, &googleapi.Error{
31526			Code:   res.StatusCode,
31527			Header: res.Header,
31528		}
31529	}
31530	if err != nil {
31531		return nil, err
31532	}
31533	defer googleapi.CloseBody(res)
31534	if err := googleapi.CheckResponse(res); err != nil {
31535		return nil, err
31536	}
31537	ret := &CustomList{
31538		ServerResponse: googleapi.ServerResponse{
31539			Header:         res.Header,
31540			HTTPStatusCode: res.StatusCode,
31541		},
31542	}
31543	target := &ret
31544	if err := gensupport.DecodeResponse(target, res); err != nil {
31545		return nil, err
31546	}
31547	return ret, nil
31548	// {
31549	//   "description": "Gets a custom list.",
31550	//   "flatPath": "v1/customLists/{customListsId}",
31551	//   "httpMethod": "GET",
31552	//   "id": "displayvideo.customLists.get",
31553	//   "parameterOrder": [
31554	//     "customListId"
31555	//   ],
31556	//   "parameters": {
31557	//     "advertiserId": {
31558	//       "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.",
31559	//       "format": "int64",
31560	//       "location": "query",
31561	//       "type": "string"
31562	//     },
31563	//     "customListId": {
31564	//       "description": "Required. The ID of the custom list to fetch.",
31565	//       "format": "int64",
31566	//       "location": "path",
31567	//       "pattern": "^[^/]+$",
31568	//       "required": true,
31569	//       "type": "string"
31570	//     }
31571	//   },
31572	//   "path": "v1/customLists/{+customListId}",
31573	//   "response": {
31574	//     "$ref": "CustomList"
31575	//   },
31576	//   "scopes": [
31577	//     "https://www.googleapis.com/auth/display-video"
31578	//   ]
31579	// }
31580
31581}
31582
31583// method id "displayvideo.customLists.list":
31584
31585type CustomListsListCall struct {
31586	s            *Service
31587	urlParams_   gensupport.URLParams
31588	ifNoneMatch_ string
31589	ctx_         context.Context
31590	header_      http.Header
31591}
31592
31593// List: Lists custom lists. The order is defined by the order_by
31594// parameter.
31595func (r *CustomListsService) List() *CustomListsListCall {
31596	c := &CustomListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31597	return c
31598}
31599
31600// AdvertiserId sets the optional parameter "advertiserId": The ID of
31601// the DV360 advertiser that has access to the fetched custom lists.
31602func (c *CustomListsListCall) AdvertiserId(advertiserId int64) *CustomListsListCall {
31603	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31604	return c
31605}
31606
31607// Filter sets the optional parameter "filter": Allows filtering by
31608// custom list fields. Supported syntax: * Filter expressions for custom
31609// lists currently can only contain at most one restriction. * A
31610// restriction has the form of `{field} {operator} {value}`. * The
31611// operator must be `CONTAINS (:)`. * Supported fields: - `displayName`
31612// Examples: * All custom lists for which the display name contains
31613// "Google": `displayName : "Google". The length of this field should
31614// be no more than 500 characters.
31615func (c *CustomListsListCall) Filter(filter string) *CustomListsListCall {
31616	c.urlParams_.Set("filter", filter)
31617	return c
31618}
31619
31620// OrderBy sets the optional parameter "orderBy": Field by which to sort
31621// the list. Acceptable values are: * `customListId` (default) *
31622// `displayName` The default sorting order is ascending. To specify
31623// descending order for a field, a suffix "desc" should be added to the
31624// field name. Example: `displayName desc`.
31625func (c *CustomListsListCall) OrderBy(orderBy string) *CustomListsListCall {
31626	c.urlParams_.Set("orderBy", orderBy)
31627	return c
31628}
31629
31630// PageSize sets the optional parameter "pageSize": Requested page size.
31631// Must be between `1` and `100`. If unspecified will default to `100`.
31632// Returns error code `INVALID_ARGUMENT` if an invalid value is
31633// specified.
31634func (c *CustomListsListCall) PageSize(pageSize int64) *CustomListsListCall {
31635	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31636	return c
31637}
31638
31639// PageToken sets the optional parameter "pageToken": A token
31640// identifying a page of results the server should return. Typically,
31641// this is the value of next_page_token returned from the previous call
31642// to `ListCustomLists` method. If not specified, the first page of
31643// results will be returned.
31644func (c *CustomListsListCall) PageToken(pageToken string) *CustomListsListCall {
31645	c.urlParams_.Set("pageToken", pageToken)
31646	return c
31647}
31648
31649// Fields allows partial responses to be retrieved. See
31650// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31651// for more information.
31652func (c *CustomListsListCall) Fields(s ...googleapi.Field) *CustomListsListCall {
31653	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31654	return c
31655}
31656
31657// IfNoneMatch sets the optional parameter which makes the operation
31658// fail if the object's ETag matches the given value. This is useful for
31659// getting updates only after the object has changed since the last
31660// request. Use googleapi.IsNotModified to check whether the response
31661// error from Do is the result of In-None-Match.
31662func (c *CustomListsListCall) IfNoneMatch(entityTag string) *CustomListsListCall {
31663	c.ifNoneMatch_ = entityTag
31664	return c
31665}
31666
31667// Context sets the context to be used in this call's Do method. Any
31668// pending HTTP request will be aborted if the provided context is
31669// canceled.
31670func (c *CustomListsListCall) Context(ctx context.Context) *CustomListsListCall {
31671	c.ctx_ = ctx
31672	return c
31673}
31674
31675// Header returns an http.Header that can be modified by the caller to
31676// add HTTP headers to the request.
31677func (c *CustomListsListCall) Header() http.Header {
31678	if c.header_ == nil {
31679		c.header_ = make(http.Header)
31680	}
31681	return c.header_
31682}
31683
31684func (c *CustomListsListCall) doRequest(alt string) (*http.Response, error) {
31685	reqHeaders := make(http.Header)
31686	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
31687	for k, v := range c.header_ {
31688		reqHeaders[k] = v
31689	}
31690	reqHeaders.Set("User-Agent", c.s.userAgent())
31691	if c.ifNoneMatch_ != "" {
31692		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31693	}
31694	var body io.Reader = nil
31695	c.urlParams_.Set("alt", alt)
31696	c.urlParams_.Set("prettyPrint", "false")
31697	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customLists")
31698	urls += "?" + c.urlParams_.Encode()
31699	req, err := http.NewRequest("GET", urls, body)
31700	if err != nil {
31701		return nil, err
31702	}
31703	req.Header = reqHeaders
31704	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31705}
31706
31707// Do executes the "displayvideo.customLists.list" call.
31708// Exactly one of *ListCustomListsResponse or error will be non-nil. Any
31709// non-2xx status code is an error. Response headers are in either
31710// *ListCustomListsResponse.ServerResponse.Header or (if a response was
31711// returned at all) in error.(*googleapi.Error).Header. Use
31712// googleapi.IsNotModified to check whether the returned error was
31713// because http.StatusNotModified was returned.
31714func (c *CustomListsListCall) Do(opts ...googleapi.CallOption) (*ListCustomListsResponse, error) {
31715	gensupport.SetOptions(c.urlParams_, opts...)
31716	res, err := c.doRequest("json")
31717	if res != nil && res.StatusCode == http.StatusNotModified {
31718		if res.Body != nil {
31719			res.Body.Close()
31720		}
31721		return nil, &googleapi.Error{
31722			Code:   res.StatusCode,
31723			Header: res.Header,
31724		}
31725	}
31726	if err != nil {
31727		return nil, err
31728	}
31729	defer googleapi.CloseBody(res)
31730	if err := googleapi.CheckResponse(res); err != nil {
31731		return nil, err
31732	}
31733	ret := &ListCustomListsResponse{
31734		ServerResponse: googleapi.ServerResponse{
31735			Header:         res.Header,
31736			HTTPStatusCode: res.StatusCode,
31737		},
31738	}
31739	target := &ret
31740	if err := gensupport.DecodeResponse(target, res); err != nil {
31741		return nil, err
31742	}
31743	return ret, nil
31744	// {
31745	//   "description": "Lists custom lists. The order is defined by the order_by parameter.",
31746	//   "flatPath": "v1/customLists",
31747	//   "httpMethod": "GET",
31748	//   "id": "displayvideo.customLists.list",
31749	//   "parameterOrder": [],
31750	//   "parameters": {
31751	//     "advertiserId": {
31752	//       "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.",
31753	//       "format": "int64",
31754	//       "location": "query",
31755	//       "type": "string"
31756	//     },
31757	//     "filter": {
31758	//       "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.",
31759	//       "location": "query",
31760	//       "type": "string"
31761	//     },
31762	//     "orderBy": {
31763	//       "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`.",
31764	//       "location": "query",
31765	//       "type": "string"
31766	//     },
31767	//     "pageSize": {
31768	//       "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.",
31769	//       "format": "int32",
31770	//       "location": "query",
31771	//       "type": "integer"
31772	//     },
31773	//     "pageToken": {
31774	//       "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.",
31775	//       "location": "query",
31776	//       "type": "string"
31777	//     }
31778	//   },
31779	//   "path": "v1/customLists",
31780	//   "response": {
31781	//     "$ref": "ListCustomListsResponse"
31782	//   },
31783	//   "scopes": [
31784	//     "https://www.googleapis.com/auth/display-video"
31785	//   ]
31786	// }
31787
31788}
31789
31790// Pages invokes f for each page of results.
31791// A non-nil error returned from f will halt the iteration.
31792// The provided context supersedes any context provided to the Context method.
31793func (c *CustomListsListCall) Pages(ctx context.Context, f func(*ListCustomListsResponse) error) error {
31794	c.ctx_ = ctx
31795	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31796	for {
31797		x, err := c.Do()
31798		if err != nil {
31799			return err
31800		}
31801		if err := f(x); err != nil {
31802			return err
31803		}
31804		if x.NextPageToken == "" {
31805			return nil
31806		}
31807		c.PageToken(x.NextPageToken)
31808	}
31809}
31810
31811// method id "displayvideo.firstAndThirdPartyAudiences.get":
31812
31813type FirstAndThirdPartyAudiencesGetCall struct {
31814	s                            *Service
31815	firstAndThirdPartyAudienceId int64
31816	urlParams_                   gensupport.URLParams
31817	ifNoneMatch_                 string
31818	ctx_                         context.Context
31819	header_                      http.Header
31820}
31821
31822// Get: Gets a first and third party audience.
31823//
31824// - firstAndThirdPartyAudienceId: The ID of the first and third party
31825//   audience to fetch.
31826func (r *FirstAndThirdPartyAudiencesService) Get(firstAndThirdPartyAudienceId int64) *FirstAndThirdPartyAudiencesGetCall {
31827	c := &FirstAndThirdPartyAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31828	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
31829	return c
31830}
31831
31832// AdvertiserId sets the optional parameter "advertiserId": The ID of
31833// the advertiser that has access to the fetched first and third party
31834// audience.
31835func (c *FirstAndThirdPartyAudiencesGetCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesGetCall {
31836	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31837	return c
31838}
31839
31840// PartnerId sets the optional parameter "partnerId": The ID of the
31841// partner that has access to the fetched first and third party
31842// audience.
31843func (c *FirstAndThirdPartyAudiencesGetCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesGetCall {
31844	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
31845	return c
31846}
31847
31848// Fields allows partial responses to be retrieved. See
31849// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31850// for more information.
31851func (c *FirstAndThirdPartyAudiencesGetCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesGetCall {
31852	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31853	return c
31854}
31855
31856// IfNoneMatch sets the optional parameter which makes the operation
31857// fail if the object's ETag matches the given value. This is useful for
31858// getting updates only after the object has changed since the last
31859// request. Use googleapi.IsNotModified to check whether the response
31860// error from Do is the result of In-None-Match.
31861func (c *FirstAndThirdPartyAudiencesGetCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesGetCall {
31862	c.ifNoneMatch_ = entityTag
31863	return c
31864}
31865
31866// Context sets the context to be used in this call's Do method. Any
31867// pending HTTP request will be aborted if the provided context is
31868// canceled.
31869func (c *FirstAndThirdPartyAudiencesGetCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesGetCall {
31870	c.ctx_ = ctx
31871	return c
31872}
31873
31874// Header returns an http.Header that can be modified by the caller to
31875// add HTTP headers to the request.
31876func (c *FirstAndThirdPartyAudiencesGetCall) Header() http.Header {
31877	if c.header_ == nil {
31878		c.header_ = make(http.Header)
31879	}
31880	return c.header_
31881}
31882
31883func (c *FirstAndThirdPartyAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
31884	reqHeaders := make(http.Header)
31885	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
31886	for k, v := range c.header_ {
31887		reqHeaders[k] = v
31888	}
31889	reqHeaders.Set("User-Agent", c.s.userAgent())
31890	if c.ifNoneMatch_ != "" {
31891		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31892	}
31893	var body io.Reader = nil
31894	c.urlParams_.Set("alt", alt)
31895	c.urlParams_.Set("prettyPrint", "false")
31896	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}")
31897	urls += "?" + c.urlParams_.Encode()
31898	req, err := http.NewRequest("GET", urls, body)
31899	if err != nil {
31900		return nil, err
31901	}
31902	req.Header = reqHeaders
31903	googleapi.Expand(req.URL, map[string]string{
31904		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
31905	})
31906	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31907}
31908
31909// Do executes the "displayvideo.firstAndThirdPartyAudiences.get" call.
31910// Exactly one of *FirstAndThirdPartyAudience or error will be non-nil.
31911// Any non-2xx status code is an error. Response headers are in either
31912// *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response
31913// was returned at all) in error.(*googleapi.Error).Header. Use
31914// googleapi.IsNotModified to check whether the returned error was
31915// because http.StatusNotModified was returned.
31916func (c *FirstAndThirdPartyAudiencesGetCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
31917	gensupport.SetOptions(c.urlParams_, opts...)
31918	res, err := c.doRequest("json")
31919	if res != nil && res.StatusCode == http.StatusNotModified {
31920		if res.Body != nil {
31921			res.Body.Close()
31922		}
31923		return nil, &googleapi.Error{
31924			Code:   res.StatusCode,
31925			Header: res.Header,
31926		}
31927	}
31928	if err != nil {
31929		return nil, err
31930	}
31931	defer googleapi.CloseBody(res)
31932	if err := googleapi.CheckResponse(res); err != nil {
31933		return nil, err
31934	}
31935	ret := &FirstAndThirdPartyAudience{
31936		ServerResponse: googleapi.ServerResponse{
31937			Header:         res.Header,
31938			HTTPStatusCode: res.StatusCode,
31939		},
31940	}
31941	target := &ret
31942	if err := gensupport.DecodeResponse(target, res); err != nil {
31943		return nil, err
31944	}
31945	return ret, nil
31946	// {
31947	//   "description": "Gets a first and third party audience.",
31948	//   "flatPath": "v1/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}",
31949	//   "httpMethod": "GET",
31950	//   "id": "displayvideo.firstAndThirdPartyAudiences.get",
31951	//   "parameterOrder": [
31952	//     "firstAndThirdPartyAudienceId"
31953	//   ],
31954	//   "parameters": {
31955	//     "advertiserId": {
31956	//       "description": "The ID of the advertiser that has access to the fetched first and third party audience.",
31957	//       "format": "int64",
31958	//       "location": "query",
31959	//       "type": "string"
31960	//     },
31961	//     "firstAndThirdPartyAudienceId": {
31962	//       "description": "Required. The ID of the first and third party audience to fetch.",
31963	//       "format": "int64",
31964	//       "location": "path",
31965	//       "pattern": "^[^/]+$",
31966	//       "required": true,
31967	//       "type": "string"
31968	//     },
31969	//     "partnerId": {
31970	//       "description": "The ID of the partner that has access to the fetched first and third party audience.",
31971	//       "format": "int64",
31972	//       "location": "query",
31973	//       "type": "string"
31974	//     }
31975	//   },
31976	//   "path": "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}",
31977	//   "response": {
31978	//     "$ref": "FirstAndThirdPartyAudience"
31979	//   },
31980	//   "scopes": [
31981	//     "https://www.googleapis.com/auth/display-video"
31982	//   ]
31983	// }
31984
31985}
31986
31987// method id "displayvideo.firstAndThirdPartyAudiences.list":
31988
31989type FirstAndThirdPartyAudiencesListCall struct {
31990	s            *Service
31991	urlParams_   gensupport.URLParams
31992	ifNoneMatch_ string
31993	ctx_         context.Context
31994	header_      http.Header
31995}
31996
31997// List: Lists first and third party audiences. The order is defined by
31998// the order_by parameter.
31999func (r *FirstAndThirdPartyAudiencesService) List() *FirstAndThirdPartyAudiencesListCall {
32000	c := &FirstAndThirdPartyAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32001	return c
32002}
32003
32004// AdvertiserId sets the optional parameter "advertiserId": The ID of
32005// the advertiser that has access to the fetched first and third party
32006// audiences.
32007func (c *FirstAndThirdPartyAudiencesListCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesListCall {
32008	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32009	return c
32010}
32011
32012// Filter sets the optional parameter "filter": Allows filtering by
32013// first and third party audience fields. Supported syntax: * Filter
32014// expressions for first and third party audiences currently can only
32015// contain at most one restriction. * A restriction has the form of
32016// `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`.
32017// * Supported fields: - `displayName` Examples: * All first and third
32018// party audiences for which the display name contains "Google":
32019// `displayName : "Google". The length of this field should be no more
32020// than 500 characters.
32021func (c *FirstAndThirdPartyAudiencesListCall) Filter(filter string) *FirstAndThirdPartyAudiencesListCall {
32022	c.urlParams_.Set("filter", filter)
32023	return c
32024}
32025
32026// OrderBy sets the optional parameter "orderBy": Field by which to sort
32027// the list. Acceptable values are: * `firstAndThirdPartyAudienceId`
32028// (default) * `displayName` The default sorting order is ascending. To
32029// specify descending order for a field, a suffix "desc" should be added
32030// to the field name. Example: `displayName desc`.
32031func (c *FirstAndThirdPartyAudiencesListCall) OrderBy(orderBy string) *FirstAndThirdPartyAudiencesListCall {
32032	c.urlParams_.Set("orderBy", orderBy)
32033	return c
32034}
32035
32036// PageSize sets the optional parameter "pageSize": Requested page size.
32037// Must be between `1` and `100`. If unspecified will default to `100`.
32038// Returns error code `INVALID_ARGUMENT` if an invalid value is
32039// specified.
32040func (c *FirstAndThirdPartyAudiencesListCall) PageSize(pageSize int64) *FirstAndThirdPartyAudiencesListCall {
32041	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
32042	return c
32043}
32044
32045// PageToken sets the optional parameter "pageToken": A token
32046// identifying a page of results the server should return. Typically,
32047// this is the value of next_page_token returned from the previous call
32048// to `ListFirstAndThirdPartyAudiences` method. If not specified, the
32049// first page of results will be returned.
32050func (c *FirstAndThirdPartyAudiencesListCall) PageToken(pageToken string) *FirstAndThirdPartyAudiencesListCall {
32051	c.urlParams_.Set("pageToken", pageToken)
32052	return c
32053}
32054
32055// PartnerId sets the optional parameter "partnerId": The ID of the
32056// partner that has access to the fetched first and third party
32057// audiences.
32058func (c *FirstAndThirdPartyAudiencesListCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesListCall {
32059	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32060	return c
32061}
32062
32063// Fields allows partial responses to be retrieved. See
32064// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32065// for more information.
32066func (c *FirstAndThirdPartyAudiencesListCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesListCall {
32067	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32068	return c
32069}
32070
32071// IfNoneMatch sets the optional parameter which makes the operation
32072// fail if the object's ETag matches the given value. This is useful for
32073// getting updates only after the object has changed since the last
32074// request. Use googleapi.IsNotModified to check whether the response
32075// error from Do is the result of In-None-Match.
32076func (c *FirstAndThirdPartyAudiencesListCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesListCall {
32077	c.ifNoneMatch_ = entityTag
32078	return c
32079}
32080
32081// Context sets the context to be used in this call's Do method. Any
32082// pending HTTP request will be aborted if the provided context is
32083// canceled.
32084func (c *FirstAndThirdPartyAudiencesListCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesListCall {
32085	c.ctx_ = ctx
32086	return c
32087}
32088
32089// Header returns an http.Header that can be modified by the caller to
32090// add HTTP headers to the request.
32091func (c *FirstAndThirdPartyAudiencesListCall) Header() http.Header {
32092	if c.header_ == nil {
32093		c.header_ = make(http.Header)
32094	}
32095	return c.header_
32096}
32097
32098func (c *FirstAndThirdPartyAudiencesListCall) doRequest(alt string) (*http.Response, error) {
32099	reqHeaders := make(http.Header)
32100	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
32101	for k, v := range c.header_ {
32102		reqHeaders[k] = v
32103	}
32104	reqHeaders.Set("User-Agent", c.s.userAgent())
32105	if c.ifNoneMatch_ != "" {
32106		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32107	}
32108	var body io.Reader = nil
32109	c.urlParams_.Set("alt", alt)
32110	c.urlParams_.Set("prettyPrint", "false")
32111	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/firstAndThirdPartyAudiences")
32112	urls += "?" + c.urlParams_.Encode()
32113	req, err := http.NewRequest("GET", urls, body)
32114	if err != nil {
32115		return nil, err
32116	}
32117	req.Header = reqHeaders
32118	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32119}
32120
32121// Do executes the "displayvideo.firstAndThirdPartyAudiences.list" call.
32122// Exactly one of *ListFirstAndThirdPartyAudiencesResponse or error will
32123// be non-nil. Any non-2xx status code is an error. Response headers are
32124// in either
32125// *ListFirstAndThirdPartyAudiencesResponse.ServerResponse.Header or (if
32126// a response was returned at all) in error.(*googleapi.Error).Header.
32127// Use googleapi.IsNotModified to check whether the returned error was
32128// because http.StatusNotModified was returned.
32129func (c *FirstAndThirdPartyAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListFirstAndThirdPartyAudiencesResponse, error) {
32130	gensupport.SetOptions(c.urlParams_, opts...)
32131	res, err := c.doRequest("json")
32132	if res != nil && res.StatusCode == http.StatusNotModified {
32133		if res.Body != nil {
32134			res.Body.Close()
32135		}
32136		return nil, &googleapi.Error{
32137			Code:   res.StatusCode,
32138			Header: res.Header,
32139		}
32140	}
32141	if err != nil {
32142		return nil, err
32143	}
32144	defer googleapi.CloseBody(res)
32145	if err := googleapi.CheckResponse(res); err != nil {
32146		return nil, err
32147	}
32148	ret := &ListFirstAndThirdPartyAudiencesResponse{
32149		ServerResponse: googleapi.ServerResponse{
32150			Header:         res.Header,
32151			HTTPStatusCode: res.StatusCode,
32152		},
32153	}
32154	target := &ret
32155	if err := gensupport.DecodeResponse(target, res); err != nil {
32156		return nil, err
32157	}
32158	return ret, nil
32159	// {
32160	//   "description": "Lists first and third party audiences. The order is defined by the order_by parameter.",
32161	//   "flatPath": "v1/firstAndThirdPartyAudiences",
32162	//   "httpMethod": "GET",
32163	//   "id": "displayvideo.firstAndThirdPartyAudiences.list",
32164	//   "parameterOrder": [],
32165	//   "parameters": {
32166	//     "advertiserId": {
32167	//       "description": "The ID of the advertiser that has access to the fetched first and third party audiences.",
32168	//       "format": "int64",
32169	//       "location": "query",
32170	//       "type": "string"
32171	//     },
32172	//     "filter": {
32173	//       "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.",
32174	//       "location": "query",
32175	//       "type": "string"
32176	//     },
32177	//     "orderBy": {
32178	//       "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`.",
32179	//       "location": "query",
32180	//       "type": "string"
32181	//     },
32182	//     "pageSize": {
32183	//       "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.",
32184	//       "format": "int32",
32185	//       "location": "query",
32186	//       "type": "integer"
32187	//     },
32188	//     "pageToken": {
32189	//       "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.",
32190	//       "location": "query",
32191	//       "type": "string"
32192	//     },
32193	//     "partnerId": {
32194	//       "description": "The ID of the partner that has access to the fetched first and third party audiences.",
32195	//       "format": "int64",
32196	//       "location": "query",
32197	//       "type": "string"
32198	//     }
32199	//   },
32200	//   "path": "v1/firstAndThirdPartyAudiences",
32201	//   "response": {
32202	//     "$ref": "ListFirstAndThirdPartyAudiencesResponse"
32203	//   },
32204	//   "scopes": [
32205	//     "https://www.googleapis.com/auth/display-video"
32206	//   ]
32207	// }
32208
32209}
32210
32211// Pages invokes f for each page of results.
32212// A non-nil error returned from f will halt the iteration.
32213// The provided context supersedes any context provided to the Context method.
32214func (c *FirstAndThirdPartyAudiencesListCall) Pages(ctx context.Context, f func(*ListFirstAndThirdPartyAudiencesResponse) error) error {
32215	c.ctx_ = ctx
32216	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32217	for {
32218		x, err := c.Do()
32219		if err != nil {
32220			return err
32221		}
32222		if err := f(x); err != nil {
32223			return err
32224		}
32225		if x.NextPageToken == "" {
32226			return nil
32227		}
32228		c.PageToken(x.NextPageToken)
32229	}
32230}
32231
32232// method id "displayvideo.floodlightGroups.get":
32233
32234type FloodlightGroupsGetCall struct {
32235	s                 *Service
32236	floodlightGroupId int64
32237	urlParams_        gensupport.URLParams
32238	ifNoneMatch_      string
32239	ctx_              context.Context
32240	header_           http.Header
32241}
32242
32243// Get: Gets a Floodlight group.
32244//
32245// - floodlightGroupId: The ID of the Floodlight group to fetch.
32246func (r *FloodlightGroupsService) Get(floodlightGroupId int64) *FloodlightGroupsGetCall {
32247	c := &FloodlightGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32248	c.floodlightGroupId = floodlightGroupId
32249	return c
32250}
32251
32252// PartnerId sets the optional parameter "partnerId": Required. The
32253// partner context by which the Floodlight group is being accessed.
32254func (c *FloodlightGroupsGetCall) PartnerId(partnerId int64) *FloodlightGroupsGetCall {
32255	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32256	return c
32257}
32258
32259// Fields allows partial responses to be retrieved. See
32260// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32261// for more information.
32262func (c *FloodlightGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsGetCall {
32263	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32264	return c
32265}
32266
32267// IfNoneMatch sets the optional parameter which makes the operation
32268// fail if the object's ETag matches the given value. This is useful for
32269// getting updates only after the object has changed since the last
32270// request. Use googleapi.IsNotModified to check whether the response
32271// error from Do is the result of In-None-Match.
32272func (c *FloodlightGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsGetCall {
32273	c.ifNoneMatch_ = entityTag
32274	return c
32275}
32276
32277// Context sets the context to be used in this call's Do method. Any
32278// pending HTTP request will be aborted if the provided context is
32279// canceled.
32280func (c *FloodlightGroupsGetCall) Context(ctx context.Context) *FloodlightGroupsGetCall {
32281	c.ctx_ = ctx
32282	return c
32283}
32284
32285// Header returns an http.Header that can be modified by the caller to
32286// add HTTP headers to the request.
32287func (c *FloodlightGroupsGetCall) Header() http.Header {
32288	if c.header_ == nil {
32289		c.header_ = make(http.Header)
32290	}
32291	return c.header_
32292}
32293
32294func (c *FloodlightGroupsGetCall) doRequest(alt string) (*http.Response, error) {
32295	reqHeaders := make(http.Header)
32296	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
32297	for k, v := range c.header_ {
32298		reqHeaders[k] = v
32299	}
32300	reqHeaders.Set("User-Agent", c.s.userAgent())
32301	if c.ifNoneMatch_ != "" {
32302		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32303	}
32304	var body io.Reader = nil
32305	c.urlParams_.Set("alt", alt)
32306	c.urlParams_.Set("prettyPrint", "false")
32307	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/floodlightGroups/{+floodlightGroupId}")
32308	urls += "?" + c.urlParams_.Encode()
32309	req, err := http.NewRequest("GET", urls, body)
32310	if err != nil {
32311		return nil, err
32312	}
32313	req.Header = reqHeaders
32314	googleapi.Expand(req.URL, map[string]string{
32315		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
32316	})
32317	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32318}
32319
32320// Do executes the "displayvideo.floodlightGroups.get" call.
32321// Exactly one of *FloodlightGroup or error will be non-nil. Any non-2xx
32322// status code is an error. Response headers are in either
32323// *FloodlightGroup.ServerResponse.Header or (if a response was returned
32324// at all) in error.(*googleapi.Error).Header. Use
32325// googleapi.IsNotModified to check whether the returned error was
32326// because http.StatusNotModified was returned.
32327func (c *FloodlightGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
32328	gensupport.SetOptions(c.urlParams_, opts...)
32329	res, err := c.doRequest("json")
32330	if res != nil && res.StatusCode == http.StatusNotModified {
32331		if res.Body != nil {
32332			res.Body.Close()
32333		}
32334		return nil, &googleapi.Error{
32335			Code:   res.StatusCode,
32336			Header: res.Header,
32337		}
32338	}
32339	if err != nil {
32340		return nil, err
32341	}
32342	defer googleapi.CloseBody(res)
32343	if err := googleapi.CheckResponse(res); err != nil {
32344		return nil, err
32345	}
32346	ret := &FloodlightGroup{
32347		ServerResponse: googleapi.ServerResponse{
32348			Header:         res.Header,
32349			HTTPStatusCode: res.StatusCode,
32350		},
32351	}
32352	target := &ret
32353	if err := gensupport.DecodeResponse(target, res); err != nil {
32354		return nil, err
32355	}
32356	return ret, nil
32357	// {
32358	//   "description": "Gets a Floodlight group.",
32359	//   "flatPath": "v1/floodlightGroups/{floodlightGroupsId}",
32360	//   "httpMethod": "GET",
32361	//   "id": "displayvideo.floodlightGroups.get",
32362	//   "parameterOrder": [
32363	//     "floodlightGroupId"
32364	//   ],
32365	//   "parameters": {
32366	//     "floodlightGroupId": {
32367	//       "description": "Required. The ID of the Floodlight group to fetch.",
32368	//       "format": "int64",
32369	//       "location": "path",
32370	//       "pattern": "^[^/]+$",
32371	//       "required": true,
32372	//       "type": "string"
32373	//     },
32374	//     "partnerId": {
32375	//       "description": "Required. The partner context by which the Floodlight group is being accessed.",
32376	//       "format": "int64",
32377	//       "location": "query",
32378	//       "type": "string"
32379	//     }
32380	//   },
32381	//   "path": "v1/floodlightGroups/{+floodlightGroupId}",
32382	//   "response": {
32383	//     "$ref": "FloodlightGroup"
32384	//   },
32385	//   "scopes": [
32386	//     "https://www.googleapis.com/auth/display-video"
32387	//   ]
32388	// }
32389
32390}
32391
32392// method id "displayvideo.floodlightGroups.patch":
32393
32394type FloodlightGroupsPatchCall struct {
32395	s                 *Service
32396	floodlightGroupId int64
32397	floodlightgroup   *FloodlightGroup
32398	urlParams_        gensupport.URLParams
32399	ctx_              context.Context
32400	header_           http.Header
32401}
32402
32403// Patch: Updates an existing Floodlight group. Returns the updated
32404// Floodlight group if successful.
32405//
32406// - floodlightGroupId: Output only. The unique ID of the Floodlight
32407//   group. Assigned by the system.
32408func (r *FloodlightGroupsService) Patch(floodlightGroupId int64, floodlightgroup *FloodlightGroup) *FloodlightGroupsPatchCall {
32409	c := &FloodlightGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32410	c.floodlightGroupId = floodlightGroupId
32411	c.floodlightgroup = floodlightgroup
32412	return c
32413}
32414
32415// PartnerId sets the optional parameter "partnerId": Required. The
32416// partner context by which the Floodlight group is being accessed.
32417func (c *FloodlightGroupsPatchCall) PartnerId(partnerId int64) *FloodlightGroupsPatchCall {
32418	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32419	return c
32420}
32421
32422// UpdateMask sets the optional parameter "updateMask": Required. The
32423// mask to control which fields to update.
32424func (c *FloodlightGroupsPatchCall) UpdateMask(updateMask string) *FloodlightGroupsPatchCall {
32425	c.urlParams_.Set("updateMask", updateMask)
32426	return c
32427}
32428
32429// Fields allows partial responses to be retrieved. See
32430// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32431// for more information.
32432func (c *FloodlightGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightGroupsPatchCall {
32433	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32434	return c
32435}
32436
32437// Context sets the context to be used in this call's Do method. Any
32438// pending HTTP request will be aborted if the provided context is
32439// canceled.
32440func (c *FloodlightGroupsPatchCall) Context(ctx context.Context) *FloodlightGroupsPatchCall {
32441	c.ctx_ = ctx
32442	return c
32443}
32444
32445// Header returns an http.Header that can be modified by the caller to
32446// add HTTP headers to the request.
32447func (c *FloodlightGroupsPatchCall) Header() http.Header {
32448	if c.header_ == nil {
32449		c.header_ = make(http.Header)
32450	}
32451	return c.header_
32452}
32453
32454func (c *FloodlightGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
32455	reqHeaders := make(http.Header)
32456	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
32457	for k, v := range c.header_ {
32458		reqHeaders[k] = v
32459	}
32460	reqHeaders.Set("User-Agent", c.s.userAgent())
32461	var body io.Reader = nil
32462	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightgroup)
32463	if err != nil {
32464		return nil, err
32465	}
32466	reqHeaders.Set("Content-Type", "application/json")
32467	c.urlParams_.Set("alt", alt)
32468	c.urlParams_.Set("prettyPrint", "false")
32469	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/floodlightGroups/{floodlightGroupId}")
32470	urls += "?" + c.urlParams_.Encode()
32471	req, err := http.NewRequest("PATCH", urls, body)
32472	if err != nil {
32473		return nil, err
32474	}
32475	req.Header = reqHeaders
32476	googleapi.Expand(req.URL, map[string]string{
32477		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
32478	})
32479	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32480}
32481
32482// Do executes the "displayvideo.floodlightGroups.patch" call.
32483// Exactly one of *FloodlightGroup or error will be non-nil. Any non-2xx
32484// status code is an error. Response headers are in either
32485// *FloodlightGroup.ServerResponse.Header or (if a response was returned
32486// at all) in error.(*googleapi.Error).Header. Use
32487// googleapi.IsNotModified to check whether the returned error was
32488// because http.StatusNotModified was returned.
32489func (c *FloodlightGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
32490	gensupport.SetOptions(c.urlParams_, opts...)
32491	res, err := c.doRequest("json")
32492	if res != nil && res.StatusCode == http.StatusNotModified {
32493		if res.Body != nil {
32494			res.Body.Close()
32495		}
32496		return nil, &googleapi.Error{
32497			Code:   res.StatusCode,
32498			Header: res.Header,
32499		}
32500	}
32501	if err != nil {
32502		return nil, err
32503	}
32504	defer googleapi.CloseBody(res)
32505	if err := googleapi.CheckResponse(res); err != nil {
32506		return nil, err
32507	}
32508	ret := &FloodlightGroup{
32509		ServerResponse: googleapi.ServerResponse{
32510			Header:         res.Header,
32511			HTTPStatusCode: res.StatusCode,
32512		},
32513	}
32514	target := &ret
32515	if err := gensupport.DecodeResponse(target, res); err != nil {
32516		return nil, err
32517	}
32518	return ret, nil
32519	// {
32520	//   "description": "Updates an existing Floodlight group. Returns the updated Floodlight group if successful.",
32521	//   "flatPath": "v1/floodlightGroups/{floodlightGroupId}",
32522	//   "httpMethod": "PATCH",
32523	//   "id": "displayvideo.floodlightGroups.patch",
32524	//   "parameterOrder": [
32525	//     "floodlightGroupId"
32526	//   ],
32527	//   "parameters": {
32528	//     "floodlightGroupId": {
32529	//       "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.",
32530	//       "format": "int64",
32531	//       "location": "path",
32532	//       "required": true,
32533	//       "type": "string"
32534	//     },
32535	//     "partnerId": {
32536	//       "description": "Required. The partner context by which the Floodlight group is being accessed.",
32537	//       "format": "int64",
32538	//       "location": "query",
32539	//       "type": "string"
32540	//     },
32541	//     "updateMask": {
32542	//       "description": "Required. The mask to control which fields to update.",
32543	//       "format": "google-fieldmask",
32544	//       "location": "query",
32545	//       "type": "string"
32546	//     }
32547	//   },
32548	//   "path": "v1/floodlightGroups/{floodlightGroupId}",
32549	//   "request": {
32550	//     "$ref": "FloodlightGroup"
32551	//   },
32552	//   "response": {
32553	//     "$ref": "FloodlightGroup"
32554	//   },
32555	//   "scopes": [
32556	//     "https://www.googleapis.com/auth/display-video"
32557	//   ]
32558	// }
32559
32560}
32561
32562// method id "displayvideo.googleAudiences.get":
32563
32564type GoogleAudiencesGetCall struct {
32565	s                *Service
32566	googleAudienceId int64
32567	urlParams_       gensupport.URLParams
32568	ifNoneMatch_     string
32569	ctx_             context.Context
32570	header_          http.Header
32571}
32572
32573// Get: Gets a Google audience.
32574//
32575// - googleAudienceId: The ID of the Google audience to fetch.
32576func (r *GoogleAudiencesService) Get(googleAudienceId int64) *GoogleAudiencesGetCall {
32577	c := &GoogleAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32578	c.googleAudienceId = googleAudienceId
32579	return c
32580}
32581
32582// AdvertiserId sets the optional parameter "advertiserId": The ID of
32583// the advertiser that has access to the fetched Google audience.
32584func (c *GoogleAudiencesGetCall) AdvertiserId(advertiserId int64) *GoogleAudiencesGetCall {
32585	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32586	return c
32587}
32588
32589// PartnerId sets the optional parameter "partnerId": The ID of the
32590// partner that has access to the fetched Google audience.
32591func (c *GoogleAudiencesGetCall) PartnerId(partnerId int64) *GoogleAudiencesGetCall {
32592	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32593	return c
32594}
32595
32596// Fields allows partial responses to be retrieved. See
32597// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32598// for more information.
32599func (c *GoogleAudiencesGetCall) Fields(s ...googleapi.Field) *GoogleAudiencesGetCall {
32600	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32601	return c
32602}
32603
32604// IfNoneMatch sets the optional parameter which makes the operation
32605// fail if the object's ETag matches the given value. This is useful for
32606// getting updates only after the object has changed since the last
32607// request. Use googleapi.IsNotModified to check whether the response
32608// error from Do is the result of In-None-Match.
32609func (c *GoogleAudiencesGetCall) IfNoneMatch(entityTag string) *GoogleAudiencesGetCall {
32610	c.ifNoneMatch_ = entityTag
32611	return c
32612}
32613
32614// Context sets the context to be used in this call's Do method. Any
32615// pending HTTP request will be aborted if the provided context is
32616// canceled.
32617func (c *GoogleAudiencesGetCall) Context(ctx context.Context) *GoogleAudiencesGetCall {
32618	c.ctx_ = ctx
32619	return c
32620}
32621
32622// Header returns an http.Header that can be modified by the caller to
32623// add HTTP headers to the request.
32624func (c *GoogleAudiencesGetCall) Header() http.Header {
32625	if c.header_ == nil {
32626		c.header_ = make(http.Header)
32627	}
32628	return c.header_
32629}
32630
32631func (c *GoogleAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
32632	reqHeaders := make(http.Header)
32633	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
32634	for k, v := range c.header_ {
32635		reqHeaders[k] = v
32636	}
32637	reqHeaders.Set("User-Agent", c.s.userAgent())
32638	if c.ifNoneMatch_ != "" {
32639		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32640	}
32641	var body io.Reader = nil
32642	c.urlParams_.Set("alt", alt)
32643	c.urlParams_.Set("prettyPrint", "false")
32644	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/googleAudiences/{+googleAudienceId}")
32645	urls += "?" + c.urlParams_.Encode()
32646	req, err := http.NewRequest("GET", urls, body)
32647	if err != nil {
32648		return nil, err
32649	}
32650	req.Header = reqHeaders
32651	googleapi.Expand(req.URL, map[string]string{
32652		"googleAudienceId": strconv.FormatInt(c.googleAudienceId, 10),
32653	})
32654	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32655}
32656
32657// Do executes the "displayvideo.googleAudiences.get" call.
32658// Exactly one of *GoogleAudience or error will be non-nil. Any non-2xx
32659// status code is an error. Response headers are in either
32660// *GoogleAudience.ServerResponse.Header or (if a response was returned
32661// at all) in error.(*googleapi.Error).Header. Use
32662// googleapi.IsNotModified to check whether the returned error was
32663// because http.StatusNotModified was returned.
32664func (c *GoogleAudiencesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAudience, error) {
32665	gensupport.SetOptions(c.urlParams_, opts...)
32666	res, err := c.doRequest("json")
32667	if res != nil && res.StatusCode == http.StatusNotModified {
32668		if res.Body != nil {
32669			res.Body.Close()
32670		}
32671		return nil, &googleapi.Error{
32672			Code:   res.StatusCode,
32673			Header: res.Header,
32674		}
32675	}
32676	if err != nil {
32677		return nil, err
32678	}
32679	defer googleapi.CloseBody(res)
32680	if err := googleapi.CheckResponse(res); err != nil {
32681		return nil, err
32682	}
32683	ret := &GoogleAudience{
32684		ServerResponse: googleapi.ServerResponse{
32685			Header:         res.Header,
32686			HTTPStatusCode: res.StatusCode,
32687		},
32688	}
32689	target := &ret
32690	if err := gensupport.DecodeResponse(target, res); err != nil {
32691		return nil, err
32692	}
32693	return ret, nil
32694	// {
32695	//   "description": "Gets a Google audience.",
32696	//   "flatPath": "v1/googleAudiences/{googleAudiencesId}",
32697	//   "httpMethod": "GET",
32698	//   "id": "displayvideo.googleAudiences.get",
32699	//   "parameterOrder": [
32700	//     "googleAudienceId"
32701	//   ],
32702	//   "parameters": {
32703	//     "advertiserId": {
32704	//       "description": "The ID of the advertiser that has access to the fetched Google audience.",
32705	//       "format": "int64",
32706	//       "location": "query",
32707	//       "type": "string"
32708	//     },
32709	//     "googleAudienceId": {
32710	//       "description": "Required. The ID of the Google audience to fetch.",
32711	//       "format": "int64",
32712	//       "location": "path",
32713	//       "pattern": "^[^/]+$",
32714	//       "required": true,
32715	//       "type": "string"
32716	//     },
32717	//     "partnerId": {
32718	//       "description": "The ID of the partner that has access to the fetched Google audience.",
32719	//       "format": "int64",
32720	//       "location": "query",
32721	//       "type": "string"
32722	//     }
32723	//   },
32724	//   "path": "v1/googleAudiences/{+googleAudienceId}",
32725	//   "response": {
32726	//     "$ref": "GoogleAudience"
32727	//   },
32728	//   "scopes": [
32729	//     "https://www.googleapis.com/auth/display-video"
32730	//   ]
32731	// }
32732
32733}
32734
32735// method id "displayvideo.googleAudiences.list":
32736
32737type GoogleAudiencesListCall struct {
32738	s            *Service
32739	urlParams_   gensupport.URLParams
32740	ifNoneMatch_ string
32741	ctx_         context.Context
32742	header_      http.Header
32743}
32744
32745// List: Lists Google audiences. The order is defined by the order_by
32746// parameter.
32747func (r *GoogleAudiencesService) List() *GoogleAudiencesListCall {
32748	c := &GoogleAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32749	return c
32750}
32751
32752// AdvertiserId sets the optional parameter "advertiserId": The ID of
32753// the advertiser that has access to the fetched Google audiences.
32754func (c *GoogleAudiencesListCall) AdvertiserId(advertiserId int64) *GoogleAudiencesListCall {
32755	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32756	return c
32757}
32758
32759// Filter sets the optional parameter "filter": Allows filtering by
32760// Google audience fields. Supported syntax: * Filter expressions for
32761// Google audiences currently can only contain at most one restriction.
32762// * A restriction has the form of `{field} {operator} {value}`. * The
32763// operator must be `CONTAINS (:)`. * Supported fields: - `displayName`
32764// Examples: * All Google audiences for which the display name contains
32765// "Google": `displayName : "Google". The length of this field should
32766// be no more than 500 characters.
32767func (c *GoogleAudiencesListCall) Filter(filter string) *GoogleAudiencesListCall {
32768	c.urlParams_.Set("filter", filter)
32769	return c
32770}
32771
32772// OrderBy sets the optional parameter "orderBy": Field by which to sort
32773// the list. Acceptable values are: * `googleAudienceId` (default) *
32774// `displayName` The default sorting order is ascending. To specify
32775// descending order for a field, a suffix "desc" should be added to the
32776// field name. Example: `displayName desc`.
32777func (c *GoogleAudiencesListCall) OrderBy(orderBy string) *GoogleAudiencesListCall {
32778	c.urlParams_.Set("orderBy", orderBy)
32779	return c
32780}
32781
32782// PageSize sets the optional parameter "pageSize": Requested page size.
32783// Must be between `1` and `100`. If unspecified will default to `100`.
32784// Returns error code `INVALID_ARGUMENT` if an invalid value is
32785// specified.
32786func (c *GoogleAudiencesListCall) PageSize(pageSize int64) *GoogleAudiencesListCall {
32787	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
32788	return c
32789}
32790
32791// PageToken sets the optional parameter "pageToken": A token
32792// identifying a page of results the server should return. Typically,
32793// this is the value of next_page_token returned from the previous call
32794// to `ListGoogleAudiences` method. If not specified, the first page of
32795// results will be returned.
32796func (c *GoogleAudiencesListCall) PageToken(pageToken string) *GoogleAudiencesListCall {
32797	c.urlParams_.Set("pageToken", pageToken)
32798	return c
32799}
32800
32801// PartnerId sets the optional parameter "partnerId": The ID of the
32802// partner that has access to the fetched Google audiences.
32803func (c *GoogleAudiencesListCall) PartnerId(partnerId int64) *GoogleAudiencesListCall {
32804	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
32805	return c
32806}
32807
32808// Fields allows partial responses to be retrieved. See
32809// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32810// for more information.
32811func (c *GoogleAudiencesListCall) Fields(s ...googleapi.Field) *GoogleAudiencesListCall {
32812	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32813	return c
32814}
32815
32816// IfNoneMatch sets the optional parameter which makes the operation
32817// fail if the object's ETag matches the given value. This is useful for
32818// getting updates only after the object has changed since the last
32819// request. Use googleapi.IsNotModified to check whether the response
32820// error from Do is the result of In-None-Match.
32821func (c *GoogleAudiencesListCall) IfNoneMatch(entityTag string) *GoogleAudiencesListCall {
32822	c.ifNoneMatch_ = entityTag
32823	return c
32824}
32825
32826// Context sets the context to be used in this call's Do method. Any
32827// pending HTTP request will be aborted if the provided context is
32828// canceled.
32829func (c *GoogleAudiencesListCall) Context(ctx context.Context) *GoogleAudiencesListCall {
32830	c.ctx_ = ctx
32831	return c
32832}
32833
32834// Header returns an http.Header that can be modified by the caller to
32835// add HTTP headers to the request.
32836func (c *GoogleAudiencesListCall) Header() http.Header {
32837	if c.header_ == nil {
32838		c.header_ = make(http.Header)
32839	}
32840	return c.header_
32841}
32842
32843func (c *GoogleAudiencesListCall) doRequest(alt string) (*http.Response, error) {
32844	reqHeaders := make(http.Header)
32845	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
32846	for k, v := range c.header_ {
32847		reqHeaders[k] = v
32848	}
32849	reqHeaders.Set("User-Agent", c.s.userAgent())
32850	if c.ifNoneMatch_ != "" {
32851		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32852	}
32853	var body io.Reader = nil
32854	c.urlParams_.Set("alt", alt)
32855	c.urlParams_.Set("prettyPrint", "false")
32856	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/googleAudiences")
32857	urls += "?" + c.urlParams_.Encode()
32858	req, err := http.NewRequest("GET", urls, body)
32859	if err != nil {
32860		return nil, err
32861	}
32862	req.Header = reqHeaders
32863	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32864}
32865
32866// Do executes the "displayvideo.googleAudiences.list" call.
32867// Exactly one of *ListGoogleAudiencesResponse or error will be non-nil.
32868// Any non-2xx status code is an error. Response headers are in either
32869// *ListGoogleAudiencesResponse.ServerResponse.Header or (if a response
32870// was returned at all) in error.(*googleapi.Error).Header. Use
32871// googleapi.IsNotModified to check whether the returned error was
32872// because http.StatusNotModified was returned.
32873func (c *GoogleAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListGoogleAudiencesResponse, error) {
32874	gensupport.SetOptions(c.urlParams_, opts...)
32875	res, err := c.doRequest("json")
32876	if res != nil && res.StatusCode == http.StatusNotModified {
32877		if res.Body != nil {
32878			res.Body.Close()
32879		}
32880		return nil, &googleapi.Error{
32881			Code:   res.StatusCode,
32882			Header: res.Header,
32883		}
32884	}
32885	if err != nil {
32886		return nil, err
32887	}
32888	defer googleapi.CloseBody(res)
32889	if err := googleapi.CheckResponse(res); err != nil {
32890		return nil, err
32891	}
32892	ret := &ListGoogleAudiencesResponse{
32893		ServerResponse: googleapi.ServerResponse{
32894			Header:         res.Header,
32895			HTTPStatusCode: res.StatusCode,
32896		},
32897	}
32898	target := &ret
32899	if err := gensupport.DecodeResponse(target, res); err != nil {
32900		return nil, err
32901	}
32902	return ret, nil
32903	// {
32904	//   "description": "Lists Google audiences. The order is defined by the order_by parameter.",
32905	//   "flatPath": "v1/googleAudiences",
32906	//   "httpMethod": "GET",
32907	//   "id": "displayvideo.googleAudiences.list",
32908	//   "parameterOrder": [],
32909	//   "parameters": {
32910	//     "advertiserId": {
32911	//       "description": "The ID of the advertiser that has access to the fetched Google audiences.",
32912	//       "format": "int64",
32913	//       "location": "query",
32914	//       "type": "string"
32915	//     },
32916	//     "filter": {
32917	//       "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.",
32918	//       "location": "query",
32919	//       "type": "string"
32920	//     },
32921	//     "orderBy": {
32922	//       "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`.",
32923	//       "location": "query",
32924	//       "type": "string"
32925	//     },
32926	//     "pageSize": {
32927	//       "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.",
32928	//       "format": "int32",
32929	//       "location": "query",
32930	//       "type": "integer"
32931	//     },
32932	//     "pageToken": {
32933	//       "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.",
32934	//       "location": "query",
32935	//       "type": "string"
32936	//     },
32937	//     "partnerId": {
32938	//       "description": "The ID of the partner that has access to the fetched Google audiences.",
32939	//       "format": "int64",
32940	//       "location": "query",
32941	//       "type": "string"
32942	//     }
32943	//   },
32944	//   "path": "v1/googleAudiences",
32945	//   "response": {
32946	//     "$ref": "ListGoogleAudiencesResponse"
32947	//   },
32948	//   "scopes": [
32949	//     "https://www.googleapis.com/auth/display-video"
32950	//   ]
32951	// }
32952
32953}
32954
32955// Pages invokes f for each page of results.
32956// A non-nil error returned from f will halt the iteration.
32957// The provided context supersedes any context provided to the Context method.
32958func (c *GoogleAudiencesListCall) Pages(ctx context.Context, f func(*ListGoogleAudiencesResponse) error) error {
32959	c.ctx_ = ctx
32960	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32961	for {
32962		x, err := c.Do()
32963		if err != nil {
32964			return err
32965		}
32966		if err := f(x); err != nil {
32967			return err
32968		}
32969		if x.NextPageToken == "" {
32970			return nil
32971		}
32972		c.PageToken(x.NextPageToken)
32973	}
32974}
32975
32976// method id "displayvideo.inventorySourceGroups.create":
32977
32978type InventorySourceGroupsCreateCall struct {
32979	s                    *Service
32980	inventorysourcegroup *InventorySourceGroup
32981	urlParams_           gensupport.URLParams
32982	ctx_                 context.Context
32983	header_              http.Header
32984}
32985
32986// Create: Creates a new inventory source group. Returns the newly
32987// created inventory source group if successful.
32988func (r *InventorySourceGroupsService) Create(inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsCreateCall {
32989	c := &InventorySourceGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32990	c.inventorysourcegroup = inventorysourcegroup
32991	return c
32992}
32993
32994// AdvertiserId sets the optional parameter "advertiserId": The ID of
32995// the advertiser that owns the inventory source group. The parent
32996// partner will not have access to this group.
32997func (c *InventorySourceGroupsCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsCreateCall {
32998	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32999	return c
33000}
33001
33002// PartnerId sets the optional parameter "partnerId": The ID of the
33003// partner that owns the inventory source group. Only this partner will
33004// have write access to this group. Only advertisers to which this group
33005// is explicitly shared will have read access to this group.
33006func (c *InventorySourceGroupsCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsCreateCall {
33007	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33008	return c
33009}
33010
33011// Fields allows partial responses to be retrieved. See
33012// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33013// for more information.
33014func (c *InventorySourceGroupsCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsCreateCall {
33015	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33016	return c
33017}
33018
33019// Context sets the context to be used in this call's Do method. Any
33020// pending HTTP request will be aborted if the provided context is
33021// canceled.
33022func (c *InventorySourceGroupsCreateCall) Context(ctx context.Context) *InventorySourceGroupsCreateCall {
33023	c.ctx_ = ctx
33024	return c
33025}
33026
33027// Header returns an http.Header that can be modified by the caller to
33028// add HTTP headers to the request.
33029func (c *InventorySourceGroupsCreateCall) Header() http.Header {
33030	if c.header_ == nil {
33031		c.header_ = make(http.Header)
33032	}
33033	return c.header_
33034}
33035
33036func (c *InventorySourceGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
33037	reqHeaders := make(http.Header)
33038	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
33039	for k, v := range c.header_ {
33040		reqHeaders[k] = v
33041	}
33042	reqHeaders.Set("User-Agent", c.s.userAgent())
33043	var body io.Reader = nil
33044	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
33045	if err != nil {
33046		return nil, err
33047	}
33048	reqHeaders.Set("Content-Type", "application/json")
33049	c.urlParams_.Set("alt", alt)
33050	c.urlParams_.Set("prettyPrint", "false")
33051	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups")
33052	urls += "?" + c.urlParams_.Encode()
33053	req, err := http.NewRequest("POST", urls, body)
33054	if err != nil {
33055		return nil, err
33056	}
33057	req.Header = reqHeaders
33058	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33059}
33060
33061// Do executes the "displayvideo.inventorySourceGroups.create" call.
33062// Exactly one of *InventorySourceGroup or error will be non-nil. Any
33063// non-2xx status code is an error. Response headers are in either
33064// *InventorySourceGroup.ServerResponse.Header or (if a response was
33065// returned at all) in error.(*googleapi.Error).Header. Use
33066// googleapi.IsNotModified to check whether the returned error was
33067// because http.StatusNotModified was returned.
33068func (c *InventorySourceGroupsCreateCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
33069	gensupport.SetOptions(c.urlParams_, opts...)
33070	res, err := c.doRequest("json")
33071	if res != nil && res.StatusCode == http.StatusNotModified {
33072		if res.Body != nil {
33073			res.Body.Close()
33074		}
33075		return nil, &googleapi.Error{
33076			Code:   res.StatusCode,
33077			Header: res.Header,
33078		}
33079	}
33080	if err != nil {
33081		return nil, err
33082	}
33083	defer googleapi.CloseBody(res)
33084	if err := googleapi.CheckResponse(res); err != nil {
33085		return nil, err
33086	}
33087	ret := &InventorySourceGroup{
33088		ServerResponse: googleapi.ServerResponse{
33089			Header:         res.Header,
33090			HTTPStatusCode: res.StatusCode,
33091		},
33092	}
33093	target := &ret
33094	if err := gensupport.DecodeResponse(target, res); err != nil {
33095		return nil, err
33096	}
33097	return ret, nil
33098	// {
33099	//   "description": "Creates a new inventory source group. Returns the newly created inventory source group if successful.",
33100	//   "flatPath": "v1/inventorySourceGroups",
33101	//   "httpMethod": "POST",
33102	//   "id": "displayvideo.inventorySourceGroups.create",
33103	//   "parameterOrder": [],
33104	//   "parameters": {
33105	//     "advertiserId": {
33106	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner will not have access to this group.",
33107	//       "format": "int64",
33108	//       "location": "query",
33109	//       "type": "string"
33110	//     },
33111	//     "partnerId": {
33112	//       "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.",
33113	//       "format": "int64",
33114	//       "location": "query",
33115	//       "type": "string"
33116	//     }
33117	//   },
33118	//   "path": "v1/inventorySourceGroups",
33119	//   "request": {
33120	//     "$ref": "InventorySourceGroup"
33121	//   },
33122	//   "response": {
33123	//     "$ref": "InventorySourceGroup"
33124	//   },
33125	//   "scopes": [
33126	//     "https://www.googleapis.com/auth/display-video"
33127	//   ]
33128	// }
33129
33130}
33131
33132// method id "displayvideo.inventorySourceGroups.delete":
33133
33134type InventorySourceGroupsDeleteCall struct {
33135	s                      *Service
33136	inventorySourceGroupId int64
33137	urlParams_             gensupport.URLParams
33138	ctx_                   context.Context
33139	header_                http.Header
33140}
33141
33142// Delete: Deletes an inventory source group.
33143//
33144// - inventorySourceGroupId: The ID of the inventory source group to
33145//   delete.
33146func (r *InventorySourceGroupsService) Delete(inventorySourceGroupId int64) *InventorySourceGroupsDeleteCall {
33147	c := &InventorySourceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33148	c.inventorySourceGroupId = inventorySourceGroupId
33149	return c
33150}
33151
33152// AdvertiserId sets the optional parameter "advertiserId": The ID of
33153// the advertiser that owns the inventory source group. The parent
33154// partner does not have access to this group.
33155func (c *InventorySourceGroupsDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsDeleteCall {
33156	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33157	return c
33158}
33159
33160// PartnerId sets the optional parameter "partnerId": The ID of the
33161// partner that owns the inventory source group. Only this partner has
33162// write access to this group.
33163func (c *InventorySourceGroupsDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsDeleteCall {
33164	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33165	return c
33166}
33167
33168// Fields allows partial responses to be retrieved. See
33169// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33170// for more information.
33171func (c *InventorySourceGroupsDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsDeleteCall {
33172	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33173	return c
33174}
33175
33176// Context sets the context to be used in this call's Do method. Any
33177// pending HTTP request will be aborted if the provided context is
33178// canceled.
33179func (c *InventorySourceGroupsDeleteCall) Context(ctx context.Context) *InventorySourceGroupsDeleteCall {
33180	c.ctx_ = ctx
33181	return c
33182}
33183
33184// Header returns an http.Header that can be modified by the caller to
33185// add HTTP headers to the request.
33186func (c *InventorySourceGroupsDeleteCall) Header() http.Header {
33187	if c.header_ == nil {
33188		c.header_ = make(http.Header)
33189	}
33190	return c.header_
33191}
33192
33193func (c *InventorySourceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
33194	reqHeaders := make(http.Header)
33195	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
33196	for k, v := range c.header_ {
33197		reqHeaders[k] = v
33198	}
33199	reqHeaders.Set("User-Agent", c.s.userAgent())
33200	var body io.Reader = nil
33201	c.urlParams_.Set("alt", alt)
33202	c.urlParams_.Set("prettyPrint", "false")
33203	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}")
33204	urls += "?" + c.urlParams_.Encode()
33205	req, err := http.NewRequest("DELETE", urls, body)
33206	if err != nil {
33207		return nil, err
33208	}
33209	req.Header = reqHeaders
33210	googleapi.Expand(req.URL, map[string]string{
33211		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33212	})
33213	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33214}
33215
33216// Do executes the "displayvideo.inventorySourceGroups.delete" call.
33217// Exactly one of *Empty or error will be non-nil. Any non-2xx status
33218// code is an error. Response headers are in either
33219// *Empty.ServerResponse.Header or (if a response was returned at all)
33220// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
33221// check whether the returned error was because http.StatusNotModified
33222// was returned.
33223func (c *InventorySourceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
33224	gensupport.SetOptions(c.urlParams_, opts...)
33225	res, err := c.doRequest("json")
33226	if res != nil && res.StatusCode == http.StatusNotModified {
33227		if res.Body != nil {
33228			res.Body.Close()
33229		}
33230		return nil, &googleapi.Error{
33231			Code:   res.StatusCode,
33232			Header: res.Header,
33233		}
33234	}
33235	if err != nil {
33236		return nil, err
33237	}
33238	defer googleapi.CloseBody(res)
33239	if err := googleapi.CheckResponse(res); err != nil {
33240		return nil, err
33241	}
33242	ret := &Empty{
33243		ServerResponse: googleapi.ServerResponse{
33244			Header:         res.Header,
33245			HTTPStatusCode: res.StatusCode,
33246		},
33247	}
33248	target := &ret
33249	if err := gensupport.DecodeResponse(target, res); err != nil {
33250		return nil, err
33251	}
33252	return ret, nil
33253	// {
33254	//   "description": "Deletes an inventory source group.",
33255	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}",
33256	//   "httpMethod": "DELETE",
33257	//   "id": "displayvideo.inventorySourceGroups.delete",
33258	//   "parameterOrder": [
33259	//     "inventorySourceGroupId"
33260	//   ],
33261	//   "parameters": {
33262	//     "advertiserId": {
33263	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.",
33264	//       "format": "int64",
33265	//       "location": "query",
33266	//       "type": "string"
33267	//     },
33268	//     "inventorySourceGroupId": {
33269	//       "description": "Required. The ID of the inventory source group to delete.",
33270	//       "format": "int64",
33271	//       "location": "path",
33272	//       "pattern": "^[^/]+$",
33273	//       "required": true,
33274	//       "type": "string"
33275	//     },
33276	//     "partnerId": {
33277	//       "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.",
33278	//       "format": "int64",
33279	//       "location": "query",
33280	//       "type": "string"
33281	//     }
33282	//   },
33283	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}",
33284	//   "response": {
33285	//     "$ref": "Empty"
33286	//   },
33287	//   "scopes": [
33288	//     "https://www.googleapis.com/auth/display-video"
33289	//   ]
33290	// }
33291
33292}
33293
33294// method id "displayvideo.inventorySourceGroups.get":
33295
33296type InventorySourceGroupsGetCall struct {
33297	s                      *Service
33298	inventorySourceGroupId int64
33299	urlParams_             gensupport.URLParams
33300	ifNoneMatch_           string
33301	ctx_                   context.Context
33302	header_                http.Header
33303}
33304
33305// Get: Gets an inventory source group.
33306//
33307// - inventorySourceGroupId: The ID of the inventory source group to
33308//   fetch.
33309func (r *InventorySourceGroupsService) Get(inventorySourceGroupId int64) *InventorySourceGroupsGetCall {
33310	c := &InventorySourceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33311	c.inventorySourceGroupId = inventorySourceGroupId
33312	return c
33313}
33314
33315// AdvertiserId sets the optional parameter "advertiserId": The ID of
33316// the advertiser that has access to the inventory source group. If an
33317// inventory source group is partner-owned, only advertisers to which
33318// the group is explicitly shared can access the group.
33319func (c *InventorySourceGroupsGetCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsGetCall {
33320	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33321	return c
33322}
33323
33324// PartnerId sets the optional parameter "partnerId": The ID of the
33325// partner that has access to the inventory source group. A partner
33326// cannot access an advertiser-owned inventory source group.
33327func (c *InventorySourceGroupsGetCall) PartnerId(partnerId int64) *InventorySourceGroupsGetCall {
33328	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33329	return c
33330}
33331
33332// Fields allows partial responses to be retrieved. See
33333// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33334// for more information.
33335func (c *InventorySourceGroupsGetCall) Fields(s ...googleapi.Field) *InventorySourceGroupsGetCall {
33336	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33337	return c
33338}
33339
33340// IfNoneMatch sets the optional parameter which makes the operation
33341// fail if the object's ETag matches the given value. This is useful for
33342// getting updates only after the object has changed since the last
33343// request. Use googleapi.IsNotModified to check whether the response
33344// error from Do is the result of In-None-Match.
33345func (c *InventorySourceGroupsGetCall) IfNoneMatch(entityTag string) *InventorySourceGroupsGetCall {
33346	c.ifNoneMatch_ = entityTag
33347	return c
33348}
33349
33350// Context sets the context to be used in this call's Do method. Any
33351// pending HTTP request will be aborted if the provided context is
33352// canceled.
33353func (c *InventorySourceGroupsGetCall) Context(ctx context.Context) *InventorySourceGroupsGetCall {
33354	c.ctx_ = ctx
33355	return c
33356}
33357
33358// Header returns an http.Header that can be modified by the caller to
33359// add HTTP headers to the request.
33360func (c *InventorySourceGroupsGetCall) Header() http.Header {
33361	if c.header_ == nil {
33362		c.header_ = make(http.Header)
33363	}
33364	return c.header_
33365}
33366
33367func (c *InventorySourceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
33368	reqHeaders := make(http.Header)
33369	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
33370	for k, v := range c.header_ {
33371		reqHeaders[k] = v
33372	}
33373	reqHeaders.Set("User-Agent", c.s.userAgent())
33374	if c.ifNoneMatch_ != "" {
33375		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33376	}
33377	var body io.Reader = nil
33378	c.urlParams_.Set("alt", alt)
33379	c.urlParams_.Set("prettyPrint", "false")
33380	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}")
33381	urls += "?" + c.urlParams_.Encode()
33382	req, err := http.NewRequest("GET", urls, body)
33383	if err != nil {
33384		return nil, err
33385	}
33386	req.Header = reqHeaders
33387	googleapi.Expand(req.URL, map[string]string{
33388		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33389	})
33390	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33391}
33392
33393// Do executes the "displayvideo.inventorySourceGroups.get" call.
33394// Exactly one of *InventorySourceGroup or error will be non-nil. Any
33395// non-2xx status code is an error. Response headers are in either
33396// *InventorySourceGroup.ServerResponse.Header or (if a response was
33397// returned at all) in error.(*googleapi.Error).Header. Use
33398// googleapi.IsNotModified to check whether the returned error was
33399// because http.StatusNotModified was returned.
33400func (c *InventorySourceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
33401	gensupport.SetOptions(c.urlParams_, opts...)
33402	res, err := c.doRequest("json")
33403	if res != nil && res.StatusCode == http.StatusNotModified {
33404		if res.Body != nil {
33405			res.Body.Close()
33406		}
33407		return nil, &googleapi.Error{
33408			Code:   res.StatusCode,
33409			Header: res.Header,
33410		}
33411	}
33412	if err != nil {
33413		return nil, err
33414	}
33415	defer googleapi.CloseBody(res)
33416	if err := googleapi.CheckResponse(res); err != nil {
33417		return nil, err
33418	}
33419	ret := &InventorySourceGroup{
33420		ServerResponse: googleapi.ServerResponse{
33421			Header:         res.Header,
33422			HTTPStatusCode: res.StatusCode,
33423		},
33424	}
33425	target := &ret
33426	if err := gensupport.DecodeResponse(target, res); err != nil {
33427		return nil, err
33428	}
33429	return ret, nil
33430	// {
33431	//   "description": "Gets an inventory source group.",
33432	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}",
33433	//   "httpMethod": "GET",
33434	//   "id": "displayvideo.inventorySourceGroups.get",
33435	//   "parameterOrder": [
33436	//     "inventorySourceGroupId"
33437	//   ],
33438	//   "parameters": {
33439	//     "advertiserId": {
33440	//       "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.",
33441	//       "format": "int64",
33442	//       "location": "query",
33443	//       "type": "string"
33444	//     },
33445	//     "inventorySourceGroupId": {
33446	//       "description": "Required. The ID of the inventory source group to fetch.",
33447	//       "format": "int64",
33448	//       "location": "path",
33449	//       "pattern": "^[^/]+$",
33450	//       "required": true,
33451	//       "type": "string"
33452	//     },
33453	//     "partnerId": {
33454	//       "description": "The ID of the partner that has access to the inventory source group. A partner cannot access an advertiser-owned inventory source group.",
33455	//       "format": "int64",
33456	//       "location": "query",
33457	//       "type": "string"
33458	//     }
33459	//   },
33460	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}",
33461	//   "response": {
33462	//     "$ref": "InventorySourceGroup"
33463	//   },
33464	//   "scopes": [
33465	//     "https://www.googleapis.com/auth/display-video"
33466	//   ]
33467	// }
33468
33469}
33470
33471// method id "displayvideo.inventorySourceGroups.list":
33472
33473type InventorySourceGroupsListCall struct {
33474	s            *Service
33475	urlParams_   gensupport.URLParams
33476	ifNoneMatch_ string
33477	ctx_         context.Context
33478	header_      http.Header
33479}
33480
33481// List: Lists inventory source groups that are accessible to the
33482// current user. The order is defined by the order_by parameter.
33483func (r *InventorySourceGroupsService) List() *InventorySourceGroupsListCall {
33484	c := &InventorySourceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33485	return c
33486}
33487
33488// AdvertiserId sets the optional parameter "advertiserId": The ID of
33489// the advertiser that has access to the inventory source group. If an
33490// inventory source group is partner-owned, only advertisers to which
33491// the group is explicitly shared can access the group.
33492func (c *InventorySourceGroupsListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsListCall {
33493	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33494	return c
33495}
33496
33497// Filter sets the optional parameter "filter": Allows filtering by
33498// inventory source group properties. Supported syntax: * Filter
33499// expressions are made up of one or more restrictions. * Restrictions
33500// can be combined by the logical operator `OR`. * A restriction has the
33501// form of `{field} {operator} {value}`. * The operator must be `EQUALS
33502// (=)`. * Supported fields: - `inventorySourceGroupId` The length of
33503// this field should be no more than 500 characters.
33504func (c *InventorySourceGroupsListCall) Filter(filter string) *InventorySourceGroupsListCall {
33505	c.urlParams_.Set("filter", filter)
33506	return c
33507}
33508
33509// OrderBy sets the optional parameter "orderBy": Field by which to sort
33510// the list. Acceptable values are: * `displayName` (default) *
33511// `inventorySourceGroupId` The default sorting order is ascending. To
33512// specify descending order for a field, a suffix "desc" should be added
33513// to the field name. For example, `displayName desc`.
33514func (c *InventorySourceGroupsListCall) OrderBy(orderBy string) *InventorySourceGroupsListCall {
33515	c.urlParams_.Set("orderBy", orderBy)
33516	return c
33517}
33518
33519// PageSize sets the optional parameter "pageSize": Requested page size.
33520// Must be between `1` and `100`. If unspecified will default to `100`.
33521func (c *InventorySourceGroupsListCall) PageSize(pageSize int64) *InventorySourceGroupsListCall {
33522	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
33523	return c
33524}
33525
33526// PageToken sets the optional parameter "pageToken": A token
33527// identifying a page of results the server should return. Typically,
33528// this is the value of next_page_token returned from the previous call
33529// to `ListInventorySources` method. If not specified, the first page of
33530// results will be returned.
33531func (c *InventorySourceGroupsListCall) PageToken(pageToken string) *InventorySourceGroupsListCall {
33532	c.urlParams_.Set("pageToken", pageToken)
33533	return c
33534}
33535
33536// PartnerId sets the optional parameter "partnerId": The ID of the
33537// partner that has access to the inventory source group. A partner
33538// cannot access advertiser-owned inventory source groups.
33539func (c *InventorySourceGroupsListCall) PartnerId(partnerId int64) *InventorySourceGroupsListCall {
33540	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33541	return c
33542}
33543
33544// Fields allows partial responses to be retrieved. See
33545// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33546// for more information.
33547func (c *InventorySourceGroupsListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsListCall {
33548	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33549	return c
33550}
33551
33552// IfNoneMatch sets the optional parameter which makes the operation
33553// fail if the object's ETag matches the given value. This is useful for
33554// getting updates only after the object has changed since the last
33555// request. Use googleapi.IsNotModified to check whether the response
33556// error from Do is the result of In-None-Match.
33557func (c *InventorySourceGroupsListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsListCall {
33558	c.ifNoneMatch_ = entityTag
33559	return c
33560}
33561
33562// Context sets the context to be used in this call's Do method. Any
33563// pending HTTP request will be aborted if the provided context is
33564// canceled.
33565func (c *InventorySourceGroupsListCall) Context(ctx context.Context) *InventorySourceGroupsListCall {
33566	c.ctx_ = ctx
33567	return c
33568}
33569
33570// Header returns an http.Header that can be modified by the caller to
33571// add HTTP headers to the request.
33572func (c *InventorySourceGroupsListCall) Header() http.Header {
33573	if c.header_ == nil {
33574		c.header_ = make(http.Header)
33575	}
33576	return c.header_
33577}
33578
33579func (c *InventorySourceGroupsListCall) doRequest(alt string) (*http.Response, error) {
33580	reqHeaders := make(http.Header)
33581	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
33582	for k, v := range c.header_ {
33583		reqHeaders[k] = v
33584	}
33585	reqHeaders.Set("User-Agent", c.s.userAgent())
33586	if c.ifNoneMatch_ != "" {
33587		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33588	}
33589	var body io.Reader = nil
33590	c.urlParams_.Set("alt", alt)
33591	c.urlParams_.Set("prettyPrint", "false")
33592	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups")
33593	urls += "?" + c.urlParams_.Encode()
33594	req, err := http.NewRequest("GET", urls, body)
33595	if err != nil {
33596		return nil, err
33597	}
33598	req.Header = reqHeaders
33599	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33600}
33601
33602// Do executes the "displayvideo.inventorySourceGroups.list" call.
33603// Exactly one of *ListInventorySourceGroupsResponse or error will be
33604// non-nil. Any non-2xx status code is an error. Response headers are in
33605// either *ListInventorySourceGroupsResponse.ServerResponse.Header or
33606// (if a response was returned at all) in
33607// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33608// whether the returned error was because http.StatusNotModified was
33609// returned.
33610func (c *InventorySourceGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourceGroupsResponse, error) {
33611	gensupport.SetOptions(c.urlParams_, opts...)
33612	res, err := c.doRequest("json")
33613	if res != nil && res.StatusCode == http.StatusNotModified {
33614		if res.Body != nil {
33615			res.Body.Close()
33616		}
33617		return nil, &googleapi.Error{
33618			Code:   res.StatusCode,
33619			Header: res.Header,
33620		}
33621	}
33622	if err != nil {
33623		return nil, err
33624	}
33625	defer googleapi.CloseBody(res)
33626	if err := googleapi.CheckResponse(res); err != nil {
33627		return nil, err
33628	}
33629	ret := &ListInventorySourceGroupsResponse{
33630		ServerResponse: googleapi.ServerResponse{
33631			Header:         res.Header,
33632			HTTPStatusCode: res.StatusCode,
33633		},
33634	}
33635	target := &ret
33636	if err := gensupport.DecodeResponse(target, res); err != nil {
33637		return nil, err
33638	}
33639	return ret, nil
33640	// {
33641	//   "description": "Lists inventory source groups that are accessible to the current user. The order is defined by the order_by parameter.",
33642	//   "flatPath": "v1/inventorySourceGroups",
33643	//   "httpMethod": "GET",
33644	//   "id": "displayvideo.inventorySourceGroups.list",
33645	//   "parameterOrder": [],
33646	//   "parameters": {
33647	//     "advertiserId": {
33648	//       "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.",
33649	//       "format": "int64",
33650	//       "location": "query",
33651	//       "type": "string"
33652	//     },
33653	//     "filter": {
33654	//       "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.",
33655	//       "location": "query",
33656	//       "type": "string"
33657	//     },
33658	//     "orderBy": {
33659	//       "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`.",
33660	//       "location": "query",
33661	//       "type": "string"
33662	//     },
33663	//     "pageSize": {
33664	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
33665	//       "format": "int32",
33666	//       "location": "query",
33667	//       "type": "integer"
33668	//     },
33669	//     "pageToken": {
33670	//       "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.",
33671	//       "location": "query",
33672	//       "type": "string"
33673	//     },
33674	//     "partnerId": {
33675	//       "description": "The ID of the partner that has access to the inventory source group. A partner cannot access advertiser-owned inventory source groups.",
33676	//       "format": "int64",
33677	//       "location": "query",
33678	//       "type": "string"
33679	//     }
33680	//   },
33681	//   "path": "v1/inventorySourceGroups",
33682	//   "response": {
33683	//     "$ref": "ListInventorySourceGroupsResponse"
33684	//   },
33685	//   "scopes": [
33686	//     "https://www.googleapis.com/auth/display-video"
33687	//   ]
33688	// }
33689
33690}
33691
33692// Pages invokes f for each page of results.
33693// A non-nil error returned from f will halt the iteration.
33694// The provided context supersedes any context provided to the Context method.
33695func (c *InventorySourceGroupsListCall) Pages(ctx context.Context, f func(*ListInventorySourceGroupsResponse) error) error {
33696	c.ctx_ = ctx
33697	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33698	for {
33699		x, err := c.Do()
33700		if err != nil {
33701			return err
33702		}
33703		if err := f(x); err != nil {
33704			return err
33705		}
33706		if x.NextPageToken == "" {
33707			return nil
33708		}
33709		c.PageToken(x.NextPageToken)
33710	}
33711}
33712
33713// method id "displayvideo.inventorySourceGroups.patch":
33714
33715type InventorySourceGroupsPatchCall struct {
33716	s                      *Service
33717	inventorySourceGroupId int64
33718	inventorysourcegroup   *InventorySourceGroup
33719	urlParams_             gensupport.URLParams
33720	ctx_                   context.Context
33721	header_                http.Header
33722}
33723
33724// Patch: Updates an inventory source group. Returns the updated
33725// inventory source group if successful.
33726//
33727// - inventorySourceGroupId: Output only. The unique ID of the inventory
33728//   source group. Assigned by the system.
33729func (r *InventorySourceGroupsService) Patch(inventorySourceGroupId int64, inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsPatchCall {
33730	c := &InventorySourceGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33731	c.inventorySourceGroupId = inventorySourceGroupId
33732	c.inventorysourcegroup = inventorysourcegroup
33733	return c
33734}
33735
33736// AdvertiserId sets the optional parameter "advertiserId": The ID of
33737// the advertiser that owns the inventory source group. The parent
33738// partner does not have access to this group.
33739func (c *InventorySourceGroupsPatchCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsPatchCall {
33740	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33741	return c
33742}
33743
33744// PartnerId sets the optional parameter "partnerId": The ID of the
33745// partner that owns the inventory source group. Only this partner has
33746// write access to this group.
33747func (c *InventorySourceGroupsPatchCall) PartnerId(partnerId int64) *InventorySourceGroupsPatchCall {
33748	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
33749	return c
33750}
33751
33752// UpdateMask sets the optional parameter "updateMask": Required. The
33753// mask to control which fields to update.
33754func (c *InventorySourceGroupsPatchCall) UpdateMask(updateMask string) *InventorySourceGroupsPatchCall {
33755	c.urlParams_.Set("updateMask", updateMask)
33756	return c
33757}
33758
33759// Fields allows partial responses to be retrieved. See
33760// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33761// for more information.
33762func (c *InventorySourceGroupsPatchCall) Fields(s ...googleapi.Field) *InventorySourceGroupsPatchCall {
33763	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33764	return c
33765}
33766
33767// Context sets the context to be used in this call's Do method. Any
33768// pending HTTP request will be aborted if the provided context is
33769// canceled.
33770func (c *InventorySourceGroupsPatchCall) Context(ctx context.Context) *InventorySourceGroupsPatchCall {
33771	c.ctx_ = ctx
33772	return c
33773}
33774
33775// Header returns an http.Header that can be modified by the caller to
33776// add HTTP headers to the request.
33777func (c *InventorySourceGroupsPatchCall) Header() http.Header {
33778	if c.header_ == nil {
33779		c.header_ = make(http.Header)
33780	}
33781	return c.header_
33782}
33783
33784func (c *InventorySourceGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
33785	reqHeaders := make(http.Header)
33786	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
33787	for k, v := range c.header_ {
33788		reqHeaders[k] = v
33789	}
33790	reqHeaders.Set("User-Agent", c.s.userAgent())
33791	var body io.Reader = nil
33792	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
33793	if err != nil {
33794		return nil, err
33795	}
33796	reqHeaders.Set("Content-Type", "application/json")
33797	c.urlParams_.Set("alt", alt)
33798	c.urlParams_.Set("prettyPrint", "false")
33799	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{inventorySourceGroupId}")
33800	urls += "?" + c.urlParams_.Encode()
33801	req, err := http.NewRequest("PATCH", urls, body)
33802	if err != nil {
33803		return nil, err
33804	}
33805	req.Header = reqHeaders
33806	googleapi.Expand(req.URL, map[string]string{
33807		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33808	})
33809	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33810}
33811
33812// Do executes the "displayvideo.inventorySourceGroups.patch" call.
33813// Exactly one of *InventorySourceGroup or error will be non-nil. Any
33814// non-2xx status code is an error. Response headers are in either
33815// *InventorySourceGroup.ServerResponse.Header or (if a response was
33816// returned at all) in error.(*googleapi.Error).Header. Use
33817// googleapi.IsNotModified to check whether the returned error was
33818// because http.StatusNotModified was returned.
33819func (c *InventorySourceGroupsPatchCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
33820	gensupport.SetOptions(c.urlParams_, opts...)
33821	res, err := c.doRequest("json")
33822	if res != nil && res.StatusCode == http.StatusNotModified {
33823		if res.Body != nil {
33824			res.Body.Close()
33825		}
33826		return nil, &googleapi.Error{
33827			Code:   res.StatusCode,
33828			Header: res.Header,
33829		}
33830	}
33831	if err != nil {
33832		return nil, err
33833	}
33834	defer googleapi.CloseBody(res)
33835	if err := googleapi.CheckResponse(res); err != nil {
33836		return nil, err
33837	}
33838	ret := &InventorySourceGroup{
33839		ServerResponse: googleapi.ServerResponse{
33840			Header:         res.Header,
33841			HTTPStatusCode: res.StatusCode,
33842		},
33843	}
33844	target := &ret
33845	if err := gensupport.DecodeResponse(target, res); err != nil {
33846		return nil, err
33847	}
33848	return ret, nil
33849	// {
33850	//   "description": "Updates an inventory source group. Returns the updated inventory source group if successful.",
33851	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupId}",
33852	//   "httpMethod": "PATCH",
33853	//   "id": "displayvideo.inventorySourceGroups.patch",
33854	//   "parameterOrder": [
33855	//     "inventorySourceGroupId"
33856	//   ],
33857	//   "parameters": {
33858	//     "advertiserId": {
33859	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.",
33860	//       "format": "int64",
33861	//       "location": "query",
33862	//       "type": "string"
33863	//     },
33864	//     "inventorySourceGroupId": {
33865	//       "description": "Output only. The unique ID of the inventory source group. Assigned by the system.",
33866	//       "format": "int64",
33867	//       "location": "path",
33868	//       "required": true,
33869	//       "type": "string"
33870	//     },
33871	//     "partnerId": {
33872	//       "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.",
33873	//       "format": "int64",
33874	//       "location": "query",
33875	//       "type": "string"
33876	//     },
33877	//     "updateMask": {
33878	//       "description": "Required. The mask to control which fields to update.",
33879	//       "format": "google-fieldmask",
33880	//       "location": "query",
33881	//       "type": "string"
33882	//     }
33883	//   },
33884	//   "path": "v1/inventorySourceGroups/{inventorySourceGroupId}",
33885	//   "request": {
33886	//     "$ref": "InventorySourceGroup"
33887	//   },
33888	//   "response": {
33889	//     "$ref": "InventorySourceGroup"
33890	//   },
33891	//   "scopes": [
33892	//     "https://www.googleapis.com/auth/display-video"
33893	//   ]
33894	// }
33895
33896}
33897
33898// method id "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit":
33899
33900type InventorySourceGroupsAssignedInventorySourcesBulkEditCall struct {
33901	s                                       *Service
33902	inventorySourceGroupId                  int64
33903	bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest
33904	urlParams_                              gensupport.URLParams
33905	ctx_                                    context.Context
33906	header_                                 http.Header
33907}
33908
33909// BulkEdit: Bulk edits multiple assignments between inventory sources
33910// and a single inventory source group. The operation will delete the
33911// assigned inventory sources provided in
33912// BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sou
33913// rces and then create the assigned inventory sources provided in
33914// BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sou
33915// rces.
33916//
33917// - inventorySourceGroupId: The ID of the inventory source group to
33918//   which the assignments are assigned.
33919func (r *InventorySourceGroupsAssignedInventorySourcesService) BulkEdit(inventorySourceGroupId int64, bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
33920	c := &InventorySourceGroupsAssignedInventorySourcesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33921	c.inventorySourceGroupId = inventorySourceGroupId
33922	c.bulkeditassignedinventorysourcesrequest = bulkeditassignedinventorysourcesrequest
33923	return c
33924}
33925
33926// Fields allows partial responses to be retrieved. See
33927// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33928// for more information.
33929func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
33930	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33931	return c
33932}
33933
33934// Context sets the context to be used in this call's Do method. Any
33935// pending HTTP request will be aborted if the provided context is
33936// canceled.
33937func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
33938	c.ctx_ = ctx
33939	return c
33940}
33941
33942// Header returns an http.Header that can be modified by the caller to
33943// add HTTP headers to the request.
33944func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Header() http.Header {
33945	if c.header_ == nil {
33946		c.header_ = make(http.Header)
33947	}
33948	return c.header_
33949}
33950
33951func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) doRequest(alt string) (*http.Response, error) {
33952	reqHeaders := make(http.Header)
33953	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
33954	for k, v := range c.header_ {
33955		reqHeaders[k] = v
33956	}
33957	reqHeaders.Set("User-Agent", c.s.userAgent())
33958	var body io.Reader = nil
33959	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedinventorysourcesrequest)
33960	if err != nil {
33961		return nil, err
33962	}
33963	reqHeaders.Set("Content-Type", "application/json")
33964	c.urlParams_.Set("alt", alt)
33965	c.urlParams_.Set("prettyPrint", "false")
33966	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit")
33967	urls += "?" + c.urlParams_.Encode()
33968	req, err := http.NewRequest("POST", urls, body)
33969	if err != nil {
33970		return nil, err
33971	}
33972	req.Header = reqHeaders
33973	googleapi.Expand(req.URL, map[string]string{
33974		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
33975	})
33976	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33977}
33978
33979// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit" call.
33980// Exactly one of *BulkEditAssignedInventorySourcesResponse or error
33981// will be non-nil. Any non-2xx status code is an error. Response
33982// headers are in either
33983// *BulkEditAssignedInventorySourcesResponse.ServerResponse.Header or
33984// (if a response was returned at all) in
33985// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33986// whether the returned error was because http.StatusNotModified was
33987// returned.
33988func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedInventorySourcesResponse, error) {
33989	gensupport.SetOptions(c.urlParams_, opts...)
33990	res, err := c.doRequest("json")
33991	if res != nil && res.StatusCode == http.StatusNotModified {
33992		if res.Body != nil {
33993			res.Body.Close()
33994		}
33995		return nil, &googleapi.Error{
33996			Code:   res.StatusCode,
33997			Header: res.Header,
33998		}
33999	}
34000	if err != nil {
34001		return nil, err
34002	}
34003	defer googleapi.CloseBody(res)
34004	if err := googleapi.CheckResponse(res); err != nil {
34005		return nil, err
34006	}
34007	ret := &BulkEditAssignedInventorySourcesResponse{
34008		ServerResponse: googleapi.ServerResponse{
34009			Header:         res.Header,
34010			HTTPStatusCode: res.StatusCode,
34011		},
34012	}
34013	target := &ret
34014	if err := gensupport.DecodeResponse(target, res); err != nil {
34015		return nil, err
34016	}
34017	return ret, nil
34018	// {
34019	//   "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.",
34020	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources:bulkEdit",
34021	//   "httpMethod": "POST",
34022	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit",
34023	//   "parameterOrder": [
34024	//     "inventorySourceGroupId"
34025	//   ],
34026	//   "parameters": {
34027	//     "inventorySourceGroupId": {
34028	//       "description": "Required. The ID of the inventory source group to which the assignments are assigned.",
34029	//       "format": "int64",
34030	//       "location": "path",
34031	//       "pattern": "^[^/]+$",
34032	//       "required": true,
34033	//       "type": "string"
34034	//     }
34035	//   },
34036	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit",
34037	//   "request": {
34038	//     "$ref": "BulkEditAssignedInventorySourcesRequest"
34039	//   },
34040	//   "response": {
34041	//     "$ref": "BulkEditAssignedInventorySourcesResponse"
34042	//   },
34043	//   "scopes": [
34044	//     "https://www.googleapis.com/auth/display-video"
34045	//   ]
34046	// }
34047
34048}
34049
34050// method id "displayvideo.inventorySourceGroups.assignedInventorySources.create":
34051
34052type InventorySourceGroupsAssignedInventorySourcesCreateCall struct {
34053	s                       *Service
34054	inventorySourceGroupId  int64
34055	assignedinventorysource *AssignedInventorySource
34056	urlParams_              gensupport.URLParams
34057	ctx_                    context.Context
34058	header_                 http.Header
34059}
34060
34061// Create: Creates an assignment between an inventory source and an
34062// inventory source group.
34063//
34064// - inventorySourceGroupId: The ID of the inventory source group to
34065//   which the assignment will be assigned.
34066func (r *InventorySourceGroupsAssignedInventorySourcesService) Create(inventorySourceGroupId int64, assignedinventorysource *AssignedInventorySource) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
34067	c := &InventorySourceGroupsAssignedInventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34068	c.inventorySourceGroupId = inventorySourceGroupId
34069	c.assignedinventorysource = assignedinventorysource
34070	return c
34071}
34072
34073// AdvertiserId sets the optional parameter "advertiserId": The ID of
34074// the advertiser that owns the parent inventory source group. The
34075// parent partner will not have access to this assigned inventory
34076// source.
34077func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
34078	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
34079	return c
34080}
34081
34082// PartnerId sets the optional parameter "partnerId": The ID of the
34083// partner that owns the parent inventory source group. Only this
34084// partner will have write access to this assigned inventory source.
34085func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
34086	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
34087	return c
34088}
34089
34090// Fields allows partial responses to be retrieved. See
34091// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34092// for more information.
34093func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
34094	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34095	return c
34096}
34097
34098// Context sets the context to be used in this call's Do method. Any
34099// pending HTTP request will be aborted if the provided context is
34100// canceled.
34101func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
34102	c.ctx_ = ctx
34103	return c
34104}
34105
34106// Header returns an http.Header that can be modified by the caller to
34107// add HTTP headers to the request.
34108func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Header() http.Header {
34109	if c.header_ == nil {
34110		c.header_ = make(http.Header)
34111	}
34112	return c.header_
34113}
34114
34115func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
34116	reqHeaders := make(http.Header)
34117	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
34118	for k, v := range c.header_ {
34119		reqHeaders[k] = v
34120	}
34121	reqHeaders.Set("User-Agent", c.s.userAgent())
34122	var body io.Reader = nil
34123	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedinventorysource)
34124	if err != nil {
34125		return nil, err
34126	}
34127	reqHeaders.Set("Content-Type", "application/json")
34128	c.urlParams_.Set("alt", alt)
34129	c.urlParams_.Set("prettyPrint", "false")
34130	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
34131	urls += "?" + c.urlParams_.Encode()
34132	req, err := http.NewRequest("POST", urls, body)
34133	if err != nil {
34134		return nil, err
34135	}
34136	req.Header = reqHeaders
34137	googleapi.Expand(req.URL, map[string]string{
34138		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
34139	})
34140	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34141}
34142
34143// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.create" call.
34144// Exactly one of *AssignedInventorySource or error will be non-nil. Any
34145// non-2xx status code is an error. Response headers are in either
34146// *AssignedInventorySource.ServerResponse.Header or (if a response was
34147// returned at all) in error.(*googleapi.Error).Header. Use
34148// googleapi.IsNotModified to check whether the returned error was
34149// because http.StatusNotModified was returned.
34150func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*AssignedInventorySource, error) {
34151	gensupport.SetOptions(c.urlParams_, opts...)
34152	res, err := c.doRequest("json")
34153	if res != nil && res.StatusCode == http.StatusNotModified {
34154		if res.Body != nil {
34155			res.Body.Close()
34156		}
34157		return nil, &googleapi.Error{
34158			Code:   res.StatusCode,
34159			Header: res.Header,
34160		}
34161	}
34162	if err != nil {
34163		return nil, err
34164	}
34165	defer googleapi.CloseBody(res)
34166	if err := googleapi.CheckResponse(res); err != nil {
34167		return nil, err
34168	}
34169	ret := &AssignedInventorySource{
34170		ServerResponse: googleapi.ServerResponse{
34171			Header:         res.Header,
34172			HTTPStatusCode: res.StatusCode,
34173		},
34174	}
34175	target := &ret
34176	if err := gensupport.DecodeResponse(target, res); err != nil {
34177		return nil, err
34178	}
34179	return ret, nil
34180	// {
34181	//   "description": "Creates an assignment between an inventory source and an inventory source group.",
34182	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
34183	//   "httpMethod": "POST",
34184	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.create",
34185	//   "parameterOrder": [
34186	//     "inventorySourceGroupId"
34187	//   ],
34188	//   "parameters": {
34189	//     "advertiserId": {
34190	//       "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.",
34191	//       "format": "int64",
34192	//       "location": "query",
34193	//       "type": "string"
34194	//     },
34195	//     "inventorySourceGroupId": {
34196	//       "description": "Required. The ID of the inventory source group to which the assignment will be assigned.",
34197	//       "format": "int64",
34198	//       "location": "path",
34199	//       "pattern": "^[^/]+$",
34200	//       "required": true,
34201	//       "type": "string"
34202	//     },
34203	//     "partnerId": {
34204	//       "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.",
34205	//       "format": "int64",
34206	//       "location": "query",
34207	//       "type": "string"
34208	//     }
34209	//   },
34210	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
34211	//   "request": {
34212	//     "$ref": "AssignedInventorySource"
34213	//   },
34214	//   "response": {
34215	//     "$ref": "AssignedInventorySource"
34216	//   },
34217	//   "scopes": [
34218	//     "https://www.googleapis.com/auth/display-video"
34219	//   ]
34220	// }
34221
34222}
34223
34224// method id "displayvideo.inventorySourceGroups.assignedInventorySources.delete":
34225
34226type InventorySourceGroupsAssignedInventorySourcesDeleteCall struct {
34227	s                         *Service
34228	inventorySourceGroupId    int64
34229	assignedInventorySourceId int64
34230	urlParams_                gensupport.URLParams
34231	ctx_                      context.Context
34232	header_                   http.Header
34233}
34234
34235// Delete: Deletes the assignment between an inventory source and an
34236// inventory source group.
34237//
34238// - assignedInventorySourceId: The ID of the assigned inventory source
34239//   to delete.
34240// - inventorySourceGroupId: The ID of the inventory source group to
34241//   which this assignment is assigned.
34242func (r *InventorySourceGroupsAssignedInventorySourcesService) Delete(inventorySourceGroupId int64, assignedInventorySourceId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
34243	c := &InventorySourceGroupsAssignedInventorySourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34244	c.inventorySourceGroupId = inventorySourceGroupId
34245	c.assignedInventorySourceId = assignedInventorySourceId
34246	return c
34247}
34248
34249// AdvertiserId sets the optional parameter "advertiserId": The ID of
34250// the advertiser that owns the parent inventory source group. The
34251// parent partner does not have access to this assigned inventory
34252// source.
34253func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
34254	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
34255	return c
34256}
34257
34258// PartnerId sets the optional parameter "partnerId": The ID of the
34259// partner that owns the parent inventory source group. Only this
34260// partner has write access to this assigned inventory source.
34261func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
34262	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
34263	return c
34264}
34265
34266// Fields allows partial responses to be retrieved. See
34267// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34268// for more information.
34269func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
34270	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34271	return c
34272}
34273
34274// Context sets the context to be used in this call's Do method. Any
34275// pending HTTP request will be aborted if the provided context is
34276// canceled.
34277func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
34278	c.ctx_ = ctx
34279	return c
34280}
34281
34282// Header returns an http.Header that can be modified by the caller to
34283// add HTTP headers to the request.
34284func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Header() http.Header {
34285	if c.header_ == nil {
34286		c.header_ = make(http.Header)
34287	}
34288	return c.header_
34289}
34290
34291func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
34292	reqHeaders := make(http.Header)
34293	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
34294	for k, v := range c.header_ {
34295		reqHeaders[k] = v
34296	}
34297	reqHeaders.Set("User-Agent", c.s.userAgent())
34298	var body io.Reader = nil
34299	c.urlParams_.Set("alt", alt)
34300	c.urlParams_.Set("prettyPrint", "false")
34301	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}")
34302	urls += "?" + c.urlParams_.Encode()
34303	req, err := http.NewRequest("DELETE", urls, body)
34304	if err != nil {
34305		return nil, err
34306	}
34307	req.Header = reqHeaders
34308	googleapi.Expand(req.URL, map[string]string{
34309		"inventorySourceGroupId":    strconv.FormatInt(c.inventorySourceGroupId, 10),
34310		"assignedInventorySourceId": strconv.FormatInt(c.assignedInventorySourceId, 10),
34311	})
34312	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34313}
34314
34315// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.delete" call.
34316// Exactly one of *Empty or error will be non-nil. Any non-2xx status
34317// code is an error. Response headers are in either
34318// *Empty.ServerResponse.Header or (if a response was returned at all)
34319// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
34320// check whether the returned error was because http.StatusNotModified
34321// was returned.
34322func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
34323	gensupport.SetOptions(c.urlParams_, opts...)
34324	res, err := c.doRequest("json")
34325	if res != nil && res.StatusCode == http.StatusNotModified {
34326		if res.Body != nil {
34327			res.Body.Close()
34328		}
34329		return nil, &googleapi.Error{
34330			Code:   res.StatusCode,
34331			Header: res.Header,
34332		}
34333	}
34334	if err != nil {
34335		return nil, err
34336	}
34337	defer googleapi.CloseBody(res)
34338	if err := googleapi.CheckResponse(res); err != nil {
34339		return nil, err
34340	}
34341	ret := &Empty{
34342		ServerResponse: googleapi.ServerResponse{
34343			Header:         res.Header,
34344			HTTPStatusCode: res.StatusCode,
34345		},
34346	}
34347	target := &ret
34348	if err := gensupport.DecodeResponse(target, res); err != nil {
34349		return nil, err
34350	}
34351	return ret, nil
34352	// {
34353	//   "description": "Deletes the assignment between an inventory source and an inventory source group.",
34354	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources/{assignedInventorySourcesId}",
34355	//   "httpMethod": "DELETE",
34356	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.delete",
34357	//   "parameterOrder": [
34358	//     "inventorySourceGroupId",
34359	//     "assignedInventorySourceId"
34360	//   ],
34361	//   "parameters": {
34362	//     "advertiserId": {
34363	//       "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.",
34364	//       "format": "int64",
34365	//       "location": "query",
34366	//       "type": "string"
34367	//     },
34368	//     "assignedInventorySourceId": {
34369	//       "description": "Required. The ID of the assigned inventory source to delete.",
34370	//       "format": "int64",
34371	//       "location": "path",
34372	//       "pattern": "^[^/]+$",
34373	//       "required": true,
34374	//       "type": "string"
34375	//     },
34376	//     "inventorySourceGroupId": {
34377	//       "description": "Required. The ID of the inventory source group to which this assignment is assigned.",
34378	//       "format": "int64",
34379	//       "location": "path",
34380	//       "pattern": "^[^/]+$",
34381	//       "required": true,
34382	//       "type": "string"
34383	//     },
34384	//     "partnerId": {
34385	//       "description": "The ID of the partner that owns the parent inventory source group. Only this partner has write access to this assigned inventory source.",
34386	//       "format": "int64",
34387	//       "location": "query",
34388	//       "type": "string"
34389	//     }
34390	//   },
34391	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}",
34392	//   "response": {
34393	//     "$ref": "Empty"
34394	//   },
34395	//   "scopes": [
34396	//     "https://www.googleapis.com/auth/display-video"
34397	//   ]
34398	// }
34399
34400}
34401
34402// method id "displayvideo.inventorySourceGroups.assignedInventorySources.list":
34403
34404type InventorySourceGroupsAssignedInventorySourcesListCall struct {
34405	s                      *Service
34406	inventorySourceGroupId int64
34407	urlParams_             gensupport.URLParams
34408	ifNoneMatch_           string
34409	ctx_                   context.Context
34410	header_                http.Header
34411}
34412
34413// List: Lists inventory sources assigned to an inventory source group.
34414//
34415// - inventorySourceGroupId: The ID of the inventory source group to
34416//   which these assignments are assigned.
34417func (r *InventorySourceGroupsAssignedInventorySourcesService) List(inventorySourceGroupId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
34418	c := &InventorySourceGroupsAssignedInventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34419	c.inventorySourceGroupId = inventorySourceGroupId
34420	return c
34421}
34422
34423// AdvertiserId sets the optional parameter "advertiserId": The ID of
34424// the advertiser that has access to the assignment. If the parent
34425// inventory source group is partner-owned, only advertisers to which
34426// the parent group is explicitly shared can access the assigned
34427// inventory source.
34428func (c *InventorySourceGroupsAssignedInventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
34429	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
34430	return c
34431}
34432
34433// Filter sets the optional parameter "filter": Allows filtering by
34434// assigned inventory source fields. Supported syntax: * Filter
34435// expressions are made up of one or more restrictions. * Restrictions
34436// can be combined by the logical operator `OR`. * A restriction has the
34437// form of `{field} {operator} {value}`. * The operator must be `EQUALS
34438// (=)`. * Supported fields: - `assignedInventorySourceId` The length of
34439// this field should be no more than 500 characters.
34440func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Filter(filter string) *InventorySourceGroupsAssignedInventorySourcesListCall {
34441	c.urlParams_.Set("filter", filter)
34442	return c
34443}
34444
34445// OrderBy sets the optional parameter "orderBy": Field by which to sort
34446// the list. Acceptable values are: * `assignedInventorySourceId`
34447// (default) The default sorting order is ascending. To specify
34448// descending order for a field, a suffix " desc" should be added to the
34449// field name. Example: `assignedInventorySourceId desc`.
34450func (c *InventorySourceGroupsAssignedInventorySourcesListCall) OrderBy(orderBy string) *InventorySourceGroupsAssignedInventorySourcesListCall {
34451	c.urlParams_.Set("orderBy", orderBy)
34452	return c
34453}
34454
34455// PageSize sets the optional parameter "pageSize": Requested page size.
34456// Must be between `1` and `100`. If unspecified will default to `100`.
34457// Returns error code `INVALID_ARGUMENT` if an invalid value is
34458// specified.
34459func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageSize(pageSize int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
34460	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
34461	return c
34462}
34463
34464// PageToken sets the optional parameter "pageToken": A token
34465// identifying a page of results the server should return. Typically,
34466// this is the value of next_page_token returned from the previous call
34467// to `ListAssignedInventorySources` method. If not specified, the first
34468// page of results will be returned.
34469func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageToken(pageToken string) *InventorySourceGroupsAssignedInventorySourcesListCall {
34470	c.urlParams_.Set("pageToken", pageToken)
34471	return c
34472}
34473
34474// PartnerId sets the optional parameter "partnerId": The ID of the
34475// partner that has access to the assignment. If the parent inventory
34476// source group is advertiser-owned, the assignment cannot be accessed
34477// via a partner.
34478func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
34479	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
34480	return c
34481}
34482
34483// Fields allows partial responses to be retrieved. See
34484// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34485// for more information.
34486func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesListCall {
34487	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34488	return c
34489}
34490
34491// IfNoneMatch sets the optional parameter which makes the operation
34492// fail if the object's ETag matches the given value. This is useful for
34493// getting updates only after the object has changed since the last
34494// request. Use googleapi.IsNotModified to check whether the response
34495// error from Do is the result of In-None-Match.
34496func (c *InventorySourceGroupsAssignedInventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsAssignedInventorySourcesListCall {
34497	c.ifNoneMatch_ = entityTag
34498	return c
34499}
34500
34501// Context sets the context to be used in this call's Do method. Any
34502// pending HTTP request will be aborted if the provided context is
34503// canceled.
34504func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesListCall {
34505	c.ctx_ = ctx
34506	return c
34507}
34508
34509// Header returns an http.Header that can be modified by the caller to
34510// add HTTP headers to the request.
34511func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Header() http.Header {
34512	if c.header_ == nil {
34513		c.header_ = make(http.Header)
34514	}
34515	return c.header_
34516}
34517
34518func (c *InventorySourceGroupsAssignedInventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
34519	reqHeaders := make(http.Header)
34520	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
34521	for k, v := range c.header_ {
34522		reqHeaders[k] = v
34523	}
34524	reqHeaders.Set("User-Agent", c.s.userAgent())
34525	if c.ifNoneMatch_ != "" {
34526		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34527	}
34528	var body io.Reader = nil
34529	c.urlParams_.Set("alt", alt)
34530	c.urlParams_.Set("prettyPrint", "false")
34531	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
34532	urls += "?" + c.urlParams_.Encode()
34533	req, err := http.NewRequest("GET", urls, body)
34534	if err != nil {
34535		return nil, err
34536	}
34537	req.Header = reqHeaders
34538	googleapi.Expand(req.URL, map[string]string{
34539		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
34540	})
34541	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34542}
34543
34544// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.list" call.
34545// Exactly one of *ListAssignedInventorySourcesResponse or error will be
34546// non-nil. Any non-2xx status code is an error. Response headers are in
34547// either *ListAssignedInventorySourcesResponse.ServerResponse.Header or
34548// (if a response was returned at all) in
34549// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34550// whether the returned error was because http.StatusNotModified was
34551// returned.
34552func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListAssignedInventorySourcesResponse, error) {
34553	gensupport.SetOptions(c.urlParams_, opts...)
34554	res, err := c.doRequest("json")
34555	if res != nil && res.StatusCode == http.StatusNotModified {
34556		if res.Body != nil {
34557			res.Body.Close()
34558		}
34559		return nil, &googleapi.Error{
34560			Code:   res.StatusCode,
34561			Header: res.Header,
34562		}
34563	}
34564	if err != nil {
34565		return nil, err
34566	}
34567	defer googleapi.CloseBody(res)
34568	if err := googleapi.CheckResponse(res); err != nil {
34569		return nil, err
34570	}
34571	ret := &ListAssignedInventorySourcesResponse{
34572		ServerResponse: googleapi.ServerResponse{
34573			Header:         res.Header,
34574			HTTPStatusCode: res.StatusCode,
34575		},
34576	}
34577	target := &ret
34578	if err := gensupport.DecodeResponse(target, res); err != nil {
34579		return nil, err
34580	}
34581	return ret, nil
34582	// {
34583	//   "description": "Lists inventory sources assigned to an inventory source group.",
34584	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
34585	//   "httpMethod": "GET",
34586	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.list",
34587	//   "parameterOrder": [
34588	//     "inventorySourceGroupId"
34589	//   ],
34590	//   "parameters": {
34591	//     "advertiserId": {
34592	//       "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.",
34593	//       "format": "int64",
34594	//       "location": "query",
34595	//       "type": "string"
34596	//     },
34597	//     "filter": {
34598	//       "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.",
34599	//       "location": "query",
34600	//       "type": "string"
34601	//     },
34602	//     "inventorySourceGroupId": {
34603	//       "description": "Required. The ID of the inventory source group to which these assignments are assigned.",
34604	//       "format": "int64",
34605	//       "location": "path",
34606	//       "pattern": "^[^/]+$",
34607	//       "required": true,
34608	//       "type": "string"
34609	//     },
34610	//     "orderBy": {
34611	//       "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`.",
34612	//       "location": "query",
34613	//       "type": "string"
34614	//     },
34615	//     "pageSize": {
34616	//       "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.",
34617	//       "format": "int32",
34618	//       "location": "query",
34619	//       "type": "integer"
34620	//     },
34621	//     "pageToken": {
34622	//       "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.",
34623	//       "location": "query",
34624	//       "type": "string"
34625	//     },
34626	//     "partnerId": {
34627	//       "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.",
34628	//       "format": "int64",
34629	//       "location": "query",
34630	//       "type": "string"
34631	//     }
34632	//   },
34633	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
34634	//   "response": {
34635	//     "$ref": "ListAssignedInventorySourcesResponse"
34636	//   },
34637	//   "scopes": [
34638	//     "https://www.googleapis.com/auth/display-video"
34639	//   ]
34640	// }
34641
34642}
34643
34644// Pages invokes f for each page of results.
34645// A non-nil error returned from f will halt the iteration.
34646// The provided context supersedes any context provided to the Context method.
34647func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Pages(ctx context.Context, f func(*ListAssignedInventorySourcesResponse) error) error {
34648	c.ctx_ = ctx
34649	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34650	for {
34651		x, err := c.Do()
34652		if err != nil {
34653			return err
34654		}
34655		if err := f(x); err != nil {
34656			return err
34657		}
34658		if x.NextPageToken == "" {
34659			return nil
34660		}
34661		c.PageToken(x.NextPageToken)
34662	}
34663}
34664
34665// method id "displayvideo.inventorySources.get":
34666
34667type InventorySourcesGetCall struct {
34668	s                 *Service
34669	inventorySourceId int64
34670	urlParams_        gensupport.URLParams
34671	ifNoneMatch_      string
34672	ctx_              context.Context
34673	header_           http.Header
34674}
34675
34676// Get: Gets an inventory source.
34677//
34678// - inventorySourceId: The ID of the inventory source to fetch.
34679func (r *InventorySourcesService) Get(inventorySourceId int64) *InventorySourcesGetCall {
34680	c := &InventorySourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34681	c.inventorySourceId = inventorySourceId
34682	return c
34683}
34684
34685// PartnerId sets the optional parameter "partnerId": Required. The ID
34686// of the DV360 partner to which the fetched inventory source is
34687// permissioned.
34688func (c *InventorySourcesGetCall) PartnerId(partnerId int64) *InventorySourcesGetCall {
34689	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
34690	return c
34691}
34692
34693// Fields allows partial responses to be retrieved. See
34694// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34695// for more information.
34696func (c *InventorySourcesGetCall) Fields(s ...googleapi.Field) *InventorySourcesGetCall {
34697	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34698	return c
34699}
34700
34701// IfNoneMatch sets the optional parameter which makes the operation
34702// fail if the object's ETag matches the given value. This is useful for
34703// getting updates only after the object has changed since the last
34704// request. Use googleapi.IsNotModified to check whether the response
34705// error from Do is the result of In-None-Match.
34706func (c *InventorySourcesGetCall) IfNoneMatch(entityTag string) *InventorySourcesGetCall {
34707	c.ifNoneMatch_ = entityTag
34708	return c
34709}
34710
34711// Context sets the context to be used in this call's Do method. Any
34712// pending HTTP request will be aborted if the provided context is
34713// canceled.
34714func (c *InventorySourcesGetCall) Context(ctx context.Context) *InventorySourcesGetCall {
34715	c.ctx_ = ctx
34716	return c
34717}
34718
34719// Header returns an http.Header that can be modified by the caller to
34720// add HTTP headers to the request.
34721func (c *InventorySourcesGetCall) Header() http.Header {
34722	if c.header_ == nil {
34723		c.header_ = make(http.Header)
34724	}
34725	return c.header_
34726}
34727
34728func (c *InventorySourcesGetCall) doRequest(alt string) (*http.Response, error) {
34729	reqHeaders := make(http.Header)
34730	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
34731	for k, v := range c.header_ {
34732		reqHeaders[k] = v
34733	}
34734	reqHeaders.Set("User-Agent", c.s.userAgent())
34735	if c.ifNoneMatch_ != "" {
34736		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34737	}
34738	var body io.Reader = nil
34739	c.urlParams_.Set("alt", alt)
34740	c.urlParams_.Set("prettyPrint", "false")
34741	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySources/{+inventorySourceId}")
34742	urls += "?" + c.urlParams_.Encode()
34743	req, err := http.NewRequest("GET", urls, body)
34744	if err != nil {
34745		return nil, err
34746	}
34747	req.Header = reqHeaders
34748	googleapi.Expand(req.URL, map[string]string{
34749		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
34750	})
34751	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34752}
34753
34754// Do executes the "displayvideo.inventorySources.get" call.
34755// Exactly one of *InventorySource or error will be non-nil. Any non-2xx
34756// status code is an error. Response headers are in either
34757// *InventorySource.ServerResponse.Header or (if a response was returned
34758// at all) in error.(*googleapi.Error).Header. Use
34759// googleapi.IsNotModified to check whether the returned error was
34760// because http.StatusNotModified was returned.
34761func (c *InventorySourcesGetCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
34762	gensupport.SetOptions(c.urlParams_, opts...)
34763	res, err := c.doRequest("json")
34764	if res != nil && res.StatusCode == http.StatusNotModified {
34765		if res.Body != nil {
34766			res.Body.Close()
34767		}
34768		return nil, &googleapi.Error{
34769			Code:   res.StatusCode,
34770			Header: res.Header,
34771		}
34772	}
34773	if err != nil {
34774		return nil, err
34775	}
34776	defer googleapi.CloseBody(res)
34777	if err := googleapi.CheckResponse(res); err != nil {
34778		return nil, err
34779	}
34780	ret := &InventorySource{
34781		ServerResponse: googleapi.ServerResponse{
34782			Header:         res.Header,
34783			HTTPStatusCode: res.StatusCode,
34784		},
34785	}
34786	target := &ret
34787	if err := gensupport.DecodeResponse(target, res); err != nil {
34788		return nil, err
34789	}
34790	return ret, nil
34791	// {
34792	//   "description": "Gets an inventory source.",
34793	//   "flatPath": "v1/inventorySources/{inventorySourcesId}",
34794	//   "httpMethod": "GET",
34795	//   "id": "displayvideo.inventorySources.get",
34796	//   "parameterOrder": [
34797	//     "inventorySourceId"
34798	//   ],
34799	//   "parameters": {
34800	//     "inventorySourceId": {
34801	//       "description": "Required. The ID of the inventory source to fetch.",
34802	//       "format": "int64",
34803	//       "location": "path",
34804	//       "pattern": "^[^/]+$",
34805	//       "required": true,
34806	//       "type": "string"
34807	//     },
34808	//     "partnerId": {
34809	//       "description": "Required. The ID of the DV360 partner to which the fetched inventory source is permissioned.",
34810	//       "format": "int64",
34811	//       "location": "query",
34812	//       "type": "string"
34813	//     }
34814	//   },
34815	//   "path": "v1/inventorySources/{+inventorySourceId}",
34816	//   "response": {
34817	//     "$ref": "InventorySource"
34818	//   },
34819	//   "scopes": [
34820	//     "https://www.googleapis.com/auth/display-video"
34821	//   ]
34822	// }
34823
34824}
34825
34826// method id "displayvideo.inventorySources.list":
34827
34828type InventorySourcesListCall struct {
34829	s            *Service
34830	urlParams_   gensupport.URLParams
34831	ifNoneMatch_ string
34832	ctx_         context.Context
34833	header_      http.Header
34834}
34835
34836// List: Lists inventory sources that are accessible to the current
34837// user. The order is defined by the order_by parameter. If a filter by
34838// entity_status is not specified, inventory sources with entity status
34839// `ENTITY_STATUS_ARCHIVED` will not be included in the results.
34840func (r *InventorySourcesService) List() *InventorySourcesListCall {
34841	c := &InventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34842	return c
34843}
34844
34845// AdvertiserId sets the optional parameter "advertiserId": The ID of
34846// the advertiser that has access to the inventory source.
34847func (c *InventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourcesListCall {
34848	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
34849	return c
34850}
34851
34852// Filter sets the optional parameter "filter": Allows filtering by
34853// inventory source properties. Supported syntax: * Filter expressions
34854// are made up of one or more restrictions. * Restrictions can be
34855// combined by `AND` or `OR` logical operators. A sequence of
34856// restrictions implicitly uses `AND`. * A restriction has the form of
34857// `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. *
34858// Supported fields: - `status.entityStatus` - `commitment` -
34859// `deliveryMethod` - `rateDetails.rateType` - `exchange` Examples: *
34860// All active inventory sources:
34861// `status.entityStatus="ENTITY_STATUS_ACTIVE" * Inventory sources
34862// belonging to Google Ad Manager or Rubicon exchanges:
34863// `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR
34864// exchange="EXCHANGE_RUBICON" The length of this field should be no
34865// more than 500 characters.
34866func (c *InventorySourcesListCall) Filter(filter string) *InventorySourcesListCall {
34867	c.urlParams_.Set("filter", filter)
34868	return c
34869}
34870
34871// OrderBy sets the optional parameter "orderBy": Field by which to sort
34872// the list. Acceptable values are: * `displayName` (default) The
34873// default sorting order is ascending. To specify descending order for a
34874// field, a suffix "desc" should be added to the field name. For
34875// example, `displayName desc`.
34876func (c *InventorySourcesListCall) OrderBy(orderBy string) *InventorySourcesListCall {
34877	c.urlParams_.Set("orderBy", orderBy)
34878	return c
34879}
34880
34881// PageSize sets the optional parameter "pageSize": Requested page size.
34882// Must be between `1` and `100`. If unspecified will default to `100`.
34883func (c *InventorySourcesListCall) PageSize(pageSize int64) *InventorySourcesListCall {
34884	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
34885	return c
34886}
34887
34888// PageToken sets the optional parameter "pageToken": A token
34889// identifying a page of results the server should return. Typically,
34890// this is the value of next_page_token returned from the previous call
34891// to `ListInventorySources` method. If not specified, the first page of
34892// results will be returned.
34893func (c *InventorySourcesListCall) PageToken(pageToken string) *InventorySourcesListCall {
34894	c.urlParams_.Set("pageToken", pageToken)
34895	return c
34896}
34897
34898// PartnerId sets the optional parameter "partnerId": The ID of the
34899// partner that has access to the inventory source.
34900func (c *InventorySourcesListCall) PartnerId(partnerId int64) *InventorySourcesListCall {
34901	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
34902	return c
34903}
34904
34905// Fields allows partial responses to be retrieved. See
34906// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34907// for more information.
34908func (c *InventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourcesListCall {
34909	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34910	return c
34911}
34912
34913// IfNoneMatch sets the optional parameter which makes the operation
34914// fail if the object's ETag matches the given value. This is useful for
34915// getting updates only after the object has changed since the last
34916// request. Use googleapi.IsNotModified to check whether the response
34917// error from Do is the result of In-None-Match.
34918func (c *InventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourcesListCall {
34919	c.ifNoneMatch_ = entityTag
34920	return c
34921}
34922
34923// Context sets the context to be used in this call's Do method. Any
34924// pending HTTP request will be aborted if the provided context is
34925// canceled.
34926func (c *InventorySourcesListCall) Context(ctx context.Context) *InventorySourcesListCall {
34927	c.ctx_ = ctx
34928	return c
34929}
34930
34931// Header returns an http.Header that can be modified by the caller to
34932// add HTTP headers to the request.
34933func (c *InventorySourcesListCall) Header() http.Header {
34934	if c.header_ == nil {
34935		c.header_ = make(http.Header)
34936	}
34937	return c.header_
34938}
34939
34940func (c *InventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
34941	reqHeaders := make(http.Header)
34942	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
34943	for k, v := range c.header_ {
34944		reqHeaders[k] = v
34945	}
34946	reqHeaders.Set("User-Agent", c.s.userAgent())
34947	if c.ifNoneMatch_ != "" {
34948		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34949	}
34950	var body io.Reader = nil
34951	c.urlParams_.Set("alt", alt)
34952	c.urlParams_.Set("prettyPrint", "false")
34953	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySources")
34954	urls += "?" + c.urlParams_.Encode()
34955	req, err := http.NewRequest("GET", urls, body)
34956	if err != nil {
34957		return nil, err
34958	}
34959	req.Header = reqHeaders
34960	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34961}
34962
34963// Do executes the "displayvideo.inventorySources.list" call.
34964// Exactly one of *ListInventorySourcesResponse or error will be
34965// non-nil. Any non-2xx status code is an error. Response headers are in
34966// either *ListInventorySourcesResponse.ServerResponse.Header or (if a
34967// response was returned at all) in error.(*googleapi.Error).Header. Use
34968// googleapi.IsNotModified to check whether the returned error was
34969// because http.StatusNotModified was returned.
34970func (c *InventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourcesResponse, error) {
34971	gensupport.SetOptions(c.urlParams_, opts...)
34972	res, err := c.doRequest("json")
34973	if res != nil && res.StatusCode == http.StatusNotModified {
34974		if res.Body != nil {
34975			res.Body.Close()
34976		}
34977		return nil, &googleapi.Error{
34978			Code:   res.StatusCode,
34979			Header: res.Header,
34980		}
34981	}
34982	if err != nil {
34983		return nil, err
34984	}
34985	defer googleapi.CloseBody(res)
34986	if err := googleapi.CheckResponse(res); err != nil {
34987		return nil, err
34988	}
34989	ret := &ListInventorySourcesResponse{
34990		ServerResponse: googleapi.ServerResponse{
34991			Header:         res.Header,
34992			HTTPStatusCode: res.StatusCode,
34993		},
34994	}
34995	target := &ret
34996	if err := gensupport.DecodeResponse(target, res); err != nil {
34997		return nil, err
34998	}
34999	return ret, nil
35000	// {
35001	//   "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.",
35002	//   "flatPath": "v1/inventorySources",
35003	//   "httpMethod": "GET",
35004	//   "id": "displayvideo.inventorySources.list",
35005	//   "parameterOrder": [],
35006	//   "parameters": {
35007	//     "advertiserId": {
35008	//       "description": "The ID of the advertiser that has access to the inventory source.",
35009	//       "format": "int64",
35010	//       "location": "query",
35011	//       "type": "string"
35012	//     },
35013	//     "filter": {
35014	//       "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.",
35015	//       "location": "query",
35016	//       "type": "string"
35017	//     },
35018	//     "orderBy": {
35019	//       "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`.",
35020	//       "location": "query",
35021	//       "type": "string"
35022	//     },
35023	//     "pageSize": {
35024	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
35025	//       "format": "int32",
35026	//       "location": "query",
35027	//       "type": "integer"
35028	//     },
35029	//     "pageToken": {
35030	//       "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.",
35031	//       "location": "query",
35032	//       "type": "string"
35033	//     },
35034	//     "partnerId": {
35035	//       "description": "The ID of the partner that has access to the inventory source.",
35036	//       "format": "int64",
35037	//       "location": "query",
35038	//       "type": "string"
35039	//     }
35040	//   },
35041	//   "path": "v1/inventorySources",
35042	//   "response": {
35043	//     "$ref": "ListInventorySourcesResponse"
35044	//   },
35045	//   "scopes": [
35046	//     "https://www.googleapis.com/auth/display-video"
35047	//   ]
35048	// }
35049
35050}
35051
35052// Pages invokes f for each page of results.
35053// A non-nil error returned from f will halt the iteration.
35054// The provided context supersedes any context provided to the Context method.
35055func (c *InventorySourcesListCall) Pages(ctx context.Context, f func(*ListInventorySourcesResponse) error) error {
35056	c.ctx_ = ctx
35057	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35058	for {
35059		x, err := c.Do()
35060		if err != nil {
35061			return err
35062		}
35063		if err := f(x); err != nil {
35064			return err
35065		}
35066		if x.NextPageToken == "" {
35067			return nil
35068		}
35069		c.PageToken(x.NextPageToken)
35070	}
35071}
35072
35073// method id "displayvideo.media.download":
35074
35075type MediaDownloadCall struct {
35076	s            *Service
35077	resourceName string
35078	urlParams_   gensupport.URLParams
35079	ifNoneMatch_ string
35080	ctx_         context.Context
35081	header_      http.Header
35082}
35083
35084// Download: Downloads media. Download is supported on the URI
35085// `/download/{resource_name=**}?alt=media.` **Note**: Download requests
35086// will not be successful without including `alt=media` query string.
35087//
35088// - resourceName: Name of the media that is being downloaded. See
35089//   ReadRequest.resource_name.
35090func (r *MediaService) Download(resourceName string) *MediaDownloadCall {
35091	c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35092	c.resourceName = resourceName
35093	return c
35094}
35095
35096// Fields allows partial responses to be retrieved. See
35097// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35098// for more information.
35099func (c *MediaDownloadCall) Fields(s ...googleapi.Field) *MediaDownloadCall {
35100	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35101	return c
35102}
35103
35104// IfNoneMatch sets the optional parameter which makes the operation
35105// fail if the object's ETag matches the given value. This is useful for
35106// getting updates only after the object has changed since the last
35107// request. Use googleapi.IsNotModified to check whether the response
35108// error from Do is the result of In-None-Match.
35109func (c *MediaDownloadCall) IfNoneMatch(entityTag string) *MediaDownloadCall {
35110	c.ifNoneMatch_ = entityTag
35111	return c
35112}
35113
35114// Context sets the context to be used in this call's Do and Download
35115// methods. Any pending HTTP request will be aborted if the provided
35116// context is canceled.
35117func (c *MediaDownloadCall) Context(ctx context.Context) *MediaDownloadCall {
35118	c.ctx_ = ctx
35119	return c
35120}
35121
35122// Header returns an http.Header that can be modified by the caller to
35123// add HTTP headers to the request.
35124func (c *MediaDownloadCall) Header() http.Header {
35125	if c.header_ == nil {
35126		c.header_ = make(http.Header)
35127	}
35128	return c.header_
35129}
35130
35131func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
35132	reqHeaders := make(http.Header)
35133	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
35134	for k, v := range c.header_ {
35135		reqHeaders[k] = v
35136	}
35137	reqHeaders.Set("User-Agent", c.s.userAgent())
35138	if c.ifNoneMatch_ != "" {
35139		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35140	}
35141	var body io.Reader = nil
35142	c.urlParams_.Set("alt", alt)
35143	c.urlParams_.Set("prettyPrint", "false")
35144	urls := googleapi.ResolveRelative(c.s.BasePath, "download/{+resourceName}")
35145	urls += "?" + c.urlParams_.Encode()
35146	req, err := http.NewRequest("GET", urls, body)
35147	if err != nil {
35148		return nil, err
35149	}
35150	req.Header = reqHeaders
35151	googleapi.Expand(req.URL, map[string]string{
35152		"resourceName": c.resourceName,
35153	})
35154	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35155}
35156
35157// Download fetches the API endpoint's "media" value, instead of the normal
35158// API response value. If the returned error is nil, the Response is guaranteed to
35159// have a 2xx status code. Callers must close the Response.Body as usual.
35160func (c *MediaDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
35161	gensupport.SetOptions(c.urlParams_, opts...)
35162	res, err := c.doRequest("media")
35163	if err != nil {
35164		return nil, err
35165	}
35166	if err := googleapi.CheckResponse(res); err != nil {
35167		res.Body.Close()
35168		return nil, err
35169	}
35170	return res, nil
35171}
35172
35173// Do executes the "displayvideo.media.download" call.
35174// Exactly one of *GoogleBytestreamMedia or error will be non-nil. Any
35175// non-2xx status code is an error. Response headers are in either
35176// *GoogleBytestreamMedia.ServerResponse.Header or (if a response was
35177// returned at all) in error.(*googleapi.Error).Header. Use
35178// googleapi.IsNotModified to check whether the returned error was
35179// because http.StatusNotModified was returned.
35180func (c *MediaDownloadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) {
35181	gensupport.SetOptions(c.urlParams_, opts...)
35182	res, err := c.doRequest("json")
35183	if res != nil && res.StatusCode == http.StatusNotModified {
35184		if res.Body != nil {
35185			res.Body.Close()
35186		}
35187		return nil, &googleapi.Error{
35188			Code:   res.StatusCode,
35189			Header: res.Header,
35190		}
35191	}
35192	if err != nil {
35193		return nil, err
35194	}
35195	defer googleapi.CloseBody(res)
35196	if err := googleapi.CheckResponse(res); err != nil {
35197		return nil, err
35198	}
35199	ret := &GoogleBytestreamMedia{
35200		ServerResponse: googleapi.ServerResponse{
35201			Header:         res.Header,
35202			HTTPStatusCode: res.StatusCode,
35203		},
35204	}
35205	target := &ret
35206	if err := gensupport.DecodeResponse(target, res); err != nil {
35207		return nil, err
35208	}
35209	return ret, nil
35210	// {
35211	//   "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.",
35212	//   "flatPath": "download/{downloadId}",
35213	//   "httpMethod": "GET",
35214	//   "id": "displayvideo.media.download",
35215	//   "parameterOrder": [
35216	//     "resourceName"
35217	//   ],
35218	//   "parameters": {
35219	//     "resourceName": {
35220	//       "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
35221	//       "location": "path",
35222	//       "pattern": "^.*$",
35223	//       "required": true,
35224	//       "type": "string"
35225	//     }
35226	//   },
35227	//   "path": "download/{+resourceName}",
35228	//   "response": {
35229	//     "$ref": "GoogleBytestreamMedia"
35230	//   },
35231	//   "scopes": [
35232	//     "https://www.googleapis.com/auth/display-video",
35233	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
35234	//   ],
35235	//   "supportsMediaDownload": true
35236	// }
35237
35238}
35239
35240// method id "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions":
35241
35242type PartnersBulkEditPartnerAssignedTargetingOptionsCall struct {
35243	s                                              *Service
35244	partnerId                                      int64
35245	bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest
35246	urlParams_                                     gensupport.URLParams
35247	ctx_                                           context.Context
35248	header_                                        http.Header
35249}
35250
35251// BulkEditPartnerAssignedTargetingOptions: Bulk edits targeting options
35252// under a single partner. The operation will delete the assigned
35253// targeting options provided in
35254// BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and
35255// then create the assigned targeting options provided in
35256// BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .
35257//
35258// - partnerId: The ID of the partner.
35259func (r *PartnersService) BulkEditPartnerAssignedTargetingOptions(partnerId int64, bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
35260	c := &PartnersBulkEditPartnerAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35261	c.partnerId = partnerId
35262	c.bulkeditpartnerassignedtargetingoptionsrequest = bulkeditpartnerassignedtargetingoptionsrequest
35263	return c
35264}
35265
35266// Fields allows partial responses to be retrieved. See
35267// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35268// for more information.
35269func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
35270	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35271	return c
35272}
35273
35274// Context sets the context to be used in this call's Do method. Any
35275// pending HTTP request will be aborted if the provided context is
35276// canceled.
35277func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Context(ctx context.Context) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
35278	c.ctx_ = ctx
35279	return c
35280}
35281
35282// Header returns an http.Header that can be modified by the caller to
35283// add HTTP headers to the request.
35284func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Header() http.Header {
35285	if c.header_ == nil {
35286		c.header_ = make(http.Header)
35287	}
35288	return c.header_
35289}
35290
35291func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
35292	reqHeaders := make(http.Header)
35293	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
35294	for k, v := range c.header_ {
35295		reqHeaders[k] = v
35296	}
35297	reqHeaders.Set("User-Agent", c.s.userAgent())
35298	var body io.Reader = nil
35299	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditpartnerassignedtargetingoptionsrequest)
35300	if err != nil {
35301		return nil, err
35302	}
35303	reqHeaders.Set("Content-Type", "application/json")
35304	c.urlParams_.Set("alt", alt)
35305	c.urlParams_.Set("prettyPrint", "false")
35306	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}:bulkEditPartnerAssignedTargetingOptions")
35307	urls += "?" + c.urlParams_.Encode()
35308	req, err := http.NewRequest("POST", urls, body)
35309	if err != nil {
35310		return nil, err
35311	}
35312	req.Header = reqHeaders
35313	googleapi.Expand(req.URL, map[string]string{
35314		"partnerId": strconv.FormatInt(c.partnerId, 10),
35315	})
35316	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35317}
35318
35319// Do executes the "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions" call.
35320// Exactly one of *BulkEditPartnerAssignedTargetingOptionsResponse or
35321// error will be non-nil. Any non-2xx status code is an error. Response
35322// headers are in either
35323// *BulkEditPartnerAssignedTargetingOptionsResponse.ServerResponse.Header
35324//  or (if a response was returned at all) in
35325// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
35326// whether the returned error was because http.StatusNotModified was
35327// returned.
35328func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditPartnerAssignedTargetingOptionsResponse, error) {
35329	gensupport.SetOptions(c.urlParams_, opts...)
35330	res, err := c.doRequest("json")
35331	if res != nil && res.StatusCode == http.StatusNotModified {
35332		if res.Body != nil {
35333			res.Body.Close()
35334		}
35335		return nil, &googleapi.Error{
35336			Code:   res.StatusCode,
35337			Header: res.Header,
35338		}
35339	}
35340	if err != nil {
35341		return nil, err
35342	}
35343	defer googleapi.CloseBody(res)
35344	if err := googleapi.CheckResponse(res); err != nil {
35345		return nil, err
35346	}
35347	ret := &BulkEditPartnerAssignedTargetingOptionsResponse{
35348		ServerResponse: googleapi.ServerResponse{
35349			Header:         res.Header,
35350			HTTPStatusCode: res.StatusCode,
35351		},
35352	}
35353	target := &ret
35354	if err := gensupport.DecodeResponse(target, res); err != nil {
35355		return nil, err
35356	}
35357	return ret, nil
35358	// {
35359	//   "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 .",
35360	//   "flatPath": "v1/partners/{partnersId}:bulkEditPartnerAssignedTargetingOptions",
35361	//   "httpMethod": "POST",
35362	//   "id": "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions",
35363	//   "parameterOrder": [
35364	//     "partnerId"
35365	//   ],
35366	//   "parameters": {
35367	//     "partnerId": {
35368	//       "description": "Required. The ID of the partner.",
35369	//       "format": "int64",
35370	//       "location": "path",
35371	//       "pattern": "^[^/]+$",
35372	//       "required": true,
35373	//       "type": "string"
35374	//     }
35375	//   },
35376	//   "path": "v1/partners/{+partnerId}:bulkEditPartnerAssignedTargetingOptions",
35377	//   "request": {
35378	//     "$ref": "BulkEditPartnerAssignedTargetingOptionsRequest"
35379	//   },
35380	//   "response": {
35381	//     "$ref": "BulkEditPartnerAssignedTargetingOptionsResponse"
35382	//   },
35383	//   "scopes": [
35384	//     "https://www.googleapis.com/auth/display-video"
35385	//   ]
35386	// }
35387
35388}
35389
35390// method id "displayvideo.partners.get":
35391
35392type PartnersGetCall struct {
35393	s            *Service
35394	partnerId    int64
35395	urlParams_   gensupport.URLParams
35396	ifNoneMatch_ string
35397	ctx_         context.Context
35398	header_      http.Header
35399}
35400
35401// Get: Gets a partner.
35402//
35403// - partnerId: The ID of the partner to fetch.
35404func (r *PartnersService) Get(partnerId int64) *PartnersGetCall {
35405	c := &PartnersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35406	c.partnerId = partnerId
35407	return c
35408}
35409
35410// Fields allows partial responses to be retrieved. See
35411// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35412// for more information.
35413func (c *PartnersGetCall) Fields(s ...googleapi.Field) *PartnersGetCall {
35414	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35415	return c
35416}
35417
35418// IfNoneMatch sets the optional parameter which makes the operation
35419// fail if the object's ETag matches the given value. This is useful for
35420// getting updates only after the object has changed since the last
35421// request. Use googleapi.IsNotModified to check whether the response
35422// error from Do is the result of In-None-Match.
35423func (c *PartnersGetCall) IfNoneMatch(entityTag string) *PartnersGetCall {
35424	c.ifNoneMatch_ = entityTag
35425	return c
35426}
35427
35428// Context sets the context to be used in this call's Do method. Any
35429// pending HTTP request will be aborted if the provided context is
35430// canceled.
35431func (c *PartnersGetCall) Context(ctx context.Context) *PartnersGetCall {
35432	c.ctx_ = ctx
35433	return c
35434}
35435
35436// Header returns an http.Header that can be modified by the caller to
35437// add HTTP headers to the request.
35438func (c *PartnersGetCall) Header() http.Header {
35439	if c.header_ == nil {
35440		c.header_ = make(http.Header)
35441	}
35442	return c.header_
35443}
35444
35445func (c *PartnersGetCall) doRequest(alt string) (*http.Response, error) {
35446	reqHeaders := make(http.Header)
35447	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
35448	for k, v := range c.header_ {
35449		reqHeaders[k] = v
35450	}
35451	reqHeaders.Set("User-Agent", c.s.userAgent())
35452	if c.ifNoneMatch_ != "" {
35453		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35454	}
35455	var body io.Reader = nil
35456	c.urlParams_.Set("alt", alt)
35457	c.urlParams_.Set("prettyPrint", "false")
35458	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}")
35459	urls += "?" + c.urlParams_.Encode()
35460	req, err := http.NewRequest("GET", urls, body)
35461	if err != nil {
35462		return nil, err
35463	}
35464	req.Header = reqHeaders
35465	googleapi.Expand(req.URL, map[string]string{
35466		"partnerId": strconv.FormatInt(c.partnerId, 10),
35467	})
35468	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35469}
35470
35471// Do executes the "displayvideo.partners.get" call.
35472// Exactly one of *Partner or error will be non-nil. Any non-2xx status
35473// code is an error. Response headers are in either
35474// *Partner.ServerResponse.Header or (if a response was returned at all)
35475// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
35476// check whether the returned error was because http.StatusNotModified
35477// was returned.
35478func (c *PartnersGetCall) Do(opts ...googleapi.CallOption) (*Partner, error) {
35479	gensupport.SetOptions(c.urlParams_, opts...)
35480	res, err := c.doRequest("json")
35481	if res != nil && res.StatusCode == http.StatusNotModified {
35482		if res.Body != nil {
35483			res.Body.Close()
35484		}
35485		return nil, &googleapi.Error{
35486			Code:   res.StatusCode,
35487			Header: res.Header,
35488		}
35489	}
35490	if err != nil {
35491		return nil, err
35492	}
35493	defer googleapi.CloseBody(res)
35494	if err := googleapi.CheckResponse(res); err != nil {
35495		return nil, err
35496	}
35497	ret := &Partner{
35498		ServerResponse: googleapi.ServerResponse{
35499			Header:         res.Header,
35500			HTTPStatusCode: res.StatusCode,
35501		},
35502	}
35503	target := &ret
35504	if err := gensupport.DecodeResponse(target, res); err != nil {
35505		return nil, err
35506	}
35507	return ret, nil
35508	// {
35509	//   "description": "Gets a partner.",
35510	//   "flatPath": "v1/partners/{partnersId}",
35511	//   "httpMethod": "GET",
35512	//   "id": "displayvideo.partners.get",
35513	//   "parameterOrder": [
35514	//     "partnerId"
35515	//   ],
35516	//   "parameters": {
35517	//     "partnerId": {
35518	//       "description": "Required. The ID of the partner to fetch.",
35519	//       "format": "int64",
35520	//       "location": "path",
35521	//       "pattern": "^[^/]+$",
35522	//       "required": true,
35523	//       "type": "string"
35524	//     }
35525	//   },
35526	//   "path": "v1/partners/{+partnerId}",
35527	//   "response": {
35528	//     "$ref": "Partner"
35529	//   },
35530	//   "scopes": [
35531	//     "https://www.googleapis.com/auth/display-video"
35532	//   ]
35533	// }
35534
35535}
35536
35537// method id "displayvideo.partners.list":
35538
35539type PartnersListCall struct {
35540	s            *Service
35541	urlParams_   gensupport.URLParams
35542	ifNoneMatch_ string
35543	ctx_         context.Context
35544	header_      http.Header
35545}
35546
35547// List: Lists partners that are accessible to the current user. The
35548// order is defined by the order_by parameter.
35549func (r *PartnersService) List() *PartnersListCall {
35550	c := &PartnersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35551	return c
35552}
35553
35554// Filter sets the optional parameter "filter": Allows filtering by
35555// partner properties. Supported syntax: * Filter expressions are made
35556// up of one or more restrictions. * Restrictions can be combined by
35557// `AND` or `OR` logical operators. A sequence of restrictions
35558// implicitly uses `AND`. * A restriction has the form of `{field}
35559// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
35560// fields: - `entityStatus` Examples: * All active partners:
35561// `entityStatus="ENTITY_STATUS_ACTIVE" The length of this field should
35562// be no more than 500 characters.
35563func (c *PartnersListCall) Filter(filter string) *PartnersListCall {
35564	c.urlParams_.Set("filter", filter)
35565	return c
35566}
35567
35568// OrderBy sets the optional parameter "orderBy": Field by which to sort
35569// the list. Acceptable values are: * `displayName` The default sorting
35570// order is ascending. To specify descending order for a field, a suffix
35571// "desc" should be added to the field name. For example, `displayName
35572// desc`.
35573func (c *PartnersListCall) OrderBy(orderBy string) *PartnersListCall {
35574	c.urlParams_.Set("orderBy", orderBy)
35575	return c
35576}
35577
35578// PageSize sets the optional parameter "pageSize": Requested page size.
35579// Must be between `1` and `100`. If unspecified will default to `100`.
35580func (c *PartnersListCall) PageSize(pageSize int64) *PartnersListCall {
35581	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
35582	return c
35583}
35584
35585// PageToken sets the optional parameter "pageToken": A token
35586// identifying a page of results the server should return. Typically,
35587// this is the value of next_page_token returned from the previous call
35588// to `ListPartners` method. If not specified, the first page of results
35589// will be returned.
35590func (c *PartnersListCall) PageToken(pageToken string) *PartnersListCall {
35591	c.urlParams_.Set("pageToken", pageToken)
35592	return c
35593}
35594
35595// Fields allows partial responses to be retrieved. See
35596// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35597// for more information.
35598func (c *PartnersListCall) Fields(s ...googleapi.Field) *PartnersListCall {
35599	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35600	return c
35601}
35602
35603// IfNoneMatch sets the optional parameter which makes the operation
35604// fail if the object's ETag matches the given value. This is useful for
35605// getting updates only after the object has changed since the last
35606// request. Use googleapi.IsNotModified to check whether the response
35607// error from Do is the result of In-None-Match.
35608func (c *PartnersListCall) IfNoneMatch(entityTag string) *PartnersListCall {
35609	c.ifNoneMatch_ = entityTag
35610	return c
35611}
35612
35613// Context sets the context to be used in this call's Do method. Any
35614// pending HTTP request will be aborted if the provided context is
35615// canceled.
35616func (c *PartnersListCall) Context(ctx context.Context) *PartnersListCall {
35617	c.ctx_ = ctx
35618	return c
35619}
35620
35621// Header returns an http.Header that can be modified by the caller to
35622// add HTTP headers to the request.
35623func (c *PartnersListCall) Header() http.Header {
35624	if c.header_ == nil {
35625		c.header_ = make(http.Header)
35626	}
35627	return c.header_
35628}
35629
35630func (c *PartnersListCall) doRequest(alt string) (*http.Response, error) {
35631	reqHeaders := make(http.Header)
35632	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
35633	for k, v := range c.header_ {
35634		reqHeaders[k] = v
35635	}
35636	reqHeaders.Set("User-Agent", c.s.userAgent())
35637	if c.ifNoneMatch_ != "" {
35638		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35639	}
35640	var body io.Reader = nil
35641	c.urlParams_.Set("alt", alt)
35642	c.urlParams_.Set("prettyPrint", "false")
35643	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners")
35644	urls += "?" + c.urlParams_.Encode()
35645	req, err := http.NewRequest("GET", urls, body)
35646	if err != nil {
35647		return nil, err
35648	}
35649	req.Header = reqHeaders
35650	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35651}
35652
35653// Do executes the "displayvideo.partners.list" call.
35654// Exactly one of *ListPartnersResponse or error will be non-nil. Any
35655// non-2xx status code is an error. Response headers are in either
35656// *ListPartnersResponse.ServerResponse.Header or (if a response was
35657// returned at all) in error.(*googleapi.Error).Header. Use
35658// googleapi.IsNotModified to check whether the returned error was
35659// because http.StatusNotModified was returned.
35660func (c *PartnersListCall) Do(opts ...googleapi.CallOption) (*ListPartnersResponse, error) {
35661	gensupport.SetOptions(c.urlParams_, opts...)
35662	res, err := c.doRequest("json")
35663	if res != nil && res.StatusCode == http.StatusNotModified {
35664		if res.Body != nil {
35665			res.Body.Close()
35666		}
35667		return nil, &googleapi.Error{
35668			Code:   res.StatusCode,
35669			Header: res.Header,
35670		}
35671	}
35672	if err != nil {
35673		return nil, err
35674	}
35675	defer googleapi.CloseBody(res)
35676	if err := googleapi.CheckResponse(res); err != nil {
35677		return nil, err
35678	}
35679	ret := &ListPartnersResponse{
35680		ServerResponse: googleapi.ServerResponse{
35681			Header:         res.Header,
35682			HTTPStatusCode: res.StatusCode,
35683		},
35684	}
35685	target := &ret
35686	if err := gensupport.DecodeResponse(target, res); err != nil {
35687		return nil, err
35688	}
35689	return ret, nil
35690	// {
35691	//   "description": "Lists partners that are accessible to the current user. The order is defined by the order_by parameter.",
35692	//   "flatPath": "v1/partners",
35693	//   "httpMethod": "GET",
35694	//   "id": "displayvideo.partners.list",
35695	//   "parameterOrder": [],
35696	//   "parameters": {
35697	//     "filter": {
35698	//       "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.",
35699	//       "location": "query",
35700	//       "type": "string"
35701	//     },
35702	//     "orderBy": {
35703	//       "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`.",
35704	//       "location": "query",
35705	//       "type": "string"
35706	//     },
35707	//     "pageSize": {
35708	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
35709	//       "format": "int32",
35710	//       "location": "query",
35711	//       "type": "integer"
35712	//     },
35713	//     "pageToken": {
35714	//       "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.",
35715	//       "location": "query",
35716	//       "type": "string"
35717	//     }
35718	//   },
35719	//   "path": "v1/partners",
35720	//   "response": {
35721	//     "$ref": "ListPartnersResponse"
35722	//   },
35723	//   "scopes": [
35724	//     "https://www.googleapis.com/auth/display-video"
35725	//   ]
35726	// }
35727
35728}
35729
35730// Pages invokes f for each page of results.
35731// A non-nil error returned from f will halt the iteration.
35732// The provided context supersedes any context provided to the Context method.
35733func (c *PartnersListCall) Pages(ctx context.Context, f func(*ListPartnersResponse) error) error {
35734	c.ctx_ = ctx
35735	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35736	for {
35737		x, err := c.Do()
35738		if err != nil {
35739			return err
35740		}
35741		if err := f(x); err != nil {
35742			return err
35743		}
35744		if x.NextPageToken == "" {
35745			return nil
35746		}
35747		c.PageToken(x.NextPageToken)
35748	}
35749}
35750
35751// method id "displayvideo.partners.channels.create":
35752
35753type PartnersChannelsCreateCall struct {
35754	s          *Service
35755	partnerId  int64
35756	channel    *Channel
35757	urlParams_ gensupport.URLParams
35758	ctx_       context.Context
35759	header_    http.Header
35760}
35761
35762// Create: Creates a new channel. Returns the newly created channel if
35763// successful.
35764//
35765// - partnerId: The ID of the partner that owns the created channel.
35766func (r *PartnersChannelsService) Create(partnerId int64, channel *Channel) *PartnersChannelsCreateCall {
35767	c := &PartnersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35768	c.partnerId = partnerId
35769	c.channel = channel
35770	return c
35771}
35772
35773// AdvertiserId sets the optional parameter "advertiserId": The ID of
35774// the advertiser that owns the created channel.
35775func (c *PartnersChannelsCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsCreateCall {
35776	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
35777	return c
35778}
35779
35780// Fields allows partial responses to be retrieved. See
35781// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35782// for more information.
35783func (c *PartnersChannelsCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsCreateCall {
35784	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35785	return c
35786}
35787
35788// Context sets the context to be used in this call's Do method. Any
35789// pending HTTP request will be aborted if the provided context is
35790// canceled.
35791func (c *PartnersChannelsCreateCall) Context(ctx context.Context) *PartnersChannelsCreateCall {
35792	c.ctx_ = ctx
35793	return c
35794}
35795
35796// Header returns an http.Header that can be modified by the caller to
35797// add HTTP headers to the request.
35798func (c *PartnersChannelsCreateCall) Header() http.Header {
35799	if c.header_ == nil {
35800		c.header_ = make(http.Header)
35801	}
35802	return c.header_
35803}
35804
35805func (c *PartnersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
35806	reqHeaders := make(http.Header)
35807	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
35808	for k, v := range c.header_ {
35809		reqHeaders[k] = v
35810	}
35811	reqHeaders.Set("User-Agent", c.s.userAgent())
35812	var body io.Reader = nil
35813	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
35814	if err != nil {
35815		return nil, err
35816	}
35817	reqHeaders.Set("Content-Type", "application/json")
35818	c.urlParams_.Set("alt", alt)
35819	c.urlParams_.Set("prettyPrint", "false")
35820	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels")
35821	urls += "?" + c.urlParams_.Encode()
35822	req, err := http.NewRequest("POST", urls, body)
35823	if err != nil {
35824		return nil, err
35825	}
35826	req.Header = reqHeaders
35827	googleapi.Expand(req.URL, map[string]string{
35828		"partnerId": strconv.FormatInt(c.partnerId, 10),
35829	})
35830	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35831}
35832
35833// Do executes the "displayvideo.partners.channels.create" call.
35834// Exactly one of *Channel or error will be non-nil. Any non-2xx status
35835// code is an error. Response headers are in either
35836// *Channel.ServerResponse.Header or (if a response was returned at all)
35837// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
35838// check whether the returned error was because http.StatusNotModified
35839// was returned.
35840func (c *PartnersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
35841	gensupport.SetOptions(c.urlParams_, opts...)
35842	res, err := c.doRequest("json")
35843	if res != nil && res.StatusCode == http.StatusNotModified {
35844		if res.Body != nil {
35845			res.Body.Close()
35846		}
35847		return nil, &googleapi.Error{
35848			Code:   res.StatusCode,
35849			Header: res.Header,
35850		}
35851	}
35852	if err != nil {
35853		return nil, err
35854	}
35855	defer googleapi.CloseBody(res)
35856	if err := googleapi.CheckResponse(res); err != nil {
35857		return nil, err
35858	}
35859	ret := &Channel{
35860		ServerResponse: googleapi.ServerResponse{
35861			Header:         res.Header,
35862			HTTPStatusCode: res.StatusCode,
35863		},
35864	}
35865	target := &ret
35866	if err := gensupport.DecodeResponse(target, res); err != nil {
35867		return nil, err
35868	}
35869	return ret, nil
35870	// {
35871	//   "description": "Creates a new channel. Returns the newly created channel if successful.",
35872	//   "flatPath": "v1/partners/{partnersId}/channels",
35873	//   "httpMethod": "POST",
35874	//   "id": "displayvideo.partners.channels.create",
35875	//   "parameterOrder": [
35876	//     "partnerId"
35877	//   ],
35878	//   "parameters": {
35879	//     "advertiserId": {
35880	//       "description": "The ID of the advertiser that owns the created channel.",
35881	//       "format": "int64",
35882	//       "location": "query",
35883	//       "type": "string"
35884	//     },
35885	//     "partnerId": {
35886	//       "description": "The ID of the partner that owns the created channel.",
35887	//       "format": "int64",
35888	//       "location": "path",
35889	//       "pattern": "^[^/]+$",
35890	//       "required": true,
35891	//       "type": "string"
35892	//     }
35893	//   },
35894	//   "path": "v1/partners/{+partnerId}/channels",
35895	//   "request": {
35896	//     "$ref": "Channel"
35897	//   },
35898	//   "response": {
35899	//     "$ref": "Channel"
35900	//   },
35901	//   "scopes": [
35902	//     "https://www.googleapis.com/auth/display-video"
35903	//   ]
35904	// }
35905
35906}
35907
35908// method id "displayvideo.partners.channels.get":
35909
35910type PartnersChannelsGetCall struct {
35911	s            *Service
35912	partnerId    int64
35913	channelId    int64
35914	urlParams_   gensupport.URLParams
35915	ifNoneMatch_ string
35916	ctx_         context.Context
35917	header_      http.Header
35918}
35919
35920// Get: Gets a channel for a partner or advertiser.
35921//
35922// - channelId: The ID of the channel to fetch.
35923// - partnerId: The ID of the partner that owns the fetched channel.
35924func (r *PartnersChannelsService) Get(partnerId int64, channelId int64) *PartnersChannelsGetCall {
35925	c := &PartnersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35926	c.partnerId = partnerId
35927	c.channelId = channelId
35928	return c
35929}
35930
35931// AdvertiserId sets the optional parameter "advertiserId": The ID of
35932// the advertiser that owns the fetched channel.
35933func (c *PartnersChannelsGetCall) AdvertiserId(advertiserId int64) *PartnersChannelsGetCall {
35934	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
35935	return c
35936}
35937
35938// Fields allows partial responses to be retrieved. See
35939// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35940// for more information.
35941func (c *PartnersChannelsGetCall) Fields(s ...googleapi.Field) *PartnersChannelsGetCall {
35942	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35943	return c
35944}
35945
35946// IfNoneMatch sets the optional parameter which makes the operation
35947// fail if the object's ETag matches the given value. This is useful for
35948// getting updates only after the object has changed since the last
35949// request. Use googleapi.IsNotModified to check whether the response
35950// error from Do is the result of In-None-Match.
35951func (c *PartnersChannelsGetCall) IfNoneMatch(entityTag string) *PartnersChannelsGetCall {
35952	c.ifNoneMatch_ = entityTag
35953	return c
35954}
35955
35956// Context sets the context to be used in this call's Do method. Any
35957// pending HTTP request will be aborted if the provided context is
35958// canceled.
35959func (c *PartnersChannelsGetCall) Context(ctx context.Context) *PartnersChannelsGetCall {
35960	c.ctx_ = ctx
35961	return c
35962}
35963
35964// Header returns an http.Header that can be modified by the caller to
35965// add HTTP headers to the request.
35966func (c *PartnersChannelsGetCall) Header() http.Header {
35967	if c.header_ == nil {
35968		c.header_ = make(http.Header)
35969	}
35970	return c.header_
35971}
35972
35973func (c *PartnersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
35974	reqHeaders := make(http.Header)
35975	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
35976	for k, v := range c.header_ {
35977		reqHeaders[k] = v
35978	}
35979	reqHeaders.Set("User-Agent", c.s.userAgent())
35980	if c.ifNoneMatch_ != "" {
35981		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35982	}
35983	var body io.Reader = nil
35984	c.urlParams_.Set("alt", alt)
35985	c.urlParams_.Set("prettyPrint", "false")
35986	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{+channelId}")
35987	urls += "?" + c.urlParams_.Encode()
35988	req, err := http.NewRequest("GET", urls, body)
35989	if err != nil {
35990		return nil, err
35991	}
35992	req.Header = reqHeaders
35993	googleapi.Expand(req.URL, map[string]string{
35994		"partnerId": strconv.FormatInt(c.partnerId, 10),
35995		"channelId": strconv.FormatInt(c.channelId, 10),
35996	})
35997	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35998}
35999
36000// Do executes the "displayvideo.partners.channels.get" call.
36001// Exactly one of *Channel or error will be non-nil. Any non-2xx status
36002// code is an error. Response headers are in either
36003// *Channel.ServerResponse.Header or (if a response was returned at all)
36004// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
36005// check whether the returned error was because http.StatusNotModified
36006// was returned.
36007func (c *PartnersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
36008	gensupport.SetOptions(c.urlParams_, opts...)
36009	res, err := c.doRequest("json")
36010	if res != nil && res.StatusCode == http.StatusNotModified {
36011		if res.Body != nil {
36012			res.Body.Close()
36013		}
36014		return nil, &googleapi.Error{
36015			Code:   res.StatusCode,
36016			Header: res.Header,
36017		}
36018	}
36019	if err != nil {
36020		return nil, err
36021	}
36022	defer googleapi.CloseBody(res)
36023	if err := googleapi.CheckResponse(res); err != nil {
36024		return nil, err
36025	}
36026	ret := &Channel{
36027		ServerResponse: googleapi.ServerResponse{
36028			Header:         res.Header,
36029			HTTPStatusCode: res.StatusCode,
36030		},
36031	}
36032	target := &ret
36033	if err := gensupport.DecodeResponse(target, res); err != nil {
36034		return nil, err
36035	}
36036	return ret, nil
36037	// {
36038	//   "description": "Gets a channel for a partner or advertiser.",
36039	//   "flatPath": "v1/partners/{partnersId}/channels/{channelsId}",
36040	//   "httpMethod": "GET",
36041	//   "id": "displayvideo.partners.channels.get",
36042	//   "parameterOrder": [
36043	//     "partnerId",
36044	//     "channelId"
36045	//   ],
36046	//   "parameters": {
36047	//     "advertiserId": {
36048	//       "description": "The ID of the advertiser that owns the fetched channel.",
36049	//       "format": "int64",
36050	//       "location": "query",
36051	//       "type": "string"
36052	//     },
36053	//     "channelId": {
36054	//       "description": "Required. The ID of the channel to fetch.",
36055	//       "format": "int64",
36056	//       "location": "path",
36057	//       "pattern": "^[^/]+$",
36058	//       "required": true,
36059	//       "type": "string"
36060	//     },
36061	//     "partnerId": {
36062	//       "description": "The ID of the partner that owns the fetched channel.",
36063	//       "format": "int64",
36064	//       "location": "path",
36065	//       "pattern": "^[^/]+$",
36066	//       "required": true,
36067	//       "type": "string"
36068	//     }
36069	//   },
36070	//   "path": "v1/partners/{+partnerId}/channels/{+channelId}",
36071	//   "response": {
36072	//     "$ref": "Channel"
36073	//   },
36074	//   "scopes": [
36075	//     "https://www.googleapis.com/auth/display-video"
36076	//   ]
36077	// }
36078
36079}
36080
36081// method id "displayvideo.partners.channels.list":
36082
36083type PartnersChannelsListCall struct {
36084	s            *Service
36085	partnerId    int64
36086	urlParams_   gensupport.URLParams
36087	ifNoneMatch_ string
36088	ctx_         context.Context
36089	header_      http.Header
36090}
36091
36092// List: Lists channels for a partner or advertiser.
36093//
36094// - partnerId: The ID of the partner that owns the channels.
36095func (r *PartnersChannelsService) List(partnerId int64) *PartnersChannelsListCall {
36096	c := &PartnersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36097	c.partnerId = partnerId
36098	return c
36099}
36100
36101// AdvertiserId sets the optional parameter "advertiserId": The ID of
36102// the advertiser that owns the channels.
36103func (c *PartnersChannelsListCall) AdvertiserId(advertiserId int64) *PartnersChannelsListCall {
36104	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
36105	return c
36106}
36107
36108// Filter sets the optional parameter "filter": Allows filtering by
36109// channel fields. Supported syntax: * Filter expressions for channel
36110// currently can only contain at most one * restriction. * A restriction
36111// has the form of `{field} {operator} {value}`. * The operator must be
36112// `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All
36113// channels for which the display name contains "google": `displayName :
36114// "google". The length of this field should be no more than 500
36115// characters.
36116func (c *PartnersChannelsListCall) Filter(filter string) *PartnersChannelsListCall {
36117	c.urlParams_.Set("filter", filter)
36118	return c
36119}
36120
36121// OrderBy sets the optional parameter "orderBy": Field by which to sort
36122// the list. Acceptable values are: * `displayName` (default) *
36123// `channelId` The default sorting order is ascending. To specify
36124// descending order for a field, a suffix " desc" should be added to the
36125// field name. Example: `displayName desc`.
36126func (c *PartnersChannelsListCall) OrderBy(orderBy string) *PartnersChannelsListCall {
36127	c.urlParams_.Set("orderBy", orderBy)
36128	return c
36129}
36130
36131// PageSize sets the optional parameter "pageSize": Requested page size.
36132// Must be between `1` and `100`. If unspecified will default to `100`.
36133// Returns error code `INVALID_ARGUMENT` if an invalid value is
36134// specified.
36135func (c *PartnersChannelsListCall) PageSize(pageSize int64) *PartnersChannelsListCall {
36136	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
36137	return c
36138}
36139
36140// PageToken sets the optional parameter "pageToken": A token
36141// identifying a page of results the server should return. Typically,
36142// this is the value of next_page_token returned from the previous call
36143// to `ListChannels` method. If not specified, the first page of results
36144// will be returned.
36145func (c *PartnersChannelsListCall) PageToken(pageToken string) *PartnersChannelsListCall {
36146	c.urlParams_.Set("pageToken", pageToken)
36147	return c
36148}
36149
36150// Fields allows partial responses to be retrieved. See
36151// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36152// for more information.
36153func (c *PartnersChannelsListCall) Fields(s ...googleapi.Field) *PartnersChannelsListCall {
36154	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36155	return c
36156}
36157
36158// IfNoneMatch sets the optional parameter which makes the operation
36159// fail if the object's ETag matches the given value. This is useful for
36160// getting updates only after the object has changed since the last
36161// request. Use googleapi.IsNotModified to check whether the response
36162// error from Do is the result of In-None-Match.
36163func (c *PartnersChannelsListCall) IfNoneMatch(entityTag string) *PartnersChannelsListCall {
36164	c.ifNoneMatch_ = entityTag
36165	return c
36166}
36167
36168// Context sets the context to be used in this call's Do method. Any
36169// pending HTTP request will be aborted if the provided context is
36170// canceled.
36171func (c *PartnersChannelsListCall) Context(ctx context.Context) *PartnersChannelsListCall {
36172	c.ctx_ = ctx
36173	return c
36174}
36175
36176// Header returns an http.Header that can be modified by the caller to
36177// add HTTP headers to the request.
36178func (c *PartnersChannelsListCall) Header() http.Header {
36179	if c.header_ == nil {
36180		c.header_ = make(http.Header)
36181	}
36182	return c.header_
36183}
36184
36185func (c *PartnersChannelsListCall) doRequest(alt string) (*http.Response, error) {
36186	reqHeaders := make(http.Header)
36187	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
36188	for k, v := range c.header_ {
36189		reqHeaders[k] = v
36190	}
36191	reqHeaders.Set("User-Agent", c.s.userAgent())
36192	if c.ifNoneMatch_ != "" {
36193		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36194	}
36195	var body io.Reader = nil
36196	c.urlParams_.Set("alt", alt)
36197	c.urlParams_.Set("prettyPrint", "false")
36198	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels")
36199	urls += "?" + c.urlParams_.Encode()
36200	req, err := http.NewRequest("GET", urls, body)
36201	if err != nil {
36202		return nil, err
36203	}
36204	req.Header = reqHeaders
36205	googleapi.Expand(req.URL, map[string]string{
36206		"partnerId": strconv.FormatInt(c.partnerId, 10),
36207	})
36208	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36209}
36210
36211// Do executes the "displayvideo.partners.channels.list" call.
36212// Exactly one of *ListChannelsResponse or error will be non-nil. Any
36213// non-2xx status code is an error. Response headers are in either
36214// *ListChannelsResponse.ServerResponse.Header or (if a response was
36215// returned at all) in error.(*googleapi.Error).Header. Use
36216// googleapi.IsNotModified to check whether the returned error was
36217// because http.StatusNotModified was returned.
36218func (c *PartnersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
36219	gensupport.SetOptions(c.urlParams_, opts...)
36220	res, err := c.doRequest("json")
36221	if res != nil && res.StatusCode == http.StatusNotModified {
36222		if res.Body != nil {
36223			res.Body.Close()
36224		}
36225		return nil, &googleapi.Error{
36226			Code:   res.StatusCode,
36227			Header: res.Header,
36228		}
36229	}
36230	if err != nil {
36231		return nil, err
36232	}
36233	defer googleapi.CloseBody(res)
36234	if err := googleapi.CheckResponse(res); err != nil {
36235		return nil, err
36236	}
36237	ret := &ListChannelsResponse{
36238		ServerResponse: googleapi.ServerResponse{
36239			Header:         res.Header,
36240			HTTPStatusCode: res.StatusCode,
36241		},
36242	}
36243	target := &ret
36244	if err := gensupport.DecodeResponse(target, res); err != nil {
36245		return nil, err
36246	}
36247	return ret, nil
36248	// {
36249	//   "description": "Lists channels for a partner or advertiser.",
36250	//   "flatPath": "v1/partners/{partnersId}/channels",
36251	//   "httpMethod": "GET",
36252	//   "id": "displayvideo.partners.channels.list",
36253	//   "parameterOrder": [
36254	//     "partnerId"
36255	//   ],
36256	//   "parameters": {
36257	//     "advertiserId": {
36258	//       "description": "The ID of the advertiser that owns the channels.",
36259	//       "format": "int64",
36260	//       "location": "query",
36261	//       "type": "string"
36262	//     },
36263	//     "filter": {
36264	//       "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.",
36265	//       "location": "query",
36266	//       "type": "string"
36267	//     },
36268	//     "orderBy": {
36269	//       "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`.",
36270	//       "location": "query",
36271	//       "type": "string"
36272	//     },
36273	//     "pageSize": {
36274	//       "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.",
36275	//       "format": "int32",
36276	//       "location": "query",
36277	//       "type": "integer"
36278	//     },
36279	//     "pageToken": {
36280	//       "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.",
36281	//       "location": "query",
36282	//       "type": "string"
36283	//     },
36284	//     "partnerId": {
36285	//       "description": "The ID of the partner that owns the channels.",
36286	//       "format": "int64",
36287	//       "location": "path",
36288	//       "pattern": "^[^/]+$",
36289	//       "required": true,
36290	//       "type": "string"
36291	//     }
36292	//   },
36293	//   "path": "v1/partners/{+partnerId}/channels",
36294	//   "response": {
36295	//     "$ref": "ListChannelsResponse"
36296	//   },
36297	//   "scopes": [
36298	//     "https://www.googleapis.com/auth/display-video"
36299	//   ]
36300	// }
36301
36302}
36303
36304// Pages invokes f for each page of results.
36305// A non-nil error returned from f will halt the iteration.
36306// The provided context supersedes any context provided to the Context method.
36307func (c *PartnersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
36308	c.ctx_ = ctx
36309	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
36310	for {
36311		x, err := c.Do()
36312		if err != nil {
36313			return err
36314		}
36315		if err := f(x); err != nil {
36316			return err
36317		}
36318		if x.NextPageToken == "" {
36319			return nil
36320		}
36321		c.PageToken(x.NextPageToken)
36322	}
36323}
36324
36325// method id "displayvideo.partners.channels.patch":
36326
36327type PartnersChannelsPatchCall struct {
36328	s          *Service
36329	partnerId  int64
36330	channelId  int64
36331	channel    *Channel
36332	urlParams_ gensupport.URLParams
36333	ctx_       context.Context
36334	header_    http.Header
36335}
36336
36337// Patch: Updates a channel. Returns the updated channel if successful.
36338//
36339// - channelId: Output only. The unique ID of the channel. Assigned by
36340//   the system.
36341// - partnerId: The ID of the partner that owns the created channel.
36342func (r *PartnersChannelsService) Patch(partnerId int64, channelId int64, channel *Channel) *PartnersChannelsPatchCall {
36343	c := &PartnersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36344	c.partnerId = partnerId
36345	c.channelId = channelId
36346	c.channel = channel
36347	return c
36348}
36349
36350// AdvertiserId sets the optional parameter "advertiserId": The ID of
36351// the advertiser that owns the created channel.
36352func (c *PartnersChannelsPatchCall) AdvertiserId(advertiserId int64) *PartnersChannelsPatchCall {
36353	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
36354	return c
36355}
36356
36357// UpdateMask sets the optional parameter "updateMask": Required. The
36358// mask to control which fields to update.
36359func (c *PartnersChannelsPatchCall) UpdateMask(updateMask string) *PartnersChannelsPatchCall {
36360	c.urlParams_.Set("updateMask", updateMask)
36361	return c
36362}
36363
36364// Fields allows partial responses to be retrieved. See
36365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36366// for more information.
36367func (c *PartnersChannelsPatchCall) Fields(s ...googleapi.Field) *PartnersChannelsPatchCall {
36368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36369	return c
36370}
36371
36372// Context sets the context to be used in this call's Do method. Any
36373// pending HTTP request will be aborted if the provided context is
36374// canceled.
36375func (c *PartnersChannelsPatchCall) Context(ctx context.Context) *PartnersChannelsPatchCall {
36376	c.ctx_ = ctx
36377	return c
36378}
36379
36380// Header returns an http.Header that can be modified by the caller to
36381// add HTTP headers to the request.
36382func (c *PartnersChannelsPatchCall) Header() http.Header {
36383	if c.header_ == nil {
36384		c.header_ = make(http.Header)
36385	}
36386	return c.header_
36387}
36388
36389func (c *PartnersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
36390	reqHeaders := make(http.Header)
36391	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
36392	for k, v := range c.header_ {
36393		reqHeaders[k] = v
36394	}
36395	reqHeaders.Set("User-Agent", c.s.userAgent())
36396	var body io.Reader = nil
36397	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
36398	if err != nil {
36399		return nil, err
36400	}
36401	reqHeaders.Set("Content-Type", "application/json")
36402	c.urlParams_.Set("alt", alt)
36403	c.urlParams_.Set("prettyPrint", "false")
36404	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{channelId}")
36405	urls += "?" + c.urlParams_.Encode()
36406	req, err := http.NewRequest("PATCH", urls, body)
36407	if err != nil {
36408		return nil, err
36409	}
36410	req.Header = reqHeaders
36411	googleapi.Expand(req.URL, map[string]string{
36412		"partnerId": strconv.FormatInt(c.partnerId, 10),
36413		"channelId": strconv.FormatInt(c.channelId, 10),
36414	})
36415	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36416}
36417
36418// Do executes the "displayvideo.partners.channels.patch" call.
36419// Exactly one of *Channel or error will be non-nil. Any non-2xx status
36420// code is an error. Response headers are in either
36421// *Channel.ServerResponse.Header or (if a response was returned at all)
36422// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
36423// check whether the returned error was because http.StatusNotModified
36424// was returned.
36425func (c *PartnersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
36426	gensupport.SetOptions(c.urlParams_, opts...)
36427	res, err := c.doRequest("json")
36428	if res != nil && res.StatusCode == http.StatusNotModified {
36429		if res.Body != nil {
36430			res.Body.Close()
36431		}
36432		return nil, &googleapi.Error{
36433			Code:   res.StatusCode,
36434			Header: res.Header,
36435		}
36436	}
36437	if err != nil {
36438		return nil, err
36439	}
36440	defer googleapi.CloseBody(res)
36441	if err := googleapi.CheckResponse(res); err != nil {
36442		return nil, err
36443	}
36444	ret := &Channel{
36445		ServerResponse: googleapi.ServerResponse{
36446			Header:         res.Header,
36447			HTTPStatusCode: res.StatusCode,
36448		},
36449	}
36450	target := &ret
36451	if err := gensupport.DecodeResponse(target, res); err != nil {
36452		return nil, err
36453	}
36454	return ret, nil
36455	// {
36456	//   "description": "Updates a channel. Returns the updated channel if successful.",
36457	//   "flatPath": "v1/partners/{partnersId}/channels/{channelId}",
36458	//   "httpMethod": "PATCH",
36459	//   "id": "displayvideo.partners.channels.patch",
36460	//   "parameterOrder": [
36461	//     "partnerId",
36462	//     "channelId"
36463	//   ],
36464	//   "parameters": {
36465	//     "advertiserId": {
36466	//       "description": "The ID of the advertiser that owns the created channel.",
36467	//       "format": "int64",
36468	//       "location": "query",
36469	//       "type": "string"
36470	//     },
36471	//     "channelId": {
36472	//       "description": "Output only. The unique ID of the channel. Assigned by the system.",
36473	//       "format": "int64",
36474	//       "location": "path",
36475	//       "required": true,
36476	//       "type": "string"
36477	//     },
36478	//     "partnerId": {
36479	//       "description": "The ID of the partner that owns the created channel.",
36480	//       "format": "int64",
36481	//       "location": "path",
36482	//       "pattern": "^[^/]+$",
36483	//       "required": true,
36484	//       "type": "string"
36485	//     },
36486	//     "updateMask": {
36487	//       "description": "Required. The mask to control which fields to update.",
36488	//       "format": "google-fieldmask",
36489	//       "location": "query",
36490	//       "type": "string"
36491	//     }
36492	//   },
36493	//   "path": "v1/partners/{+partnerId}/channels/{channelId}",
36494	//   "request": {
36495	//     "$ref": "Channel"
36496	//   },
36497	//   "response": {
36498	//     "$ref": "Channel"
36499	//   },
36500	//   "scopes": [
36501	//     "https://www.googleapis.com/auth/display-video"
36502	//   ]
36503	// }
36504
36505}
36506
36507// method id "displayvideo.partners.channels.sites.bulkEdit":
36508
36509type PartnersChannelsSitesBulkEditCall struct {
36510	s                    *Service
36511	partnerId            int64
36512	channelId            int64
36513	bulkeditsitesrequest *BulkEditSitesRequest
36514	urlParams_           gensupport.URLParams
36515	ctx_                 context.Context
36516	header_              http.Header
36517}
36518
36519// BulkEdit: Bulk edits sites under a single channel. The operation will
36520// delete the sites provided in BulkEditSitesRequest.deleted_sites and
36521// then create the sites provided in BulkEditSitesRequest.created_sites.
36522//
36523// - channelId: The ID of the parent channel to which the sites belong.
36524// - partnerId: The ID of the partner that owns the parent channel.
36525func (r *PartnersChannelsSitesService) BulkEdit(partnerId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *PartnersChannelsSitesBulkEditCall {
36526	c := &PartnersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36527	c.partnerId = partnerId
36528	c.channelId = channelId
36529	c.bulkeditsitesrequest = bulkeditsitesrequest
36530	return c
36531}
36532
36533// Fields allows partial responses to be retrieved. See
36534// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36535// for more information.
36536func (c *PartnersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesBulkEditCall {
36537	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36538	return c
36539}
36540
36541// Context sets the context to be used in this call's Do method. Any
36542// pending HTTP request will be aborted if the provided context is
36543// canceled.
36544func (c *PartnersChannelsSitesBulkEditCall) Context(ctx context.Context) *PartnersChannelsSitesBulkEditCall {
36545	c.ctx_ = ctx
36546	return c
36547}
36548
36549// Header returns an http.Header that can be modified by the caller to
36550// add HTTP headers to the request.
36551func (c *PartnersChannelsSitesBulkEditCall) Header() http.Header {
36552	if c.header_ == nil {
36553		c.header_ = make(http.Header)
36554	}
36555	return c.header_
36556}
36557
36558func (c *PartnersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
36559	reqHeaders := make(http.Header)
36560	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
36561	for k, v := range c.header_ {
36562		reqHeaders[k] = v
36563	}
36564	reqHeaders.Set("User-Agent", c.s.userAgent())
36565	var body io.Reader = nil
36566	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
36567	if err != nil {
36568		return nil, err
36569	}
36570	reqHeaders.Set("Content-Type", "application/json")
36571	c.urlParams_.Set("alt", alt)
36572	c.urlParams_.Set("prettyPrint", "false")
36573	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit")
36574	urls += "?" + c.urlParams_.Encode()
36575	req, err := http.NewRequest("POST", urls, body)
36576	if err != nil {
36577		return nil, err
36578	}
36579	req.Header = reqHeaders
36580	googleapi.Expand(req.URL, map[string]string{
36581		"partnerId": strconv.FormatInt(c.partnerId, 10),
36582		"channelId": strconv.FormatInt(c.channelId, 10),
36583	})
36584	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36585}
36586
36587// Do executes the "displayvideo.partners.channels.sites.bulkEdit" call.
36588// Exactly one of *BulkEditSitesResponse or error will be non-nil. Any
36589// non-2xx status code is an error. Response headers are in either
36590// *BulkEditSitesResponse.ServerResponse.Header or (if a response was
36591// returned at all) in error.(*googleapi.Error).Header. Use
36592// googleapi.IsNotModified to check whether the returned error was
36593// because http.StatusNotModified was returned.
36594func (c *PartnersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
36595	gensupport.SetOptions(c.urlParams_, opts...)
36596	res, err := c.doRequest("json")
36597	if res != nil && res.StatusCode == http.StatusNotModified {
36598		if res.Body != nil {
36599			res.Body.Close()
36600		}
36601		return nil, &googleapi.Error{
36602			Code:   res.StatusCode,
36603			Header: res.Header,
36604		}
36605	}
36606	if err != nil {
36607		return nil, err
36608	}
36609	defer googleapi.CloseBody(res)
36610	if err := googleapi.CheckResponse(res); err != nil {
36611		return nil, err
36612	}
36613	ret := &BulkEditSitesResponse{
36614		ServerResponse: googleapi.ServerResponse{
36615			Header:         res.Header,
36616			HTTPStatusCode: res.StatusCode,
36617		},
36618	}
36619	target := &ret
36620	if err := gensupport.DecodeResponse(target, res); err != nil {
36621		return nil, err
36622	}
36623	return ret, nil
36624	// {
36625	//   "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.",
36626	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites:bulkEdit",
36627	//   "httpMethod": "POST",
36628	//   "id": "displayvideo.partners.channels.sites.bulkEdit",
36629	//   "parameterOrder": [
36630	//     "partnerId",
36631	//     "channelId"
36632	//   ],
36633	//   "parameters": {
36634	//     "channelId": {
36635	//       "description": "Required. The ID of the parent channel to which the sites belong.",
36636	//       "format": "int64",
36637	//       "location": "path",
36638	//       "pattern": "^[^/]+$",
36639	//       "required": true,
36640	//       "type": "string"
36641	//     },
36642	//     "partnerId": {
36643	//       "description": "The ID of the partner that owns the parent channel.",
36644	//       "format": "int64",
36645	//       "location": "path",
36646	//       "required": true,
36647	//       "type": "string"
36648	//     }
36649	//   },
36650	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit",
36651	//   "request": {
36652	//     "$ref": "BulkEditSitesRequest"
36653	//   },
36654	//   "response": {
36655	//     "$ref": "BulkEditSitesResponse"
36656	//   },
36657	//   "scopes": [
36658	//     "https://www.googleapis.com/auth/display-video"
36659	//   ]
36660	// }
36661
36662}
36663
36664// method id "displayvideo.partners.channels.sites.create":
36665
36666type PartnersChannelsSitesCreateCall struct {
36667	s          *Service
36668	partnerId  int64
36669	channelId  int64
36670	site       *Site
36671	urlParams_ gensupport.URLParams
36672	ctx_       context.Context
36673	header_    http.Header
36674}
36675
36676// Create: Creates a site in a channel.
36677//
36678// - channelId: The ID of the parent channel in which the site will be
36679//   created.
36680// - partnerId: The ID of the partner that owns the parent channel.
36681func (r *PartnersChannelsSitesService) Create(partnerId int64, channelId int64, site *Site) *PartnersChannelsSitesCreateCall {
36682	c := &PartnersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36683	c.partnerId = partnerId
36684	c.channelId = channelId
36685	c.site = site
36686	return c
36687}
36688
36689// AdvertiserId sets the optional parameter "advertiserId": The ID of
36690// the advertiser that owns the parent channel.
36691func (c *PartnersChannelsSitesCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesCreateCall {
36692	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
36693	return c
36694}
36695
36696// Fields allows partial responses to be retrieved. See
36697// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36698// for more information.
36699func (c *PartnersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesCreateCall {
36700	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36701	return c
36702}
36703
36704// Context sets the context to be used in this call's Do method. Any
36705// pending HTTP request will be aborted if the provided context is
36706// canceled.
36707func (c *PartnersChannelsSitesCreateCall) Context(ctx context.Context) *PartnersChannelsSitesCreateCall {
36708	c.ctx_ = ctx
36709	return c
36710}
36711
36712// Header returns an http.Header that can be modified by the caller to
36713// add HTTP headers to the request.
36714func (c *PartnersChannelsSitesCreateCall) Header() http.Header {
36715	if c.header_ == nil {
36716		c.header_ = make(http.Header)
36717	}
36718	return c.header_
36719}
36720
36721func (c *PartnersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
36722	reqHeaders := make(http.Header)
36723	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
36724	for k, v := range c.header_ {
36725		reqHeaders[k] = v
36726	}
36727	reqHeaders.Set("User-Agent", c.s.userAgent())
36728	var body io.Reader = nil
36729	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
36730	if err != nil {
36731		return nil, err
36732	}
36733	reqHeaders.Set("Content-Type", "application/json")
36734	c.urlParams_.Set("alt", alt)
36735	c.urlParams_.Set("prettyPrint", "false")
36736	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites")
36737	urls += "?" + c.urlParams_.Encode()
36738	req, err := http.NewRequest("POST", urls, body)
36739	if err != nil {
36740		return nil, err
36741	}
36742	req.Header = reqHeaders
36743	googleapi.Expand(req.URL, map[string]string{
36744		"partnerId": strconv.FormatInt(c.partnerId, 10),
36745		"channelId": strconv.FormatInt(c.channelId, 10),
36746	})
36747	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36748}
36749
36750// Do executes the "displayvideo.partners.channels.sites.create" call.
36751// Exactly one of *Site or error will be non-nil. Any non-2xx status
36752// code is an error. Response headers are in either
36753// *Site.ServerResponse.Header or (if a response was returned at all) in
36754// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36755// whether the returned error was because http.StatusNotModified was
36756// returned.
36757func (c *PartnersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
36758	gensupport.SetOptions(c.urlParams_, opts...)
36759	res, err := c.doRequest("json")
36760	if res != nil && res.StatusCode == http.StatusNotModified {
36761		if res.Body != nil {
36762			res.Body.Close()
36763		}
36764		return nil, &googleapi.Error{
36765			Code:   res.StatusCode,
36766			Header: res.Header,
36767		}
36768	}
36769	if err != nil {
36770		return nil, err
36771	}
36772	defer googleapi.CloseBody(res)
36773	if err := googleapi.CheckResponse(res); err != nil {
36774		return nil, err
36775	}
36776	ret := &Site{
36777		ServerResponse: googleapi.ServerResponse{
36778			Header:         res.Header,
36779			HTTPStatusCode: res.StatusCode,
36780		},
36781	}
36782	target := &ret
36783	if err := gensupport.DecodeResponse(target, res); err != nil {
36784		return nil, err
36785	}
36786	return ret, nil
36787	// {
36788	//   "description": "Creates a site in a channel.",
36789	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites",
36790	//   "httpMethod": "POST",
36791	//   "id": "displayvideo.partners.channels.sites.create",
36792	//   "parameterOrder": [
36793	//     "partnerId",
36794	//     "channelId"
36795	//   ],
36796	//   "parameters": {
36797	//     "advertiserId": {
36798	//       "description": "The ID of the advertiser that owns the parent channel.",
36799	//       "format": "int64",
36800	//       "location": "query",
36801	//       "type": "string"
36802	//     },
36803	//     "channelId": {
36804	//       "description": "Required. The ID of the parent channel in which the site will be created.",
36805	//       "format": "int64",
36806	//       "location": "path",
36807	//       "pattern": "^[^/]+$",
36808	//       "required": true,
36809	//       "type": "string"
36810	//     },
36811	//     "partnerId": {
36812	//       "description": "The ID of the partner that owns the parent channel.",
36813	//       "format": "int64",
36814	//       "location": "path",
36815	//       "required": true,
36816	//       "type": "string"
36817	//     }
36818	//   },
36819	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites",
36820	//   "request": {
36821	//     "$ref": "Site"
36822	//   },
36823	//   "response": {
36824	//     "$ref": "Site"
36825	//   },
36826	//   "scopes": [
36827	//     "https://www.googleapis.com/auth/display-video"
36828	//   ]
36829	// }
36830
36831}
36832
36833// method id "displayvideo.partners.channels.sites.delete":
36834
36835type PartnersChannelsSitesDeleteCall struct {
36836	s          *Service
36837	partnerId  int64
36838	channelId  int64
36839	urlOrAppId string
36840	urlParams_ gensupport.URLParams
36841	ctx_       context.Context
36842	header_    http.Header
36843}
36844
36845// Delete: Deletes a site from a channel.
36846//
36847// - channelId: The ID of the parent channel to which the site belongs.
36848// - partnerId: The ID of the partner that owns the parent channel.
36849// - urlOrAppId: The URL or app ID of the site to delete.
36850func (r *PartnersChannelsSitesService) Delete(partnerId int64, channelId int64, urlOrAppId string) *PartnersChannelsSitesDeleteCall {
36851	c := &PartnersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36852	c.partnerId = partnerId
36853	c.channelId = channelId
36854	c.urlOrAppId = urlOrAppId
36855	return c
36856}
36857
36858// AdvertiserId sets the optional parameter "advertiserId": The ID of
36859// the advertiser that owns the parent channel.
36860func (c *PartnersChannelsSitesDeleteCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesDeleteCall {
36861	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
36862	return c
36863}
36864
36865// Fields allows partial responses to be retrieved. See
36866// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36867// for more information.
36868func (c *PartnersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesDeleteCall {
36869	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36870	return c
36871}
36872
36873// Context sets the context to be used in this call's Do method. Any
36874// pending HTTP request will be aborted if the provided context is
36875// canceled.
36876func (c *PartnersChannelsSitesDeleteCall) Context(ctx context.Context) *PartnersChannelsSitesDeleteCall {
36877	c.ctx_ = ctx
36878	return c
36879}
36880
36881// Header returns an http.Header that can be modified by the caller to
36882// add HTTP headers to the request.
36883func (c *PartnersChannelsSitesDeleteCall) Header() http.Header {
36884	if c.header_ == nil {
36885		c.header_ = make(http.Header)
36886	}
36887	return c.header_
36888}
36889
36890func (c *PartnersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
36891	reqHeaders := make(http.Header)
36892	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
36893	for k, v := range c.header_ {
36894		reqHeaders[k] = v
36895	}
36896	reqHeaders.Set("User-Agent", c.s.userAgent())
36897	var body io.Reader = nil
36898	c.urlParams_.Set("alt", alt)
36899	c.urlParams_.Set("prettyPrint", "false")
36900	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}")
36901	urls += "?" + c.urlParams_.Encode()
36902	req, err := http.NewRequest("DELETE", urls, body)
36903	if err != nil {
36904		return nil, err
36905	}
36906	req.Header = reqHeaders
36907	googleapi.Expand(req.URL, map[string]string{
36908		"partnerId":  strconv.FormatInt(c.partnerId, 10),
36909		"channelId":  strconv.FormatInt(c.channelId, 10),
36910		"urlOrAppId": c.urlOrAppId,
36911	})
36912	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36913}
36914
36915// Do executes the "displayvideo.partners.channels.sites.delete" call.
36916// Exactly one of *Empty or error will be non-nil. Any non-2xx status
36917// code is an error. Response headers are in either
36918// *Empty.ServerResponse.Header or (if a response was returned at all)
36919// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
36920// check whether the returned error was because http.StatusNotModified
36921// was returned.
36922func (c *PartnersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
36923	gensupport.SetOptions(c.urlParams_, opts...)
36924	res, err := c.doRequest("json")
36925	if res != nil && res.StatusCode == http.StatusNotModified {
36926		if res.Body != nil {
36927			res.Body.Close()
36928		}
36929		return nil, &googleapi.Error{
36930			Code:   res.StatusCode,
36931			Header: res.Header,
36932		}
36933	}
36934	if err != nil {
36935		return nil, err
36936	}
36937	defer googleapi.CloseBody(res)
36938	if err := googleapi.CheckResponse(res); err != nil {
36939		return nil, err
36940	}
36941	ret := &Empty{
36942		ServerResponse: googleapi.ServerResponse{
36943			Header:         res.Header,
36944			HTTPStatusCode: res.StatusCode,
36945		},
36946	}
36947	target := &ret
36948	if err := gensupport.DecodeResponse(target, res); err != nil {
36949		return nil, err
36950	}
36951	return ret, nil
36952	// {
36953	//   "description": "Deletes a site from a channel.",
36954	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites/{sitesId}",
36955	//   "httpMethod": "DELETE",
36956	//   "id": "displayvideo.partners.channels.sites.delete",
36957	//   "parameterOrder": [
36958	//     "partnerId",
36959	//     "channelId",
36960	//     "urlOrAppId"
36961	//   ],
36962	//   "parameters": {
36963	//     "advertiserId": {
36964	//       "description": "The ID of the advertiser that owns the parent channel.",
36965	//       "format": "int64",
36966	//       "location": "query",
36967	//       "type": "string"
36968	//     },
36969	//     "channelId": {
36970	//       "description": "Required. The ID of the parent channel to which the site belongs.",
36971	//       "format": "int64",
36972	//       "location": "path",
36973	//       "pattern": "^[^/]+$",
36974	//       "required": true,
36975	//       "type": "string"
36976	//     },
36977	//     "partnerId": {
36978	//       "description": "The ID of the partner that owns the parent channel.",
36979	//       "format": "int64",
36980	//       "location": "path",
36981	//       "required": true,
36982	//       "type": "string"
36983	//     },
36984	//     "urlOrAppId": {
36985	//       "description": "Required. The URL or app ID of the site to delete.",
36986	//       "location": "path",
36987	//       "pattern": "^[^/]+$",
36988	//       "required": true,
36989	//       "type": "string"
36990	//     }
36991	//   },
36992	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}",
36993	//   "response": {
36994	//     "$ref": "Empty"
36995	//   },
36996	//   "scopes": [
36997	//     "https://www.googleapis.com/auth/display-video"
36998	//   ]
36999	// }
37000
37001}
37002
37003// method id "displayvideo.partners.channels.sites.list":
37004
37005type PartnersChannelsSitesListCall struct {
37006	s            *Service
37007	partnerId    int64
37008	channelId    int64
37009	urlParams_   gensupport.URLParams
37010	ifNoneMatch_ string
37011	ctx_         context.Context
37012	header_      http.Header
37013}
37014
37015// List: Lists sites in a channel.
37016//
37017// - channelId: The ID of the parent channel to which the requested
37018//   sites belong.
37019// - partnerId: The ID of the partner that owns the parent channel.
37020func (r *PartnersChannelsSitesService) List(partnerId int64, channelId int64) *PartnersChannelsSitesListCall {
37021	c := &PartnersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37022	c.partnerId = partnerId
37023	c.channelId = channelId
37024	return c
37025}
37026
37027// AdvertiserId sets the optional parameter "advertiserId": The ID of
37028// the advertiser that owns the parent channel.
37029func (c *PartnersChannelsSitesListCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesListCall {
37030	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
37031	return c
37032}
37033
37034// Filter sets the optional parameter "filter": Allows filtering by site
37035// fields. Supported syntax: * Filter expressions for site currently can
37036// only contain at most one * restriction. * A restriction has the form
37037// of `{field} {operator} {value}`. * The operator must be `CONTAINS
37038// (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for
37039// which the URL or app ID contains "google": `urlOrAppId : "google"
37040func (c *PartnersChannelsSitesListCall) Filter(filter string) *PartnersChannelsSitesListCall {
37041	c.urlParams_.Set("filter", filter)
37042	return c
37043}
37044
37045// OrderBy sets the optional parameter "orderBy": Field by which to sort
37046// the list. Acceptable values are: * `urlOrAppId` (default) The default
37047// sorting order is ascending. To specify descending order for a field,
37048// a suffix " desc" should be added to the field name. Example:
37049// `urlOrAppId desc`.
37050func (c *PartnersChannelsSitesListCall) OrderBy(orderBy string) *PartnersChannelsSitesListCall {
37051	c.urlParams_.Set("orderBy", orderBy)
37052	return c
37053}
37054
37055// PageSize sets the optional parameter "pageSize": Requested page size.
37056// Must be between `1` and `10000`. If unspecified will default to
37057// `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is
37058// specified.
37059func (c *PartnersChannelsSitesListCall) PageSize(pageSize int64) *PartnersChannelsSitesListCall {
37060	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
37061	return c
37062}
37063
37064// PageToken sets the optional parameter "pageToken": A token
37065// identifying a page of results the server should return. Typically,
37066// this is the value of next_page_token returned from the previous call
37067// to `ListSites` method. If not specified, the first page of results
37068// will be returned.
37069func (c *PartnersChannelsSitesListCall) PageToken(pageToken string) *PartnersChannelsSitesListCall {
37070	c.urlParams_.Set("pageToken", pageToken)
37071	return c
37072}
37073
37074// Fields allows partial responses to be retrieved. See
37075// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37076// for more information.
37077func (c *PartnersChannelsSitesListCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesListCall {
37078	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37079	return c
37080}
37081
37082// IfNoneMatch sets the optional parameter which makes the operation
37083// fail if the object's ETag matches the given value. This is useful for
37084// getting updates only after the object has changed since the last
37085// request. Use googleapi.IsNotModified to check whether the response
37086// error from Do is the result of In-None-Match.
37087func (c *PartnersChannelsSitesListCall) IfNoneMatch(entityTag string) *PartnersChannelsSitesListCall {
37088	c.ifNoneMatch_ = entityTag
37089	return c
37090}
37091
37092// Context sets the context to be used in this call's Do method. Any
37093// pending HTTP request will be aborted if the provided context is
37094// canceled.
37095func (c *PartnersChannelsSitesListCall) Context(ctx context.Context) *PartnersChannelsSitesListCall {
37096	c.ctx_ = ctx
37097	return c
37098}
37099
37100// Header returns an http.Header that can be modified by the caller to
37101// add HTTP headers to the request.
37102func (c *PartnersChannelsSitesListCall) Header() http.Header {
37103	if c.header_ == nil {
37104		c.header_ = make(http.Header)
37105	}
37106	return c.header_
37107}
37108
37109func (c *PartnersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
37110	reqHeaders := make(http.Header)
37111	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
37112	for k, v := range c.header_ {
37113		reqHeaders[k] = v
37114	}
37115	reqHeaders.Set("User-Agent", c.s.userAgent())
37116	if c.ifNoneMatch_ != "" {
37117		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37118	}
37119	var body io.Reader = nil
37120	c.urlParams_.Set("alt", alt)
37121	c.urlParams_.Set("prettyPrint", "false")
37122	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{+channelId}/sites")
37123	urls += "?" + c.urlParams_.Encode()
37124	req, err := http.NewRequest("GET", urls, body)
37125	if err != nil {
37126		return nil, err
37127	}
37128	req.Header = reqHeaders
37129	googleapi.Expand(req.URL, map[string]string{
37130		"partnerId": strconv.FormatInt(c.partnerId, 10),
37131		"channelId": strconv.FormatInt(c.channelId, 10),
37132	})
37133	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37134}
37135
37136// Do executes the "displayvideo.partners.channels.sites.list" call.
37137// Exactly one of *ListSitesResponse or error will be non-nil. Any
37138// non-2xx status code is an error. Response headers are in either
37139// *ListSitesResponse.ServerResponse.Header or (if a response was
37140// returned at all) in error.(*googleapi.Error).Header. Use
37141// googleapi.IsNotModified to check whether the returned error was
37142// because http.StatusNotModified was returned.
37143func (c *PartnersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
37144	gensupport.SetOptions(c.urlParams_, opts...)
37145	res, err := c.doRequest("json")
37146	if res != nil && res.StatusCode == http.StatusNotModified {
37147		if res.Body != nil {
37148			res.Body.Close()
37149		}
37150		return nil, &googleapi.Error{
37151			Code:   res.StatusCode,
37152			Header: res.Header,
37153		}
37154	}
37155	if err != nil {
37156		return nil, err
37157	}
37158	defer googleapi.CloseBody(res)
37159	if err := googleapi.CheckResponse(res); err != nil {
37160		return nil, err
37161	}
37162	ret := &ListSitesResponse{
37163		ServerResponse: googleapi.ServerResponse{
37164			Header:         res.Header,
37165			HTTPStatusCode: res.StatusCode,
37166		},
37167	}
37168	target := &ret
37169	if err := gensupport.DecodeResponse(target, res); err != nil {
37170		return nil, err
37171	}
37172	return ret, nil
37173	// {
37174	//   "description": "Lists sites in a channel.",
37175	//   "flatPath": "v1/partners/{partnersId}/channels/{channelsId}/sites",
37176	//   "httpMethod": "GET",
37177	//   "id": "displayvideo.partners.channels.sites.list",
37178	//   "parameterOrder": [
37179	//     "partnerId",
37180	//     "channelId"
37181	//   ],
37182	//   "parameters": {
37183	//     "advertiserId": {
37184	//       "description": "The ID of the advertiser that owns the parent channel.",
37185	//       "format": "int64",
37186	//       "location": "query",
37187	//       "type": "string"
37188	//     },
37189	//     "channelId": {
37190	//       "description": "Required. The ID of the parent channel to which the requested sites belong.",
37191	//       "format": "int64",
37192	//       "location": "path",
37193	//       "pattern": "^[^/]+$",
37194	//       "required": true,
37195	//       "type": "string"
37196	//     },
37197	//     "filter": {
37198	//       "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\"`",
37199	//       "location": "query",
37200	//       "type": "string"
37201	//     },
37202	//     "orderBy": {
37203	//       "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`.",
37204	//       "location": "query",
37205	//       "type": "string"
37206	//     },
37207	//     "pageSize": {
37208	//       "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.",
37209	//       "format": "int32",
37210	//       "location": "query",
37211	//       "type": "integer"
37212	//     },
37213	//     "pageToken": {
37214	//       "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.",
37215	//       "location": "query",
37216	//       "type": "string"
37217	//     },
37218	//     "partnerId": {
37219	//       "description": "The ID of the partner that owns the parent channel.",
37220	//       "format": "int64",
37221	//       "location": "path",
37222	//       "pattern": "^[^/]+$",
37223	//       "required": true,
37224	//       "type": "string"
37225	//     }
37226	//   },
37227	//   "path": "v1/partners/{+partnerId}/channels/{+channelId}/sites",
37228	//   "response": {
37229	//     "$ref": "ListSitesResponse"
37230	//   },
37231	//   "scopes": [
37232	//     "https://www.googleapis.com/auth/display-video"
37233	//   ]
37234	// }
37235
37236}
37237
37238// Pages invokes f for each page of results.
37239// A non-nil error returned from f will halt the iteration.
37240// The provided context supersedes any context provided to the Context method.
37241func (c *PartnersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
37242	c.ctx_ = ctx
37243	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37244	for {
37245		x, err := c.Do()
37246		if err != nil {
37247			return err
37248		}
37249		if err := f(x); err != nil {
37250			return err
37251		}
37252		if x.NextPageToken == "" {
37253			return nil
37254		}
37255		c.PageToken(x.NextPageToken)
37256	}
37257}
37258
37259// method id "displayvideo.partners.channels.sites.replace":
37260
37261type PartnersChannelsSitesReplaceCall struct {
37262	s                   *Service
37263	partnerId           int64
37264	channelId           int64
37265	replacesitesrequest *ReplaceSitesRequest
37266	urlParams_          gensupport.URLParams
37267	ctx_                context.Context
37268	header_             http.Header
37269}
37270
37271// Replace: Replaces all of the sites under a single channel. The
37272// operation will replace the sites under a channel with the sites
37273// provided in ReplaceSitesRequest.new_sites.
37274//
37275// - channelId: The ID of the parent channel whose sites will be
37276//   replaced.
37277// - partnerId: The ID of the partner that owns the parent channel.
37278func (r *PartnersChannelsSitesService) Replace(partnerId int64, channelId int64, replacesitesrequest *ReplaceSitesRequest) *PartnersChannelsSitesReplaceCall {
37279	c := &PartnersChannelsSitesReplaceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37280	c.partnerId = partnerId
37281	c.channelId = channelId
37282	c.replacesitesrequest = replacesitesrequest
37283	return c
37284}
37285
37286// Fields allows partial responses to be retrieved. See
37287// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37288// for more information.
37289func (c *PartnersChannelsSitesReplaceCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesReplaceCall {
37290	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37291	return c
37292}
37293
37294// Context sets the context to be used in this call's Do method. Any
37295// pending HTTP request will be aborted if the provided context is
37296// canceled.
37297func (c *PartnersChannelsSitesReplaceCall) Context(ctx context.Context) *PartnersChannelsSitesReplaceCall {
37298	c.ctx_ = ctx
37299	return c
37300}
37301
37302// Header returns an http.Header that can be modified by the caller to
37303// add HTTP headers to the request.
37304func (c *PartnersChannelsSitesReplaceCall) Header() http.Header {
37305	if c.header_ == nil {
37306		c.header_ = make(http.Header)
37307	}
37308	return c.header_
37309}
37310
37311func (c *PartnersChannelsSitesReplaceCall) doRequest(alt string) (*http.Response, error) {
37312	reqHeaders := make(http.Header)
37313	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
37314	for k, v := range c.header_ {
37315		reqHeaders[k] = v
37316	}
37317	reqHeaders.Set("User-Agent", c.s.userAgent())
37318	var body io.Reader = nil
37319	body, err := googleapi.WithoutDataWrapper.JSONReader(c.replacesitesrequest)
37320	if err != nil {
37321		return nil, err
37322	}
37323	reqHeaders.Set("Content-Type", "application/json")
37324	c.urlParams_.Set("alt", alt)
37325	c.urlParams_.Set("prettyPrint", "false")
37326	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites:replace")
37327	urls += "?" + c.urlParams_.Encode()
37328	req, err := http.NewRequest("POST", urls, body)
37329	if err != nil {
37330		return nil, err
37331	}
37332	req.Header = reqHeaders
37333	googleapi.Expand(req.URL, map[string]string{
37334		"partnerId": strconv.FormatInt(c.partnerId, 10),
37335		"channelId": strconv.FormatInt(c.channelId, 10),
37336	})
37337	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37338}
37339
37340// Do executes the "displayvideo.partners.channels.sites.replace" call.
37341// Exactly one of *ReplaceSitesResponse or error will be non-nil. Any
37342// non-2xx status code is an error. Response headers are in either
37343// *ReplaceSitesResponse.ServerResponse.Header or (if a response was
37344// returned at all) in error.(*googleapi.Error).Header. Use
37345// googleapi.IsNotModified to check whether the returned error was
37346// because http.StatusNotModified was returned.
37347func (c *PartnersChannelsSitesReplaceCall) Do(opts ...googleapi.CallOption) (*ReplaceSitesResponse, error) {
37348	gensupport.SetOptions(c.urlParams_, opts...)
37349	res, err := c.doRequest("json")
37350	if res != nil && res.StatusCode == http.StatusNotModified {
37351		if res.Body != nil {
37352			res.Body.Close()
37353		}
37354		return nil, &googleapi.Error{
37355			Code:   res.StatusCode,
37356			Header: res.Header,
37357		}
37358	}
37359	if err != nil {
37360		return nil, err
37361	}
37362	defer googleapi.CloseBody(res)
37363	if err := googleapi.CheckResponse(res); err != nil {
37364		return nil, err
37365	}
37366	ret := &ReplaceSitesResponse{
37367		ServerResponse: googleapi.ServerResponse{
37368			Header:         res.Header,
37369			HTTPStatusCode: res.StatusCode,
37370		},
37371	}
37372	target := &ret
37373	if err := gensupport.DecodeResponse(target, res); err != nil {
37374		return nil, err
37375	}
37376	return ret, nil
37377	// {
37378	//   "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.",
37379	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites:replace",
37380	//   "httpMethod": "POST",
37381	//   "id": "displayvideo.partners.channels.sites.replace",
37382	//   "parameterOrder": [
37383	//     "partnerId",
37384	//     "channelId"
37385	//   ],
37386	//   "parameters": {
37387	//     "channelId": {
37388	//       "description": "Required. The ID of the parent channel whose sites will be replaced.",
37389	//       "format": "int64",
37390	//       "location": "path",
37391	//       "pattern": "^[^/]+$",
37392	//       "required": true,
37393	//       "type": "string"
37394	//     },
37395	//     "partnerId": {
37396	//       "description": "The ID of the partner that owns the parent channel.",
37397	//       "format": "int64",
37398	//       "location": "path",
37399	//       "required": true,
37400	//       "type": "string"
37401	//     }
37402	//   },
37403	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites:replace",
37404	//   "request": {
37405	//     "$ref": "ReplaceSitesRequest"
37406	//   },
37407	//   "response": {
37408	//     "$ref": "ReplaceSitesResponse"
37409	//   },
37410	//   "scopes": [
37411	//     "https://www.googleapis.com/auth/display-video"
37412	//   ]
37413	// }
37414
37415}
37416
37417// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.create":
37418
37419type PartnersTargetingTypesAssignedTargetingOptionsCreateCall struct {
37420	s                       *Service
37421	partnerId               int64
37422	targetingType           string
37423	assignedtargetingoption *AssignedTargetingOption
37424	urlParams_              gensupport.URLParams
37425	ctx_                    context.Context
37426	header_                 http.Header
37427}
37428
37429// Create: Assigns a targeting option to a partner. Returns the assigned
37430// targeting option if successful.
37431//
37432// - partnerId: The ID of the partner.
37433// - targetingType: Identifies the type of this assigned targeting
37434//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
37435func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Create(partnerId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
37436	c := &PartnersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37437	c.partnerId = partnerId
37438	c.targetingType = targetingType
37439	c.assignedtargetingoption = assignedtargetingoption
37440	return c
37441}
37442
37443// Fields allows partial responses to be retrieved. See
37444// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37445// for more information.
37446func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
37447	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37448	return c
37449}
37450
37451// Context sets the context to be used in this call's Do method. Any
37452// pending HTTP request will be aborted if the provided context is
37453// canceled.
37454func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
37455	c.ctx_ = ctx
37456	return c
37457}
37458
37459// Header returns an http.Header that can be modified by the caller to
37460// add HTTP headers to the request.
37461func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
37462	if c.header_ == nil {
37463		c.header_ = make(http.Header)
37464	}
37465	return c.header_
37466}
37467
37468func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
37469	reqHeaders := make(http.Header)
37470	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
37471	for k, v := range c.header_ {
37472		reqHeaders[k] = v
37473	}
37474	reqHeaders.Set("User-Agent", c.s.userAgent())
37475	var body io.Reader = nil
37476	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
37477	if err != nil {
37478		return nil, err
37479	}
37480	reqHeaders.Set("Content-Type", "application/json")
37481	c.urlParams_.Set("alt", alt)
37482	c.urlParams_.Set("prettyPrint", "false")
37483	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
37484	urls += "?" + c.urlParams_.Encode()
37485	req, err := http.NewRequest("POST", urls, body)
37486	if err != nil {
37487		return nil, err
37488	}
37489	req.Header = reqHeaders
37490	googleapi.Expand(req.URL, map[string]string{
37491		"partnerId":     strconv.FormatInt(c.partnerId, 10),
37492		"targetingType": c.targetingType,
37493	})
37494	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37495}
37496
37497// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.create" call.
37498// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
37499// non-2xx status code is an error. Response headers are in either
37500// *AssignedTargetingOption.ServerResponse.Header or (if a response was
37501// returned at all) in error.(*googleapi.Error).Header. Use
37502// googleapi.IsNotModified to check whether the returned error was
37503// because http.StatusNotModified was returned.
37504func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
37505	gensupport.SetOptions(c.urlParams_, opts...)
37506	res, err := c.doRequest("json")
37507	if res != nil && res.StatusCode == http.StatusNotModified {
37508		if res.Body != nil {
37509			res.Body.Close()
37510		}
37511		return nil, &googleapi.Error{
37512			Code:   res.StatusCode,
37513			Header: res.Header,
37514		}
37515	}
37516	if err != nil {
37517		return nil, err
37518	}
37519	defer googleapi.CloseBody(res)
37520	if err := googleapi.CheckResponse(res); err != nil {
37521		return nil, err
37522	}
37523	ret := &AssignedTargetingOption{
37524		ServerResponse: googleapi.ServerResponse{
37525			Header:         res.Header,
37526			HTTPStatusCode: res.StatusCode,
37527		},
37528	}
37529	target := &ret
37530	if err := gensupport.DecodeResponse(target, res); err != nil {
37531		return nil, err
37532	}
37533	return ret, nil
37534	// {
37535	//   "description": "Assigns a targeting option to a partner. Returns the assigned targeting option if successful.",
37536	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
37537	//   "httpMethod": "POST",
37538	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.create",
37539	//   "parameterOrder": [
37540	//     "partnerId",
37541	//     "targetingType"
37542	//   ],
37543	//   "parameters": {
37544	//     "partnerId": {
37545	//       "description": "Required. The ID of the partner.",
37546	//       "format": "int64",
37547	//       "location": "path",
37548	//       "pattern": "^[^/]+$",
37549	//       "required": true,
37550	//       "type": "string"
37551	//     },
37552	//     "targetingType": {
37553	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
37554	//       "enum": [
37555	//         "TARGETING_TYPE_UNSPECIFIED",
37556	//         "TARGETING_TYPE_CHANNEL",
37557	//         "TARGETING_TYPE_APP_CATEGORY",
37558	//         "TARGETING_TYPE_APP",
37559	//         "TARGETING_TYPE_URL",
37560	//         "TARGETING_TYPE_DAY_AND_TIME",
37561	//         "TARGETING_TYPE_AGE_RANGE",
37562	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
37563	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
37564	//         "TARGETING_TYPE_GENDER",
37565	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
37566	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
37567	//         "TARGETING_TYPE_PARENTAL_STATUS",
37568	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
37569	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
37570	//         "TARGETING_TYPE_DEVICE_TYPE",
37571	//         "TARGETING_TYPE_AUDIENCE_GROUP",
37572	//         "TARGETING_TYPE_BROWSER",
37573	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
37574	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
37575	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
37576	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
37577	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
37578	//         "TARGETING_TYPE_ENVIRONMENT",
37579	//         "TARGETING_TYPE_CARRIER_AND_ISP",
37580	//         "TARGETING_TYPE_OPERATING_SYSTEM",
37581	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
37582	//         "TARGETING_TYPE_KEYWORD",
37583	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
37584	//         "TARGETING_TYPE_VIEWABILITY",
37585	//         "TARGETING_TYPE_CATEGORY",
37586	//         "TARGETING_TYPE_INVENTORY_SOURCE",
37587	//         "TARGETING_TYPE_LANGUAGE",
37588	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
37589	//         "TARGETING_TYPE_GEO_REGION",
37590	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
37591	//         "TARGETING_TYPE_EXCHANGE",
37592	//         "TARGETING_TYPE_SUB_EXCHANGE",
37593	//         "TARGETING_TYPE_POI",
37594	//         "TARGETING_TYPE_BUSINESS_CHAIN",
37595	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
37596	//         "TARGETING_TYPE_OMID"
37597	//       ],
37598	//       "enumDescriptions": [
37599	//         "Default value when type is not specified or is unknown in this version.",
37600	//         "Target a channel (a custom group of related websites or apps).",
37601	//         "Target an app category (for example, education or puzzle games).",
37602	//         "Target a specific app (for example, Angry Birds).",
37603	//         "Target a specific url (for example, quora.com).",
37604	//         "Target ads during a chosen time period on a specific day.",
37605	//         "Target ads to a specific age range (for example, 18-24).",
37606	//         "Target ads to the specified regions on a regional location list.",
37607	//         "Target ads to the specified points of interest on a proximity location list.",
37608	//         "Target ads to a specific gender (for example, female or male).",
37609	//         "Target a specific video player size for video ads.",
37610	//         "Target user rewarded content for video ads.",
37611	//         "Target ads to a specific parental status (for example, parent or not a parent).",
37612	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
37613	//         "Target ads in a specific content outstream position.",
37614	//         "Target ads to a specific device type (for example, tablet or connected TV).",
37615	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
37616	//         "Target ads to specific web browsers (for example, Chrome).",
37617	//         "Target ads to a specific household income range (for example, top 10%).",
37618	//         "Target ads in a specific on screen position.",
37619	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
37620	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
37621	//         "Filter website content by sensitive categories (for example, adult).",
37622	//         "Target ads to a specific environment (for example, web or app).",
37623	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
37624	//         "Target ads to a specific operating system (for example, macOS).",
37625	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
37626	//         "Target ads to a specific keyword (for example, dog or retriever).",
37627	//         "Target ads to a specific negative keyword list.",
37628	//         "Target ads to a specific viewability (for example, 80% viewable).",
37629	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
37630	//         "Purchase impressions from specific deals and auction packages.",
37631	//         "Target ads to a specific language (for example, English or Japanese).",
37632	//         "Target ads to ads.txt authorized sellers.",
37633	//         "Target ads to a specific regional location (for example, a city or state).",
37634	//         "Purchase impressions from a group of deals and auction packages.",
37635	//         "Purchase impressions from specific exchanges.",
37636	//         "Purchase impressions from specific sub-exchanges.",
37637	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
37638	//         "Target ads around locations of a business chain within a specific geo region.",
37639	//         "Target ads to a specific native content position.",
37640	//         "Target ads in an Open Measurement enabled inventory."
37641	//       ],
37642	//       "location": "path",
37643	//       "pattern": "^[^/]+$",
37644	//       "required": true,
37645	//       "type": "string"
37646	//     }
37647	//   },
37648	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
37649	//   "request": {
37650	//     "$ref": "AssignedTargetingOption"
37651	//   },
37652	//   "response": {
37653	//     "$ref": "AssignedTargetingOption"
37654	//   },
37655	//   "scopes": [
37656	//     "https://www.googleapis.com/auth/display-video"
37657	//   ]
37658	// }
37659
37660}
37661
37662// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete":
37663
37664type PartnersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
37665	s                         *Service
37666	partnerId                 int64
37667	targetingType             string
37668	assignedTargetingOptionId string
37669	urlParams_                gensupport.URLParams
37670	ctx_                      context.Context
37671	header_                   http.Header
37672}
37673
37674// Delete: Deletes an assigned targeting option from a partner.
37675//
37676// - assignedTargetingOptionId: The ID of the assigned targeting option
37677//   to delete.
37678// - partnerId: The ID of the partner.
37679// - targetingType: Identifies the type of this assigned targeting
37680//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
37681func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Delete(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
37682	c := &PartnersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37683	c.partnerId = partnerId
37684	c.targetingType = targetingType
37685	c.assignedTargetingOptionId = assignedTargetingOptionId
37686	return c
37687}
37688
37689// Fields allows partial responses to be retrieved. See
37690// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37691// for more information.
37692func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
37693	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37694	return c
37695}
37696
37697// Context sets the context to be used in this call's Do method. Any
37698// pending HTTP request will be aborted if the provided context is
37699// canceled.
37700func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
37701	c.ctx_ = ctx
37702	return c
37703}
37704
37705// Header returns an http.Header that can be modified by the caller to
37706// add HTTP headers to the request.
37707func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
37708	if c.header_ == nil {
37709		c.header_ = make(http.Header)
37710	}
37711	return c.header_
37712}
37713
37714func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
37715	reqHeaders := make(http.Header)
37716	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
37717	for k, v := range c.header_ {
37718		reqHeaders[k] = v
37719	}
37720	reqHeaders.Set("User-Agent", c.s.userAgent())
37721	var body io.Reader = nil
37722	c.urlParams_.Set("alt", alt)
37723	c.urlParams_.Set("prettyPrint", "false")
37724	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
37725	urls += "?" + c.urlParams_.Encode()
37726	req, err := http.NewRequest("DELETE", urls, body)
37727	if err != nil {
37728		return nil, err
37729	}
37730	req.Header = reqHeaders
37731	googleapi.Expand(req.URL, map[string]string{
37732		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
37733		"targetingType":             c.targetingType,
37734		"assignedTargetingOptionId": c.assignedTargetingOptionId,
37735	})
37736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37737}
37738
37739// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete" call.
37740// Exactly one of *Empty or error will be non-nil. Any non-2xx status
37741// code is an error. Response headers are in either
37742// *Empty.ServerResponse.Header or (if a response was returned at all)
37743// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37744// check whether the returned error was because http.StatusNotModified
37745// was returned.
37746func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
37747	gensupport.SetOptions(c.urlParams_, opts...)
37748	res, err := c.doRequest("json")
37749	if res != nil && res.StatusCode == http.StatusNotModified {
37750		if res.Body != nil {
37751			res.Body.Close()
37752		}
37753		return nil, &googleapi.Error{
37754			Code:   res.StatusCode,
37755			Header: res.Header,
37756		}
37757	}
37758	if err != nil {
37759		return nil, err
37760	}
37761	defer googleapi.CloseBody(res)
37762	if err := googleapi.CheckResponse(res); err != nil {
37763		return nil, err
37764	}
37765	ret := &Empty{
37766		ServerResponse: googleapi.ServerResponse{
37767			Header:         res.Header,
37768			HTTPStatusCode: res.StatusCode,
37769		},
37770	}
37771	target := &ret
37772	if err := gensupport.DecodeResponse(target, res); err != nil {
37773		return nil, err
37774	}
37775	return ret, nil
37776	// {
37777	//   "description": "Deletes an assigned targeting option from a partner.",
37778	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
37779	//   "httpMethod": "DELETE",
37780	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete",
37781	//   "parameterOrder": [
37782	//     "partnerId",
37783	//     "targetingType",
37784	//     "assignedTargetingOptionId"
37785	//   ],
37786	//   "parameters": {
37787	//     "assignedTargetingOptionId": {
37788	//       "description": "Required. The ID of the assigned targeting option to delete.",
37789	//       "location": "path",
37790	//       "pattern": "^[^/]+$",
37791	//       "required": true,
37792	//       "type": "string"
37793	//     },
37794	//     "partnerId": {
37795	//       "description": "Required. The ID of the partner.",
37796	//       "format": "int64",
37797	//       "location": "path",
37798	//       "pattern": "^[^/]+$",
37799	//       "required": true,
37800	//       "type": "string"
37801	//     },
37802	//     "targetingType": {
37803	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
37804	//       "enum": [
37805	//         "TARGETING_TYPE_UNSPECIFIED",
37806	//         "TARGETING_TYPE_CHANNEL",
37807	//         "TARGETING_TYPE_APP_CATEGORY",
37808	//         "TARGETING_TYPE_APP",
37809	//         "TARGETING_TYPE_URL",
37810	//         "TARGETING_TYPE_DAY_AND_TIME",
37811	//         "TARGETING_TYPE_AGE_RANGE",
37812	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
37813	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
37814	//         "TARGETING_TYPE_GENDER",
37815	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
37816	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
37817	//         "TARGETING_TYPE_PARENTAL_STATUS",
37818	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
37819	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
37820	//         "TARGETING_TYPE_DEVICE_TYPE",
37821	//         "TARGETING_TYPE_AUDIENCE_GROUP",
37822	//         "TARGETING_TYPE_BROWSER",
37823	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
37824	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
37825	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
37826	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
37827	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
37828	//         "TARGETING_TYPE_ENVIRONMENT",
37829	//         "TARGETING_TYPE_CARRIER_AND_ISP",
37830	//         "TARGETING_TYPE_OPERATING_SYSTEM",
37831	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
37832	//         "TARGETING_TYPE_KEYWORD",
37833	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
37834	//         "TARGETING_TYPE_VIEWABILITY",
37835	//         "TARGETING_TYPE_CATEGORY",
37836	//         "TARGETING_TYPE_INVENTORY_SOURCE",
37837	//         "TARGETING_TYPE_LANGUAGE",
37838	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
37839	//         "TARGETING_TYPE_GEO_REGION",
37840	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
37841	//         "TARGETING_TYPE_EXCHANGE",
37842	//         "TARGETING_TYPE_SUB_EXCHANGE",
37843	//         "TARGETING_TYPE_POI",
37844	//         "TARGETING_TYPE_BUSINESS_CHAIN",
37845	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
37846	//         "TARGETING_TYPE_OMID"
37847	//       ],
37848	//       "enumDescriptions": [
37849	//         "Default value when type is not specified or is unknown in this version.",
37850	//         "Target a channel (a custom group of related websites or apps).",
37851	//         "Target an app category (for example, education or puzzle games).",
37852	//         "Target a specific app (for example, Angry Birds).",
37853	//         "Target a specific url (for example, quora.com).",
37854	//         "Target ads during a chosen time period on a specific day.",
37855	//         "Target ads to a specific age range (for example, 18-24).",
37856	//         "Target ads to the specified regions on a regional location list.",
37857	//         "Target ads to the specified points of interest on a proximity location list.",
37858	//         "Target ads to a specific gender (for example, female or male).",
37859	//         "Target a specific video player size for video ads.",
37860	//         "Target user rewarded content for video ads.",
37861	//         "Target ads to a specific parental status (for example, parent or not a parent).",
37862	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
37863	//         "Target ads in a specific content outstream position.",
37864	//         "Target ads to a specific device type (for example, tablet or connected TV).",
37865	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
37866	//         "Target ads to specific web browsers (for example, Chrome).",
37867	//         "Target ads to a specific household income range (for example, top 10%).",
37868	//         "Target ads in a specific on screen position.",
37869	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
37870	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
37871	//         "Filter website content by sensitive categories (for example, adult).",
37872	//         "Target ads to a specific environment (for example, web or app).",
37873	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
37874	//         "Target ads to a specific operating system (for example, macOS).",
37875	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
37876	//         "Target ads to a specific keyword (for example, dog or retriever).",
37877	//         "Target ads to a specific negative keyword list.",
37878	//         "Target ads to a specific viewability (for example, 80% viewable).",
37879	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
37880	//         "Purchase impressions from specific deals and auction packages.",
37881	//         "Target ads to a specific language (for example, English or Japanese).",
37882	//         "Target ads to ads.txt authorized sellers.",
37883	//         "Target ads to a specific regional location (for example, a city or state).",
37884	//         "Purchase impressions from a group of deals and auction packages.",
37885	//         "Purchase impressions from specific exchanges.",
37886	//         "Purchase impressions from specific sub-exchanges.",
37887	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
37888	//         "Target ads around locations of a business chain within a specific geo region.",
37889	//         "Target ads to a specific native content position.",
37890	//         "Target ads in an Open Measurement enabled inventory."
37891	//       ],
37892	//       "location": "path",
37893	//       "pattern": "^[^/]+$",
37894	//       "required": true,
37895	//       "type": "string"
37896	//     }
37897	//   },
37898	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
37899	//   "response": {
37900	//     "$ref": "Empty"
37901	//   },
37902	//   "scopes": [
37903	//     "https://www.googleapis.com/auth/display-video"
37904	//   ]
37905	// }
37906
37907}
37908
37909// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.get":
37910
37911type PartnersTargetingTypesAssignedTargetingOptionsGetCall struct {
37912	s                         *Service
37913	partnerId                 int64
37914	targetingType             string
37915	assignedTargetingOptionId string
37916	urlParams_                gensupport.URLParams
37917	ifNoneMatch_              string
37918	ctx_                      context.Context
37919	header_                   http.Header
37920}
37921
37922// Get: Gets a single targeting option assigned to a partner.
37923//
37924// - assignedTargetingOptionId: An identifier unique to the targeting
37925//   type in this partner that identifies the assigned targeting option
37926//   being requested.
37927// - partnerId: The ID of the partner.
37928// - targetingType: Identifies the type of this assigned targeting
37929//   option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
37930func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Get(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37931	c := &PartnersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37932	c.partnerId = partnerId
37933	c.targetingType = targetingType
37934	c.assignedTargetingOptionId = assignedTargetingOptionId
37935	return c
37936}
37937
37938// Fields allows partial responses to be retrieved. See
37939// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37940// for more information.
37941func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37942	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37943	return c
37944}
37945
37946// IfNoneMatch sets the optional parameter which makes the operation
37947// fail if the object's ETag matches the given value. This is useful for
37948// getting updates only after the object has changed since the last
37949// request. Use googleapi.IsNotModified to check whether the response
37950// error from Do is the result of In-None-Match.
37951func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37952	c.ifNoneMatch_ = entityTag
37953	return c
37954}
37955
37956// Context sets the context to be used in this call's Do method. Any
37957// pending HTTP request will be aborted if the provided context is
37958// canceled.
37959func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
37960	c.ctx_ = ctx
37961	return c
37962}
37963
37964// Header returns an http.Header that can be modified by the caller to
37965// add HTTP headers to the request.
37966func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
37967	if c.header_ == nil {
37968		c.header_ = make(http.Header)
37969	}
37970	return c.header_
37971}
37972
37973func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
37974	reqHeaders := make(http.Header)
37975	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
37976	for k, v := range c.header_ {
37977		reqHeaders[k] = v
37978	}
37979	reqHeaders.Set("User-Agent", c.s.userAgent())
37980	if c.ifNoneMatch_ != "" {
37981		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37982	}
37983	var body io.Reader = nil
37984	c.urlParams_.Set("alt", alt)
37985	c.urlParams_.Set("prettyPrint", "false")
37986	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
37987	urls += "?" + c.urlParams_.Encode()
37988	req, err := http.NewRequest("GET", urls, body)
37989	if err != nil {
37990		return nil, err
37991	}
37992	req.Header = reqHeaders
37993	googleapi.Expand(req.URL, map[string]string{
37994		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
37995		"targetingType":             c.targetingType,
37996		"assignedTargetingOptionId": c.assignedTargetingOptionId,
37997	})
37998	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37999}
38000
38001// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.get" call.
38002// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
38003// non-2xx status code is an error. Response headers are in either
38004// *AssignedTargetingOption.ServerResponse.Header or (if a response was
38005// returned at all) in error.(*googleapi.Error).Header. Use
38006// googleapi.IsNotModified to check whether the returned error was
38007// because http.StatusNotModified was returned.
38008func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
38009	gensupport.SetOptions(c.urlParams_, opts...)
38010	res, err := c.doRequest("json")
38011	if res != nil && res.StatusCode == http.StatusNotModified {
38012		if res.Body != nil {
38013			res.Body.Close()
38014		}
38015		return nil, &googleapi.Error{
38016			Code:   res.StatusCode,
38017			Header: res.Header,
38018		}
38019	}
38020	if err != nil {
38021		return nil, err
38022	}
38023	defer googleapi.CloseBody(res)
38024	if err := googleapi.CheckResponse(res); err != nil {
38025		return nil, err
38026	}
38027	ret := &AssignedTargetingOption{
38028		ServerResponse: googleapi.ServerResponse{
38029			Header:         res.Header,
38030			HTTPStatusCode: res.StatusCode,
38031		},
38032	}
38033	target := &ret
38034	if err := gensupport.DecodeResponse(target, res); err != nil {
38035		return nil, err
38036	}
38037	return ret, nil
38038	// {
38039	//   "description": "Gets a single targeting option assigned to a partner.",
38040	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
38041	//   "httpMethod": "GET",
38042	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.get",
38043	//   "parameterOrder": [
38044	//     "partnerId",
38045	//     "targetingType",
38046	//     "assignedTargetingOptionId"
38047	//   ],
38048	//   "parameters": {
38049	//     "assignedTargetingOptionId": {
38050	//       "description": "Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested.",
38051	//       "location": "path",
38052	//       "pattern": "^[^/]+$",
38053	//       "required": true,
38054	//       "type": "string"
38055	//     },
38056	//     "partnerId": {
38057	//       "description": "Required. The ID of the partner.",
38058	//       "format": "int64",
38059	//       "location": "path",
38060	//       "pattern": "^[^/]+$",
38061	//       "required": true,
38062	//       "type": "string"
38063	//     },
38064	//     "targetingType": {
38065	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
38066	//       "enum": [
38067	//         "TARGETING_TYPE_UNSPECIFIED",
38068	//         "TARGETING_TYPE_CHANNEL",
38069	//         "TARGETING_TYPE_APP_CATEGORY",
38070	//         "TARGETING_TYPE_APP",
38071	//         "TARGETING_TYPE_URL",
38072	//         "TARGETING_TYPE_DAY_AND_TIME",
38073	//         "TARGETING_TYPE_AGE_RANGE",
38074	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
38075	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
38076	//         "TARGETING_TYPE_GENDER",
38077	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
38078	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
38079	//         "TARGETING_TYPE_PARENTAL_STATUS",
38080	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
38081	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
38082	//         "TARGETING_TYPE_DEVICE_TYPE",
38083	//         "TARGETING_TYPE_AUDIENCE_GROUP",
38084	//         "TARGETING_TYPE_BROWSER",
38085	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
38086	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
38087	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
38088	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
38089	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
38090	//         "TARGETING_TYPE_ENVIRONMENT",
38091	//         "TARGETING_TYPE_CARRIER_AND_ISP",
38092	//         "TARGETING_TYPE_OPERATING_SYSTEM",
38093	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
38094	//         "TARGETING_TYPE_KEYWORD",
38095	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
38096	//         "TARGETING_TYPE_VIEWABILITY",
38097	//         "TARGETING_TYPE_CATEGORY",
38098	//         "TARGETING_TYPE_INVENTORY_SOURCE",
38099	//         "TARGETING_TYPE_LANGUAGE",
38100	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
38101	//         "TARGETING_TYPE_GEO_REGION",
38102	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
38103	//         "TARGETING_TYPE_EXCHANGE",
38104	//         "TARGETING_TYPE_SUB_EXCHANGE",
38105	//         "TARGETING_TYPE_POI",
38106	//         "TARGETING_TYPE_BUSINESS_CHAIN",
38107	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
38108	//         "TARGETING_TYPE_OMID"
38109	//       ],
38110	//       "enumDescriptions": [
38111	//         "Default value when type is not specified or is unknown in this version.",
38112	//         "Target a channel (a custom group of related websites or apps).",
38113	//         "Target an app category (for example, education or puzzle games).",
38114	//         "Target a specific app (for example, Angry Birds).",
38115	//         "Target a specific url (for example, quora.com).",
38116	//         "Target ads during a chosen time period on a specific day.",
38117	//         "Target ads to a specific age range (for example, 18-24).",
38118	//         "Target ads to the specified regions on a regional location list.",
38119	//         "Target ads to the specified points of interest on a proximity location list.",
38120	//         "Target ads to a specific gender (for example, female or male).",
38121	//         "Target a specific video player size for video ads.",
38122	//         "Target user rewarded content for video ads.",
38123	//         "Target ads to a specific parental status (for example, parent or not a parent).",
38124	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
38125	//         "Target ads in a specific content outstream position.",
38126	//         "Target ads to a specific device type (for example, tablet or connected TV).",
38127	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
38128	//         "Target ads to specific web browsers (for example, Chrome).",
38129	//         "Target ads to a specific household income range (for example, top 10%).",
38130	//         "Target ads in a specific on screen position.",
38131	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
38132	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
38133	//         "Filter website content by sensitive categories (for example, adult).",
38134	//         "Target ads to a specific environment (for example, web or app).",
38135	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
38136	//         "Target ads to a specific operating system (for example, macOS).",
38137	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
38138	//         "Target ads to a specific keyword (for example, dog or retriever).",
38139	//         "Target ads to a specific negative keyword list.",
38140	//         "Target ads to a specific viewability (for example, 80% viewable).",
38141	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
38142	//         "Purchase impressions from specific deals and auction packages.",
38143	//         "Target ads to a specific language (for example, English or Japanese).",
38144	//         "Target ads to ads.txt authorized sellers.",
38145	//         "Target ads to a specific regional location (for example, a city or state).",
38146	//         "Purchase impressions from a group of deals and auction packages.",
38147	//         "Purchase impressions from specific exchanges.",
38148	//         "Purchase impressions from specific sub-exchanges.",
38149	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
38150	//         "Target ads around locations of a business chain within a specific geo region.",
38151	//         "Target ads to a specific native content position.",
38152	//         "Target ads in an Open Measurement enabled inventory."
38153	//       ],
38154	//       "location": "path",
38155	//       "pattern": "^[^/]+$",
38156	//       "required": true,
38157	//       "type": "string"
38158	//     }
38159	//   },
38160	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
38161	//   "response": {
38162	//     "$ref": "AssignedTargetingOption"
38163	//   },
38164	//   "scopes": [
38165	//     "https://www.googleapis.com/auth/display-video"
38166	//   ]
38167	// }
38168
38169}
38170
38171// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.list":
38172
38173type PartnersTargetingTypesAssignedTargetingOptionsListCall struct {
38174	s             *Service
38175	partnerId     int64
38176	targetingType string
38177	urlParams_    gensupport.URLParams
38178	ifNoneMatch_  string
38179	ctx_          context.Context
38180	header_       http.Header
38181}
38182
38183// List: Lists the targeting options assigned to a partner.
38184//
38185// - partnerId: The ID of the partner.
38186// - targetingType: Identifies the type of assigned targeting options to
38187//   list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`.
38188func (r *PartnersTargetingTypesAssignedTargetingOptionsService) List(partnerId int64, targetingType string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38189	c := &PartnersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38190	c.partnerId = partnerId
38191	c.targetingType = targetingType
38192	return c
38193}
38194
38195// Filter sets the optional parameter "filter": Allows filtering by
38196// assigned targeting option properties. Supported syntax: * Filter
38197// expressions are made up of one or more restrictions. * Restrictions
38198// can be combined by the logical operator `OR`. * A restriction has the
38199// form of `{field} {operator} {value}`. * The operator must be `EQUALS
38200// (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: *
38201// AssignedTargetingOption with ID 123456
38202// `assignedTargetingOptionId="123456" The length of this field should
38203// be no more than 500 characters.
38204func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38205	c.urlParams_.Set("filter", filter)
38206	return c
38207}
38208
38209// OrderBy sets the optional parameter "orderBy": Field by which to sort
38210// the list. Acceptable values are: * `assignedTargetingOptionId`
38211// (default) The default sorting order is ascending. To specify
38212// descending order for a field, a suffix "desc" should be added to the
38213// field name. Example: `assignedTargetingOptionId desc`.
38214func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38215	c.urlParams_.Set("orderBy", orderBy)
38216	return c
38217}
38218
38219// PageSize sets the optional parameter "pageSize": Requested page size.
38220// Must be between `1` and `100`. If unspecified will default to `100`.
38221// Returns error code `INVALID_ARGUMENT` if an invalid value is
38222// specified.
38223func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38224	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
38225	return c
38226}
38227
38228// PageToken sets the optional parameter "pageToken": A token
38229// identifying a page of results the server should return. Typically,
38230// this is the value of next_page_token returned from the previous call
38231// to `ListPartnerAssignedTargetingOptions` method. If not specified,
38232// the first page of results will be returned.
38233func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38234	c.urlParams_.Set("pageToken", pageToken)
38235	return c
38236}
38237
38238// Fields allows partial responses to be retrieved. See
38239// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38240// for more information.
38241func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38242	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38243	return c
38244}
38245
38246// IfNoneMatch sets the optional parameter which makes the operation
38247// fail if the object's ETag matches the given value. This is useful for
38248// getting updates only after the object has changed since the last
38249// request. Use googleapi.IsNotModified to check whether the response
38250// error from Do is the result of In-None-Match.
38251func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38252	c.ifNoneMatch_ = entityTag
38253	return c
38254}
38255
38256// Context sets the context to be used in this call's Do method. Any
38257// pending HTTP request will be aborted if the provided context is
38258// canceled.
38259func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
38260	c.ctx_ = ctx
38261	return c
38262}
38263
38264// Header returns an http.Header that can be modified by the caller to
38265// add HTTP headers to the request.
38266func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
38267	if c.header_ == nil {
38268		c.header_ = make(http.Header)
38269	}
38270	return c.header_
38271}
38272
38273func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
38274	reqHeaders := make(http.Header)
38275	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
38276	for k, v := range c.header_ {
38277		reqHeaders[k] = v
38278	}
38279	reqHeaders.Set("User-Agent", c.s.userAgent())
38280	if c.ifNoneMatch_ != "" {
38281		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38282	}
38283	var body io.Reader = nil
38284	c.urlParams_.Set("alt", alt)
38285	c.urlParams_.Set("prettyPrint", "false")
38286	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
38287	urls += "?" + c.urlParams_.Encode()
38288	req, err := http.NewRequest("GET", urls, body)
38289	if err != nil {
38290		return nil, err
38291	}
38292	req.Header = reqHeaders
38293	googleapi.Expand(req.URL, map[string]string{
38294		"partnerId":     strconv.FormatInt(c.partnerId, 10),
38295		"targetingType": c.targetingType,
38296	})
38297	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38298}
38299
38300// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.list" call.
38301// Exactly one of *ListPartnerAssignedTargetingOptionsResponse or error
38302// will be non-nil. Any non-2xx status code is an error. Response
38303// headers are in either
38304// *ListPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or
38305// (if a response was returned at all) in
38306// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
38307// whether the returned error was because http.StatusNotModified was
38308// returned.
38309func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListPartnerAssignedTargetingOptionsResponse, error) {
38310	gensupport.SetOptions(c.urlParams_, opts...)
38311	res, err := c.doRequest("json")
38312	if res != nil && res.StatusCode == http.StatusNotModified {
38313		if res.Body != nil {
38314			res.Body.Close()
38315		}
38316		return nil, &googleapi.Error{
38317			Code:   res.StatusCode,
38318			Header: res.Header,
38319		}
38320	}
38321	if err != nil {
38322		return nil, err
38323	}
38324	defer googleapi.CloseBody(res)
38325	if err := googleapi.CheckResponse(res); err != nil {
38326		return nil, err
38327	}
38328	ret := &ListPartnerAssignedTargetingOptionsResponse{
38329		ServerResponse: googleapi.ServerResponse{
38330			Header:         res.Header,
38331			HTTPStatusCode: res.StatusCode,
38332		},
38333	}
38334	target := &ret
38335	if err := gensupport.DecodeResponse(target, res); err != nil {
38336		return nil, err
38337	}
38338	return ret, nil
38339	// {
38340	//   "description": "Lists the targeting options assigned to a partner.",
38341	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
38342	//   "httpMethod": "GET",
38343	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.list",
38344	//   "parameterOrder": [
38345	//     "partnerId",
38346	//     "targetingType"
38347	//   ],
38348	//   "parameters": {
38349	//     "filter": {
38350	//       "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.",
38351	//       "location": "query",
38352	//       "type": "string"
38353	//     },
38354	//     "orderBy": {
38355	//       "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`.",
38356	//       "location": "query",
38357	//       "type": "string"
38358	//     },
38359	//     "pageSize": {
38360	//       "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.",
38361	//       "format": "int32",
38362	//       "location": "query",
38363	//       "type": "integer"
38364	//     },
38365	//     "pageToken": {
38366	//       "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.",
38367	//       "location": "query",
38368	//       "type": "string"
38369	//     },
38370	//     "partnerId": {
38371	//       "description": "Required. The ID of the partner.",
38372	//       "format": "int64",
38373	//       "location": "path",
38374	//       "pattern": "^[^/]+$",
38375	//       "required": true,
38376	//       "type": "string"
38377	//     },
38378	//     "targetingType": {
38379	//       "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
38380	//       "enum": [
38381	//         "TARGETING_TYPE_UNSPECIFIED",
38382	//         "TARGETING_TYPE_CHANNEL",
38383	//         "TARGETING_TYPE_APP_CATEGORY",
38384	//         "TARGETING_TYPE_APP",
38385	//         "TARGETING_TYPE_URL",
38386	//         "TARGETING_TYPE_DAY_AND_TIME",
38387	//         "TARGETING_TYPE_AGE_RANGE",
38388	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
38389	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
38390	//         "TARGETING_TYPE_GENDER",
38391	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
38392	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
38393	//         "TARGETING_TYPE_PARENTAL_STATUS",
38394	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
38395	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
38396	//         "TARGETING_TYPE_DEVICE_TYPE",
38397	//         "TARGETING_TYPE_AUDIENCE_GROUP",
38398	//         "TARGETING_TYPE_BROWSER",
38399	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
38400	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
38401	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
38402	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
38403	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
38404	//         "TARGETING_TYPE_ENVIRONMENT",
38405	//         "TARGETING_TYPE_CARRIER_AND_ISP",
38406	//         "TARGETING_TYPE_OPERATING_SYSTEM",
38407	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
38408	//         "TARGETING_TYPE_KEYWORD",
38409	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
38410	//         "TARGETING_TYPE_VIEWABILITY",
38411	//         "TARGETING_TYPE_CATEGORY",
38412	//         "TARGETING_TYPE_INVENTORY_SOURCE",
38413	//         "TARGETING_TYPE_LANGUAGE",
38414	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
38415	//         "TARGETING_TYPE_GEO_REGION",
38416	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
38417	//         "TARGETING_TYPE_EXCHANGE",
38418	//         "TARGETING_TYPE_SUB_EXCHANGE",
38419	//         "TARGETING_TYPE_POI",
38420	//         "TARGETING_TYPE_BUSINESS_CHAIN",
38421	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
38422	//         "TARGETING_TYPE_OMID"
38423	//       ],
38424	//       "enumDescriptions": [
38425	//         "Default value when type is not specified or is unknown in this version.",
38426	//         "Target a channel (a custom group of related websites or apps).",
38427	//         "Target an app category (for example, education or puzzle games).",
38428	//         "Target a specific app (for example, Angry Birds).",
38429	//         "Target a specific url (for example, quora.com).",
38430	//         "Target ads during a chosen time period on a specific day.",
38431	//         "Target ads to a specific age range (for example, 18-24).",
38432	//         "Target ads to the specified regions on a regional location list.",
38433	//         "Target ads to the specified points of interest on a proximity location list.",
38434	//         "Target ads to a specific gender (for example, female or male).",
38435	//         "Target a specific video player size for video ads.",
38436	//         "Target user rewarded content for video ads.",
38437	//         "Target ads to a specific parental status (for example, parent or not a parent).",
38438	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
38439	//         "Target ads in a specific content outstream position.",
38440	//         "Target ads to a specific device type (for example, tablet or connected TV).",
38441	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
38442	//         "Target ads to specific web browsers (for example, Chrome).",
38443	//         "Target ads to a specific household income range (for example, top 10%).",
38444	//         "Target ads in a specific on screen position.",
38445	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
38446	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
38447	//         "Filter website content by sensitive categories (for example, adult).",
38448	//         "Target ads to a specific environment (for example, web or app).",
38449	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
38450	//         "Target ads to a specific operating system (for example, macOS).",
38451	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
38452	//         "Target ads to a specific keyword (for example, dog or retriever).",
38453	//         "Target ads to a specific negative keyword list.",
38454	//         "Target ads to a specific viewability (for example, 80% viewable).",
38455	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
38456	//         "Purchase impressions from specific deals and auction packages.",
38457	//         "Target ads to a specific language (for example, English or Japanese).",
38458	//         "Target ads to ads.txt authorized sellers.",
38459	//         "Target ads to a specific regional location (for example, a city or state).",
38460	//         "Purchase impressions from a group of deals and auction packages.",
38461	//         "Purchase impressions from specific exchanges.",
38462	//         "Purchase impressions from specific sub-exchanges.",
38463	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
38464	//         "Target ads around locations of a business chain within a specific geo region.",
38465	//         "Target ads to a specific native content position.",
38466	//         "Target ads in an Open Measurement enabled inventory."
38467	//       ],
38468	//       "location": "path",
38469	//       "pattern": "^[^/]+$",
38470	//       "required": true,
38471	//       "type": "string"
38472	//     }
38473	//   },
38474	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
38475	//   "response": {
38476	//     "$ref": "ListPartnerAssignedTargetingOptionsResponse"
38477	//   },
38478	//   "scopes": [
38479	//     "https://www.googleapis.com/auth/display-video"
38480	//   ]
38481	// }
38482
38483}
38484
38485// Pages invokes f for each page of results.
38486// A non-nil error returned from f will halt the iteration.
38487// The provided context supersedes any context provided to the Context method.
38488func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListPartnerAssignedTargetingOptionsResponse) error) error {
38489	c.ctx_ = ctx
38490	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38491	for {
38492		x, err := c.Do()
38493		if err != nil {
38494			return err
38495		}
38496		if err := f(x); err != nil {
38497			return err
38498		}
38499		if x.NextPageToken == "" {
38500			return nil
38501		}
38502		c.PageToken(x.NextPageToken)
38503	}
38504}
38505
38506// method id "displayvideo.sdfdownloadtasks.create":
38507
38508type SdfdownloadtasksCreateCall struct {
38509	s                            *Service
38510	createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest
38511	urlParams_                   gensupport.URLParams
38512	ctx_                         context.Context
38513	header_                      http.Header
38514}
38515
38516// Create: Creates an SDF Download Task. Returns an Operation. An SDF
38517// Download Task is a long-running, asynchronous operation. The metadata
38518// type of this operation is SdfDownloadTaskMetadata. If the request is
38519// successful, the response type of the operation is SdfDownloadTask.
38520// The response will not include the download files, which must be
38521// retrieved with media.download. The state of operation can be
38522// retrieved with sdfdownloadtask.operations.get. Any errors can be
38523// found in the error.message. Note that error.details is expected to be
38524// empty.
38525func (r *SdfdownloadtasksService) Create(createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest) *SdfdownloadtasksCreateCall {
38526	c := &SdfdownloadtasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38527	c.createsdfdownloadtaskrequest = createsdfdownloadtaskrequest
38528	return c
38529}
38530
38531// Fields allows partial responses to be retrieved. See
38532// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38533// for more information.
38534func (c *SdfdownloadtasksCreateCall) Fields(s ...googleapi.Field) *SdfdownloadtasksCreateCall {
38535	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38536	return c
38537}
38538
38539// Context sets the context to be used in this call's Do method. Any
38540// pending HTTP request will be aborted if the provided context is
38541// canceled.
38542func (c *SdfdownloadtasksCreateCall) Context(ctx context.Context) *SdfdownloadtasksCreateCall {
38543	c.ctx_ = ctx
38544	return c
38545}
38546
38547// Header returns an http.Header that can be modified by the caller to
38548// add HTTP headers to the request.
38549func (c *SdfdownloadtasksCreateCall) Header() http.Header {
38550	if c.header_ == nil {
38551		c.header_ = make(http.Header)
38552	}
38553	return c.header_
38554}
38555
38556func (c *SdfdownloadtasksCreateCall) doRequest(alt string) (*http.Response, error) {
38557	reqHeaders := make(http.Header)
38558	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
38559	for k, v := range c.header_ {
38560		reqHeaders[k] = v
38561	}
38562	reqHeaders.Set("User-Agent", c.s.userAgent())
38563	var body io.Reader = nil
38564	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createsdfdownloadtaskrequest)
38565	if err != nil {
38566		return nil, err
38567	}
38568	reqHeaders.Set("Content-Type", "application/json")
38569	c.urlParams_.Set("alt", alt)
38570	c.urlParams_.Set("prettyPrint", "false")
38571	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/sdfdownloadtasks")
38572	urls += "?" + c.urlParams_.Encode()
38573	req, err := http.NewRequest("POST", urls, body)
38574	if err != nil {
38575		return nil, err
38576	}
38577	req.Header = reqHeaders
38578	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38579}
38580
38581// Do executes the "displayvideo.sdfdownloadtasks.create" call.
38582// Exactly one of *Operation or error will be non-nil. Any non-2xx
38583// status code is an error. Response headers are in either
38584// *Operation.ServerResponse.Header or (if a response was returned at
38585// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
38586// to check whether the returned error was because
38587// http.StatusNotModified was returned.
38588func (c *SdfdownloadtasksCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
38589	gensupport.SetOptions(c.urlParams_, opts...)
38590	res, err := c.doRequest("json")
38591	if res != nil && res.StatusCode == http.StatusNotModified {
38592		if res.Body != nil {
38593			res.Body.Close()
38594		}
38595		return nil, &googleapi.Error{
38596			Code:   res.StatusCode,
38597			Header: res.Header,
38598		}
38599	}
38600	if err != nil {
38601		return nil, err
38602	}
38603	defer googleapi.CloseBody(res)
38604	if err := googleapi.CheckResponse(res); err != nil {
38605		return nil, err
38606	}
38607	ret := &Operation{
38608		ServerResponse: googleapi.ServerResponse{
38609			Header:         res.Header,
38610			HTTPStatusCode: res.StatusCode,
38611		},
38612	}
38613	target := &ret
38614	if err := gensupport.DecodeResponse(target, res); err != nil {
38615		return nil, err
38616	}
38617	return ret, nil
38618	// {
38619	//   "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.",
38620	//   "flatPath": "v1/sdfdownloadtasks",
38621	//   "httpMethod": "POST",
38622	//   "id": "displayvideo.sdfdownloadtasks.create",
38623	//   "parameterOrder": [],
38624	//   "parameters": {},
38625	//   "path": "v1/sdfdownloadtasks",
38626	//   "request": {
38627	//     "$ref": "CreateSdfDownloadTaskRequest"
38628	//   },
38629	//   "response": {
38630	//     "$ref": "Operation"
38631	//   },
38632	//   "scopes": [
38633	//     "https://www.googleapis.com/auth/display-video"
38634	//   ]
38635	// }
38636
38637}
38638
38639// method id "displayvideo.sdfdownloadtasks.operations.get":
38640
38641type SdfdownloadtasksOperationsGetCall struct {
38642	s            *Service
38643	name         string
38644	urlParams_   gensupport.URLParams
38645	ifNoneMatch_ string
38646	ctx_         context.Context
38647	header_      http.Header
38648}
38649
38650// Get: Gets the latest state of an asynchronous SDF download task
38651// operation. Clients should poll this method at intervals of 30
38652// seconds.
38653//
38654// - name: The name of the operation resource.
38655func (r *SdfdownloadtasksOperationsService) Get(name string) *SdfdownloadtasksOperationsGetCall {
38656	c := &SdfdownloadtasksOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38657	c.name = name
38658	return c
38659}
38660
38661// Fields allows partial responses to be retrieved. See
38662// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38663// for more information.
38664func (c *SdfdownloadtasksOperationsGetCall) Fields(s ...googleapi.Field) *SdfdownloadtasksOperationsGetCall {
38665	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38666	return c
38667}
38668
38669// IfNoneMatch sets the optional parameter which makes the operation
38670// fail if the object's ETag matches the given value. This is useful for
38671// getting updates only after the object has changed since the last
38672// request. Use googleapi.IsNotModified to check whether the response
38673// error from Do is the result of In-None-Match.
38674func (c *SdfdownloadtasksOperationsGetCall) IfNoneMatch(entityTag string) *SdfdownloadtasksOperationsGetCall {
38675	c.ifNoneMatch_ = entityTag
38676	return c
38677}
38678
38679// Context sets the context to be used in this call's Do method. Any
38680// pending HTTP request will be aborted if the provided context is
38681// canceled.
38682func (c *SdfdownloadtasksOperationsGetCall) Context(ctx context.Context) *SdfdownloadtasksOperationsGetCall {
38683	c.ctx_ = ctx
38684	return c
38685}
38686
38687// Header returns an http.Header that can be modified by the caller to
38688// add HTTP headers to the request.
38689func (c *SdfdownloadtasksOperationsGetCall) Header() http.Header {
38690	if c.header_ == nil {
38691		c.header_ = make(http.Header)
38692	}
38693	return c.header_
38694}
38695
38696func (c *SdfdownloadtasksOperationsGetCall) doRequest(alt string) (*http.Response, error) {
38697	reqHeaders := make(http.Header)
38698	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
38699	for k, v := range c.header_ {
38700		reqHeaders[k] = v
38701	}
38702	reqHeaders.Set("User-Agent", c.s.userAgent())
38703	if c.ifNoneMatch_ != "" {
38704		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38705	}
38706	var body io.Reader = nil
38707	c.urlParams_.Set("alt", alt)
38708	c.urlParams_.Set("prettyPrint", "false")
38709	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
38710	urls += "?" + c.urlParams_.Encode()
38711	req, err := http.NewRequest("GET", urls, body)
38712	if err != nil {
38713		return nil, err
38714	}
38715	req.Header = reqHeaders
38716	googleapi.Expand(req.URL, map[string]string{
38717		"name": c.name,
38718	})
38719	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38720}
38721
38722// Do executes the "displayvideo.sdfdownloadtasks.operations.get" call.
38723// Exactly one of *Operation or error will be non-nil. Any non-2xx
38724// status code is an error. Response headers are in either
38725// *Operation.ServerResponse.Header or (if a response was returned at
38726// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
38727// to check whether the returned error was because
38728// http.StatusNotModified was returned.
38729func (c *SdfdownloadtasksOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
38730	gensupport.SetOptions(c.urlParams_, opts...)
38731	res, err := c.doRequest("json")
38732	if res != nil && res.StatusCode == http.StatusNotModified {
38733		if res.Body != nil {
38734			res.Body.Close()
38735		}
38736		return nil, &googleapi.Error{
38737			Code:   res.StatusCode,
38738			Header: res.Header,
38739		}
38740	}
38741	if err != nil {
38742		return nil, err
38743	}
38744	defer googleapi.CloseBody(res)
38745	if err := googleapi.CheckResponse(res); err != nil {
38746		return nil, err
38747	}
38748	ret := &Operation{
38749		ServerResponse: googleapi.ServerResponse{
38750			Header:         res.Header,
38751			HTTPStatusCode: res.StatusCode,
38752		},
38753	}
38754	target := &ret
38755	if err := gensupport.DecodeResponse(target, res); err != nil {
38756		return nil, err
38757	}
38758	return ret, nil
38759	// {
38760	//   "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.",
38761	//   "flatPath": "v1/sdfdownloadtasks/operations/{operationsId}",
38762	//   "httpMethod": "GET",
38763	//   "id": "displayvideo.sdfdownloadtasks.operations.get",
38764	//   "parameterOrder": [
38765	//     "name"
38766	//   ],
38767	//   "parameters": {
38768	//     "name": {
38769	//       "description": "The name of the operation resource.",
38770	//       "location": "path",
38771	//       "pattern": "^sdfdownloadtasks/operations/[^/]+$",
38772	//       "required": true,
38773	//       "type": "string"
38774	//     }
38775	//   },
38776	//   "path": "v1/{+name}",
38777	//   "response": {
38778	//     "$ref": "Operation"
38779	//   },
38780	//   "scopes": [
38781	//     "https://www.googleapis.com/auth/display-video",
38782	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
38783	//   ]
38784	// }
38785
38786}
38787
38788// method id "displayvideo.targetingTypes.targetingOptions.get":
38789
38790type TargetingTypesTargetingOptionsGetCall struct {
38791	s                 *Service
38792	targetingType     string
38793	targetingOptionId string
38794	urlParams_        gensupport.URLParams
38795	ifNoneMatch_      string
38796	ctx_              context.Context
38797	header_           http.Header
38798}
38799
38800// Get: Gets a single targeting option.
38801//
38802// - targetingOptionId: The ID of the of targeting option to retrieve.
38803// - targetingType: The type of targeting option to retrieve.
38804func (r *TargetingTypesTargetingOptionsService) Get(targetingType string, targetingOptionId string) *TargetingTypesTargetingOptionsGetCall {
38805	c := &TargetingTypesTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38806	c.targetingType = targetingType
38807	c.targetingOptionId = targetingOptionId
38808	return c
38809}
38810
38811// AdvertiserId sets the optional parameter "advertiserId": Required.
38812// The Advertiser this request is being made in the context of.
38813func (c *TargetingTypesTargetingOptionsGetCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsGetCall {
38814	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
38815	return c
38816}
38817
38818// Fields allows partial responses to be retrieved. See
38819// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38820// for more information.
38821func (c *TargetingTypesTargetingOptionsGetCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsGetCall {
38822	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38823	return c
38824}
38825
38826// IfNoneMatch sets the optional parameter which makes the operation
38827// fail if the object's ETag matches the given value. This is useful for
38828// getting updates only after the object has changed since the last
38829// request. Use googleapi.IsNotModified to check whether the response
38830// error from Do is the result of In-None-Match.
38831func (c *TargetingTypesTargetingOptionsGetCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsGetCall {
38832	c.ifNoneMatch_ = entityTag
38833	return c
38834}
38835
38836// Context sets the context to be used in this call's Do method. Any
38837// pending HTTP request will be aborted if the provided context is
38838// canceled.
38839func (c *TargetingTypesTargetingOptionsGetCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsGetCall {
38840	c.ctx_ = ctx
38841	return c
38842}
38843
38844// Header returns an http.Header that can be modified by the caller to
38845// add HTTP headers to the request.
38846func (c *TargetingTypesTargetingOptionsGetCall) Header() http.Header {
38847	if c.header_ == nil {
38848		c.header_ = make(http.Header)
38849	}
38850	return c.header_
38851}
38852
38853func (c *TargetingTypesTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
38854	reqHeaders := make(http.Header)
38855	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
38856	for k, v := range c.header_ {
38857		reqHeaders[k] = v
38858	}
38859	reqHeaders.Set("User-Agent", c.s.userAgent())
38860	if c.ifNoneMatch_ != "" {
38861		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38862	}
38863	var body io.Reader = nil
38864	c.urlParams_.Set("alt", alt)
38865	c.urlParams_.Set("prettyPrint", "false")
38866	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}")
38867	urls += "?" + c.urlParams_.Encode()
38868	req, err := http.NewRequest("GET", urls, body)
38869	if err != nil {
38870		return nil, err
38871	}
38872	req.Header = reqHeaders
38873	googleapi.Expand(req.URL, map[string]string{
38874		"targetingType":     c.targetingType,
38875		"targetingOptionId": c.targetingOptionId,
38876	})
38877	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38878}
38879
38880// Do executes the "displayvideo.targetingTypes.targetingOptions.get" call.
38881// Exactly one of *TargetingOption or error will be non-nil. Any non-2xx
38882// status code is an error. Response headers are in either
38883// *TargetingOption.ServerResponse.Header or (if a response was returned
38884// at all) in error.(*googleapi.Error).Header. Use
38885// googleapi.IsNotModified to check whether the returned error was
38886// because http.StatusNotModified was returned.
38887func (c *TargetingTypesTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*TargetingOption, error) {
38888	gensupport.SetOptions(c.urlParams_, opts...)
38889	res, err := c.doRequest("json")
38890	if res != nil && res.StatusCode == http.StatusNotModified {
38891		if res.Body != nil {
38892			res.Body.Close()
38893		}
38894		return nil, &googleapi.Error{
38895			Code:   res.StatusCode,
38896			Header: res.Header,
38897		}
38898	}
38899	if err != nil {
38900		return nil, err
38901	}
38902	defer googleapi.CloseBody(res)
38903	if err := googleapi.CheckResponse(res); err != nil {
38904		return nil, err
38905	}
38906	ret := &TargetingOption{
38907		ServerResponse: googleapi.ServerResponse{
38908			Header:         res.Header,
38909			HTTPStatusCode: res.StatusCode,
38910		},
38911	}
38912	target := &ret
38913	if err := gensupport.DecodeResponse(target, res); err != nil {
38914		return nil, err
38915	}
38916	return ret, nil
38917	// {
38918	//   "description": "Gets a single targeting option.",
38919	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions/{targetingOptionsId}",
38920	//   "httpMethod": "GET",
38921	//   "id": "displayvideo.targetingTypes.targetingOptions.get",
38922	//   "parameterOrder": [
38923	//     "targetingType",
38924	//     "targetingOptionId"
38925	//   ],
38926	//   "parameters": {
38927	//     "advertiserId": {
38928	//       "description": "Required. The Advertiser this request is being made in the context of.",
38929	//       "format": "int64",
38930	//       "location": "query",
38931	//       "type": "string"
38932	//     },
38933	//     "targetingOptionId": {
38934	//       "description": "Required. The ID of the of targeting option to retrieve.",
38935	//       "location": "path",
38936	//       "pattern": "^[^/]+$",
38937	//       "required": true,
38938	//       "type": "string"
38939	//     },
38940	//     "targetingType": {
38941	//       "description": "Required. The type of targeting option to retrieve.",
38942	//       "enum": [
38943	//         "TARGETING_TYPE_UNSPECIFIED",
38944	//         "TARGETING_TYPE_CHANNEL",
38945	//         "TARGETING_TYPE_APP_CATEGORY",
38946	//         "TARGETING_TYPE_APP",
38947	//         "TARGETING_TYPE_URL",
38948	//         "TARGETING_TYPE_DAY_AND_TIME",
38949	//         "TARGETING_TYPE_AGE_RANGE",
38950	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
38951	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
38952	//         "TARGETING_TYPE_GENDER",
38953	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
38954	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
38955	//         "TARGETING_TYPE_PARENTAL_STATUS",
38956	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
38957	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
38958	//         "TARGETING_TYPE_DEVICE_TYPE",
38959	//         "TARGETING_TYPE_AUDIENCE_GROUP",
38960	//         "TARGETING_TYPE_BROWSER",
38961	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
38962	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
38963	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
38964	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
38965	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
38966	//         "TARGETING_TYPE_ENVIRONMENT",
38967	//         "TARGETING_TYPE_CARRIER_AND_ISP",
38968	//         "TARGETING_TYPE_OPERATING_SYSTEM",
38969	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
38970	//         "TARGETING_TYPE_KEYWORD",
38971	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
38972	//         "TARGETING_TYPE_VIEWABILITY",
38973	//         "TARGETING_TYPE_CATEGORY",
38974	//         "TARGETING_TYPE_INVENTORY_SOURCE",
38975	//         "TARGETING_TYPE_LANGUAGE",
38976	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
38977	//         "TARGETING_TYPE_GEO_REGION",
38978	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
38979	//         "TARGETING_TYPE_EXCHANGE",
38980	//         "TARGETING_TYPE_SUB_EXCHANGE",
38981	//         "TARGETING_TYPE_POI",
38982	//         "TARGETING_TYPE_BUSINESS_CHAIN",
38983	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
38984	//         "TARGETING_TYPE_OMID"
38985	//       ],
38986	//       "enumDescriptions": [
38987	//         "Default value when type is not specified or is unknown in this version.",
38988	//         "Target a channel (a custom group of related websites or apps).",
38989	//         "Target an app category (for example, education or puzzle games).",
38990	//         "Target a specific app (for example, Angry Birds).",
38991	//         "Target a specific url (for example, quora.com).",
38992	//         "Target ads during a chosen time period on a specific day.",
38993	//         "Target ads to a specific age range (for example, 18-24).",
38994	//         "Target ads to the specified regions on a regional location list.",
38995	//         "Target ads to the specified points of interest on a proximity location list.",
38996	//         "Target ads to a specific gender (for example, female or male).",
38997	//         "Target a specific video player size for video ads.",
38998	//         "Target user rewarded content for video ads.",
38999	//         "Target ads to a specific parental status (for example, parent or not a parent).",
39000	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
39001	//         "Target ads in a specific content outstream position.",
39002	//         "Target ads to a specific device type (for example, tablet or connected TV).",
39003	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
39004	//         "Target ads to specific web browsers (for example, Chrome).",
39005	//         "Target ads to a specific household income range (for example, top 10%).",
39006	//         "Target ads in a specific on screen position.",
39007	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
39008	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
39009	//         "Filter website content by sensitive categories (for example, adult).",
39010	//         "Target ads to a specific environment (for example, web or app).",
39011	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
39012	//         "Target ads to a specific operating system (for example, macOS).",
39013	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
39014	//         "Target ads to a specific keyword (for example, dog or retriever).",
39015	//         "Target ads to a specific negative keyword list.",
39016	//         "Target ads to a specific viewability (for example, 80% viewable).",
39017	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
39018	//         "Purchase impressions from specific deals and auction packages.",
39019	//         "Target ads to a specific language (for example, English or Japanese).",
39020	//         "Target ads to ads.txt authorized sellers.",
39021	//         "Target ads to a specific regional location (for example, a city or state).",
39022	//         "Purchase impressions from a group of deals and auction packages.",
39023	//         "Purchase impressions from specific exchanges.",
39024	//         "Purchase impressions from specific sub-exchanges.",
39025	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
39026	//         "Target ads around locations of a business chain within a specific geo region.",
39027	//         "Target ads to a specific native content position.",
39028	//         "Target ads in an Open Measurement enabled inventory."
39029	//       ],
39030	//       "location": "path",
39031	//       "pattern": "^[^/]+$",
39032	//       "required": true,
39033	//       "type": "string"
39034	//     }
39035	//   },
39036	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}",
39037	//   "response": {
39038	//     "$ref": "TargetingOption"
39039	//   },
39040	//   "scopes": [
39041	//     "https://www.googleapis.com/auth/display-video"
39042	//   ]
39043	// }
39044
39045}
39046
39047// method id "displayvideo.targetingTypes.targetingOptions.list":
39048
39049type TargetingTypesTargetingOptionsListCall struct {
39050	s             *Service
39051	targetingType string
39052	urlParams_    gensupport.URLParams
39053	ifNoneMatch_  string
39054	ctx_          context.Context
39055	header_       http.Header
39056}
39057
39058// List: Lists targeting options of a given type.
39059//
39060// - targetingType: The type of targeting option to be listed.
39061func (r *TargetingTypesTargetingOptionsService) List(targetingType string) *TargetingTypesTargetingOptionsListCall {
39062	c := &TargetingTypesTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39063	c.targetingType = targetingType
39064	return c
39065}
39066
39067// AdvertiserId sets the optional parameter "advertiserId": Required.
39068// The Advertiser this request is being made in the context of.
39069func (c *TargetingTypesTargetingOptionsListCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsListCall {
39070	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
39071	return c
39072}
39073
39074// Filter sets the optional parameter "filter": Allows filtering by
39075// targeting option properties. Supported syntax: * Filter expressions
39076// are made up of one or more restrictions. * Restrictions can be
39077// combined by `OR` logical operators. * A restriction has the form of
39078// `{field} {operator} {value}`. * The operator must be "=" (equal
39079// sign). * Supported fields: - `carrierAndIspDetails.type` -
39080// `geoRegionDetails.geoRegionType` - `targetingOptionId` Examples: *
39081// All `GEO REGION` targeting options that belong to sub type
39082// `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`:
39083// `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR
39084// geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE" * All
39085// `CARRIER AND ISP` targeting options that belong to sub type
39086// `CARRIER_AND_ISP_TYPE_CARRIER`:
39087// `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER". The
39088// length of this field should be no more than 500 characters.
39089func (c *TargetingTypesTargetingOptionsListCall) Filter(filter string) *TargetingTypesTargetingOptionsListCall {
39090	c.urlParams_.Set("filter", filter)
39091	return c
39092}
39093
39094// OrderBy sets the optional parameter "orderBy": Field by which to sort
39095// the list. Acceptable values are: * `targetingOptionId` (default) The
39096// default sorting order is ascending. To specify descending order for a
39097// field, a suffix "desc" should be added to the field name. Example:
39098// `targetingOptionId desc`.
39099func (c *TargetingTypesTargetingOptionsListCall) OrderBy(orderBy string) *TargetingTypesTargetingOptionsListCall {
39100	c.urlParams_.Set("orderBy", orderBy)
39101	return c
39102}
39103
39104// PageSize sets the optional parameter "pageSize": Requested page size.
39105// Must be between `1` and `100`. If unspecified will default to `100`.
39106// Returns error code `INVALID_ARGUMENT` if an invalid value is
39107// specified.
39108func (c *TargetingTypesTargetingOptionsListCall) PageSize(pageSize int64) *TargetingTypesTargetingOptionsListCall {
39109	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
39110	return c
39111}
39112
39113// PageToken sets the optional parameter "pageToken": A token
39114// identifying a page of results the server should return. Typically,
39115// this is the value of next_page_token returned from the previous call
39116// to `ListTargetingOptions` method. If not specified, the first page of
39117// results will be returned.
39118func (c *TargetingTypesTargetingOptionsListCall) PageToken(pageToken string) *TargetingTypesTargetingOptionsListCall {
39119	c.urlParams_.Set("pageToken", pageToken)
39120	return c
39121}
39122
39123// Fields allows partial responses to be retrieved. See
39124// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39125// for more information.
39126func (c *TargetingTypesTargetingOptionsListCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsListCall {
39127	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39128	return c
39129}
39130
39131// IfNoneMatch sets the optional parameter which makes the operation
39132// fail if the object's ETag matches the given value. This is useful for
39133// getting updates only after the object has changed since the last
39134// request. Use googleapi.IsNotModified to check whether the response
39135// error from Do is the result of In-None-Match.
39136func (c *TargetingTypesTargetingOptionsListCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsListCall {
39137	c.ifNoneMatch_ = entityTag
39138	return c
39139}
39140
39141// Context sets the context to be used in this call's Do method. Any
39142// pending HTTP request will be aborted if the provided context is
39143// canceled.
39144func (c *TargetingTypesTargetingOptionsListCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsListCall {
39145	c.ctx_ = ctx
39146	return c
39147}
39148
39149// Header returns an http.Header that can be modified by the caller to
39150// add HTTP headers to the request.
39151func (c *TargetingTypesTargetingOptionsListCall) Header() http.Header {
39152	if c.header_ == nil {
39153		c.header_ = make(http.Header)
39154	}
39155	return c.header_
39156}
39157
39158func (c *TargetingTypesTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
39159	reqHeaders := make(http.Header)
39160	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
39161	for k, v := range c.header_ {
39162		reqHeaders[k] = v
39163	}
39164	reqHeaders.Set("User-Agent", c.s.userAgent())
39165	if c.ifNoneMatch_ != "" {
39166		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39167	}
39168	var body io.Reader = nil
39169	c.urlParams_.Set("alt", alt)
39170	c.urlParams_.Set("prettyPrint", "false")
39171	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions")
39172	urls += "?" + c.urlParams_.Encode()
39173	req, err := http.NewRequest("GET", urls, body)
39174	if err != nil {
39175		return nil, err
39176	}
39177	req.Header = reqHeaders
39178	googleapi.Expand(req.URL, map[string]string{
39179		"targetingType": c.targetingType,
39180	})
39181	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39182}
39183
39184// Do executes the "displayvideo.targetingTypes.targetingOptions.list" call.
39185// Exactly one of *ListTargetingOptionsResponse or error will be
39186// non-nil. Any non-2xx status code is an error. Response headers are in
39187// either *ListTargetingOptionsResponse.ServerResponse.Header or (if a
39188// response was returned at all) in error.(*googleapi.Error).Header. Use
39189// googleapi.IsNotModified to check whether the returned error was
39190// because http.StatusNotModified was returned.
39191func (c *TargetingTypesTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListTargetingOptionsResponse, error) {
39192	gensupport.SetOptions(c.urlParams_, opts...)
39193	res, err := c.doRequest("json")
39194	if res != nil && res.StatusCode == http.StatusNotModified {
39195		if res.Body != nil {
39196			res.Body.Close()
39197		}
39198		return nil, &googleapi.Error{
39199			Code:   res.StatusCode,
39200			Header: res.Header,
39201		}
39202	}
39203	if err != nil {
39204		return nil, err
39205	}
39206	defer googleapi.CloseBody(res)
39207	if err := googleapi.CheckResponse(res); err != nil {
39208		return nil, err
39209	}
39210	ret := &ListTargetingOptionsResponse{
39211		ServerResponse: googleapi.ServerResponse{
39212			Header:         res.Header,
39213			HTTPStatusCode: res.StatusCode,
39214		},
39215	}
39216	target := &ret
39217	if err := gensupport.DecodeResponse(target, res); err != nil {
39218		return nil, err
39219	}
39220	return ret, nil
39221	// {
39222	//   "description": "Lists targeting options of a given type.",
39223	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions",
39224	//   "httpMethod": "GET",
39225	//   "id": "displayvideo.targetingTypes.targetingOptions.list",
39226	//   "parameterOrder": [
39227	//     "targetingType"
39228	//   ],
39229	//   "parameters": {
39230	//     "advertiserId": {
39231	//       "description": "Required. The Advertiser this request is being made in the context of.",
39232	//       "format": "int64",
39233	//       "location": "query",
39234	//       "type": "string"
39235	//     },
39236	//     "filter": {
39237	//       "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.",
39238	//       "location": "query",
39239	//       "type": "string"
39240	//     },
39241	//     "orderBy": {
39242	//       "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`.",
39243	//       "location": "query",
39244	//       "type": "string"
39245	//     },
39246	//     "pageSize": {
39247	//       "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.",
39248	//       "format": "int32",
39249	//       "location": "query",
39250	//       "type": "integer"
39251	//     },
39252	//     "pageToken": {
39253	//       "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.",
39254	//       "location": "query",
39255	//       "type": "string"
39256	//     },
39257	//     "targetingType": {
39258	//       "description": "Required. The type of targeting option to be listed.",
39259	//       "enum": [
39260	//         "TARGETING_TYPE_UNSPECIFIED",
39261	//         "TARGETING_TYPE_CHANNEL",
39262	//         "TARGETING_TYPE_APP_CATEGORY",
39263	//         "TARGETING_TYPE_APP",
39264	//         "TARGETING_TYPE_URL",
39265	//         "TARGETING_TYPE_DAY_AND_TIME",
39266	//         "TARGETING_TYPE_AGE_RANGE",
39267	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
39268	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
39269	//         "TARGETING_TYPE_GENDER",
39270	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
39271	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
39272	//         "TARGETING_TYPE_PARENTAL_STATUS",
39273	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
39274	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
39275	//         "TARGETING_TYPE_DEVICE_TYPE",
39276	//         "TARGETING_TYPE_AUDIENCE_GROUP",
39277	//         "TARGETING_TYPE_BROWSER",
39278	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
39279	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
39280	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
39281	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
39282	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
39283	//         "TARGETING_TYPE_ENVIRONMENT",
39284	//         "TARGETING_TYPE_CARRIER_AND_ISP",
39285	//         "TARGETING_TYPE_OPERATING_SYSTEM",
39286	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
39287	//         "TARGETING_TYPE_KEYWORD",
39288	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
39289	//         "TARGETING_TYPE_VIEWABILITY",
39290	//         "TARGETING_TYPE_CATEGORY",
39291	//         "TARGETING_TYPE_INVENTORY_SOURCE",
39292	//         "TARGETING_TYPE_LANGUAGE",
39293	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
39294	//         "TARGETING_TYPE_GEO_REGION",
39295	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
39296	//         "TARGETING_TYPE_EXCHANGE",
39297	//         "TARGETING_TYPE_SUB_EXCHANGE",
39298	//         "TARGETING_TYPE_POI",
39299	//         "TARGETING_TYPE_BUSINESS_CHAIN",
39300	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
39301	//         "TARGETING_TYPE_OMID"
39302	//       ],
39303	//       "enumDescriptions": [
39304	//         "Default value when type is not specified or is unknown in this version.",
39305	//         "Target a channel (a custom group of related websites or apps).",
39306	//         "Target an app category (for example, education or puzzle games).",
39307	//         "Target a specific app (for example, Angry Birds).",
39308	//         "Target a specific url (for example, quora.com).",
39309	//         "Target ads during a chosen time period on a specific day.",
39310	//         "Target ads to a specific age range (for example, 18-24).",
39311	//         "Target ads to the specified regions on a regional location list.",
39312	//         "Target ads to the specified points of interest on a proximity location list.",
39313	//         "Target ads to a specific gender (for example, female or male).",
39314	//         "Target a specific video player size for video ads.",
39315	//         "Target user rewarded content for video ads.",
39316	//         "Target ads to a specific parental status (for example, parent or not a parent).",
39317	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
39318	//         "Target ads in a specific content outstream position.",
39319	//         "Target ads to a specific device type (for example, tablet or connected TV).",
39320	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
39321	//         "Target ads to specific web browsers (for example, Chrome).",
39322	//         "Target ads to a specific household income range (for example, top 10%).",
39323	//         "Target ads in a specific on screen position.",
39324	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
39325	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
39326	//         "Filter website content by sensitive categories (for example, adult).",
39327	//         "Target ads to a specific environment (for example, web or app).",
39328	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
39329	//         "Target ads to a specific operating system (for example, macOS).",
39330	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
39331	//         "Target ads to a specific keyword (for example, dog or retriever).",
39332	//         "Target ads to a specific negative keyword list.",
39333	//         "Target ads to a specific viewability (for example, 80% viewable).",
39334	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
39335	//         "Purchase impressions from specific deals and auction packages.",
39336	//         "Target ads to a specific language (for example, English or Japanese).",
39337	//         "Target ads to ads.txt authorized sellers.",
39338	//         "Target ads to a specific regional location (for example, a city or state).",
39339	//         "Purchase impressions from a group of deals and auction packages.",
39340	//         "Purchase impressions from specific exchanges.",
39341	//         "Purchase impressions from specific sub-exchanges.",
39342	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
39343	//         "Target ads around locations of a business chain within a specific geo region.",
39344	//         "Target ads to a specific native content position.",
39345	//         "Target ads in an Open Measurement enabled inventory."
39346	//       ],
39347	//       "location": "path",
39348	//       "pattern": "^[^/]+$",
39349	//       "required": true,
39350	//       "type": "string"
39351	//     }
39352	//   },
39353	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions",
39354	//   "response": {
39355	//     "$ref": "ListTargetingOptionsResponse"
39356	//   },
39357	//   "scopes": [
39358	//     "https://www.googleapis.com/auth/display-video"
39359	//   ]
39360	// }
39361
39362}
39363
39364// Pages invokes f for each page of results.
39365// A non-nil error returned from f will halt the iteration.
39366// The provided context supersedes any context provided to the Context method.
39367func (c *TargetingTypesTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListTargetingOptionsResponse) error) error {
39368	c.ctx_ = ctx
39369	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39370	for {
39371		x, err := c.Do()
39372		if err != nil {
39373			return err
39374		}
39375		if err := f(x); err != nil {
39376			return err
39377		}
39378		if x.NextPageToken == "" {
39379			return nil
39380		}
39381		c.PageToken(x.NextPageToken)
39382	}
39383}
39384
39385// method id "displayvideo.targetingTypes.targetingOptions.search":
39386
39387type TargetingTypesTargetingOptionsSearchCall struct {
39388	s                             *Service
39389	targetingType                 string
39390	searchtargetingoptionsrequest *SearchTargetingOptionsRequest
39391	urlParams_                    gensupport.URLParams
39392	ctx_                          context.Context
39393	header_                       http.Header
39394}
39395
39396// Search: Searches for targeting options of a given type based on the
39397// given search terms.
39398//
39399// - targetingType: The type of targeting options to retrieve. Accepted
39400//   values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` *
39401//   `TARGETING_TYPE_BUSINESS_CHAIN`.
39402func (r *TargetingTypesTargetingOptionsService) Search(targetingType string, searchtargetingoptionsrequest *SearchTargetingOptionsRequest) *TargetingTypesTargetingOptionsSearchCall {
39403	c := &TargetingTypesTargetingOptionsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39404	c.targetingType = targetingType
39405	c.searchtargetingoptionsrequest = searchtargetingoptionsrequest
39406	return c
39407}
39408
39409// Fields allows partial responses to be retrieved. See
39410// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39411// for more information.
39412func (c *TargetingTypesTargetingOptionsSearchCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsSearchCall {
39413	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39414	return c
39415}
39416
39417// Context sets the context to be used in this call's Do method. Any
39418// pending HTTP request will be aborted if the provided context is
39419// canceled.
39420func (c *TargetingTypesTargetingOptionsSearchCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsSearchCall {
39421	c.ctx_ = ctx
39422	return c
39423}
39424
39425// Header returns an http.Header that can be modified by the caller to
39426// add HTTP headers to the request.
39427func (c *TargetingTypesTargetingOptionsSearchCall) Header() http.Header {
39428	if c.header_ == nil {
39429		c.header_ = make(http.Header)
39430	}
39431	return c.header_
39432}
39433
39434func (c *TargetingTypesTargetingOptionsSearchCall) doRequest(alt string) (*http.Response, error) {
39435	reqHeaders := make(http.Header)
39436	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
39437	for k, v := range c.header_ {
39438		reqHeaders[k] = v
39439	}
39440	reqHeaders.Set("User-Agent", c.s.userAgent())
39441	var body io.Reader = nil
39442	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchtargetingoptionsrequest)
39443	if err != nil {
39444		return nil, err
39445	}
39446	reqHeaders.Set("Content-Type", "application/json")
39447	c.urlParams_.Set("alt", alt)
39448	c.urlParams_.Set("prettyPrint", "false")
39449	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions:search")
39450	urls += "?" + c.urlParams_.Encode()
39451	req, err := http.NewRequest("POST", urls, body)
39452	if err != nil {
39453		return nil, err
39454	}
39455	req.Header = reqHeaders
39456	googleapi.Expand(req.URL, map[string]string{
39457		"targetingType": c.targetingType,
39458	})
39459	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39460}
39461
39462// Do executes the "displayvideo.targetingTypes.targetingOptions.search" call.
39463// Exactly one of *SearchTargetingOptionsResponse or error will be
39464// non-nil. Any non-2xx status code is an error. Response headers are in
39465// either *SearchTargetingOptionsResponse.ServerResponse.Header or (if a
39466// response was returned at all) in error.(*googleapi.Error).Header. Use
39467// googleapi.IsNotModified to check whether the returned error was
39468// because http.StatusNotModified was returned.
39469func (c *TargetingTypesTargetingOptionsSearchCall) Do(opts ...googleapi.CallOption) (*SearchTargetingOptionsResponse, error) {
39470	gensupport.SetOptions(c.urlParams_, opts...)
39471	res, err := c.doRequest("json")
39472	if res != nil && res.StatusCode == http.StatusNotModified {
39473		if res.Body != nil {
39474			res.Body.Close()
39475		}
39476		return nil, &googleapi.Error{
39477			Code:   res.StatusCode,
39478			Header: res.Header,
39479		}
39480	}
39481	if err != nil {
39482		return nil, err
39483	}
39484	defer googleapi.CloseBody(res)
39485	if err := googleapi.CheckResponse(res); err != nil {
39486		return nil, err
39487	}
39488	ret := &SearchTargetingOptionsResponse{
39489		ServerResponse: googleapi.ServerResponse{
39490			Header:         res.Header,
39491			HTTPStatusCode: res.StatusCode,
39492		},
39493	}
39494	target := &ret
39495	if err := gensupport.DecodeResponse(target, res); err != nil {
39496		return nil, err
39497	}
39498	return ret, nil
39499	// {
39500	//   "description": "Searches for targeting options of a given type based on the given search terms.",
39501	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions:search",
39502	//   "httpMethod": "POST",
39503	//   "id": "displayvideo.targetingTypes.targetingOptions.search",
39504	//   "parameterOrder": [
39505	//     "targetingType"
39506	//   ],
39507	//   "parameters": {
39508	//     "targetingType": {
39509	//       "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN`",
39510	//       "enum": [
39511	//         "TARGETING_TYPE_UNSPECIFIED",
39512	//         "TARGETING_TYPE_CHANNEL",
39513	//         "TARGETING_TYPE_APP_CATEGORY",
39514	//         "TARGETING_TYPE_APP",
39515	//         "TARGETING_TYPE_URL",
39516	//         "TARGETING_TYPE_DAY_AND_TIME",
39517	//         "TARGETING_TYPE_AGE_RANGE",
39518	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
39519	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
39520	//         "TARGETING_TYPE_GENDER",
39521	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
39522	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
39523	//         "TARGETING_TYPE_PARENTAL_STATUS",
39524	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
39525	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
39526	//         "TARGETING_TYPE_DEVICE_TYPE",
39527	//         "TARGETING_TYPE_AUDIENCE_GROUP",
39528	//         "TARGETING_TYPE_BROWSER",
39529	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
39530	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
39531	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
39532	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
39533	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
39534	//         "TARGETING_TYPE_ENVIRONMENT",
39535	//         "TARGETING_TYPE_CARRIER_AND_ISP",
39536	//         "TARGETING_TYPE_OPERATING_SYSTEM",
39537	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
39538	//         "TARGETING_TYPE_KEYWORD",
39539	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
39540	//         "TARGETING_TYPE_VIEWABILITY",
39541	//         "TARGETING_TYPE_CATEGORY",
39542	//         "TARGETING_TYPE_INVENTORY_SOURCE",
39543	//         "TARGETING_TYPE_LANGUAGE",
39544	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
39545	//         "TARGETING_TYPE_GEO_REGION",
39546	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
39547	//         "TARGETING_TYPE_EXCHANGE",
39548	//         "TARGETING_TYPE_SUB_EXCHANGE",
39549	//         "TARGETING_TYPE_POI",
39550	//         "TARGETING_TYPE_BUSINESS_CHAIN",
39551	//         "TARGETING_TYPE_NATIVE_CONTENT_POSITION",
39552	//         "TARGETING_TYPE_OMID"
39553	//       ],
39554	//       "enumDescriptions": [
39555	//         "Default value when type is not specified or is unknown in this version.",
39556	//         "Target a channel (a custom group of related websites or apps).",
39557	//         "Target an app category (for example, education or puzzle games).",
39558	//         "Target a specific app (for example, Angry Birds).",
39559	//         "Target a specific url (for example, quora.com).",
39560	//         "Target ads during a chosen time period on a specific day.",
39561	//         "Target ads to a specific age range (for example, 18-24).",
39562	//         "Target ads to the specified regions on a regional location list.",
39563	//         "Target ads to the specified points of interest on a proximity location list.",
39564	//         "Target ads to a specific gender (for example, female or male).",
39565	//         "Target a specific video player size for video ads.",
39566	//         "Target user rewarded content for video ads.",
39567	//         "Target ads to a specific parental status (for example, parent or not a parent).",
39568	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
39569	//         "Target ads in a specific content outstream position.",
39570	//         "Target ads to a specific device type (for example, tablet or connected TV).",
39571	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
39572	//         "Target ads to specific web browsers (for example, Chrome).",
39573	//         "Target ads to a specific household income range (for example, top 10%).",
39574	//         "Target ads in a specific on screen position.",
39575	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
39576	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
39577	//         "Filter website content by sensitive categories (for example, adult).",
39578	//         "Target ads to a specific environment (for example, web or app).",
39579	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
39580	//         "Target ads to a specific operating system (for example, macOS).",
39581	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
39582	//         "Target ads to a specific keyword (for example, dog or retriever).",
39583	//         "Target ads to a specific negative keyword list.",
39584	//         "Target ads to a specific viewability (for example, 80% viewable).",
39585	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
39586	//         "Purchase impressions from specific deals and auction packages.",
39587	//         "Target ads to a specific language (for example, English or Japanese).",
39588	//         "Target ads to ads.txt authorized sellers.",
39589	//         "Target ads to a specific regional location (for example, a city or state).",
39590	//         "Purchase impressions from a group of deals and auction packages.",
39591	//         "Purchase impressions from specific exchanges.",
39592	//         "Purchase impressions from specific sub-exchanges.",
39593	//         "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.",
39594	//         "Target ads around locations of a business chain within a specific geo region.",
39595	//         "Target ads to a specific native content position.",
39596	//         "Target ads in an Open Measurement enabled inventory."
39597	//       ],
39598	//       "location": "path",
39599	//       "pattern": "^[^/]+$",
39600	//       "required": true,
39601	//       "type": "string"
39602	//     }
39603	//   },
39604	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions:search",
39605	//   "request": {
39606	//     "$ref": "SearchTargetingOptionsRequest"
39607	//   },
39608	//   "response": {
39609	//     "$ref": "SearchTargetingOptionsResponse"
39610	//   },
39611	//   "scopes": [
39612	//     "https://www.googleapis.com/auth/display-video"
39613	//   ]
39614	// }
39615
39616}
39617
39618// Pages invokes f for each page of results.
39619// A non-nil error returned from f will halt the iteration.
39620// The provided context supersedes any context provided to the Context method.
39621func (c *TargetingTypesTargetingOptionsSearchCall) Pages(ctx context.Context, f func(*SearchTargetingOptionsResponse) error) error {
39622	c.ctx_ = ctx
39623	defer func(pt string) { c.searchtargetingoptionsrequest.PageToken = pt }(c.searchtargetingoptionsrequest.PageToken) // reset paging to original point
39624	for {
39625		x, err := c.Do()
39626		if err != nil {
39627			return err
39628		}
39629		if err := f(x); err != nil {
39630			return err
39631		}
39632		if x.NextPageToken == "" {
39633			return nil
39634		}
39635		c.searchtargetingoptionsrequest.PageToken = x.NextPageToken
39636	}
39637}
39638
39639// method id "displayvideo.users.bulkEditAssignedUserRoles":
39640
39641type UsersBulkEditAssignedUserRolesCall struct {
39642	s                                *Service
39643	userId                           int64
39644	bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest
39645	urlParams_                       gensupport.URLParams
39646	ctx_                             context.Context
39647	header_                          http.Header
39648}
39649
39650// BulkEditAssignedUserRoles: Bulk edits user roles for a user. The
39651// operation will delete the assigned user roles provided in
39652// BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then
39653// assign the user roles provided in
39654// BulkEditAssignedUserRolesRequest.createdAssignedUserRoles.
39655//
39656// - userId: The ID of the user to which the assigned user roles belong.
39657func (r *UsersService) BulkEditAssignedUserRoles(userId int64, bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest) *UsersBulkEditAssignedUserRolesCall {
39658	c := &UsersBulkEditAssignedUserRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39659	c.userId = userId
39660	c.bulkeditassigneduserrolesrequest = bulkeditassigneduserrolesrequest
39661	return c
39662}
39663
39664// Fields allows partial responses to be retrieved. See
39665// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39666// for more information.
39667func (c *UsersBulkEditAssignedUserRolesCall) Fields(s ...googleapi.Field) *UsersBulkEditAssignedUserRolesCall {
39668	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39669	return c
39670}
39671
39672// Context sets the context to be used in this call's Do method. Any
39673// pending HTTP request will be aborted if the provided context is
39674// canceled.
39675func (c *UsersBulkEditAssignedUserRolesCall) Context(ctx context.Context) *UsersBulkEditAssignedUserRolesCall {
39676	c.ctx_ = ctx
39677	return c
39678}
39679
39680// Header returns an http.Header that can be modified by the caller to
39681// add HTTP headers to the request.
39682func (c *UsersBulkEditAssignedUserRolesCall) Header() http.Header {
39683	if c.header_ == nil {
39684		c.header_ = make(http.Header)
39685	}
39686	return c.header_
39687}
39688
39689func (c *UsersBulkEditAssignedUserRolesCall) doRequest(alt string) (*http.Response, error) {
39690	reqHeaders := make(http.Header)
39691	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
39692	for k, v := range c.header_ {
39693		reqHeaders[k] = v
39694	}
39695	reqHeaders.Set("User-Agent", c.s.userAgent())
39696	var body io.Reader = nil
39697	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassigneduserrolesrequest)
39698	if err != nil {
39699		return nil, err
39700	}
39701	reqHeaders.Set("Content-Type", "application/json")
39702	c.urlParams_.Set("alt", alt)
39703	c.urlParams_.Set("prettyPrint", "false")
39704	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}:bulkEditAssignedUserRoles")
39705	urls += "?" + c.urlParams_.Encode()
39706	req, err := http.NewRequest("POST", urls, body)
39707	if err != nil {
39708		return nil, err
39709	}
39710	req.Header = reqHeaders
39711	googleapi.Expand(req.URL, map[string]string{
39712		"userId": strconv.FormatInt(c.userId, 10),
39713	})
39714	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39715}
39716
39717// Do executes the "displayvideo.users.bulkEditAssignedUserRoles" call.
39718// Exactly one of *BulkEditAssignedUserRolesResponse or error will be
39719// non-nil. Any non-2xx status code is an error. Response headers are in
39720// either *BulkEditAssignedUserRolesResponse.ServerResponse.Header or
39721// (if a response was returned at all) in
39722// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
39723// whether the returned error was because http.StatusNotModified was
39724// returned.
39725func (c *UsersBulkEditAssignedUserRolesCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedUserRolesResponse, error) {
39726	gensupport.SetOptions(c.urlParams_, opts...)
39727	res, err := c.doRequest("json")
39728	if res != nil && res.StatusCode == http.StatusNotModified {
39729		if res.Body != nil {
39730			res.Body.Close()
39731		}
39732		return nil, &googleapi.Error{
39733			Code:   res.StatusCode,
39734			Header: res.Header,
39735		}
39736	}
39737	if err != nil {
39738		return nil, err
39739	}
39740	defer googleapi.CloseBody(res)
39741	if err := googleapi.CheckResponse(res); err != nil {
39742		return nil, err
39743	}
39744	ret := &BulkEditAssignedUserRolesResponse{
39745		ServerResponse: googleapi.ServerResponse{
39746			Header:         res.Header,
39747			HTTPStatusCode: res.StatusCode,
39748		},
39749	}
39750	target := &ret
39751	if err := gensupport.DecodeResponse(target, res); err != nil {
39752		return nil, err
39753	}
39754	return ret, nil
39755	// {
39756	//   "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.",
39757	//   "flatPath": "v1/users/{usersId}:bulkEditAssignedUserRoles",
39758	//   "httpMethod": "POST",
39759	//   "id": "displayvideo.users.bulkEditAssignedUserRoles",
39760	//   "parameterOrder": [
39761	//     "userId"
39762	//   ],
39763	//   "parameters": {
39764	//     "userId": {
39765	//       "description": "Required. The ID of the user to which the assigned user roles belong.",
39766	//       "format": "int64",
39767	//       "location": "path",
39768	//       "pattern": "^[^/]+$",
39769	//       "required": true,
39770	//       "type": "string"
39771	//     }
39772	//   },
39773	//   "path": "v1/users/{+userId}:bulkEditAssignedUserRoles",
39774	//   "request": {
39775	//     "$ref": "BulkEditAssignedUserRolesRequest"
39776	//   },
39777	//   "response": {
39778	//     "$ref": "BulkEditAssignedUserRolesResponse"
39779	//   },
39780	//   "scopes": [
39781	//     "https://www.googleapis.com/auth/display-video-user-management"
39782	//   ]
39783	// }
39784
39785}
39786
39787// method id "displayvideo.users.create":
39788
39789type UsersCreateCall struct {
39790	s          *Service
39791	user       *User
39792	urlParams_ gensupport.URLParams
39793	ctx_       context.Context
39794	header_    http.Header
39795}
39796
39797// Create: Creates a new user. Returns the newly created user if
39798// successful.
39799func (r *UsersService) Create(user *User) *UsersCreateCall {
39800	c := &UsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39801	c.user = user
39802	return c
39803}
39804
39805// Fields allows partial responses to be retrieved. See
39806// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39807// for more information.
39808func (c *UsersCreateCall) Fields(s ...googleapi.Field) *UsersCreateCall {
39809	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39810	return c
39811}
39812
39813// Context sets the context to be used in this call's Do method. Any
39814// pending HTTP request will be aborted if the provided context is
39815// canceled.
39816func (c *UsersCreateCall) Context(ctx context.Context) *UsersCreateCall {
39817	c.ctx_ = ctx
39818	return c
39819}
39820
39821// Header returns an http.Header that can be modified by the caller to
39822// add HTTP headers to the request.
39823func (c *UsersCreateCall) Header() http.Header {
39824	if c.header_ == nil {
39825		c.header_ = make(http.Header)
39826	}
39827	return c.header_
39828}
39829
39830func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) {
39831	reqHeaders := make(http.Header)
39832	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
39833	for k, v := range c.header_ {
39834		reqHeaders[k] = v
39835	}
39836	reqHeaders.Set("User-Agent", c.s.userAgent())
39837	var body io.Reader = nil
39838	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
39839	if err != nil {
39840		return nil, err
39841	}
39842	reqHeaders.Set("Content-Type", "application/json")
39843	c.urlParams_.Set("alt", alt)
39844	c.urlParams_.Set("prettyPrint", "false")
39845	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users")
39846	urls += "?" + c.urlParams_.Encode()
39847	req, err := http.NewRequest("POST", urls, body)
39848	if err != nil {
39849		return nil, err
39850	}
39851	req.Header = reqHeaders
39852	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39853}
39854
39855// Do executes the "displayvideo.users.create" call.
39856// Exactly one of *User or error will be non-nil. Any non-2xx status
39857// code is an error. Response headers are in either
39858// *User.ServerResponse.Header or (if a response was returned at all) in
39859// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
39860// whether the returned error was because http.StatusNotModified was
39861// returned.
39862func (c *UsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) {
39863	gensupport.SetOptions(c.urlParams_, opts...)
39864	res, err := c.doRequest("json")
39865	if res != nil && res.StatusCode == http.StatusNotModified {
39866		if res.Body != nil {
39867			res.Body.Close()
39868		}
39869		return nil, &googleapi.Error{
39870			Code:   res.StatusCode,
39871			Header: res.Header,
39872		}
39873	}
39874	if err != nil {
39875		return nil, err
39876	}
39877	defer googleapi.CloseBody(res)
39878	if err := googleapi.CheckResponse(res); err != nil {
39879		return nil, err
39880	}
39881	ret := &User{
39882		ServerResponse: googleapi.ServerResponse{
39883			Header:         res.Header,
39884			HTTPStatusCode: res.StatusCode,
39885		},
39886	}
39887	target := &ret
39888	if err := gensupport.DecodeResponse(target, res); err != nil {
39889		return nil, err
39890	}
39891	return ret, nil
39892	// {
39893	//   "description": "Creates a new user. Returns the newly created user if successful.",
39894	//   "flatPath": "v1/users",
39895	//   "httpMethod": "POST",
39896	//   "id": "displayvideo.users.create",
39897	//   "parameterOrder": [],
39898	//   "parameters": {},
39899	//   "path": "v1/users",
39900	//   "request": {
39901	//     "$ref": "User"
39902	//   },
39903	//   "response": {
39904	//     "$ref": "User"
39905	//   },
39906	//   "scopes": [
39907	//     "https://www.googleapis.com/auth/display-video-user-management"
39908	//   ]
39909	// }
39910
39911}
39912
39913// method id "displayvideo.users.delete":
39914
39915type UsersDeleteCall struct {
39916	s          *Service
39917	userId     int64
39918	urlParams_ gensupport.URLParams
39919	ctx_       context.Context
39920	header_    http.Header
39921}
39922
39923// Delete: Deletes a user.
39924//
39925// - userId: The ID of the user to delete.
39926func (r *UsersService) Delete(userId int64) *UsersDeleteCall {
39927	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39928	c.userId = userId
39929	return c
39930}
39931
39932// Fields allows partial responses to be retrieved. See
39933// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39934// for more information.
39935func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
39936	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39937	return c
39938}
39939
39940// Context sets the context to be used in this call's Do method. Any
39941// pending HTTP request will be aborted if the provided context is
39942// canceled.
39943func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
39944	c.ctx_ = ctx
39945	return c
39946}
39947
39948// Header returns an http.Header that can be modified by the caller to
39949// add HTTP headers to the request.
39950func (c *UsersDeleteCall) Header() http.Header {
39951	if c.header_ == nil {
39952		c.header_ = make(http.Header)
39953	}
39954	return c.header_
39955}
39956
39957func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
39958	reqHeaders := make(http.Header)
39959	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
39960	for k, v := range c.header_ {
39961		reqHeaders[k] = v
39962	}
39963	reqHeaders.Set("User-Agent", c.s.userAgent())
39964	var body io.Reader = nil
39965	c.urlParams_.Set("alt", alt)
39966	c.urlParams_.Set("prettyPrint", "false")
39967	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
39968	urls += "?" + c.urlParams_.Encode()
39969	req, err := http.NewRequest("DELETE", urls, body)
39970	if err != nil {
39971		return nil, err
39972	}
39973	req.Header = reqHeaders
39974	googleapi.Expand(req.URL, map[string]string{
39975		"userId": strconv.FormatInt(c.userId, 10),
39976	})
39977	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39978}
39979
39980// Do executes the "displayvideo.users.delete" call.
39981// Exactly one of *Empty or error will be non-nil. Any non-2xx status
39982// code is an error. Response headers are in either
39983// *Empty.ServerResponse.Header or (if a response was returned at all)
39984// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
39985// check whether the returned error was because http.StatusNotModified
39986// was returned.
39987func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
39988	gensupport.SetOptions(c.urlParams_, opts...)
39989	res, err := c.doRequest("json")
39990	if res != nil && res.StatusCode == http.StatusNotModified {
39991		if res.Body != nil {
39992			res.Body.Close()
39993		}
39994		return nil, &googleapi.Error{
39995			Code:   res.StatusCode,
39996			Header: res.Header,
39997		}
39998	}
39999	if err != nil {
40000		return nil, err
40001	}
40002	defer googleapi.CloseBody(res)
40003	if err := googleapi.CheckResponse(res); err != nil {
40004		return nil, err
40005	}
40006	ret := &Empty{
40007		ServerResponse: googleapi.ServerResponse{
40008			Header:         res.Header,
40009			HTTPStatusCode: res.StatusCode,
40010		},
40011	}
40012	target := &ret
40013	if err := gensupport.DecodeResponse(target, res); err != nil {
40014		return nil, err
40015	}
40016	return ret, nil
40017	// {
40018	//   "description": "Deletes a user.",
40019	//   "flatPath": "v1/users/{usersId}",
40020	//   "httpMethod": "DELETE",
40021	//   "id": "displayvideo.users.delete",
40022	//   "parameterOrder": [
40023	//     "userId"
40024	//   ],
40025	//   "parameters": {
40026	//     "userId": {
40027	//       "description": "Required. The ID of the user to delete.",
40028	//       "format": "int64",
40029	//       "location": "path",
40030	//       "pattern": "^[^/]+$",
40031	//       "required": true,
40032	//       "type": "string"
40033	//     }
40034	//   },
40035	//   "path": "v1/users/{+userId}",
40036	//   "response": {
40037	//     "$ref": "Empty"
40038	//   },
40039	//   "scopes": [
40040	//     "https://www.googleapis.com/auth/display-video-user-management"
40041	//   ]
40042	// }
40043
40044}
40045
40046// method id "displayvideo.users.get":
40047
40048type UsersGetCall struct {
40049	s            *Service
40050	userId       int64
40051	urlParams_   gensupport.URLParams
40052	ifNoneMatch_ string
40053	ctx_         context.Context
40054	header_      http.Header
40055}
40056
40057// Get: Gets a user.
40058//
40059// - userId: The ID of the user to fetch.
40060func (r *UsersService) Get(userId int64) *UsersGetCall {
40061	c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40062	c.userId = userId
40063	return c
40064}
40065
40066// Fields allows partial responses to be retrieved. See
40067// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40068// for more information.
40069func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
40070	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40071	return c
40072}
40073
40074// IfNoneMatch sets the optional parameter which makes the operation
40075// fail if the object's ETag matches the given value. This is useful for
40076// getting updates only after the object has changed since the last
40077// request. Use googleapi.IsNotModified to check whether the response
40078// error from Do is the result of In-None-Match.
40079func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
40080	c.ifNoneMatch_ = entityTag
40081	return c
40082}
40083
40084// Context sets the context to be used in this call's Do method. Any
40085// pending HTTP request will be aborted if the provided context is
40086// canceled.
40087func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
40088	c.ctx_ = ctx
40089	return c
40090}
40091
40092// Header returns an http.Header that can be modified by the caller to
40093// add HTTP headers to the request.
40094func (c *UsersGetCall) Header() http.Header {
40095	if c.header_ == nil {
40096		c.header_ = make(http.Header)
40097	}
40098	return c.header_
40099}
40100
40101func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
40102	reqHeaders := make(http.Header)
40103	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
40104	for k, v := range c.header_ {
40105		reqHeaders[k] = v
40106	}
40107	reqHeaders.Set("User-Agent", c.s.userAgent())
40108	if c.ifNoneMatch_ != "" {
40109		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40110	}
40111	var body io.Reader = nil
40112	c.urlParams_.Set("alt", alt)
40113	c.urlParams_.Set("prettyPrint", "false")
40114	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
40115	urls += "?" + c.urlParams_.Encode()
40116	req, err := http.NewRequest("GET", urls, body)
40117	if err != nil {
40118		return nil, err
40119	}
40120	req.Header = reqHeaders
40121	googleapi.Expand(req.URL, map[string]string{
40122		"userId": strconv.FormatInt(c.userId, 10),
40123	})
40124	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40125}
40126
40127// Do executes the "displayvideo.users.get" call.
40128// Exactly one of *User or error will be non-nil. Any non-2xx status
40129// code is an error. Response headers are in either
40130// *User.ServerResponse.Header or (if a response was returned at all) in
40131// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
40132// whether the returned error was because http.StatusNotModified was
40133// returned.
40134func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
40135	gensupport.SetOptions(c.urlParams_, opts...)
40136	res, err := c.doRequest("json")
40137	if res != nil && res.StatusCode == http.StatusNotModified {
40138		if res.Body != nil {
40139			res.Body.Close()
40140		}
40141		return nil, &googleapi.Error{
40142			Code:   res.StatusCode,
40143			Header: res.Header,
40144		}
40145	}
40146	if err != nil {
40147		return nil, err
40148	}
40149	defer googleapi.CloseBody(res)
40150	if err := googleapi.CheckResponse(res); err != nil {
40151		return nil, err
40152	}
40153	ret := &User{
40154		ServerResponse: googleapi.ServerResponse{
40155			Header:         res.Header,
40156			HTTPStatusCode: res.StatusCode,
40157		},
40158	}
40159	target := &ret
40160	if err := gensupport.DecodeResponse(target, res); err != nil {
40161		return nil, err
40162	}
40163	return ret, nil
40164	// {
40165	//   "description": "Gets a user.",
40166	//   "flatPath": "v1/users/{usersId}",
40167	//   "httpMethod": "GET",
40168	//   "id": "displayvideo.users.get",
40169	//   "parameterOrder": [
40170	//     "userId"
40171	//   ],
40172	//   "parameters": {
40173	//     "userId": {
40174	//       "description": "Required. The ID of the user to fetch.",
40175	//       "format": "int64",
40176	//       "location": "path",
40177	//       "pattern": "^[^/]+$",
40178	//       "required": true,
40179	//       "type": "string"
40180	//     }
40181	//   },
40182	//   "path": "v1/users/{+userId}",
40183	//   "response": {
40184	//     "$ref": "User"
40185	//   },
40186	//   "scopes": [
40187	//     "https://www.googleapis.com/auth/display-video-user-management"
40188	//   ]
40189	// }
40190
40191}
40192
40193// method id "displayvideo.users.list":
40194
40195type UsersListCall struct {
40196	s            *Service
40197	urlParams_   gensupport.URLParams
40198	ifNoneMatch_ string
40199	ctx_         context.Context
40200	header_      http.Header
40201}
40202
40203// List: Lists users that are accessible to the current user. If two
40204// users have user roles on the same partner or advertiser, they can
40205// access each other.
40206func (r *UsersService) List() *UsersListCall {
40207	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40208	return c
40209}
40210
40211// Filter sets the optional parameter "filter": Allows filtering by user
40212// properties. Supported syntax: * Filter expressions are made up of one
40213// or more restrictions. * Restrictions can be combined by the logical
40214// operator `AND`. * A restriction has the form of `{field} {operator}
40215// {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. *
40216// The operator must be `CONTAINS (:)` for the following fields: -
40217// `displayName` - `email` * The operator must be `EQUALS (=)` for the
40218// following fields: - `assignedUserRole.userRole` -
40219// `assignedUserRole.partnerId` - `assignedUserRole.advertiserId` -
40220// `assignedUserRole.entityType`: A synthetic field of AssignedUserRole
40221// used for filtering. Identifies the type of entity to which the user
40222// role is assigned. Valid values are `Partner` and `Advertiser`. -
40223// `assignedUserRole.parentPartnerId`: A synthetic field of
40224// AssignedUserRole used for filtering. Identifies the parent partner of
40225// the entity to which the user role is assigned." Examples: * The user
40226// with displayName containing `foo`: `displayName:"foo" * The user
40227// with email containing `bar`: `email:"bar" * All users with standard
40228// user roles: `assignedUserRole.userRole="STANDARD" * All users with
40229// user roles for partner 123: `assignedUserRole.partnerId="123" * All
40230// users with user roles for advertiser 123:
40231// `assignedUserRole.advertiserId="123" * All users with partner level
40232// user roles: `entityType="PARTNER" * All users with user roles for
40233// partner 123 and advertisers under partner 123:
40234// `parentPartnerId="123" The length of this field should be no more
40235// than 500 characters.
40236func (c *UsersListCall) Filter(filter string) *UsersListCall {
40237	c.urlParams_.Set("filter", filter)
40238	return c
40239}
40240
40241// OrderBy sets the optional parameter "orderBy": Field by which to sort
40242// the list. Acceptable values are: * `displayName` (default) The
40243// default sorting order is ascending. To specify descending order for a
40244// field, a suffix "desc" should be added to the field name. For
40245// example, `displayName desc`.
40246func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
40247	c.urlParams_.Set("orderBy", orderBy)
40248	return c
40249}
40250
40251// PageSize sets the optional parameter "pageSize": Requested page size.
40252// Must be between `1` and `100`. If unspecified will default to `100`.
40253func (c *UsersListCall) PageSize(pageSize int64) *UsersListCall {
40254	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
40255	return c
40256}
40257
40258// PageToken sets the optional parameter "pageToken": A token
40259// identifying a page of results the server should return. Typically,
40260// this is the value of next_page_token returned from the previous call
40261// to `ListUsers` method. If not specified, the first page of results
40262// will be returned.
40263func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
40264	c.urlParams_.Set("pageToken", pageToken)
40265	return c
40266}
40267
40268// Fields allows partial responses to be retrieved. See
40269// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40270// for more information.
40271func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
40272	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40273	return c
40274}
40275
40276// IfNoneMatch sets the optional parameter which makes the operation
40277// fail if the object's ETag matches the given value. This is useful for
40278// getting updates only after the object has changed since the last
40279// request. Use googleapi.IsNotModified to check whether the response
40280// error from Do is the result of In-None-Match.
40281func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
40282	c.ifNoneMatch_ = entityTag
40283	return c
40284}
40285
40286// Context sets the context to be used in this call's Do method. Any
40287// pending HTTP request will be aborted if the provided context is
40288// canceled.
40289func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
40290	c.ctx_ = ctx
40291	return c
40292}
40293
40294// Header returns an http.Header that can be modified by the caller to
40295// add HTTP headers to the request.
40296func (c *UsersListCall) Header() http.Header {
40297	if c.header_ == nil {
40298		c.header_ = make(http.Header)
40299	}
40300	return c.header_
40301}
40302
40303func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
40304	reqHeaders := make(http.Header)
40305	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
40306	for k, v := range c.header_ {
40307		reqHeaders[k] = v
40308	}
40309	reqHeaders.Set("User-Agent", c.s.userAgent())
40310	if c.ifNoneMatch_ != "" {
40311		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40312	}
40313	var body io.Reader = nil
40314	c.urlParams_.Set("alt", alt)
40315	c.urlParams_.Set("prettyPrint", "false")
40316	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users")
40317	urls += "?" + c.urlParams_.Encode()
40318	req, err := http.NewRequest("GET", urls, body)
40319	if err != nil {
40320		return nil, err
40321	}
40322	req.Header = reqHeaders
40323	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40324}
40325
40326// Do executes the "displayvideo.users.list" call.
40327// Exactly one of *ListUsersResponse or error will be non-nil. Any
40328// non-2xx status code is an error. Response headers are in either
40329// *ListUsersResponse.ServerResponse.Header or (if a response was
40330// returned at all) in error.(*googleapi.Error).Header. Use
40331// googleapi.IsNotModified to check whether the returned error was
40332// because http.StatusNotModified was returned.
40333func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) {
40334	gensupport.SetOptions(c.urlParams_, opts...)
40335	res, err := c.doRequest("json")
40336	if res != nil && res.StatusCode == http.StatusNotModified {
40337		if res.Body != nil {
40338			res.Body.Close()
40339		}
40340		return nil, &googleapi.Error{
40341			Code:   res.StatusCode,
40342			Header: res.Header,
40343		}
40344	}
40345	if err != nil {
40346		return nil, err
40347	}
40348	defer googleapi.CloseBody(res)
40349	if err := googleapi.CheckResponse(res); err != nil {
40350		return nil, err
40351	}
40352	ret := &ListUsersResponse{
40353		ServerResponse: googleapi.ServerResponse{
40354			Header:         res.Header,
40355			HTTPStatusCode: res.StatusCode,
40356		},
40357	}
40358	target := &ret
40359	if err := gensupport.DecodeResponse(target, res); err != nil {
40360		return nil, err
40361	}
40362	return ret, nil
40363	// {
40364	//   "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.",
40365	//   "flatPath": "v1/users",
40366	//   "httpMethod": "GET",
40367	//   "id": "displayvideo.users.list",
40368	//   "parameterOrder": [],
40369	//   "parameters": {
40370	//     "filter": {
40371	//       "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.",
40372	//       "location": "query",
40373	//       "type": "string"
40374	//     },
40375	//     "orderBy": {
40376	//       "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`.",
40377	//       "location": "query",
40378	//       "type": "string"
40379	//     },
40380	//     "pageSize": {
40381	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
40382	//       "format": "int32",
40383	//       "location": "query",
40384	//       "type": "integer"
40385	//     },
40386	//     "pageToken": {
40387	//       "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.",
40388	//       "location": "query",
40389	//       "type": "string"
40390	//     }
40391	//   },
40392	//   "path": "v1/users",
40393	//   "response": {
40394	//     "$ref": "ListUsersResponse"
40395	//   },
40396	//   "scopes": [
40397	//     "https://www.googleapis.com/auth/display-video-user-management"
40398	//   ]
40399	// }
40400
40401}
40402
40403// Pages invokes f for each page of results.
40404// A non-nil error returned from f will halt the iteration.
40405// The provided context supersedes any context provided to the Context method.
40406func (c *UsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error {
40407	c.ctx_ = ctx
40408	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
40409	for {
40410		x, err := c.Do()
40411		if err != nil {
40412			return err
40413		}
40414		if err := f(x); err != nil {
40415			return err
40416		}
40417		if x.NextPageToken == "" {
40418			return nil
40419		}
40420		c.PageToken(x.NextPageToken)
40421	}
40422}
40423
40424// method id "displayvideo.users.patch":
40425
40426type UsersPatchCall struct {
40427	s          *Service
40428	userId     int64
40429	user       *User
40430	urlParams_ gensupport.URLParams
40431	ctx_       context.Context
40432	header_    http.Header
40433}
40434
40435// Patch: Updates an existing user. Returns the updated user if
40436// successful.
40437//
40438// - userId: Output only. The unique ID of the user. Assigned by the
40439//   system.
40440func (r *UsersService) Patch(userId int64, user *User) *UsersPatchCall {
40441	c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40442	c.userId = userId
40443	c.user = user
40444	return c
40445}
40446
40447// UpdateMask sets the optional parameter "updateMask": Required. The
40448// mask to control which fields to update.
40449func (c *UsersPatchCall) UpdateMask(updateMask string) *UsersPatchCall {
40450	c.urlParams_.Set("updateMask", updateMask)
40451	return c
40452}
40453
40454// Fields allows partial responses to be retrieved. See
40455// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40456// for more information.
40457func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
40458	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40459	return c
40460}
40461
40462// Context sets the context to be used in this call's Do method. Any
40463// pending HTTP request will be aborted if the provided context is
40464// canceled.
40465func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
40466	c.ctx_ = ctx
40467	return c
40468}
40469
40470// Header returns an http.Header that can be modified by the caller to
40471// add HTTP headers to the request.
40472func (c *UsersPatchCall) Header() http.Header {
40473	if c.header_ == nil {
40474		c.header_ = make(http.Header)
40475	}
40476	return c.header_
40477}
40478
40479func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
40480	reqHeaders := make(http.Header)
40481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
40482	for k, v := range c.header_ {
40483		reqHeaders[k] = v
40484	}
40485	reqHeaders.Set("User-Agent", c.s.userAgent())
40486	var body io.Reader = nil
40487	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
40488	if err != nil {
40489		return nil, err
40490	}
40491	reqHeaders.Set("Content-Type", "application/json")
40492	c.urlParams_.Set("alt", alt)
40493	c.urlParams_.Set("prettyPrint", "false")
40494	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
40495	urls += "?" + c.urlParams_.Encode()
40496	req, err := http.NewRequest("PATCH", urls, body)
40497	if err != nil {
40498		return nil, err
40499	}
40500	req.Header = reqHeaders
40501	googleapi.Expand(req.URL, map[string]string{
40502		"userId": strconv.FormatInt(c.userId, 10),
40503	})
40504	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40505}
40506
40507// Do executes the "displayvideo.users.patch" call.
40508// Exactly one of *User or error will be non-nil. Any non-2xx status
40509// code is an error. Response headers are in either
40510// *User.ServerResponse.Header or (if a response was returned at all) in
40511// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
40512// whether the returned error was because http.StatusNotModified was
40513// returned.
40514func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
40515	gensupport.SetOptions(c.urlParams_, opts...)
40516	res, err := c.doRequest("json")
40517	if res != nil && res.StatusCode == http.StatusNotModified {
40518		if res.Body != nil {
40519			res.Body.Close()
40520		}
40521		return nil, &googleapi.Error{
40522			Code:   res.StatusCode,
40523			Header: res.Header,
40524		}
40525	}
40526	if err != nil {
40527		return nil, err
40528	}
40529	defer googleapi.CloseBody(res)
40530	if err := googleapi.CheckResponse(res); err != nil {
40531		return nil, err
40532	}
40533	ret := &User{
40534		ServerResponse: googleapi.ServerResponse{
40535			Header:         res.Header,
40536			HTTPStatusCode: res.StatusCode,
40537		},
40538	}
40539	target := &ret
40540	if err := gensupport.DecodeResponse(target, res); err != nil {
40541		return nil, err
40542	}
40543	return ret, nil
40544	// {
40545	//   "description": "Updates an existing user. Returns the updated user if successful.",
40546	//   "flatPath": "v1/users/{usersId}",
40547	//   "httpMethod": "PATCH",
40548	//   "id": "displayvideo.users.patch",
40549	//   "parameterOrder": [
40550	//     "userId"
40551	//   ],
40552	//   "parameters": {
40553	//     "updateMask": {
40554	//       "description": "Required. The mask to control which fields to update.",
40555	//       "format": "google-fieldmask",
40556	//       "location": "query",
40557	//       "type": "string"
40558	//     },
40559	//     "userId": {
40560	//       "description": "Output only. The unique ID of the user. Assigned by the system.",
40561	//       "format": "int64",
40562	//       "location": "path",
40563	//       "pattern": "^[^/]+$",
40564	//       "required": true,
40565	//       "type": "string"
40566	//     }
40567	//   },
40568	//   "path": "v1/users/{+userId}",
40569	//   "request": {
40570	//     "$ref": "User"
40571	//   },
40572	//   "response": {
40573	//     "$ref": "User"
40574	//   },
40575	//   "scopes": [
40576	//     "https://www.googleapis.com/auth/display-video-user-management"
40577	//   ]
40578	// }
40579
40580}
40581