1// Copyright 2020 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package 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	// New 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.LineItems = NewAdvertisersLineItemsService(s)
204	rs.LocationLists = NewAdvertisersLocationListsService(s)
205	rs.ManualTriggers = NewAdvertisersManualTriggersService(s)
206	rs.NegativeKeywordLists = NewAdvertisersNegativeKeywordListsService(s)
207	rs.TargetingTypes = NewAdvertisersTargetingTypesService(s)
208	return rs
209}
210
211type AdvertisersService struct {
212	s *Service
213
214	Assets *AdvertisersAssetsService
215
216	Campaigns *AdvertisersCampaignsService
217
218	Channels *AdvertisersChannelsService
219
220	Creatives *AdvertisersCreativesService
221
222	InsertionOrders *AdvertisersInsertionOrdersService
223
224	LineItems *AdvertisersLineItemsService
225
226	LocationLists *AdvertisersLocationListsService
227
228	ManualTriggers *AdvertisersManualTriggersService
229
230	NegativeKeywordLists *AdvertisersNegativeKeywordListsService
231
232	TargetingTypes *AdvertisersTargetingTypesService
233}
234
235func NewAdvertisersAssetsService(s *Service) *AdvertisersAssetsService {
236	rs := &AdvertisersAssetsService{s: s}
237	return rs
238}
239
240type AdvertisersAssetsService struct {
241	s *Service
242}
243
244func NewAdvertisersCampaignsService(s *Service) *AdvertisersCampaignsService {
245	rs := &AdvertisersCampaignsService{s: s}
246	return rs
247}
248
249type AdvertisersCampaignsService struct {
250	s *Service
251}
252
253func NewAdvertisersChannelsService(s *Service) *AdvertisersChannelsService {
254	rs := &AdvertisersChannelsService{s: s}
255	rs.Sites = NewAdvertisersChannelsSitesService(s)
256	return rs
257}
258
259type AdvertisersChannelsService struct {
260	s *Service
261
262	Sites *AdvertisersChannelsSitesService
263}
264
265func NewAdvertisersChannelsSitesService(s *Service) *AdvertisersChannelsSitesService {
266	rs := &AdvertisersChannelsSitesService{s: s}
267	return rs
268}
269
270type AdvertisersChannelsSitesService struct {
271	s *Service
272}
273
274func NewAdvertisersCreativesService(s *Service) *AdvertisersCreativesService {
275	rs := &AdvertisersCreativesService{s: s}
276	return rs
277}
278
279type AdvertisersCreativesService struct {
280	s *Service
281}
282
283func NewAdvertisersInsertionOrdersService(s *Service) *AdvertisersInsertionOrdersService {
284	rs := &AdvertisersInsertionOrdersService{s: s}
285	return rs
286}
287
288type AdvertisersInsertionOrdersService struct {
289	s *Service
290}
291
292func NewAdvertisersLineItemsService(s *Service) *AdvertisersLineItemsService {
293	rs := &AdvertisersLineItemsService{s: s}
294	rs.TargetingTypes = NewAdvertisersLineItemsTargetingTypesService(s)
295	return rs
296}
297
298type AdvertisersLineItemsService struct {
299	s *Service
300
301	TargetingTypes *AdvertisersLineItemsTargetingTypesService
302}
303
304func NewAdvertisersLineItemsTargetingTypesService(s *Service) *AdvertisersLineItemsTargetingTypesService {
305	rs := &AdvertisersLineItemsTargetingTypesService{s: s}
306	rs.AssignedTargetingOptions = NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s)
307	return rs
308}
309
310type AdvertisersLineItemsTargetingTypesService struct {
311	s *Service
312
313	AssignedTargetingOptions *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService
314}
315
316func NewAdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService {
317	rs := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService{s: s}
318	return rs
319}
320
321type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService struct {
322	s *Service
323}
324
325func NewAdvertisersLocationListsService(s *Service) *AdvertisersLocationListsService {
326	rs := &AdvertisersLocationListsService{s: s}
327	rs.AssignedLocations = NewAdvertisersLocationListsAssignedLocationsService(s)
328	return rs
329}
330
331type AdvertisersLocationListsService struct {
332	s *Service
333
334	AssignedLocations *AdvertisersLocationListsAssignedLocationsService
335}
336
337func NewAdvertisersLocationListsAssignedLocationsService(s *Service) *AdvertisersLocationListsAssignedLocationsService {
338	rs := &AdvertisersLocationListsAssignedLocationsService{s: s}
339	return rs
340}
341
342type AdvertisersLocationListsAssignedLocationsService struct {
343	s *Service
344}
345
346func NewAdvertisersManualTriggersService(s *Service) *AdvertisersManualTriggersService {
347	rs := &AdvertisersManualTriggersService{s: s}
348	return rs
349}
350
351type AdvertisersManualTriggersService struct {
352	s *Service
353}
354
355func NewAdvertisersNegativeKeywordListsService(s *Service) *AdvertisersNegativeKeywordListsService {
356	rs := &AdvertisersNegativeKeywordListsService{s: s}
357	rs.NegativeKeywords = NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s)
358	return rs
359}
360
361type AdvertisersNegativeKeywordListsService struct {
362	s *Service
363
364	NegativeKeywords *AdvertisersNegativeKeywordListsNegativeKeywordsService
365}
366
367func NewAdvertisersNegativeKeywordListsNegativeKeywordsService(s *Service) *AdvertisersNegativeKeywordListsNegativeKeywordsService {
368	rs := &AdvertisersNegativeKeywordListsNegativeKeywordsService{s: s}
369	return rs
370}
371
372type AdvertisersNegativeKeywordListsNegativeKeywordsService struct {
373	s *Service
374}
375
376func NewAdvertisersTargetingTypesService(s *Service) *AdvertisersTargetingTypesService {
377	rs := &AdvertisersTargetingTypesService{s: s}
378	rs.AssignedTargetingOptions = NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s)
379	return rs
380}
381
382type AdvertisersTargetingTypesService struct {
383	s *Service
384
385	AssignedTargetingOptions *AdvertisersTargetingTypesAssignedTargetingOptionsService
386}
387
388func NewAdvertisersTargetingTypesAssignedTargetingOptionsService(s *Service) *AdvertisersTargetingTypesAssignedTargetingOptionsService {
389	rs := &AdvertisersTargetingTypesAssignedTargetingOptionsService{s: s}
390	return rs
391}
392
393type AdvertisersTargetingTypesAssignedTargetingOptionsService struct {
394	s *Service
395}
396
397func NewCombinedAudiencesService(s *Service) *CombinedAudiencesService {
398	rs := &CombinedAudiencesService{s: s}
399	return rs
400}
401
402type CombinedAudiencesService struct {
403	s *Service
404}
405
406func NewCustomBiddingAlgorithmsService(s *Service) *CustomBiddingAlgorithmsService {
407	rs := &CustomBiddingAlgorithmsService{s: s}
408	return rs
409}
410
411type CustomBiddingAlgorithmsService struct {
412	s *Service
413}
414
415func NewCustomListsService(s *Service) *CustomListsService {
416	rs := &CustomListsService{s: s}
417	return rs
418}
419
420type CustomListsService struct {
421	s *Service
422}
423
424func NewFirstAndThirdPartyAudiencesService(s *Service) *FirstAndThirdPartyAudiencesService {
425	rs := &FirstAndThirdPartyAudiencesService{s: s}
426	return rs
427}
428
429type FirstAndThirdPartyAudiencesService struct {
430	s *Service
431}
432
433func NewFloodlightGroupsService(s *Service) *FloodlightGroupsService {
434	rs := &FloodlightGroupsService{s: s}
435	return rs
436}
437
438type FloodlightGroupsService struct {
439	s *Service
440}
441
442func NewGoogleAudiencesService(s *Service) *GoogleAudiencesService {
443	rs := &GoogleAudiencesService{s: s}
444	return rs
445}
446
447type GoogleAudiencesService struct {
448	s *Service
449}
450
451func NewInventorySourceGroupsService(s *Service) *InventorySourceGroupsService {
452	rs := &InventorySourceGroupsService{s: s}
453	rs.AssignedInventorySources = NewInventorySourceGroupsAssignedInventorySourcesService(s)
454	return rs
455}
456
457type InventorySourceGroupsService struct {
458	s *Service
459
460	AssignedInventorySources *InventorySourceGroupsAssignedInventorySourcesService
461}
462
463func NewInventorySourceGroupsAssignedInventorySourcesService(s *Service) *InventorySourceGroupsAssignedInventorySourcesService {
464	rs := &InventorySourceGroupsAssignedInventorySourcesService{s: s}
465	return rs
466}
467
468type InventorySourceGroupsAssignedInventorySourcesService struct {
469	s *Service
470}
471
472func NewInventorySourcesService(s *Service) *InventorySourcesService {
473	rs := &InventorySourcesService{s: s}
474	return rs
475}
476
477type InventorySourcesService struct {
478	s *Service
479}
480
481func NewMediaService(s *Service) *MediaService {
482	rs := &MediaService{s: s}
483	return rs
484}
485
486type MediaService struct {
487	s *Service
488}
489
490func NewPartnersService(s *Service) *PartnersService {
491	rs := &PartnersService{s: s}
492	rs.Channels = NewPartnersChannelsService(s)
493	rs.TargetingTypes = NewPartnersTargetingTypesService(s)
494	return rs
495}
496
497type PartnersService struct {
498	s *Service
499
500	Channels *PartnersChannelsService
501
502	TargetingTypes *PartnersTargetingTypesService
503}
504
505func NewPartnersChannelsService(s *Service) *PartnersChannelsService {
506	rs := &PartnersChannelsService{s: s}
507	rs.Sites = NewPartnersChannelsSitesService(s)
508	return rs
509}
510
511type PartnersChannelsService struct {
512	s *Service
513
514	Sites *PartnersChannelsSitesService
515}
516
517func NewPartnersChannelsSitesService(s *Service) *PartnersChannelsSitesService {
518	rs := &PartnersChannelsSitesService{s: s}
519	return rs
520}
521
522type PartnersChannelsSitesService struct {
523	s *Service
524}
525
526func NewPartnersTargetingTypesService(s *Service) *PartnersTargetingTypesService {
527	rs := &PartnersTargetingTypesService{s: s}
528	rs.AssignedTargetingOptions = NewPartnersTargetingTypesAssignedTargetingOptionsService(s)
529	return rs
530}
531
532type PartnersTargetingTypesService struct {
533	s *Service
534
535	AssignedTargetingOptions *PartnersTargetingTypesAssignedTargetingOptionsService
536}
537
538func NewPartnersTargetingTypesAssignedTargetingOptionsService(s *Service) *PartnersTargetingTypesAssignedTargetingOptionsService {
539	rs := &PartnersTargetingTypesAssignedTargetingOptionsService{s: s}
540	return rs
541}
542
543type PartnersTargetingTypesAssignedTargetingOptionsService struct {
544	s *Service
545}
546
547func NewSdfdownloadtasksService(s *Service) *SdfdownloadtasksService {
548	rs := &SdfdownloadtasksService{s: s}
549	rs.Operations = NewSdfdownloadtasksOperationsService(s)
550	return rs
551}
552
553type SdfdownloadtasksService struct {
554	s *Service
555
556	Operations *SdfdownloadtasksOperationsService
557}
558
559func NewSdfdownloadtasksOperationsService(s *Service) *SdfdownloadtasksOperationsService {
560	rs := &SdfdownloadtasksOperationsService{s: s}
561	return rs
562}
563
564type SdfdownloadtasksOperationsService struct {
565	s *Service
566}
567
568func NewTargetingTypesService(s *Service) *TargetingTypesService {
569	rs := &TargetingTypesService{s: s}
570	rs.TargetingOptions = NewTargetingTypesTargetingOptionsService(s)
571	return rs
572}
573
574type TargetingTypesService struct {
575	s *Service
576
577	TargetingOptions *TargetingTypesTargetingOptionsService
578}
579
580func NewTargetingTypesTargetingOptionsService(s *Service) *TargetingTypesTargetingOptionsService {
581	rs := &TargetingTypesTargetingOptionsService{s: s}
582	return rs
583}
584
585type TargetingTypesTargetingOptionsService struct {
586	s *Service
587}
588
589func NewUsersService(s *Service) *UsersService {
590	rs := &UsersService{s: s}
591	return rs
592}
593
594type UsersService struct {
595	s *Service
596}
597
598// ActivateManualTriggerRequest: Request message for
599// ManualTriggerService.ActivateManualTrigger.
600type ActivateManualTriggerRequest struct {
601}
602
603// ActiveViewVideoViewabilityMetricConfig: Configuration for custom
604// Active View video viewability metrics.
605type ActiveViewVideoViewabilityMetricConfig struct {
606	// DisplayName: Required. The display name of the custom metric.
607	DisplayName string `json:"displayName,omitempty"`
608
609	// MinimumDuration: The minimum visible video duration required (in
610	// seconds) in order for an impression to be recorded. You must specify
611	// minimum_duration, minimum_quartile or both. If both are specified, an
612	// impression meets the metric criteria if either requirement is met
613	// (whichever happens first).
614	//
615	// Possible values:
616	//   "VIDEO_DURATION_UNSPECIFIED" - Value is not specified or is unknown
617	// in this version.
618	//   "VIDEO_DURATION_SECONDS_NONE" - No duration value.
619	//   "VIDEO_DURATION_SECONDS_0" - 0 seconds.
620	//   "VIDEO_DURATION_SECONDS_1" - 1 second.
621	//   "VIDEO_DURATION_SECONDS_2" - 2 seconds.
622	//   "VIDEO_DURATION_SECONDS_3" - 3 seconds.
623	//   "VIDEO_DURATION_SECONDS_4" - 4 seconds.
624	//   "VIDEO_DURATION_SECONDS_5" - 5 seconds.
625	//   "VIDEO_DURATION_SECONDS_6" - 6 seconds.
626	//   "VIDEO_DURATION_SECONDS_7" - 7 seconds.
627	//   "VIDEO_DURATION_SECONDS_8" - 8 seconds.
628	//   "VIDEO_DURATION_SECONDS_9" - 9 seconds.
629	//   "VIDEO_DURATION_SECONDS_10" - 10 seconds.
630	//   "VIDEO_DURATION_SECONDS_11" - 11 seconds.
631	//   "VIDEO_DURATION_SECONDS_12" - 12 seconds.
632	//   "VIDEO_DURATION_SECONDS_13" - 13 seconds.
633	//   "VIDEO_DURATION_SECONDS_14" - 14 seconds.
634	//   "VIDEO_DURATION_SECONDS_15" - 15 seconds.
635	//   "VIDEO_DURATION_SECONDS_30" - 30 seconds.
636	//   "VIDEO_DURATION_SECONDS_45" - 45 seconds.
637	//   "VIDEO_DURATION_SECONDS_60" - 60 seconds.
638	MinimumDuration string `json:"minimumDuration,omitempty"`
639
640	// MinimumQuartile: The minimum visible video duration required, based
641	// on the video quartiles, in order for an impression to be recorded.
642	// You must specify minimum_duration, minimum_quartile or both. If both
643	// are specified, an impression meets the metric criteria if either
644	// requirement is met (whichever happens first).
645	//
646	// Possible values:
647	//   "VIDEO_DURATION_QUARTILE_UNSPECIFIED" - Value is not specified or
648	// is unknown in this version.
649	//   "VIDEO_DURATION_QUARTILE_NONE" - No quartile value.
650	//   "VIDEO_DURATION_QUARTILE_FIRST" - First quartile.
651	//   "VIDEO_DURATION_QUARTILE_SECOND" - Second quartile (midpoint).
652	//   "VIDEO_DURATION_QUARTILE_THIRD" - Third quartile.
653	//   "VIDEO_DURATION_QUARTILE_FOURTH" - Fourth quartile (completion).
654	MinimumQuartile string `json:"minimumQuartile,omitempty"`
655
656	// MinimumViewability: Required. The minimum percentage of the video
657	// ad's pixels visible on the screen in order for an impression to be
658	// recorded.
659	//
660	// Possible values:
661	//   "VIEWABILITY_PERCENT_UNSPECIFIED" - Value is not specified or is
662	// unknown in this version.
663	//   "VIEWABILITY_PERCENT_0" - 0% viewable.
664	//   "VIEWABILITY_PERCENT_25" - 25% viewable.
665	//   "VIEWABILITY_PERCENT_50" - 50% viewable.
666	//   "VIEWABILITY_PERCENT_75" - 75% viewable.
667	//   "VIEWABILITY_PERCENT_100" - 100% viewable.
668	MinimumViewability string `json:"minimumViewability,omitempty"`
669
670	// MinimumVolume: Required. The minimum percentage of the video ad's
671	// volume required in order for an impression to be recorded.
672	//
673	// Possible values:
674	//   "VIDEO_VOLUME_PERCENT_UNSPECIFIED" - Value is not specified or is
675	// unknown in this version.
676	//   "VIDEO_VOLUME_PERCENT_0" - 0% volume.
677	//   "VIDEO_VOLUME_PERCENT_10" - 10% volume.
678	MinimumVolume string `json:"minimumVolume,omitempty"`
679
680	// ForceSendFields is a list of field names (e.g. "DisplayName") to
681	// unconditionally include in API requests. By default, fields with
682	// empty values are omitted from API requests. However, any non-pointer,
683	// non-interface field appearing in ForceSendFields will be sent to the
684	// server regardless of whether the field is empty or not. This may be
685	// used to include empty fields in Patch requests.
686	ForceSendFields []string `json:"-"`
687
688	// NullFields is a list of field names (e.g. "DisplayName") to include
689	// in API requests with the JSON null value. By default, fields with
690	// empty values are omitted from API requests. However, any field with
691	// an empty value appearing in NullFields will be sent to the server as
692	// null. It is an error if a field in this list has a non-empty value.
693	// This may be used to include null fields in Patch requests.
694	NullFields []string `json:"-"`
695}
696
697func (s *ActiveViewVideoViewabilityMetricConfig) MarshalJSON() ([]byte, error) {
698	type NoMethod ActiveViewVideoViewabilityMetricConfig
699	raw := NoMethod(*s)
700	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
701}
702
703// Adloox: Details of Adloox settings.
704type Adloox struct {
705	// ExcludedAdlooxCategories: Adloox's brand safety settings.
706	//
707	// Possible values:
708	//   "ADLOOX_UNSPECIFIED" - This enum is only a placeholder and it
709	// doesn't specify any Adloox option.
710	//   "ADULT_CONTENT_HARD" - Adult content (hard).
711	//   "ADULT_CONTENT_SOFT" - Adult content (soft).
712	//   "ILLEGAL_CONTENT" - Illegal content.
713	//   "BORDERLINE_CONTENT" - Borderline content.
714	//   "DISCRIMINATORY_CONTENT" - Discriminatory content.
715	//   "VIOLENT_CONTENT_WEAPONS" - Violent content & weapons.
716	//   "LOW_VIEWABILITY_DOMAINS" - Low viewability domains.
717	//   "FRAUD" - Fraud.
718	ExcludedAdlooxCategories []string `json:"excludedAdlooxCategories,omitempty"`
719
720	// ForceSendFields is a list of field names (e.g.
721	// "ExcludedAdlooxCategories") to unconditionally include in API
722	// requests. By default, fields with empty values are omitted from API
723	// requests. However, any non-pointer, non-interface field appearing in
724	// ForceSendFields will be sent to the server regardless of whether the
725	// field is empty or not. This may be used to include empty fields in
726	// Patch requests.
727	ForceSendFields []string `json:"-"`
728
729	// NullFields is a list of field names (e.g. "ExcludedAdlooxCategories")
730	// to include in API requests with the JSON null value. By default,
731	// fields with empty values are omitted from API requests. However, any
732	// field with an empty value appearing in NullFields will be sent to the
733	// server as null. It is an error if a field in this list has a
734	// non-empty value. This may be used to include null fields in Patch
735	// requests.
736	NullFields []string `json:"-"`
737}
738
739func (s *Adloox) MarshalJSON() ([]byte, error) {
740	type NoMethod Adloox
741	raw := NoMethod(*s)
742	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
743}
744
745// Advertiser: A single advertiser in Display & Video 360 (DV360).
746type Advertiser struct {
747	// AdServerConfig: Required. Immutable. Ad server related settings of
748	// the advertiser.
749	AdServerConfig *AdvertiserAdServerConfig `json:"adServerConfig,omitempty"`
750
751	// AdvertiserId: Output only. The unique ID of the advertiser. Assigned
752	// by the system.
753	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
754
755	// CreativeConfig: Required. Creative related settings of the
756	// advertiser.
757	CreativeConfig *AdvertiserCreativeConfig `json:"creativeConfig,omitempty"`
758
759	// DataAccessConfig: Settings that control how advertiser data may be
760	// accessed.
761	DataAccessConfig *AdvertiserDataAccessConfig `json:"dataAccessConfig,omitempty"`
762
763	// DisplayName: Required. The display name of the advertiser. Must be
764	// UTF-8 encoded with a maximum size of 240 bytes.
765	DisplayName string `json:"displayName,omitempty"`
766
767	// EntityStatus: Required. Controls whether or not insertion orders and
768	// line items of the advertiser can spend their budgets and bid on
769	// inventory. * Accepted values are `ENTITY_STATUS_ACTIVE` and
770	// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to
771	// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be
772	// deleted 30 days from when it was first scheduled for deletion.
773	//
774	// Possible values:
775	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
776	// specified or is unknown in this version.
777	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
778	// budget.
779	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
780	// budget spending are disabled. An entity can be deleted after
781	// archived. Deleted entities cannot be retrieved.
782	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
783	// budget spending are disabled.
784	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
785	// the entity.
786	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
787	// for deletion.
788	EntityStatus string `json:"entityStatus,omitempty"`
789
790	// GeneralConfig: Required. General settings of the advertiser.
791	GeneralConfig *AdvertiserGeneralConfig `json:"generalConfig,omitempty"`
792
793	// IntegrationDetails: Integration details of the advertiser. Only
794	// integrationCode is currently applicable to advertiser. Other fields
795	// of IntegrationDetails are not supported and will be ignored if
796	// provided.
797	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
798
799	// Name: Output only. The resource name of the advertiser.
800	Name string `json:"name,omitempty"`
801
802	// PartnerId: Required. Immutable. The unique ID of the partner that the
803	// advertiser belongs to.
804	PartnerId int64 `json:"partnerId,omitempty,string"`
805
806	// ServingConfig: Targeting settings related to ad serving of the
807	// advertiser.
808	ServingConfig *AdvertiserTargetingConfig `json:"servingConfig,omitempty"`
809
810	// UpdateTime: Output only. The timestamp when the advertiser was last
811	// updated. Assigned by the system.
812	UpdateTime string `json:"updateTime,omitempty"`
813
814	// ServerResponse contains the HTTP response code and headers from the
815	// server.
816	googleapi.ServerResponse `json:"-"`
817
818	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
819	// unconditionally include in API requests. By default, fields with
820	// empty values are omitted from API requests. However, any non-pointer,
821	// non-interface field appearing in ForceSendFields will be sent to the
822	// server regardless of whether the field is empty or not. This may be
823	// used to include empty fields in Patch requests.
824	ForceSendFields []string `json:"-"`
825
826	// NullFields is a list of field names (e.g. "AdServerConfig") to
827	// include in API requests with the JSON null value. By default, fields
828	// with empty values are omitted from API requests. However, any field
829	// with an empty value appearing in NullFields will be sent to the
830	// server as null. It is an error if a field in this list has a
831	// non-empty value. This may be used to include null fields in Patch
832	// requests.
833	NullFields []string `json:"-"`
834}
835
836func (s *Advertiser) MarshalJSON() ([]byte, error) {
837	type NoMethod Advertiser
838	raw := NoMethod(*s)
839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
840}
841
842// AdvertiserAdServerConfig: Ad server related settings of an
843// advertiser.
844type AdvertiserAdServerConfig struct {
845	// CmHybridConfig: The configuration for advertisers that use both
846	// Campaign Manager 360 (CM360) and third-party ad servers.
847	CmHybridConfig *CmHybridConfig `json:"cmHybridConfig,omitempty"`
848
849	// ThirdPartyOnlyConfig: The configuration for advertisers that use
850	// third-party ad servers only.
851	ThirdPartyOnlyConfig *ThirdPartyOnlyConfig `json:"thirdPartyOnlyConfig,omitempty"`
852
853	// ForceSendFields is a list of field names (e.g. "CmHybridConfig") to
854	// unconditionally include in API requests. By default, fields with
855	// empty values are omitted from API requests. However, any non-pointer,
856	// non-interface field appearing in ForceSendFields will be sent to the
857	// server regardless of whether the field is empty or not. This may be
858	// used to include empty fields in Patch requests.
859	ForceSendFields []string `json:"-"`
860
861	// NullFields is a list of field names (e.g. "CmHybridConfig") to
862	// include in API requests with the JSON null value. By default, fields
863	// with empty values are omitted from API requests. However, any field
864	// with an empty value appearing in NullFields will be sent to the
865	// server as null. It is an error if a field in this list has a
866	// non-empty value. This may be used to include null fields in Patch
867	// requests.
868	NullFields []string `json:"-"`
869}
870
871func (s *AdvertiserAdServerConfig) MarshalJSON() ([]byte, error) {
872	type NoMethod AdvertiserAdServerConfig
873	raw := NoMethod(*s)
874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
875}
876
877// AdvertiserCreativeConfig: Creatives related settings of an
878// advertiser.
879type AdvertiserCreativeConfig struct {
880	// DynamicCreativeEnabled: Whether or not the advertiser is enabled for
881	// dynamic creatives.
882	DynamicCreativeEnabled bool `json:"dynamicCreativeEnabled,omitempty"`
883
884	// IasClientId: An ID for configuring campaign monitoring provided by
885	// Integral Ad Service (IAS). The DV360 system will append an IAS
886	// "Campaign Monitor" tag containing this ID to the creative tag.
887	IasClientId int64 `json:"iasClientId,omitempty,string"`
888
889	// ObaComplianceDisabled: Whether or not to use DV360's Online
890	// Behavioral Advertising (OBA) compliance. Warning: Changing OBA
891	// settings may cause the audit status of your creatives to be reset by
892	// some ad exchanges, making them ineligible to serve until they are
893	// re-approved.
894	ObaComplianceDisabled bool `json:"obaComplianceDisabled,omitempty"`
895
896	// VideoCreativeDataSharingAuthorized: By setting this field to `true`,
897	// you, on behalf of your company, authorize Google to use video
898	// creatives associated with this Display & Video 360 advertiser to
899	// provide reporting and features related to the advertiser's television
900	// campaigns. Applicable only when the advertiser has a CM360 hybrid ad
901	// server configuration.
902	VideoCreativeDataSharingAuthorized bool `json:"videoCreativeDataSharingAuthorized,omitempty"`
903
904	// ForceSendFields is a list of field names (e.g.
905	// "DynamicCreativeEnabled") to unconditionally include in API requests.
906	// By default, fields with empty values are omitted from API requests.
907	// However, any non-pointer, non-interface field appearing in
908	// ForceSendFields will be sent to the server regardless of whether the
909	// field is empty or not. This may be used to include empty fields in
910	// Patch requests.
911	ForceSendFields []string `json:"-"`
912
913	// NullFields is a list of field names (e.g. "DynamicCreativeEnabled")
914	// to include in API requests with the JSON null value. By default,
915	// fields with empty values are omitted from API requests. However, any
916	// field with an empty value appearing in NullFields will be sent to the
917	// server as null. It is an error if a field in this list has a
918	// non-empty value. This may be used to include null fields in Patch
919	// requests.
920	NullFields []string `json:"-"`
921}
922
923func (s *AdvertiserCreativeConfig) MarshalJSON() ([]byte, error) {
924	type NoMethod AdvertiserCreativeConfig
925	raw := NoMethod(*s)
926	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
927}
928
929// AdvertiserDataAccessConfig: Settings that control how advertiser
930// related data may be accessed.
931type AdvertiserDataAccessConfig struct {
932	// SdfConfig: Structured Data Files (SDF) settings for the advertiser.
933	// If not specified, the SDF settings of the parent partner are used.
934	SdfConfig *AdvertiserSdfConfig `json:"sdfConfig,omitempty"`
935
936	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
937	// unconditionally include in API requests. By default, fields with
938	// empty values are omitted from API requests. However, any non-pointer,
939	// non-interface field appearing in ForceSendFields will be sent to the
940	// server regardless of whether the field is empty or not. This may be
941	// used to include empty fields in Patch requests.
942	ForceSendFields []string `json:"-"`
943
944	// NullFields is a list of field names (e.g. "SdfConfig") to include in
945	// API requests with the JSON null value. By default, fields with empty
946	// values are omitted from API requests. However, any field with an
947	// empty value appearing in NullFields will be sent to the server as
948	// null. It is an error if a field in this list has a non-empty value.
949	// This may be used to include null fields in Patch requests.
950	NullFields []string `json:"-"`
951}
952
953func (s *AdvertiserDataAccessConfig) MarshalJSON() ([]byte, error) {
954	type NoMethod AdvertiserDataAccessConfig
955	raw := NoMethod(*s)
956	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
957}
958
959// AdvertiserGeneralConfig: General settings of an advertiser.
960type AdvertiserGeneralConfig struct {
961	// CurrencyCode: Required. Immutable. Advertiser's currency in ISO 4217
962	// format. Accepted codes and the currencies they represent are:
963	// Currency Code : Currency Name * `ARS` : Argentine Peso * `AUD` :
964	// Australian Dollar * `BRL` : Brazilian Real * `CAD` : Canadian Dollar
965	// * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese Yuan *
966	// `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone
967	// * `EGP` : Egyption Pound * `EUR` : Euro * `GBP` : British Pound *
968	// `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint * `IDR` :
969	// Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee *
970	// `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican
971	// Pesos * `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` :
972	// Norwegian Krone * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo
973	// Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` :
974	// Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD`
975	// : New Taiwan Dollar * `USD` : US Dollar * `ZAR` : South African Rand
976	CurrencyCode string `json:"currencyCode,omitempty"`
977
978	// DomainUrl: Required. The domain URL of the advertiser's primary
979	// website. The system will send this information to publishers that
980	// require website URL to associate a campaign with an advertiser.
981	// Provide a URL with no path or query string, beginning with `http:` or
982	// `https:`. For example, http://www.example.com
983	DomainUrl string `json:"domainUrl,omitempty"`
984
985	// TimeZone: Output only. The standard TZ database name of the
986	// advertiser's time zone. For example, `America/New_York`. See more at:
987	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For
988	// CM360 hybrid advertisers, the time zone is the same as that of the
989	// associated CM360 account; for third-party only advertisers, the time
990	// zone is the same as that of the parent partner.
991	TimeZone string `json:"timeZone,omitempty"`
992
993	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
994	// unconditionally include in API requests. By default, fields with
995	// empty values are omitted from API requests. However, any non-pointer,
996	// non-interface field appearing in ForceSendFields will be sent to the
997	// server regardless of whether the field is empty or not. This may be
998	// used to include empty fields in Patch requests.
999	ForceSendFields []string `json:"-"`
1000
1001	// NullFields is a list of field names (e.g. "CurrencyCode") to include
1002	// in API requests with the JSON null value. By default, fields with
1003	// empty values are omitted from API requests. However, any field with
1004	// an empty value appearing in NullFields will be sent to the server as
1005	// null. It is an error if a field in this list has a non-empty value.
1006	// This may be used to include null fields in Patch requests.
1007	NullFields []string `json:"-"`
1008}
1009
1010func (s *AdvertiserGeneralConfig) MarshalJSON() ([]byte, error) {
1011	type NoMethod AdvertiserGeneralConfig
1012	raw := NoMethod(*s)
1013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1014}
1015
1016// AdvertiserSdfConfig: Structured Data Files (SDF) settings of an
1017// advertiser.
1018type AdvertiserSdfConfig struct {
1019	// OverridePartnerSdfConfig: Whether or not this advertiser overrides
1020	// the SDF configuration of its parent partner. By default, an
1021	// advertiser inherits the SDF configuration from the parent partner. To
1022	// override the partner configuration, set this field to `true` and
1023	// provide the new configuration in sdfConfig.
1024	OverridePartnerSdfConfig bool `json:"overridePartnerSdfConfig,omitempty"`
1025
1026	// SdfConfig: The SDF configuration for the advertiser. * Required when
1027	// overridePartnerSdfConfig is `true`. * Output only when
1028	// overridePartnerSdfConfig is `false`.
1029	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
1030
1031	// ForceSendFields is a list of field names (e.g.
1032	// "OverridePartnerSdfConfig") to unconditionally include in API
1033	// requests. By default, fields with empty values are omitted from API
1034	// requests. However, any non-pointer, non-interface field appearing in
1035	// ForceSendFields will be sent to the server regardless of whether the
1036	// field is empty or not. This may be used to include empty fields in
1037	// Patch requests.
1038	ForceSendFields []string `json:"-"`
1039
1040	// NullFields is a list of field names (e.g. "OverridePartnerSdfConfig")
1041	// to include in API requests with the JSON null value. By default,
1042	// fields with empty values are omitted from API requests. However, any
1043	// field with an empty value appearing in NullFields will be sent to the
1044	// server as null. It is an error if a field in this list has a
1045	// non-empty value. This may be used to include null fields in Patch
1046	// requests.
1047	NullFields []string `json:"-"`
1048}
1049
1050func (s *AdvertiserSdfConfig) MarshalJSON() ([]byte, error) {
1051	type NoMethod AdvertiserSdfConfig
1052	raw := NoMethod(*s)
1053	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1054}
1055
1056// AdvertiserTargetingConfig: Targeting settings related to ad serving
1057// of an advertiser.
1058type AdvertiserTargetingConfig struct {
1059	// ExemptTvFromViewabilityTargeting: Whether or not connected TV devices
1060	// are exempt from viewability targeting for all video line items under
1061	// the advertiser.
1062	ExemptTvFromViewabilityTargeting bool `json:"exemptTvFromViewabilityTargeting,omitempty"`
1063
1064	// ForceSendFields is a list of field names (e.g.
1065	// "ExemptTvFromViewabilityTargeting") to unconditionally include in API
1066	// requests. By default, fields with empty values are omitted from API
1067	// requests. However, any non-pointer, non-interface field appearing in
1068	// ForceSendFields will be sent to the server regardless of whether the
1069	// field is empty or not. This may be used to include empty fields in
1070	// Patch requests.
1071	ForceSendFields []string `json:"-"`
1072
1073	// NullFields is a list of field names (e.g.
1074	// "ExemptTvFromViewabilityTargeting") to include in API requests with
1075	// the JSON null value. By default, fields with empty values are omitted
1076	// from API requests. However, any field with an empty value appearing
1077	// in NullFields will be sent to the server as null. It is an error if a
1078	// field in this list has a non-empty value. This may be used to include
1079	// null fields in Patch requests.
1080	NullFields []string `json:"-"`
1081}
1082
1083func (s *AdvertiserTargetingConfig) MarshalJSON() ([]byte, error) {
1084	type NoMethod AdvertiserTargetingConfig
1085	raw := NoMethod(*s)
1086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1087}
1088
1089// AgeRangeAssignedTargetingOptionDetails: Represents a targetable age
1090// range. This will be populated in the details field of an
1091// AssignedTargetingOption when targeting_type is
1092// `TARGETING_TYPE_AGE_RANGE`.
1093type AgeRangeAssignedTargetingOptionDetails struct {
1094	// AgeRange: Output only. The age range of an audience. We only support
1095	// targeting a continuous age range of an audience. Thus, the age range
1096	// represented in this field can be 1) targeted solely, or, 2) part of a
1097	// larger continuous age range. The reach of a continuous age range
1098	// targeting can be expanded by also targeting an audience of an unknown
1099	// age.
1100	//
1101	// Possible values:
1102	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not
1103	// specified in this version. This enum is a placeholder for default
1104	// value and does not represent a real age range option.
1105	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
1106	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
1107	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
1108	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
1109	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
1110	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
1111	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
1112	AgeRange string `json:"ageRange,omitempty"`
1113
1114	// TargetingOptionId: Required. The targeting_option_id of a
1115	// TargetingOption of type `TARGETING_TYPE_AGE_RANGE`.
1116	TargetingOptionId string `json:"targetingOptionId,omitempty"`
1117
1118	// ForceSendFields is a list of field names (e.g. "AgeRange") to
1119	// unconditionally include in API requests. By default, fields with
1120	// empty values are omitted from API requests. However, any non-pointer,
1121	// non-interface field appearing in ForceSendFields will be sent to the
1122	// server regardless of whether the field is empty or not. This may be
1123	// used to include empty fields in Patch requests.
1124	ForceSendFields []string `json:"-"`
1125
1126	// NullFields is a list of field names (e.g. "AgeRange") to include in
1127	// API requests with the JSON null value. By default, fields with empty
1128	// values are omitted from API requests. However, any field with an
1129	// empty value appearing in NullFields will be sent to the server as
1130	// null. It is an error if a field in this list has a non-empty value.
1131	// This may be used to include null fields in Patch requests.
1132	NullFields []string `json:"-"`
1133}
1134
1135func (s *AgeRangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1136	type NoMethod AgeRangeAssignedTargetingOptionDetails
1137	raw := NoMethod(*s)
1138	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1139}
1140
1141// AgeRangeTargetingOptionDetails: Represents a targetable age range.
1142// This will be populated in the age_range_details field when
1143// targeting_type is `TARGETING_TYPE_AGE_RANGE`.
1144type AgeRangeTargetingOptionDetails struct {
1145	// AgeRange: Output only. The age range of an audience.
1146	//
1147	// Possible values:
1148	//   "AGE_RANGE_UNSPECIFIED" - Default value when age range is not
1149	// specified in this version. This enum is a placeholder for default
1150	// value and does not represent a real age range option.
1151	//   "AGE_RANGE_18_24" - The age range of the audience is 18 to 24.
1152	//   "AGE_RANGE_25_34" - The age range of the audience is 25 to 34.
1153	//   "AGE_RANGE_35_44" - The age range of the audience is 35 to 44.
1154	//   "AGE_RANGE_45_54" - The age range of the audience is 45 to 54.
1155	//   "AGE_RANGE_55_64" - The age range of the audience is 55 to 64.
1156	//   "AGE_RANGE_65_PLUS" - The age range of the audience is 65 and up.
1157	//   "AGE_RANGE_UNKNOWN" - The age range of the audience is unknown.
1158	AgeRange string `json:"ageRange,omitempty"`
1159
1160	// ForceSendFields is a list of field names (e.g. "AgeRange") to
1161	// unconditionally include in API requests. By default, fields with
1162	// empty values are omitted from API requests. However, any non-pointer,
1163	// non-interface field appearing in ForceSendFields will be sent to the
1164	// server regardless of whether the field is empty or not. This may be
1165	// used to include empty fields in Patch requests.
1166	ForceSendFields []string `json:"-"`
1167
1168	// NullFields is a list of field names (e.g. "AgeRange") to include in
1169	// API requests with the JSON null value. By default, fields with empty
1170	// values are omitted from API requests. However, any field with an
1171	// empty value appearing in NullFields will be sent to the server as
1172	// null. It is an error if a field in this list has a non-empty value.
1173	// This may be used to include null fields in Patch requests.
1174	NullFields []string `json:"-"`
1175}
1176
1177func (s *AgeRangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1178	type NoMethod AgeRangeTargetingOptionDetails
1179	raw := NoMethod(*s)
1180	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1181}
1182
1183// AppAssignedTargetingOptionDetails: Details for assigned app targeting
1184// option. This will be populated in the details field of an
1185// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.
1186type AppAssignedTargetingOptionDetails struct {
1187	// AppId: Required. The ID of the app. Android's Play store app uses
1188	// bundle ID, for example `com.google.android.gm`. Apple's App store app
1189	// ID uses 9 digit string, for example `422689480`.
1190	AppId string `json:"appId,omitempty"`
1191
1192	// DisplayName: Output only. The display name of the app.
1193	DisplayName string `json:"displayName,omitempty"`
1194
1195	// Negative: Indicates if this option is being negatively targeted.
1196	Negative bool `json:"negative,omitempty"`
1197
1198	// ForceSendFields is a list of field names (e.g. "AppId") to
1199	// unconditionally include in API requests. By default, fields with
1200	// empty values are omitted from API requests. However, any non-pointer,
1201	// non-interface field appearing in ForceSendFields will be sent to the
1202	// server regardless of whether the field is empty or not. This may be
1203	// used to include empty fields in Patch requests.
1204	ForceSendFields []string `json:"-"`
1205
1206	// NullFields is a list of field names (e.g. "AppId") to include in API
1207	// requests with the JSON null value. By default, fields with empty
1208	// values are omitted from API requests. However, any field with an
1209	// empty value appearing in NullFields will be sent to the server as
1210	// null. It is an error if a field in this list has a non-empty value.
1211	// This may be used to include null fields in Patch requests.
1212	NullFields []string `json:"-"`
1213}
1214
1215func (s *AppAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1216	type NoMethod AppAssignedTargetingOptionDetails
1217	raw := NoMethod(*s)
1218	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1219}
1220
1221// AppCategoryAssignedTargetingOptionDetails: Details for assigned app
1222// category targeting option. This will be populated in the
1223// app_category_details field of an AssignedTargetingOption when
1224// targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
1225type AppCategoryAssignedTargetingOptionDetails struct {
1226	// DisplayName: Output only. The display name of the app category.
1227	DisplayName string `json:"displayName,omitempty"`
1228
1229	// Negative: Indicates if this option is being negatively targeted.
1230	Negative bool `json:"negative,omitempty"`
1231
1232	// TargetingOptionId: Required. The targeting_option_id field when
1233	// targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
1234	TargetingOptionId string `json:"targetingOptionId,omitempty"`
1235
1236	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1237	// unconditionally include in API requests. By default, fields with
1238	// empty values are omitted from API requests. However, any non-pointer,
1239	// non-interface field appearing in ForceSendFields will be sent to the
1240	// server regardless of whether the field is empty or not. This may be
1241	// used to include empty fields in Patch requests.
1242	ForceSendFields []string `json:"-"`
1243
1244	// NullFields is a list of field names (e.g. "DisplayName") to include
1245	// in API requests with the JSON null value. By default, fields with
1246	// empty values are omitted from API requests. However, any field with
1247	// an empty value appearing in NullFields will be sent to the server as
1248	// null. It is an error if a field in this list has a non-empty value.
1249	// This may be used to include null fields in Patch requests.
1250	NullFields []string `json:"-"`
1251}
1252
1253func (s *AppCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1254	type NoMethod AppCategoryAssignedTargetingOptionDetails
1255	raw := NoMethod(*s)
1256	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1257}
1258
1259// AppCategoryTargetingOptionDetails: Represents a targetable collection
1260// of apps. A collection lets you target dynamic groups of related apps
1261// that are maintained by the platform, for example `All Apps/Google
1262// Play/Games`. This will be populated in the app_category_details field
1263// when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
1264type AppCategoryTargetingOptionDetails struct {
1265	// DisplayName: Output only. The name of the app collection.
1266	DisplayName string `json:"displayName,omitempty"`
1267
1268	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1269	// unconditionally include in API requests. By default, fields with
1270	// empty values are omitted from API requests. However, any non-pointer,
1271	// non-interface field appearing in ForceSendFields will be sent to the
1272	// server regardless of whether the field is empty or not. This may be
1273	// used to include empty fields in Patch requests.
1274	ForceSendFields []string `json:"-"`
1275
1276	// NullFields is a list of field names (e.g. "DisplayName") to include
1277	// in API requests with the JSON null value. By default, fields with
1278	// empty values are omitted from API requests. However, any field with
1279	// an empty value appearing in NullFields will be sent to the server as
1280	// null. It is an error if a field in this list has a non-empty value.
1281	// This may be used to include null fields in Patch requests.
1282	NullFields []string `json:"-"`
1283}
1284
1285func (s *AppCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
1286	type NoMethod AppCategoryTargetingOptionDetails
1287	raw := NoMethod(*s)
1288	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1289}
1290
1291// Asset: A single asset.
1292type Asset struct {
1293	// Content: The asset content. For uploaded assets, the content is the
1294	// serving path.
1295	Content string `json:"content,omitempty"`
1296
1297	// MediaId: Media ID of the uploaded asset. This is a unique identifier
1298	// for the asset. This ID can be passed to other API calls, e.g.
1299	// CreateCreative to associate the asset with a creative.
1300	MediaId int64 `json:"mediaId,omitempty,string"`
1301
1302	// ForceSendFields is a list of field names (e.g. "Content") to
1303	// unconditionally include in API requests. By default, fields with
1304	// empty values are omitted from API requests. However, any non-pointer,
1305	// non-interface field appearing in ForceSendFields will be sent to the
1306	// server regardless of whether the field is empty or not. This may be
1307	// used to include empty fields in Patch requests.
1308	ForceSendFields []string `json:"-"`
1309
1310	// NullFields is a list of field names (e.g. "Content") to include in
1311	// API requests with the JSON null value. By default, fields with empty
1312	// values are omitted from API requests. However, any field with an
1313	// empty value appearing in NullFields will be sent to the server as
1314	// null. It is an error if a field in this list has a non-empty value.
1315	// This may be used to include null fields in Patch requests.
1316	NullFields []string `json:"-"`
1317}
1318
1319func (s *Asset) MarshalJSON() ([]byte, error) {
1320	type NoMethod Asset
1321	raw := NoMethod(*s)
1322	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1323}
1324
1325// AssetAssociation: Asset association for the creative.
1326type AssetAssociation struct {
1327	// Asset: The associated asset.
1328	Asset *Asset `json:"asset,omitempty"`
1329
1330	// Role: The role of this asset for the creative.
1331	//
1332	// Possible values:
1333	//   "ASSET_ROLE_UNSPECIFIED" - Asset role is not specified or is
1334	// unknown in this version.
1335	//   "ASSET_ROLE_MAIN" - The asset is the main asset of the creative.
1336	//   "ASSET_ROLE_BACKUP" - The asset is a backup asset of the creative.
1337	//   "ASSET_ROLE_POLITE_LOAD" - The asset is a polite load asset of the
1338	// creative.
1339	//   "ASSET_ROLE_HEADLINE" - Headline of a native creative. The content
1340	// must be UTF-8 encoded with a length of no more than 25 characters.
1341	// This role is only supported in following creative_type: *
1342	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1343	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1344	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1345	// `CREATIVE_TYPE_NATIVE_VIDEO`
1346	//   "ASSET_ROLE_LONG_HEADLINE" - Long headline of a native creative.
1347	// The content must be UTF-8 encoded with a length of no more than 50
1348	// characters. This role is only supported in following creative_type: *
1349	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1350	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1351	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1352	// `CREATIVE_TYPE_NATIVE_VIDEO`
1353	//   "ASSET_ROLE_BODY" - Body text of a native creative. The content
1354	// must be UTF-8 encoded with a length of no more than 90 characters.
1355	// This role is only supported in following creative_type: *
1356	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1357	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1358	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1359	// `CREATIVE_TYPE_NATIVE_VIDEO`
1360	//   "ASSET_ROLE_LONG_BODY" - Long body text of a native creative. The
1361	// content must be UTF-8 encoded with a length of no more than 150
1362	// characters. This role is only supported in following creative_type: *
1363	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1364	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1365	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1366	// `CREATIVE_TYPE_NATIVE_VIDEO`
1367	//   "ASSET_ROLE_CAPTION_URL" - A short, friendly version of the landing
1368	// page URL to show in the creative. This URL gives people an idea of
1369	// where they'll arrive after they click on the creative. The content
1370	// must be UTF-8 encoded with a length of no more than 30 characters.
1371	// For example, if the landing page URL is
1372	// 'http://www.example.com/page', the caption URL can be 'example.com'.
1373	// The protocol (http://) is optional, but the URL can't contain spaces
1374	// or special characters. This role is only supported in following
1375	// creative_type: * `CREATIVE_TYPE_NATIVE` *
1376	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1377	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1378	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1379	// `CREATIVE_TYPE_NATIVE_VIDEO`
1380	//   "ASSET_ROLE_CALL_TO_ACTION" - The text to use on the call-to-action
1381	// button of a native creative. The content must be UTF-8 encoded with a
1382	// length of no more than 15 characters. This role is only supported in
1383	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
1384	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1385	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1386	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1387	// `CREATIVE_TYPE_NATIVE_VIDEO`
1388	//   "ASSET_ROLE_ADVERTISER_NAME" - The text that identifies the
1389	// advertiser or brand name. The content must be UTF-8 encoded with a
1390	// length of no more than 25 characters. This role is only supported in
1391	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
1392	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1393	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1394	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
1395	// `CREATIVE_TYPE_NATIVE_VIDEO`
1396	//   "ASSET_ROLE_PRICE" - The purchase price of your app in the Google
1397	// play store or iOS app store (for example, $5.99). Note that this
1398	// value is not automatically synced with the actual value listed in the
1399	// store. It will always be the one provided when save the creative. The
1400	// content must be UTF-8 encoded with a length of no more than 15
1401	// characters. This role is only supported in following creative_type: *
1402	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1403	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1404	//   "ASSET_ROLE_ANDROID_APP_ID" - The ID of an Android app in the
1405	// Google play store. You can find this ID in the App’s Google Play
1406	// Store URL after ‘id’. For example, in
1407	// https://play.google.com/store/apps/details?id=com.company.appname the
1408	// identifier is com.company.appname. This role is only supported in
1409	// following creative_type: * `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1410	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1411	//   "ASSET_ROLE_IOS_APP_ID" - The ID of an iOS app in the Apple app
1412	// store. This ID number can be found in the Apple App Store URL as the
1413	// string of numbers directly after "id". For example, in
1414	// https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the
1415	// ID is 422689480. This role is only supported in following
1416	// creative_type: * `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1417	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1418	//   "ASSET_ROLE_RATING" - The rating of an app in the Google play store
1419	// or iOS app store. Note that this value is not automatically synced
1420	// with the actual rating in the store. It will always be the one
1421	// provided when save the creative. This role is only supported in
1422	// following creative_type: * `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1423	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1424	//   "ASSET_ROLE_ICON" - The icon of a creative. This role is only
1425	// supported and required in following creative_type: *
1426	// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
1427	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
1428	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE`
1429	//   "ASSET_ROLE_COVER_IMAGE" - The cover image of a native video
1430	// creative. This role is only supported and required in following
1431	// creative_type: * `CREATIVE_TYPE_VIDEO`
1432	Role string `json:"role,omitempty"`
1433
1434	// ForceSendFields is a list of field names (e.g. "Asset") to
1435	// unconditionally include in API requests. By default, fields with
1436	// empty values are omitted from API requests. However, any non-pointer,
1437	// non-interface field appearing in ForceSendFields will be sent to the
1438	// server regardless of whether the field is empty or not. This may be
1439	// used to include empty fields in Patch requests.
1440	ForceSendFields []string `json:"-"`
1441
1442	// NullFields is a list of field names (e.g. "Asset") to include in API
1443	// requests with the JSON null value. By default, fields with empty
1444	// values are omitted from API requests. However, any field with an
1445	// empty value appearing in NullFields will be sent to the server as
1446	// null. It is an error if a field in this list has a non-empty value.
1447	// This may be used to include null fields in Patch requests.
1448	NullFields []string `json:"-"`
1449}
1450
1451func (s *AssetAssociation) MarshalJSON() ([]byte, error) {
1452	type NoMethod AssetAssociation
1453	raw := NoMethod(*s)
1454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1455}
1456
1457// AssignedInventorySource: An assignment between a targetable inventory
1458// source and an inventory source group.
1459type AssignedInventorySource struct {
1460	// AssignedInventorySourceId: Output only. The unique ID of the assigned
1461	// inventory source. The ID is only unique within a given inventory
1462	// source group. It may be reused in other contexts.
1463	AssignedInventorySourceId int64 `json:"assignedInventorySourceId,omitempty,string"`
1464
1465	// InventorySourceId: Required. The ID of the inventory source entity
1466	// being targeted.
1467	InventorySourceId string `json:"inventorySourceId,omitempty"`
1468
1469	// Name: Output only. The resource name of the assigned inventory
1470	// source.
1471	Name string `json:"name,omitempty"`
1472
1473	// ServerResponse contains the HTTP response code and headers from the
1474	// server.
1475	googleapi.ServerResponse `json:"-"`
1476
1477	// ForceSendFields is a list of field names (e.g.
1478	// "AssignedInventorySourceId") to unconditionally include in API
1479	// requests. By default, fields with empty values are omitted from API
1480	// requests. However, any non-pointer, non-interface field appearing in
1481	// ForceSendFields will be sent to the server regardless of whether the
1482	// field is empty or not. This may be used to include empty fields in
1483	// Patch requests.
1484	ForceSendFields []string `json:"-"`
1485
1486	// NullFields is a list of field names (e.g.
1487	// "AssignedInventorySourceId") to include in API requests with the JSON
1488	// null value. By default, fields with empty values are omitted from API
1489	// requests. However, any field with an empty value appearing in
1490	// NullFields will be sent to the server as null. It is an error if a
1491	// field in this list has a non-empty value. This may be used to include
1492	// null fields in Patch requests.
1493	NullFields []string `json:"-"`
1494}
1495
1496func (s *AssignedInventorySource) MarshalJSON() ([]byte, error) {
1497	type NoMethod AssignedInventorySource
1498	raw := NoMethod(*s)
1499	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1500}
1501
1502// AssignedLocation: An assignment between a location list and a
1503// relevant targeting option. Currently, geo region targeting options
1504// are the only supported option for assignment.
1505type AssignedLocation struct {
1506	// AssignedLocationId: Output only. The unique ID of the assigned
1507	// location. The ID is only unique within a location list. It may be
1508	// reused in other contexts.
1509	AssignedLocationId int64 `json:"assignedLocationId,omitempty,string"`
1510
1511	// Name: Output only. The resource name of the assigned location.
1512	Name string `json:"name,omitempty"`
1513
1514	// TargetingOptionId: Required. The ID of the targeting option assigned
1515	// to the location list. Must be of type TARGETING_TYPE_GEO_REGION.
1516	TargetingOptionId string `json:"targetingOptionId,omitempty"`
1517
1518	// ServerResponse contains the HTTP response code and headers from the
1519	// server.
1520	googleapi.ServerResponse `json:"-"`
1521
1522	// ForceSendFields is a list of field names (e.g. "AssignedLocationId")
1523	// to unconditionally include in API requests. By default, fields with
1524	// empty values are omitted from API requests. However, any non-pointer,
1525	// non-interface field appearing in ForceSendFields will be sent to the
1526	// server regardless of whether the field is empty or not. This may be
1527	// used to include empty fields in Patch requests.
1528	ForceSendFields []string `json:"-"`
1529
1530	// NullFields is a list of field names (e.g. "AssignedLocationId") to
1531	// include in API requests with the JSON null value. By default, fields
1532	// with empty values are omitted from API requests. However, any field
1533	// with an empty value appearing in NullFields will be sent to the
1534	// server as null. It is an error if a field in this list has a
1535	// non-empty value. This may be used to include null fields in Patch
1536	// requests.
1537	NullFields []string `json:"-"`
1538}
1539
1540func (s *AssignedLocation) MarshalJSON() ([]byte, error) {
1541	type NoMethod AssignedLocation
1542	raw := NoMethod(*s)
1543	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1544}
1545
1546// AssignedTargetingOption: A single assigned targeting option, which
1547// defines the state of a targeting option for an entity with targeting
1548// settings.
1549type AssignedTargetingOption struct {
1550	// AgeRangeDetails: Age range details. This field will be populated when
1551	// the TargetingType is `TARGETING_TYPE_AGE_RANGE`.
1552	AgeRangeDetails *AgeRangeAssignedTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
1553
1554	// AppCategoryDetails: App category details. This field will be
1555	// populated when the TargetingType is `TARGETING_TYPE_APP_CATEGORY`.
1556	AppCategoryDetails *AppCategoryAssignedTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
1557
1558	// AppDetails: App details. This field will be populated when the
1559	// TargetingType is `TARGETING_TYPE_APP`.
1560	AppDetails *AppAssignedTargetingOptionDetails `json:"appDetails,omitempty"`
1561
1562	// AssignedTargetingOptionId: Output only. The unique ID of the assigned
1563	// targeting option. The ID is only unique within a given line item and
1564	// targeting type. It may be reused in other contexts.
1565	AssignedTargetingOptionId string `json:"assignedTargetingOptionId,omitempty"`
1566
1567	// AudienceGroupDetails: Audience targeting details. This field will be
1568	// populated when the TargetingType is `TARGETING_TYPE_AUDIENCE_GROUP`.
1569	// You can only target one audience group option per line item.
1570	AudienceGroupDetails *AudienceGroupAssignedTargetingOptionDetails `json:"audienceGroupDetails,omitempty"`
1571
1572	// AuthorizedSellerStatusDetails: Authorized seller status details. This
1573	// field will be populated when the TargetingType is
1574	// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one
1575	// authorized seller status option per line item. If a line item doesn't
1576	// have an authorized seller status option, all authorized sellers
1577	// indicated as DIRECT or RESELLER in the ads.txt file are targeted by
1578	// default.
1579	AuthorizedSellerStatusDetails *AuthorizedSellerStatusAssignedTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
1580
1581	// BrowserDetails: Browser details. This field will be populated when
1582	// the TargetingType is `TARGETING_TYPE_BROWSER`.
1583	BrowserDetails *BrowserAssignedTargetingOptionDetails `json:"browserDetails,omitempty"`
1584
1585	// CarrierAndIspDetails: Carrier and ISP details. This field will be
1586	// populated when the TargetingType is `TARGETING_TYPE_CARRIER_AND_ISP`.
1587	CarrierAndIspDetails *CarrierAndIspAssignedTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
1588
1589	// CategoryDetails: Category details. This field will be populated when
1590	// the TargetingType is `TARGETING_TYPE_CATEGORY`. Targeting a category
1591	// will also target its subcategories. If a category is excluded from
1592	// targeting and a subcategory is included, the exclusion will take
1593	// precedence.
1594	CategoryDetails *CategoryAssignedTargetingOptionDetails `json:"categoryDetails,omitempty"`
1595
1596	// ChannelDetails: Channel details. This field will be populated when
1597	// the TargetingType is `TARGETING_TYPE_CHANNEL`.
1598	ChannelDetails *ChannelAssignedTargetingOptionDetails `json:"channelDetails,omitempty"`
1599
1600	// ContentInstreamPositionDetails: Content instream position details.
1601	// This field will be populated when the TargetingType is
1602	// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
1603	ContentInstreamPositionDetails *ContentInstreamPositionAssignedTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
1604
1605	// ContentOutstreamPositionDetails: Content outstream position details.
1606	// This field will be populated when the TargetingType is
1607	// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
1608	ContentOutstreamPositionDetails *ContentOutstreamPositionAssignedTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
1609
1610	// DayAndTimeDetails: Day and time details. This field will be populated
1611	// when the TargetingType is `TARGETING_TYPE_DAY_AND_TIME`.
1612	DayAndTimeDetails *DayAndTimeAssignedTargetingOptionDetails `json:"dayAndTimeDetails,omitempty"`
1613
1614	// DeviceMakeModelDetails: Device make and model details. This field
1615	// will be populated when the TargetingType is
1616	// `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
1617	DeviceMakeModelDetails *DeviceMakeModelAssignedTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
1618
1619	// DeviceTypeDetails: Device Type details. This field will be populated
1620	// when the TargetingType is `TARGETING_TYPE_DEVICE_TYPE`.
1621	DeviceTypeDetails *DeviceTypeAssignedTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
1622
1623	// DigitalContentLabelExclusionDetails: Digital content label details.
1624	// This field will be populated when the TargetingType is
1625	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content
1626	// labels are targeting exclusions. Advertiser level digital content
1627	// label exclusions, if set, are always applied in serving (even though
1628	// they aren't visible in line item settings). Line item settings can
1629	// exclude content labels in addition to advertiser exclusions, but
1630	// can't override them. A line item won't serve if all the digital
1631	// content labels are excluded.
1632	DigitalContentLabelExclusionDetails *DigitalContentLabelAssignedTargetingOptionDetails `json:"digitalContentLabelExclusionDetails,omitempty"`
1633
1634	// EnvironmentDetails: Environment details. This field will be populated
1635	// when the TargetingType is `TARGETING_TYPE_ENVIRONMENT`.
1636	EnvironmentDetails *EnvironmentAssignedTargetingOptionDetails `json:"environmentDetails,omitempty"`
1637
1638	// ExchangeDetails: Exchange details. This field will be populated when
1639	// the TargetingType is `TARGETING_TYPE_EXCHANGE`.
1640	ExchangeDetails *ExchangeAssignedTargetingOptionDetails `json:"exchangeDetails,omitempty"`
1641
1642	// GenderDetails: Gender details. This field will be populated when the
1643	// TargetingType is `TARGETING_TYPE_GENDER`.
1644	GenderDetails *GenderAssignedTargetingOptionDetails `json:"genderDetails,omitempty"`
1645
1646	// GeoRegionDetails: Geographic region details. This field will be
1647	// populated when the TargetingType is `TARGETING_TYPE_GEO_REGION`.
1648	GeoRegionDetails *GeoRegionAssignedTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
1649
1650	// HouseholdIncomeDetails: Household income details. This field will be
1651	// populated when the TargetingType is
1652	// `TARGETING_TYPE_HOUSEHOLD_INCOME`.
1653	HouseholdIncomeDetails *HouseholdIncomeAssignedTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
1654
1655	// Inheritance: Output only. The inheritance status of the assigned
1656	// targeting option.
1657	//
1658	// Possible values:
1659	//   "INHERITANCE_UNSPECIFIED" - The inheritance is unspecified or
1660	// unknown.
1661	//   "NOT_INHERITED" - The assigned targeting option is not inherited
1662	// from higher level entity.
1663	//   "INHERITED_FROM_PARTNER" - The assigned targeting option is
1664	// inherited from partner targeting settings.
1665	//   "INHERITED_FROM_ADVERTISER" - The assigned targeting option is
1666	// inherited from advertiser targeting settings.
1667	Inheritance string `json:"inheritance,omitempty"`
1668
1669	// InventorySourceDetails: Inventory source details. This field will be
1670	// populated when the TargetingType is
1671	// `TARGETING_TYPE_INVENTORY_SOURCE`.
1672	InventorySourceDetails *InventorySourceAssignedTargetingOptionDetails `json:"inventorySourceDetails,omitempty"`
1673
1674	// InventorySourceGroupDetails: Inventory source group details. This
1675	// field will be populated when the TargetingType is
1676	// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
1677	InventorySourceGroupDetails *InventorySourceGroupAssignedTargetingOptionDetails `json:"inventorySourceGroupDetails,omitempty"`
1678
1679	// KeywordDetails: Keyword details. This field will be populated when
1680	// the TargetingType is `TARGETING_TYPE_KEYWORD`. A maximum of 5000
1681	// direct negative keywords can be assigned to a line item. No limit on
1682	// number of positive keywords that can be assigned.
1683	KeywordDetails *KeywordAssignedTargetingOptionDetails `json:"keywordDetails,omitempty"`
1684
1685	// LanguageDetails: Language details. This field will be populated when
1686	// the TargetingType is `TARGETING_TYPE_LANGUAGE`.
1687	LanguageDetails *LanguageAssignedTargetingOptionDetails `json:"languageDetails,omitempty"`
1688
1689	// Name: Output only. The resource name for this assigned targeting
1690	// option.
1691	Name string `json:"name,omitempty"`
1692
1693	// NegativeKeywordListDetails: Keyword details. This field will be
1694	// populated when the TargetingType is
1695	// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative
1696	// keyword lists can be assigned to a line item.
1697	NegativeKeywordListDetails *NegativeKeywordListAssignedTargetingOptionDetails `json:"negativeKeywordListDetails,omitempty"`
1698
1699	// OnScreenPositionDetails: On screen position details. This field will
1700	// be populated when the TargetingType is
1701	// `TARGETING_TYPE_ON_SCREEN_POSITION`.
1702	OnScreenPositionDetails *OnScreenPositionAssignedTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
1703
1704	// OperatingSystemDetails: Operating system details. This field will be
1705	// populated when the TargetingType is
1706	// `TARGETING_TYPE_OPERATING_SYSTEM`.
1707	OperatingSystemDetails *OperatingSystemAssignedTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
1708
1709	// ParentalStatusDetails: Parental status details. This field will be
1710	// populated when the TargetingType is `TARGETING_TYPE_PARENTAL_STATUS`.
1711	ParentalStatusDetails *ParentalStatusAssignedTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
1712
1713	// ProximityLocationListDetails: Proximity location list details. This
1714	// field will be populated when the TargetingType is
1715	// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
1716	ProximityLocationListDetails *ProximityLocationListAssignedTargetingOptionDetails `json:"proximityLocationListDetails,omitempty"`
1717
1718	// RegionalLocationListDetails: Regional location list details. This
1719	// field will be populated when the TargetingType is
1720	// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
1721	RegionalLocationListDetails *RegionalLocationListAssignedTargetingOptionDetails `json:"regionalLocationListDetails,omitempty"`
1722
1723	// SensitiveCategoryExclusionDetails: Sensitive category details. This
1724	// field will be populated when the TargetingType is
1725	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories
1726	// are targeting exclusions. Advertiser level sensitive category
1727	// exclusions, if set, are always applied in serving (even though they
1728	// aren't visible in line item settings). Line item settings can exclude
1729	// sensitive categories in addition to advertiser exclusions, but can't
1730	// override them.
1731	SensitiveCategoryExclusionDetails *SensitiveCategoryAssignedTargetingOptionDetails `json:"sensitiveCategoryExclusionDetails,omitempty"`
1732
1733	// SubExchangeDetails: Sub-exchange details. This field will be
1734	// populated when the TargetingType is `TARGETING_TYPE_SUB_EXCHANGE`.
1735	SubExchangeDetails *SubExchangeAssignedTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
1736
1737	// TargetingType: Output only. Identifies the type of this assigned
1738	// targeting option.
1739	//
1740	// Possible values:
1741	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
1742	// specified or is unknown in this version.
1743	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
1744	// related websites or apps).
1745	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
1746	// example, education or puzzle games).
1747	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
1748	// Birds).
1749	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
1750	// quora.com).
1751	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
1752	// period on a specific day.
1753	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
1754	// (for example, 18-24).
1755	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
1756	// specified regions on a regional location list.
1757	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
1758	// specified points of interest on a proximity location list.
1759	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
1760	// example, female or male).
1761	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
1762	// size for video ads.
1763	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
1764	// content for video ads.
1765	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
1766	// parental status (for example, parent or not a parent).
1767	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
1768	// ads in a specific content instream position (for example, pre-roll,
1769	// mid-roll, or post-roll).
1770	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
1771	// specific content outstream position.
1772	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
1773	// (for example, tablet or connected TV).
1774	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
1775	// groups of audiences. Singleton field, at most one can exist on a
1776	// single Lineitem at a time.
1777	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
1778	// example, Chrome).
1779	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
1780	// household income range (for example, top 10%).
1781	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
1782	// screen position.
1783	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
1784	// third party verification (for example, IAS or DoubleVerify).
1785	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
1786	// by specific digital content label ratings (for example, DL-MA:
1787	// suitable only for mature audiences).
1788	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
1789	// content by sensitive categories (for example, adult).
1790	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
1791	// (for example, web or app).
1792	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
1793	// carrier or internet service provider (ISP) (for example, Comcast or
1794	// Orange).
1795	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
1796	// operating system (for example, macOS).
1797	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
1798	// device make or model (for example, Roku or Samsung).
1799	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
1800	// example, dog or retriever).
1801	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
1802	// negative keyword list.
1803	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
1804	// (for example, 80% viewable).
1805	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
1806	// category (for example, arts & entertainment).
1807	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
1808	// specific deals and auction packages.
1809	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
1810	// example, English or Japanese).
1811	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
1812	// authorized sellers.
1813	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
1814	// location (for example, a city or state).
1815	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
1816	// a group of deals and auction packages.
1817	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
1818	// exchanges.
1819	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
1820	// sub-exchanges.
1821	TargetingType string `json:"targetingType,omitempty"`
1822
1823	// ThirdPartyVerifierDetails: Third party verification details. This
1824	// field will be populated when the TargetingType is
1825	// `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
1826	ThirdPartyVerifierDetails *ThirdPartyVerifierAssignedTargetingOptionDetails `json:"thirdPartyVerifierDetails,omitempty"`
1827
1828	// UrlDetails: URL details. This field will be populated when the
1829	// TargetingType is `TARGETING_TYPE_URL`.
1830	UrlDetails *UrlAssignedTargetingOptionDetails `json:"urlDetails,omitempty"`
1831
1832	// UserRewardedContentDetails: User rewarded content details. This field
1833	// will be populated when the TargetingType is
1834	// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
1835	UserRewardedContentDetails *UserRewardedContentAssignedTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
1836
1837	// VideoPlayerSizeDetails: Video player size details. This field will be
1838	// populated when the TargetingType is
1839	// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
1840	VideoPlayerSizeDetails *VideoPlayerSizeAssignedTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
1841
1842	// ViewabilityDetails: Viewability details. This field will be populated
1843	// when the TargetingType is `TARGETING_TYPE_VIEWABILITY`. You can only
1844	// target one viewability option per line item.
1845	ViewabilityDetails *ViewabilityAssignedTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
1846
1847	// ServerResponse contains the HTTP response code and headers from the
1848	// server.
1849	googleapi.ServerResponse `json:"-"`
1850
1851	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
1852	// unconditionally include in API requests. By default, fields with
1853	// empty values are omitted from API requests. However, any non-pointer,
1854	// non-interface field appearing in ForceSendFields will be sent to the
1855	// server regardless of whether the field is empty or not. This may be
1856	// used to include empty fields in Patch requests.
1857	ForceSendFields []string `json:"-"`
1858
1859	// NullFields is a list of field names (e.g. "AgeRangeDetails") to
1860	// include in API requests with the JSON null value. By default, fields
1861	// with empty values are omitted from API requests. However, any field
1862	// with an empty value appearing in NullFields will be sent to the
1863	// server as null. It is an error if a field in this list has a
1864	// non-empty value. This may be used to include null fields in Patch
1865	// requests.
1866	NullFields []string `json:"-"`
1867}
1868
1869func (s *AssignedTargetingOption) MarshalJSON() ([]byte, error) {
1870	type NoMethod AssignedTargetingOption
1871	raw := NoMethod(*s)
1872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1873}
1874
1875// AssignedUserRole: A single assigned user role, which defines a user's
1876// authorized interaction with a specified partner or advertiser.
1877type AssignedUserRole struct {
1878	// AdvertiserId: The ID of the advertiser that the assigend user role
1879	// applies to.
1880	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1881
1882	// AssignedUserRoleId: Output only. The ID of the assigned user role.
1883	AssignedUserRoleId string `json:"assignedUserRoleId,omitempty"`
1884
1885	// PartnerId: The ID of the partner that the assigned user role applies
1886	// to.
1887	PartnerId int64 `json:"partnerId,omitempty,string"`
1888
1889	// UserRole: Required. The user role to assign to a user for the entity.
1890	//
1891	// Possible values:
1892	//   "USER_ROLE_UNSPECIFIED" - Default value when the user role is not
1893	// specified or is unknown in this version.
1894	//   "ADMIN" - The user can manage campaigns, creatives, insertion
1895	// orders, line items, and reports for the entity. They can view and
1896	// edit billing information, create or modify users, and enable or
1897	// disable exchanges. This role can only be assigned for a partner
1898	// entity.
1899	//   "ADMIN_PARTNER_CLIENT" - The user can manage campaigns, creatives,
1900	// insertion orders, line items, and reports for the entity. They can
1901	// create and modify other `ADMIN_PARTNER_CLIENT` users and view billing
1902	// information. They cannot view revenue models, markups, or any other
1903	// reseller-sensitive fields. This role can only be assigned for a
1904	// partner entity.
1905	//   "STANDARD" - The user can manage campaigns, creatives, insertion
1906	// orders, line items, and reports for the entity. They cannot create
1907	// and modify users or view billing information.
1908	//   "STANDARD_PLANNER" - The user can view all campaigns, creatives,
1909	// insertion orders, line items, and reports for the entity, including
1910	// all cost data. They can create and modify planning-related features,
1911	// including plans and inventory.
1912	//   "STANDARD_PLANNER_LIMITED" - The user can view all campaigns,
1913	// creatives, insertion orders, line items, and reports for the entity.
1914	// They can create or modify planning-related features, including plans
1915	// and inventory. They have no access to cost data and cannot start,
1916	// accept, or negotiate deals.
1917	//   "STANDARD_PARTNER_CLIENT" - The user can manage campaigns,
1918	// creatives, insertion orders, line items, and reports for the entity.
1919	// They cannot create or modify other users or view billing information.
1920	// They cannot view revenue models, markups, or any other
1921	// reseller-sensitive fields. This role can only be assigned for an
1922	// advertiser entity.
1923	//   "READ_ONLY" - The user can only build reports and view data for the
1924	// entity.
1925	//   "REPORTING_ONLY" - The user can only create and manage reports.
1926	//   "LIMITED_REPORTING_ONLY" - The user can only create and manage the
1927	// following client-safe reports: General, Audience Performance,
1928	// Cross-Partner, Keyword, Order ID, Category, and Third-Party Data
1929	// Provider.
1930	//   "CREATIVE" - The user can view media plan information they need to
1931	// collaborate, but can't view cost-related data or Marketplace.
1932	//   "CREATIVE_ADMIN" - The user can view media plan information they
1933	// need to collaborate, but can't view cost-related data or Marketplace.
1934	// In addition, they can add other creative admins or creative users to
1935	// the entity.
1936	UserRole string `json:"userRole,omitempty"`
1937
1938	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
1939	// unconditionally include in API requests. By default, fields with
1940	// empty values are omitted from API requests. However, any non-pointer,
1941	// non-interface field appearing in ForceSendFields will be sent to the
1942	// server regardless of whether the field is empty or not. This may be
1943	// used to include empty fields in Patch requests.
1944	ForceSendFields []string `json:"-"`
1945
1946	// NullFields is a list of field names (e.g. "AdvertiserId") to include
1947	// in API requests with the JSON null value. By default, fields with
1948	// empty values are omitted from API requests. However, any field with
1949	// an empty value appearing in NullFields will be sent to the server as
1950	// null. It is an error if a field in this list has a non-empty value.
1951	// This may be used to include null fields in Patch requests.
1952	NullFields []string `json:"-"`
1953}
1954
1955func (s *AssignedUserRole) MarshalJSON() ([]byte, error) {
1956	type NoMethod AssignedUserRole
1957	raw := NoMethod(*s)
1958	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1959}
1960
1961// AudienceGroupAssignedTargetingOptionDetails: Assigned audience group
1962// targeting option details. This will be populated in the details field
1963// of an AssignedTargetingOption when targeting_type is
1964// `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is
1965// UNION, except for excluded_first_and_third_party_audience_group and
1966// excluded_google_audience_group, of which COMPLEMENT is UNION'ed with
1967// other groups.
1968type AudienceGroupAssignedTargetingOptionDetails struct {
1969	// ExcludedFirstAndThirdPartyAudienceGroup: The first and third party
1970	// audience ids and recencies of the excluded first and third party
1971	// audience group. Used for negative targeting. Its COMPLEMENT is used
1972	// to UNION other audience groups.
1973	ExcludedFirstAndThirdPartyAudienceGroup *FirstAndThirdPartyAudienceGroup `json:"excludedFirstAndThirdPartyAudienceGroup,omitempty"`
1974
1975	// ExcludedGoogleAudienceGroup: The Google audience ids of the excluded
1976	// Google audience group. Used for negative targeting. It's COMPLEMENT
1977	// is used to UNION other audience groups. Only contains Affinity,
1978	// In-market and Installed-apps type Google audiences. All items are
1979	// logically ‘OR’ of each other.
1980	ExcludedGoogleAudienceGroup *GoogleAudienceGroup `json:"excludedGoogleAudienceGroup,omitempty"`
1981
1982	// IncludedCombinedAudienceGroup: The combined audience ids of the
1983	// included combined audience group. Contains combined audience ids
1984	// only.
1985	IncludedCombinedAudienceGroup *CombinedAudienceGroup `json:"includedCombinedAudienceGroup,omitempty"`
1986
1987	// IncludedCustomListGroup: The custom list ids of the included custom
1988	// list group. Contains custom list ids only.
1989	IncludedCustomListGroup *CustomListGroup `json:"includedCustomListGroup,omitempty"`
1990
1991	// IncludedFirstAndThirdPartyAudienceGroups: The first and third party
1992	// audience ids and recencies of included first and third party audience
1993	// groups. Each first and third party audience group contains first and
1994	// third party audience ids only. The relation between each first and
1995	// third party audience group is INTERSECTION, and the result is
1996	// UNION'ed with other audience groups. Repeated groups with same
1997	// settings will be ignored.
1998	IncludedFirstAndThirdPartyAudienceGroups []*FirstAndThirdPartyAudienceGroup `json:"includedFirstAndThirdPartyAudienceGroups,omitempty"`
1999
2000	// IncludedGoogleAudienceGroup: The Google audience ids of the included
2001	// Google audience group. Contains Google audience ids only.
2002	IncludedGoogleAudienceGroup *GoogleAudienceGroup `json:"includedGoogleAudienceGroup,omitempty"`
2003
2004	// ForceSendFields is a list of field names (e.g.
2005	// "ExcludedFirstAndThirdPartyAudienceGroup") to unconditionally include
2006	// in API requests. By default, fields with empty values are omitted
2007	// from API requests. However, any non-pointer, non-interface field
2008	// appearing in ForceSendFields will be sent to the server regardless of
2009	// whether the field is empty or not. This may be used to include empty
2010	// fields in Patch requests.
2011	ForceSendFields []string `json:"-"`
2012
2013	// NullFields is a list of field names (e.g.
2014	// "ExcludedFirstAndThirdPartyAudienceGroup") to include in API requests
2015	// with the JSON null value. By default, fields with empty values are
2016	// omitted from API requests. However, any field with an empty value
2017	// appearing in NullFields will be sent to the server as null. It is an
2018	// error if a field in this list has a non-empty value. This may be used
2019	// to include null fields in Patch requests.
2020	NullFields []string `json:"-"`
2021}
2022
2023func (s *AudienceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2024	type NoMethod AudienceGroupAssignedTargetingOptionDetails
2025	raw := NoMethod(*s)
2026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2027}
2028
2029// AudioVideoOffset: The length an audio or a video has been played.
2030type AudioVideoOffset struct {
2031	// Percentage: The offset in percentage of the audio or video duration.
2032	Percentage int64 `json:"percentage,omitempty,string"`
2033
2034	// Seconds: The offset in seconds from the start of the audio or video.
2035	Seconds int64 `json:"seconds,omitempty,string"`
2036
2037	// ForceSendFields is a list of field names (e.g. "Percentage") to
2038	// unconditionally include in API requests. By default, fields with
2039	// empty values are omitted from API requests. However, any non-pointer,
2040	// non-interface field appearing in ForceSendFields will be sent to the
2041	// server regardless of whether the field is empty or not. This may be
2042	// used to include empty fields in Patch requests.
2043	ForceSendFields []string `json:"-"`
2044
2045	// NullFields is a list of field names (e.g. "Percentage") to include in
2046	// API requests with the JSON null value. By default, fields with empty
2047	// values are omitted from API requests. However, any field with an
2048	// empty value appearing in NullFields will be sent to the server as
2049	// null. It is an error if a field in this list has a non-empty value.
2050	// This may be used to include null fields in Patch requests.
2051	NullFields []string `json:"-"`
2052}
2053
2054func (s *AudioVideoOffset) MarshalJSON() ([]byte, error) {
2055	type NoMethod AudioVideoOffset
2056	raw := NoMethod(*s)
2057	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2058}
2059
2060// AuditAdvertiserResponse: Response message for
2061// AdvertiserService.AuditAdvertiser.
2062type AuditAdvertiserResponse struct {
2063	// AdGroupCriteriaCount: The number of individual targeting options from
2064	// the following targeting types that are assigned to a line item under
2065	// this advertiser. These individual targeting options count towards the
2066	// limit of 4500000 ad group targeting options per advertiser.
2067	// Qualifying Targeting types: * Channels, URLs, apps, and collections *
2068	// Demographic * Google Audiences, including Affinity, Custom Affinity,
2069	// and In-market audiences * Inventory source * Keyword * Mobile app
2070	// category * User lists * Video targeting * Viewability
2071	AdGroupCriteriaCount int64 `json:"adGroupCriteriaCount,omitempty,string"`
2072
2073	// CampaignCriteriaCount: The number of individual targeting options
2074	// from the following targeting types that are assigned to a line item
2075	// under this advertiser. These individual targeting options count
2076	// towards the limit of 900000 campaign targeting options per
2077	// advertiser. Qualifying Targeting types: * Position * Browser *
2078	// Connection speed * Day and time * Device and operating system *
2079	// Digital content label * Sensitive categories * Environment *
2080	// Geography, including business chains and proximity * ISP * Language *
2081	// Third-party verification
2082	CampaignCriteriaCount int64 `json:"campaignCriteriaCount,omitempty,string"`
2083
2084	// ChannelsCount: The number of channels created under this advertiser.
2085	// These channels count towards the limit of 1000 channels per
2086	// advertiser.
2087	ChannelsCount int64 `json:"channelsCount,omitempty,string"`
2088
2089	// NegativeKeywordListsCount: The number of negative keyword lists
2090	// created under this advertiser. These negative keyword lists count
2091	// towards the limit of 20 negative keyword lists per advertiser.
2092	NegativeKeywordListsCount int64 `json:"negativeKeywordListsCount,omitempty,string"`
2093
2094	// NegativelyTargetedChannelsCount: The number of negatively targeted
2095	// channels created under this advertiser. These negatively targeted
2096	// channels count towards the limit of 5 negatively targeted channels
2097	// per advertiser.
2098	NegativelyTargetedChannelsCount int64 `json:"negativelyTargetedChannelsCount,omitempty,string"`
2099
2100	// UsedCampaignsCount: The number of ACTIVE and PAUSED campaigns under
2101	// this advertiser. These campaigns count towards the limit of 9999
2102	// campaigns per advertiser.
2103	UsedCampaignsCount int64 `json:"usedCampaignsCount,omitempty,string"`
2104
2105	// UsedInsertionOrdersCount: The number of ACTIVE, PAUSED and DRAFT
2106	// insertion orders under this advertiser. These insertion orders count
2107	// towards the limit of 9999 insertion orders per advertiser.
2108	UsedInsertionOrdersCount int64 `json:"usedInsertionOrdersCount,omitempty,string"`
2109
2110	// UsedLineItemsCount: The number of ACTIVE, PAUSED, and DRAFT line
2111	// items under this advertiser. These line items count towards the limit
2112	// of 9999 line items per advertiser.
2113	UsedLineItemsCount int64 `json:"usedLineItemsCount,omitempty,string"`
2114
2115	// ServerResponse contains the HTTP response code and headers from the
2116	// server.
2117	googleapi.ServerResponse `json:"-"`
2118
2119	// ForceSendFields is a list of field names (e.g.
2120	// "AdGroupCriteriaCount") to unconditionally include in API requests.
2121	// By default, fields with empty values are omitted from API requests.
2122	// However, any non-pointer, non-interface field appearing in
2123	// ForceSendFields will be sent to the server regardless of whether the
2124	// field is empty or not. This may be used to include empty fields in
2125	// Patch requests.
2126	ForceSendFields []string `json:"-"`
2127
2128	// NullFields is a list of field names (e.g. "AdGroupCriteriaCount") to
2129	// include in API requests with the JSON null value. By default, fields
2130	// with empty values are omitted from API requests. However, any field
2131	// with an empty value appearing in NullFields will be sent to the
2132	// server as null. It is an error if a field in this list has a
2133	// non-empty value. This may be used to include null fields in Patch
2134	// requests.
2135	NullFields []string `json:"-"`
2136}
2137
2138func (s *AuditAdvertiserResponse) MarshalJSON() ([]byte, error) {
2139	type NoMethod AuditAdvertiserResponse
2140	raw := NoMethod(*s)
2141	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2142}
2143
2144// AuthorizedSellerStatusAssignedTargetingOptionDetails: Represents an
2145// assigned authorized seller status. This will be populated in the
2146// details field of an AssignedTargetingOption when targeting_type is
2147// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2148type AuthorizedSellerStatusAssignedTargetingOptionDetails struct {
2149	// AuthorizedSellerStatus: Output only. The authorized seller status to
2150	// target.
2151	//
2152	// Possible values:
2153	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when
2154	// authorized seller status is not specified in this version. This enum
2155	// is a placeholder for default value and does not represent a real
2156	// authorized seller status option.
2157	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
2158	// authorized sellers that directly own the inventory being monetized,
2159	// as indicated by a DIRECT declaration in the ads.txt file.
2160	//
2161	// "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
2162	//  - All authorized sellers, including publishers that have not posted
2163	// an ads.txt file. Display & Video 360 automatically disallows
2164	// unauthorized sellers.
2165	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
2166
2167	// TargetingOptionId: Required. The targeting_option_id of a
2168	// TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2169	TargetingOptionId string `json:"targetingOptionId,omitempty"`
2170
2171	// ForceSendFields is a list of field names (e.g.
2172	// "AuthorizedSellerStatus") to unconditionally include in API requests.
2173	// By default, fields with empty values are omitted from API requests.
2174	// However, any non-pointer, non-interface field appearing in
2175	// ForceSendFields will be sent to the server regardless of whether the
2176	// field is empty or not. This may be used to include empty fields in
2177	// Patch requests.
2178	ForceSendFields []string `json:"-"`
2179
2180	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus")
2181	// to include in API requests with the JSON null value. By default,
2182	// fields with empty values are omitted from API requests. However, any
2183	// field with an empty value appearing in NullFields will be sent to the
2184	// server as null. It is an error if a field in this list has a
2185	// non-empty value. This may be used to include null fields in Patch
2186	// requests.
2187	NullFields []string `json:"-"`
2188}
2189
2190func (s *AuthorizedSellerStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2191	type NoMethod AuthorizedSellerStatusAssignedTargetingOptionDetails
2192	raw := NoMethod(*s)
2193	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2194}
2195
2196// AuthorizedSellerStatusTargetingOptionDetails: Represents a targetable
2197// authorized seller status. This will be populated in the
2198// authorized_seller_status_details field when targeting_type is
2199// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
2200type AuthorizedSellerStatusTargetingOptionDetails struct {
2201	// AuthorizedSellerStatus: Output only. The authorized seller status.
2202	//
2203	// Possible values:
2204	//   "AUTHORIZED_SELLER_STATUS_UNSPECIFIED" - Default value when
2205	// authorized seller status is not specified in this version. This enum
2206	// is a placeholder for default value and does not represent a real
2207	// authorized seller status option.
2208	//   "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY" - Only
2209	// authorized sellers that directly own the inventory being monetized,
2210	// as indicated by a DIRECT declaration in the ads.txt file.
2211	//
2212	// "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS"
2213	//  - All authorized sellers, including publishers that have not posted
2214	// an ads.txt file. Display & Video 360 automatically disallows
2215	// unauthorized sellers.
2216	AuthorizedSellerStatus string `json:"authorizedSellerStatus,omitempty"`
2217
2218	// ForceSendFields is a list of field names (e.g.
2219	// "AuthorizedSellerStatus") to unconditionally include in API requests.
2220	// By default, fields with empty values are omitted from API requests.
2221	// However, any non-pointer, non-interface field appearing in
2222	// ForceSendFields will be sent to the server regardless of whether the
2223	// field is empty or not. This may be used to include empty fields in
2224	// Patch requests.
2225	ForceSendFields []string `json:"-"`
2226
2227	// NullFields is a list of field names (e.g. "AuthorizedSellerStatus")
2228	// to include in API requests with the JSON null value. By default,
2229	// fields with empty values are omitted from API requests. However, any
2230	// field with an empty value appearing in NullFields will be sent to the
2231	// server as null. It is an error if a field in this list has a
2232	// non-empty value. This may be used to include null fields in Patch
2233	// requests.
2234	NullFields []string `json:"-"`
2235}
2236
2237func (s *AuthorizedSellerStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2238	type NoMethod AuthorizedSellerStatusTargetingOptionDetails
2239	raw := NoMethod(*s)
2240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2241}
2242
2243// BiddingStrategy: Settings that control the bid strategy. Bid strategy
2244// determines the bid price.
2245type BiddingStrategy struct {
2246	// FixedBid: A strategy that uses a fixed bid price.
2247	FixedBid *FixedBidStrategy `json:"fixedBid,omitempty"`
2248
2249	// MaximizeSpendAutoBid: A strategy that automatically adjusts the bid
2250	// to optimize to your performance goal while spending the full budget.
2251	// At insertion order level, the markup_type of line items cannot be set
2252	// to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when
2253	// performance_goal_type is one of: *
2254	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
2255	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
2256	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the
2257	// line_item_type of the insertion order line items must be either: *
2258	// `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` ,
2259	// and when performance_goal_type is either: *
2260	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` *
2261	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type
2262	// of the insertion order line items must be
2263	// `LINE_ITEM_TYPE_VIDEO_DEFAULT`.
2264	MaximizeSpendAutoBid *MaximizeSpendBidStrategy `json:"maximizeSpendAutoBid,omitempty"`
2265
2266	// PerformanceGoalAutoBid: A strategy that automatically adjusts the bid
2267	// to meet or beat a specified performance goal. It is to be used only
2268	// for a line item entity.
2269	PerformanceGoalAutoBid *PerformanceGoalBidStrategy `json:"performanceGoalAutoBid,omitempty"`
2270
2271	// ForceSendFields is a list of field names (e.g. "FixedBid") to
2272	// unconditionally include in API requests. By default, fields with
2273	// empty values are omitted from API requests. However, any non-pointer,
2274	// non-interface field appearing in ForceSendFields will be sent to the
2275	// server regardless of whether the field is empty or not. This may be
2276	// used to include empty fields in Patch requests.
2277	ForceSendFields []string `json:"-"`
2278
2279	// NullFields is a list of field names (e.g. "FixedBid") to include in
2280	// API requests with the JSON null value. By default, fields with empty
2281	// values are omitted from API requests. However, any field with an
2282	// empty value appearing in NullFields will be sent to the server as
2283	// null. It is an error if a field in this list has a non-empty value.
2284	// This may be used to include null fields in Patch requests.
2285	NullFields []string `json:"-"`
2286}
2287
2288func (s *BiddingStrategy) MarshalJSON() ([]byte, error) {
2289	type NoMethod BiddingStrategy
2290	raw := NoMethod(*s)
2291	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2292}
2293
2294// BrowserAssignedTargetingOptionDetails: Details for assigned browser
2295// targeting option. This will be populated in the details field of an
2296// AssignedTargetingOption when targeting_type is
2297// `TARGETING_TYPE_BROWSER`.
2298type BrowserAssignedTargetingOptionDetails struct {
2299	// DisplayName: Output only. The display name of the browser.
2300	DisplayName string `json:"displayName,omitempty"`
2301
2302	// Negative: Indicates if this option is being negatively targeted. All
2303	// assigned browser targeting options on the same line item must have
2304	// the same value for this field.
2305	Negative bool `json:"negative,omitempty"`
2306
2307	// TargetingOptionId: Required. The targeting_option_id of a
2308	// TargetingOption of type `TARGETING_TYPE_BROWSER`.
2309	TargetingOptionId string `json:"targetingOptionId,omitempty"`
2310
2311	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2312	// unconditionally include in API requests. By default, fields with
2313	// empty values are omitted from API requests. However, any non-pointer,
2314	// non-interface field appearing in ForceSendFields will be sent to the
2315	// server regardless of whether the field is empty or not. This may be
2316	// used to include empty fields in Patch requests.
2317	ForceSendFields []string `json:"-"`
2318
2319	// NullFields is a list of field names (e.g. "DisplayName") to include
2320	// in API requests with the JSON null value. By default, fields with
2321	// empty values are omitted from API requests. However, any field with
2322	// an empty value appearing in NullFields will be sent to the server as
2323	// null. It is an error if a field in this list has a non-empty value.
2324	// This may be used to include null fields in Patch requests.
2325	NullFields []string `json:"-"`
2326}
2327
2328func (s *BrowserAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2329	type NoMethod BrowserAssignedTargetingOptionDetails
2330	raw := NoMethod(*s)
2331	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2332}
2333
2334// BrowserTargetingOptionDetails: Represents a targetable browser. This
2335// will be populated in the browser_details field when targeting_type is
2336// `TARGETING_TYPE_BROWSER`.
2337type BrowserTargetingOptionDetails struct {
2338	// DisplayName: Output only. The display name of the browser.
2339	DisplayName string `json:"displayName,omitempty"`
2340
2341	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2342	// unconditionally include in API requests. By default, fields with
2343	// empty values are omitted from API requests. However, any non-pointer,
2344	// non-interface field appearing in ForceSendFields will be sent to the
2345	// server regardless of whether the field is empty or not. This may be
2346	// used to include empty fields in Patch requests.
2347	ForceSendFields []string `json:"-"`
2348
2349	// NullFields is a list of field names (e.g. "DisplayName") to include
2350	// in API requests with the JSON null value. By default, fields with
2351	// empty values are omitted from API requests. However, any field with
2352	// an empty value appearing in NullFields will be sent to the server as
2353	// null. It is an error if a field in this list has a non-empty value.
2354	// This may be used to include null fields in Patch requests.
2355	NullFields []string `json:"-"`
2356}
2357
2358func (s *BrowserTargetingOptionDetails) MarshalJSON() ([]byte, error) {
2359	type NoMethod BrowserTargetingOptionDetails
2360	raw := NoMethod(*s)
2361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2362}
2363
2364// BulkEditAdvertiserAssignedTargetingOptionsRequest: Request message
2365// for BulkEditAdvertiserAssignedTargetingOptions.
2366type BulkEditAdvertiserAssignedTargetingOptionsRequest struct {
2367	// CreateRequests: The assigned targeting options to create in batch,
2368	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2369	// Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
2370	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
2371	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
2372	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2373
2374	// DeleteRequests: The assigned targeting options to delete in batch,
2375	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2376	// Supported targeting types: * `TARGETING_TYPE_CHANNEL` *
2377	// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` *
2378	// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
2379	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2380
2381	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2382	// unconditionally include in API requests. By default, fields with
2383	// empty values are omitted from API requests. However, any non-pointer,
2384	// non-interface field appearing in ForceSendFields will be sent to the
2385	// server regardless of whether the field is empty or not. This may be
2386	// used to include empty fields in Patch requests.
2387	ForceSendFields []string `json:"-"`
2388
2389	// NullFields is a list of field names (e.g. "CreateRequests") to
2390	// include in API requests with the JSON null value. By default, fields
2391	// with empty values are omitted from API requests. However, any field
2392	// with an empty value appearing in NullFields will be sent to the
2393	// server as null. It is an error if a field in this list has a
2394	// non-empty value. This may be used to include null fields in Patch
2395	// requests.
2396	NullFields []string `json:"-"`
2397}
2398
2399func (s *BulkEditAdvertiserAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2400	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsRequest
2401	raw := NoMethod(*s)
2402	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2403}
2404
2405type BulkEditAdvertiserAssignedTargetingOptionsResponse struct {
2406	// CreatedAssignedTargetingOptions: The list of assigned targeting
2407	// options that have been successfully created. This list will be absent
2408	// if empty.
2409	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2410
2411	// ServerResponse contains the HTTP response code and headers from the
2412	// server.
2413	googleapi.ServerResponse `json:"-"`
2414
2415	// ForceSendFields is a list of field names (e.g.
2416	// "CreatedAssignedTargetingOptions") to unconditionally include in API
2417	// requests. By default, fields with empty values are omitted from API
2418	// requests. However, any non-pointer, non-interface field appearing in
2419	// ForceSendFields will be sent to the server regardless of whether the
2420	// field is empty or not. This may be used to include empty fields in
2421	// Patch requests.
2422	ForceSendFields []string `json:"-"`
2423
2424	// NullFields is a list of field names (e.g.
2425	// "CreatedAssignedTargetingOptions") to include in API requests with
2426	// the JSON null value. By default, fields with empty values are omitted
2427	// from API requests. However, any field with an empty value appearing
2428	// in NullFields will be sent to the server as null. It is an error if a
2429	// field in this list has a non-empty value. This may be used to include
2430	// null fields in Patch requests.
2431	NullFields []string `json:"-"`
2432}
2433
2434func (s *BulkEditAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2435	type NoMethod BulkEditAdvertiserAssignedTargetingOptionsResponse
2436	raw := NoMethod(*s)
2437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2438}
2439
2440// BulkEditAssignedInventorySourcesRequest: Request message for
2441// AssignedInventorySourceService.BulkEdit.
2442type BulkEditAssignedInventorySourcesRequest struct {
2443	// AdvertiserId: The ID of the advertiser that owns the parent inventory
2444	// source group. The parent partner does not have access to these
2445	// assigned inventory sources.
2446	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2447
2448	// CreatedAssignedInventorySources: The assigned inventory sources to
2449	// create in bulk, specified as a list of AssignedInventorySources.
2450	CreatedAssignedInventorySources []*AssignedInventorySource `json:"createdAssignedInventorySources,omitempty"`
2451
2452	// DeletedAssignedInventorySources: The IDs of the assigned inventory
2453	// sources to delete in bulk, specified as a list of
2454	// assigned_inventory_source_ids.
2455	DeletedAssignedInventorySources googleapi.Int64s `json:"deletedAssignedInventorySources,omitempty"`
2456
2457	// PartnerId: The ID of the partner that owns the inventory source
2458	// group. Only this partner has write access to these assigned inventory
2459	// sources.
2460	PartnerId int64 `json:"partnerId,omitempty,string"`
2461
2462	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
2463	// unconditionally include in API requests. By default, fields with
2464	// empty values are omitted from API requests. However, any non-pointer,
2465	// non-interface field appearing in ForceSendFields will be sent to the
2466	// server regardless of whether the field is empty or not. This may be
2467	// used to include empty fields in Patch requests.
2468	ForceSendFields []string `json:"-"`
2469
2470	// NullFields is a list of field names (e.g. "AdvertiserId") to include
2471	// in API requests with the JSON null value. By default, fields with
2472	// empty values are omitted from API requests. However, any field with
2473	// an empty value appearing in NullFields will be sent to the server as
2474	// null. It is an error if a field in this list has a non-empty value.
2475	// This may be used to include null fields in Patch requests.
2476	NullFields []string `json:"-"`
2477}
2478
2479func (s *BulkEditAssignedInventorySourcesRequest) MarshalJSON() ([]byte, error) {
2480	type NoMethod BulkEditAssignedInventorySourcesRequest
2481	raw := NoMethod(*s)
2482	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2483}
2484
2485// BulkEditAssignedInventorySourcesResponse: Response message for
2486// AssignedInventorySourceService.BulkEdit.
2487type BulkEditAssignedInventorySourcesResponse struct {
2488	// AssignedInventorySources: The list of assigned inventory sources that
2489	// have been successfully created. This list will be absent if empty.
2490	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
2491
2492	// ServerResponse contains the HTTP response code and headers from the
2493	// server.
2494	googleapi.ServerResponse `json:"-"`
2495
2496	// ForceSendFields is a list of field names (e.g.
2497	// "AssignedInventorySources") to unconditionally include in API
2498	// requests. By default, fields with empty values are omitted from API
2499	// requests. However, any non-pointer, non-interface field appearing in
2500	// ForceSendFields will be sent to the server regardless of whether the
2501	// field is empty or not. This may be used to include empty fields in
2502	// Patch requests.
2503	ForceSendFields []string `json:"-"`
2504
2505	// NullFields is a list of field names (e.g. "AssignedInventorySources")
2506	// to include in API requests with the JSON null value. By default,
2507	// fields with empty values are omitted from API requests. However, any
2508	// field with an empty value appearing in NullFields will be sent to the
2509	// server as null. It is an error if a field in this list has a
2510	// non-empty value. This may be used to include null fields in Patch
2511	// requests.
2512	NullFields []string `json:"-"`
2513}
2514
2515func (s *BulkEditAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
2516	type NoMethod BulkEditAssignedInventorySourcesResponse
2517	raw := NoMethod(*s)
2518	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2519}
2520
2521// BulkEditAssignedLocationsRequest: Request message for
2522// AssignedLocationService.BulkEditAssignedLocations.
2523type BulkEditAssignedLocationsRequest struct {
2524	// CreatedAssignedLocations: The assigned locations to create in bulk,
2525	// specified as a list of AssignedLocations.
2526	CreatedAssignedLocations []*AssignedLocation `json:"createdAssignedLocations,omitempty"`
2527
2528	// DeletedAssignedLocations: The IDs of the assigned locations to delete
2529	// in bulk, specified as a list of assigned_location_ids.
2530	DeletedAssignedLocations googleapi.Int64s `json:"deletedAssignedLocations,omitempty"`
2531
2532	// ForceSendFields is a list of field names (e.g.
2533	// "CreatedAssignedLocations") to unconditionally include in API
2534	// requests. By default, fields with empty values are omitted from API
2535	// requests. However, any non-pointer, non-interface field appearing in
2536	// ForceSendFields will be sent to the server regardless of whether the
2537	// field is empty or not. This may be used to include empty fields in
2538	// Patch requests.
2539	ForceSendFields []string `json:"-"`
2540
2541	// NullFields is a list of field names (e.g. "CreatedAssignedLocations")
2542	// to include in API requests with the JSON null value. By default,
2543	// fields with empty values are omitted from API requests. However, any
2544	// field with an empty value appearing in NullFields will be sent to the
2545	// server as null. It is an error if a field in this list has a
2546	// non-empty value. This may be used to include null fields in Patch
2547	// requests.
2548	NullFields []string `json:"-"`
2549}
2550
2551func (s *BulkEditAssignedLocationsRequest) MarshalJSON() ([]byte, error) {
2552	type NoMethod BulkEditAssignedLocationsRequest
2553	raw := NoMethod(*s)
2554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2555}
2556
2557// BulkEditAssignedLocationsResponse: Response message for
2558// AssignedLocationService.BulkEditAssignedLocations.
2559type BulkEditAssignedLocationsResponse struct {
2560	// AssignedLocations: The list of assigned locations that have been
2561	// successfully created. This list will be absent if empty.
2562	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
2563
2564	// ServerResponse contains the HTTP response code and headers from the
2565	// server.
2566	googleapi.ServerResponse `json:"-"`
2567
2568	// ForceSendFields is a list of field names (e.g. "AssignedLocations")
2569	// to unconditionally include in API requests. By default, fields with
2570	// empty values are omitted from API requests. However, any non-pointer,
2571	// non-interface field appearing in ForceSendFields will be sent to the
2572	// server regardless of whether the field is empty or not. This may be
2573	// used to include empty fields in Patch requests.
2574	ForceSendFields []string `json:"-"`
2575
2576	// NullFields is a list of field names (e.g. "AssignedLocations") to
2577	// include in API requests with the JSON null value. By default, fields
2578	// with empty values are omitted from API requests. However, any field
2579	// with an empty value appearing in NullFields will be sent to the
2580	// server as null. It is an error if a field in this list has a
2581	// non-empty value. This may be used to include null fields in Patch
2582	// requests.
2583	NullFields []string `json:"-"`
2584}
2585
2586func (s *BulkEditAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
2587	type NoMethod BulkEditAssignedLocationsResponse
2588	raw := NoMethod(*s)
2589	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2590}
2591
2592// BulkEditAssignedUserRolesRequest: Request message for
2593// BulkEditAssignedUserRoles.
2594type BulkEditAssignedUserRolesRequest struct {
2595	// CreatedAssignedUserRoles: The assigned user roles to create in batch,
2596	// specified as a list of AssignedUserRoles.
2597	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
2598
2599	// DeletedAssignedUserRoles: The assigned user roles to delete in batch,
2600	// specified as a list of assigned_user_role_ids. The format of
2601	// assigned_user_role_id is `entityType-entityid`, for example
2602	// `partner-123`.
2603	DeletedAssignedUserRoles []string `json:"deletedAssignedUserRoles,omitempty"`
2604
2605	// ForceSendFields is a list of field names (e.g.
2606	// "CreatedAssignedUserRoles") to unconditionally include in API
2607	// requests. By default, fields with empty values are omitted from API
2608	// requests. However, any non-pointer, non-interface field appearing in
2609	// ForceSendFields will be sent to the server regardless of whether the
2610	// field is empty or not. This may be used to include empty fields in
2611	// Patch requests.
2612	ForceSendFields []string `json:"-"`
2613
2614	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles")
2615	// to include in API requests with the JSON null value. By default,
2616	// fields with empty values are omitted from API requests. However, any
2617	// field with an empty value appearing in NullFields will be sent to the
2618	// server as null. It is an error if a field in this list has a
2619	// non-empty value. This may be used to include null fields in Patch
2620	// requests.
2621	NullFields []string `json:"-"`
2622}
2623
2624func (s *BulkEditAssignedUserRolesRequest) MarshalJSON() ([]byte, error) {
2625	type NoMethod BulkEditAssignedUserRolesRequest
2626	raw := NoMethod(*s)
2627	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2628}
2629
2630type BulkEditAssignedUserRolesResponse struct {
2631	// CreatedAssignedUserRoles: The list of assigned user roles that have
2632	// been successfully created. This list will be absent if empty.
2633	CreatedAssignedUserRoles []*AssignedUserRole `json:"createdAssignedUserRoles,omitempty"`
2634
2635	// ServerResponse contains the HTTP response code and headers from the
2636	// server.
2637	googleapi.ServerResponse `json:"-"`
2638
2639	// ForceSendFields is a list of field names (e.g.
2640	// "CreatedAssignedUserRoles") to unconditionally include in API
2641	// requests. By default, fields with empty values are omitted from API
2642	// requests. However, any non-pointer, non-interface field appearing in
2643	// ForceSendFields will be sent to the server regardless of whether the
2644	// field is empty or not. This may be used to include empty fields in
2645	// Patch requests.
2646	ForceSendFields []string `json:"-"`
2647
2648	// NullFields is a list of field names (e.g. "CreatedAssignedUserRoles")
2649	// to include in API requests with the JSON null value. By default,
2650	// fields with empty values are omitted from API requests. However, any
2651	// field with an empty value appearing in NullFields will be sent to the
2652	// server as null. It is an error if a field in this list has a
2653	// non-empty value. This may be used to include null fields in Patch
2654	// requests.
2655	NullFields []string `json:"-"`
2656}
2657
2658func (s *BulkEditAssignedUserRolesResponse) MarshalJSON() ([]byte, error) {
2659	type NoMethod BulkEditAssignedUserRolesResponse
2660	raw := NoMethod(*s)
2661	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2662}
2663
2664// BulkEditLineItemAssignedTargetingOptionsRequest: Request message for
2665// BulkEditLineItemAssignedTargetingOptions.
2666type BulkEditLineItemAssignedTargetingOptionsRequest struct {
2667	// CreateRequests: The assigned targeting options to create in batch,
2668	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2669	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2670
2671	// DeleteRequests: The assigned targeting options to delete in batch,
2672	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2673	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2674
2675	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2676	// unconditionally include in API requests. By default, fields with
2677	// empty values are omitted from API requests. However, any non-pointer,
2678	// non-interface field appearing in ForceSendFields will be sent to the
2679	// server regardless of whether the field is empty or not. This may be
2680	// used to include empty fields in Patch requests.
2681	ForceSendFields []string `json:"-"`
2682
2683	// NullFields is a list of field names (e.g. "CreateRequests") to
2684	// include in API requests with the JSON null value. By default, fields
2685	// with empty values are omitted from API requests. However, any field
2686	// with an empty value appearing in NullFields will be sent to the
2687	// server as null. It is an error if a field in this list has a
2688	// non-empty value. This may be used to include null fields in Patch
2689	// requests.
2690	NullFields []string `json:"-"`
2691}
2692
2693func (s *BulkEditLineItemAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2694	type NoMethod BulkEditLineItemAssignedTargetingOptionsRequest
2695	raw := NoMethod(*s)
2696	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2697}
2698
2699type BulkEditLineItemAssignedTargetingOptionsResponse struct {
2700	// CreatedAssignedTargetingOptions: The list of assigned targeting
2701	// options that have been successfully created. This list will be absent
2702	// if empty.
2703	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2704
2705	// ServerResponse contains the HTTP response code and headers from the
2706	// server.
2707	googleapi.ServerResponse `json:"-"`
2708
2709	// ForceSendFields is a list of field names (e.g.
2710	// "CreatedAssignedTargetingOptions") to unconditionally include in API
2711	// requests. By default, fields with empty values are omitted from API
2712	// requests. However, any non-pointer, non-interface field appearing in
2713	// ForceSendFields will be sent to the server regardless of whether the
2714	// field is empty or not. This may be used to include empty fields in
2715	// Patch requests.
2716	ForceSendFields []string `json:"-"`
2717
2718	// NullFields is a list of field names (e.g.
2719	// "CreatedAssignedTargetingOptions") to include in API requests with
2720	// the JSON null value. By default, fields with empty values are omitted
2721	// from API requests. However, any field with an empty value appearing
2722	// in NullFields will be sent to the server as null. It is an error if a
2723	// field in this list has a non-empty value. This may be used to include
2724	// null fields in Patch requests.
2725	NullFields []string `json:"-"`
2726}
2727
2728func (s *BulkEditLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2729	type NoMethod BulkEditLineItemAssignedTargetingOptionsResponse
2730	raw := NoMethod(*s)
2731	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2732}
2733
2734// BulkEditNegativeKeywordsRequest: Request message for
2735// NegativeKeywordService.BulkEditNegativeKeywords.
2736type BulkEditNegativeKeywordsRequest struct {
2737	// CreatedNegativeKeywords: The negative keywords to create in batch,
2738	// specified as a list of NegativeKeywords.
2739	CreatedNegativeKeywords []*NegativeKeyword `json:"createdNegativeKeywords,omitempty"`
2740
2741	// DeletedNegativeKeywords: The negative keywords to delete in batch,
2742	// specified as a list of keyword_values.
2743	DeletedNegativeKeywords []string `json:"deletedNegativeKeywords,omitempty"`
2744
2745	// ForceSendFields is a list of field names (e.g.
2746	// "CreatedNegativeKeywords") to unconditionally include in API
2747	// requests. By default, fields with empty values are omitted from API
2748	// requests. However, any non-pointer, non-interface field appearing in
2749	// ForceSendFields will be sent to the server regardless of whether the
2750	// field is empty or not. This may be used to include empty fields in
2751	// Patch requests.
2752	ForceSendFields []string `json:"-"`
2753
2754	// NullFields is a list of field names (e.g. "CreatedNegativeKeywords")
2755	// to include in API requests with the JSON null value. By default,
2756	// fields with empty values are omitted from API requests. However, any
2757	// field with an empty value appearing in NullFields will be sent to the
2758	// server as null. It is an error if a field in this list has a
2759	// non-empty value. This may be used to include null fields in Patch
2760	// requests.
2761	NullFields []string `json:"-"`
2762}
2763
2764func (s *BulkEditNegativeKeywordsRequest) MarshalJSON() ([]byte, error) {
2765	type NoMethod BulkEditNegativeKeywordsRequest
2766	raw := NoMethod(*s)
2767	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2768}
2769
2770// BulkEditNegativeKeywordsResponse: Response message for
2771// NegativeKeywordService.BulkEditNegativeKeywords.
2772type BulkEditNegativeKeywordsResponse struct {
2773	// NegativeKeywords: The list of negative keywords that have been
2774	// successfully created. This list will be absent if empty.
2775	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
2776
2777	// ServerResponse contains the HTTP response code and headers from the
2778	// server.
2779	googleapi.ServerResponse `json:"-"`
2780
2781	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
2782	// unconditionally include in API requests. By default, fields with
2783	// empty values are omitted from API requests. However, any non-pointer,
2784	// non-interface field appearing in ForceSendFields will be sent to the
2785	// server regardless of whether the field is empty or not. This may be
2786	// used to include empty fields in Patch requests.
2787	ForceSendFields []string `json:"-"`
2788
2789	// NullFields is a list of field names (e.g. "NegativeKeywords") to
2790	// include in API requests with the JSON null value. By default, fields
2791	// with empty values are omitted from API requests. However, any field
2792	// with an empty value appearing in NullFields will be sent to the
2793	// server as null. It is an error if a field in this list has a
2794	// non-empty value. This may be used to include null fields in Patch
2795	// requests.
2796	NullFields []string `json:"-"`
2797}
2798
2799func (s *BulkEditNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
2800	type NoMethod BulkEditNegativeKeywordsResponse
2801	raw := NoMethod(*s)
2802	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2803}
2804
2805// BulkEditPartnerAssignedTargetingOptionsRequest: Request message for
2806// BulkEditPartnerAssignedTargetingOptions.
2807type BulkEditPartnerAssignedTargetingOptionsRequest struct {
2808	// CreateRequests: The assigned targeting options to create in batch,
2809	// specified as a list of `CreateAssignedTargetingOptionsRequest`.
2810	// Supported targeting types: * `TARGETING_TYPE_CHANNEL`
2811	CreateRequests []*CreateAssignedTargetingOptionsRequest `json:"createRequests,omitempty"`
2812
2813	// DeleteRequests: The assigned targeting options to delete in batch,
2814	// specified as a list of `DeleteAssignedTargetingOptionsRequest`.
2815	// Supported targeting types: * `TARGETING_TYPE_CHANNEL`
2816	DeleteRequests []*DeleteAssignedTargetingOptionsRequest `json:"deleteRequests,omitempty"`
2817
2818	// ForceSendFields is a list of field names (e.g. "CreateRequests") to
2819	// unconditionally include in API requests. By default, fields with
2820	// empty values are omitted from API requests. However, any non-pointer,
2821	// non-interface field appearing in ForceSendFields will be sent to the
2822	// server regardless of whether the field is empty or not. This may be
2823	// used to include empty fields in Patch requests.
2824	ForceSendFields []string `json:"-"`
2825
2826	// NullFields is a list of field names (e.g. "CreateRequests") to
2827	// include in API requests with the JSON null value. By default, fields
2828	// with empty values are omitted from API requests. However, any field
2829	// with an empty value appearing in NullFields will be sent to the
2830	// server as null. It is an error if a field in this list has a
2831	// non-empty value. This may be used to include null fields in Patch
2832	// requests.
2833	NullFields []string `json:"-"`
2834}
2835
2836func (s *BulkEditPartnerAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
2837	type NoMethod BulkEditPartnerAssignedTargetingOptionsRequest
2838	raw := NoMethod(*s)
2839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2840}
2841
2842type BulkEditPartnerAssignedTargetingOptionsResponse struct {
2843	// CreatedAssignedTargetingOptions: The list of assigned targeting
2844	// options that have been successfully created. This list will be absent
2845	// if empty.
2846	CreatedAssignedTargetingOptions []*AssignedTargetingOption `json:"createdAssignedTargetingOptions,omitempty"`
2847
2848	// ServerResponse contains the HTTP response code and headers from the
2849	// server.
2850	googleapi.ServerResponse `json:"-"`
2851
2852	// ForceSendFields is a list of field names (e.g.
2853	// "CreatedAssignedTargetingOptions") to unconditionally include in API
2854	// requests. By default, fields with empty values are omitted from API
2855	// requests. However, any non-pointer, non-interface field appearing in
2856	// ForceSendFields will be sent to the server regardless of whether the
2857	// field is empty or not. This may be used to include empty fields in
2858	// Patch requests.
2859	ForceSendFields []string `json:"-"`
2860
2861	// NullFields is a list of field names (e.g.
2862	// "CreatedAssignedTargetingOptions") to include in API requests with
2863	// the JSON null value. By default, fields with empty values are omitted
2864	// from API requests. However, any field with an empty value appearing
2865	// in NullFields will be sent to the server as null. It is an error if a
2866	// field in this list has a non-empty value. This may be used to include
2867	// null fields in Patch requests.
2868	NullFields []string `json:"-"`
2869}
2870
2871func (s *BulkEditPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2872	type NoMethod BulkEditPartnerAssignedTargetingOptionsResponse
2873	raw := NoMethod(*s)
2874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2875}
2876
2877// BulkEditSitesRequest: Request message for SiteService.BulkEditSites.
2878type BulkEditSitesRequest struct {
2879	// AdvertiserId: The ID of the advertiser that owns the parent channel.
2880	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2881
2882	// CreatedSites: The sites to create in batch, specified as a list of
2883	// Sites.
2884	CreatedSites []*Site `json:"createdSites,omitempty"`
2885
2886	// DeletedSites: The sites to delete in batch, specified as a list of
2887	// site url_or_app_ids.
2888	DeletedSites []string `json:"deletedSites,omitempty"`
2889
2890	// PartnerId: The ID of the partner that owns the parent channel.
2891	PartnerId int64 `json:"partnerId,omitempty,string"`
2892
2893	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
2894	// unconditionally include in API requests. By default, fields with
2895	// empty values are omitted from API requests. However, any non-pointer,
2896	// non-interface field appearing in ForceSendFields will be sent to the
2897	// server regardless of whether the field is empty or not. This may be
2898	// used to include empty fields in Patch requests.
2899	ForceSendFields []string `json:"-"`
2900
2901	// NullFields is a list of field names (e.g. "AdvertiserId") to include
2902	// in API requests with the JSON null value. By default, fields with
2903	// empty values are omitted from API requests. However, any field with
2904	// an empty value appearing in NullFields will be sent to the server as
2905	// null. It is an error if a field in this list has a non-empty value.
2906	// This may be used to include null fields in Patch requests.
2907	NullFields []string `json:"-"`
2908}
2909
2910func (s *BulkEditSitesRequest) MarshalJSON() ([]byte, error) {
2911	type NoMethod BulkEditSitesRequest
2912	raw := NoMethod(*s)
2913	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2914}
2915
2916// BulkEditSitesResponse: Response message for
2917// SiteService.BulkEditSites.
2918type BulkEditSitesResponse struct {
2919	// Sites: The list of sites that have been successfully created. This
2920	// list will be absent if empty.
2921	Sites []*Site `json:"sites,omitempty"`
2922
2923	// ServerResponse contains the HTTP response code and headers from the
2924	// server.
2925	googleapi.ServerResponse `json:"-"`
2926
2927	// ForceSendFields is a list of field names (e.g. "Sites") to
2928	// unconditionally include in API requests. By default, fields with
2929	// empty values are omitted from API requests. However, any non-pointer,
2930	// non-interface field appearing in ForceSendFields will be sent to the
2931	// server regardless of whether the field is empty or not. This may be
2932	// used to include empty fields in Patch requests.
2933	ForceSendFields []string `json:"-"`
2934
2935	// NullFields is a list of field names (e.g. "Sites") to include in API
2936	// requests with the JSON null value. By default, fields with empty
2937	// values are omitted from API requests. However, any field with an
2938	// empty value appearing in NullFields will be sent to the server as
2939	// null. It is an error if a field in this list has a non-empty value.
2940	// This may be used to include null fields in Patch requests.
2941	NullFields []string `json:"-"`
2942}
2943
2944func (s *BulkEditSitesResponse) MarshalJSON() ([]byte, error) {
2945	type NoMethod BulkEditSitesResponse
2946	raw := NoMethod(*s)
2947	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2948}
2949
2950type BulkListAdvertiserAssignedTargetingOptionsResponse struct {
2951	// AssignedTargetingOptions: The list of assigned targeting options.
2952	// This list will be absent if empty.
2953	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
2954
2955	// NextPageToken: A token identifying the next page of results. This
2956	// value should be specified as the pageToken in a subsequent
2957	// BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next
2958	// page of results. This token will be absent if there are no more
2959	// assigned_targeting_options to return.
2960	NextPageToken string `json:"nextPageToken,omitempty"`
2961
2962	// ServerResponse contains the HTTP response code and headers from the
2963	// server.
2964	googleapi.ServerResponse `json:"-"`
2965
2966	// ForceSendFields is a list of field names (e.g.
2967	// "AssignedTargetingOptions") to unconditionally include in API
2968	// requests. By default, fields with empty values are omitted from API
2969	// requests. However, any non-pointer, non-interface field appearing in
2970	// ForceSendFields will be sent to the server regardless of whether the
2971	// field is empty or not. This may be used to include empty fields in
2972	// Patch requests.
2973	ForceSendFields []string `json:"-"`
2974
2975	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
2976	// to include in API requests with the JSON null value. By default,
2977	// fields with empty values are omitted from API requests. However, any
2978	// field with an empty value appearing in NullFields will be sent to the
2979	// server as null. It is an error if a field in this list has a
2980	// non-empty value. This may be used to include null fields in Patch
2981	// requests.
2982	NullFields []string `json:"-"`
2983}
2984
2985func (s *BulkListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
2986	type NoMethod BulkListAdvertiserAssignedTargetingOptionsResponse
2987	raw := NoMethod(*s)
2988	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2989}
2990
2991type BulkListLineItemAssignedTargetingOptionsResponse struct {
2992	// AssignedTargetingOptions: The list of assigned targeting options.
2993	// This list will be absent if empty.
2994	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
2995
2996	// NextPageToken: A token identifying the next page of results. This
2997	// value should be specified as the pageToken in a subsequent
2998	// BulkListLineItemAssignedTargetingOptionsRequest to fetch the next
2999	// page of results. This token will be absent if there are no more
3000	// assigned_targeting_options to return.
3001	NextPageToken string `json:"nextPageToken,omitempty"`
3002
3003	// ServerResponse contains the HTTP response code and headers from the
3004	// server.
3005	googleapi.ServerResponse `json:"-"`
3006
3007	// ForceSendFields is a list of field names (e.g.
3008	// "AssignedTargetingOptions") to unconditionally include in API
3009	// requests. By default, fields with empty values are omitted from API
3010	// requests. However, any non-pointer, non-interface field appearing in
3011	// ForceSendFields will be sent to the server regardless of whether the
3012	// field is empty or not. This may be used to include empty fields in
3013	// Patch requests.
3014	ForceSendFields []string `json:"-"`
3015
3016	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
3017	// to include in API requests with the JSON null value. By default,
3018	// fields with empty values are omitted from API requests. However, any
3019	// field with an empty value appearing in NullFields will be sent to the
3020	// server as null. It is an error if a field in this list has a
3021	// non-empty value. This may be used to include null fields in Patch
3022	// requests.
3023	NullFields []string `json:"-"`
3024}
3025
3026func (s *BulkListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
3027	type NoMethod BulkListLineItemAssignedTargetingOptionsResponse
3028	raw := NoMethod(*s)
3029	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3030}
3031
3032// Campaign: A single campaign.
3033type Campaign struct {
3034	// AdvertiserId: Output only. The unique ID of the advertiser the
3035	// campaign belongs to.
3036	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3037
3038	// CampaignFlight: Required. The planned spend and duration of the
3039	// campaign.
3040	CampaignFlight *CampaignFlight `json:"campaignFlight,omitempty"`
3041
3042	// CampaignGoal: Required. The goal of the campaign.
3043	CampaignGoal *CampaignGoal `json:"campaignGoal,omitempty"`
3044
3045	// CampaignId: Output only. The unique ID of the campaign. Assigned by
3046	// the system.
3047	CampaignId int64 `json:"campaignId,omitempty,string"`
3048
3049	// DisplayName: Required. The display name of the campaign. Must be
3050	// UTF-8 encoded with a maximum size of 240 bytes.
3051	DisplayName string `json:"displayName,omitempty"`
3052
3053	// EntityStatus: Required. Controls whether or not the insertion orders
3054	// under this campaign can spend their budgets and bid on inventory. *
3055	// Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`,
3056	// and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method,
3057	// `ENTITY_STATUS_ARCHIVED` is not allowed.
3058	//
3059	// Possible values:
3060	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
3061	// specified or is unknown in this version.
3062	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
3063	// budget.
3064	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
3065	// budget spending are disabled. An entity can be deleted after
3066	// archived. Deleted entities cannot be retrieved.
3067	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
3068	// budget spending are disabled.
3069	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
3070	// the entity.
3071	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
3072	// for deletion.
3073	EntityStatus string `json:"entityStatus,omitempty"`
3074
3075	// FrequencyCap: Required. The frequency cap setting of the campaign.
3076	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
3077
3078	// Name: Output only. The resource name of the campaign.
3079	Name string `json:"name,omitempty"`
3080
3081	// UpdateTime: Output only. The timestamp when the campaign was last
3082	// updated. Assigned by the system.
3083	UpdateTime string `json:"updateTime,omitempty"`
3084
3085	// ServerResponse contains the HTTP response code and headers from the
3086	// server.
3087	googleapi.ServerResponse `json:"-"`
3088
3089	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3090	// unconditionally include in API requests. By default, fields with
3091	// empty values are omitted from API requests. However, any non-pointer,
3092	// non-interface field appearing in ForceSendFields will be sent to the
3093	// server regardless of whether the field is empty or not. This may be
3094	// used to include empty fields in Patch requests.
3095	ForceSendFields []string `json:"-"`
3096
3097	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3098	// in API requests with the JSON null value. By default, fields with
3099	// empty values are omitted from API requests. However, any field with
3100	// an empty value appearing in NullFields will be sent to the server as
3101	// null. It is an error if a field in this list has a non-empty value.
3102	// This may be used to include null fields in Patch requests.
3103	NullFields []string `json:"-"`
3104}
3105
3106func (s *Campaign) MarshalJSON() ([]byte, error) {
3107	type NoMethod Campaign
3108	raw := NoMethod(*s)
3109	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3110}
3111
3112// CampaignFlight: Settings that track the planned spend and duration of
3113// a campaign.
3114type CampaignFlight struct {
3115	// PlannedDates: Required. The dates that the campaign is expected to
3116	// run. They are resolved relative to the parent advertiser's time zone.
3117	// * The dates specified here will not affect serving. They are used to
3118	// generate alerts and warnings. For example, if the flight date of any
3119	// child insertion order is outside the range of these dates, the user
3120	// interface will show a warning. * `start_date` is required and must be
3121	// the current date or later. * `end_date` is optional. If specified, it
3122	// must be the `start_date` or later. * Any specified date must be
3123	// before the year 2037.
3124	PlannedDates *DateRange `json:"plannedDates,omitempty"`
3125
3126	// PlannedSpendAmountMicros: The amount the campaign is expected to
3127	// spend for its given planned_dates. This will not limit serving, but
3128	// will be used for tracking spend in the DV360 UI. The amount is in
3129	// micros. Must be greater than or equal to 0. For example, 500000000
3130	// represents 500 standard units of the currency.
3131	PlannedSpendAmountMicros int64 `json:"plannedSpendAmountMicros,omitempty,string"`
3132
3133	// ForceSendFields is a list of field names (e.g. "PlannedDates") to
3134	// unconditionally include in API requests. By default, fields with
3135	// empty values are omitted from API requests. However, any non-pointer,
3136	// non-interface field appearing in ForceSendFields will be sent to the
3137	// server regardless of whether the field is empty or not. This may be
3138	// used to include empty fields in Patch requests.
3139	ForceSendFields []string `json:"-"`
3140
3141	// NullFields is a list of field names (e.g. "PlannedDates") to include
3142	// in API requests with the JSON null value. By default, fields with
3143	// empty values are omitted from API requests. However, any field with
3144	// an empty value appearing in NullFields will be sent to the server as
3145	// null. It is an error if a field in this list has a non-empty value.
3146	// This may be used to include null fields in Patch requests.
3147	NullFields []string `json:"-"`
3148}
3149
3150func (s *CampaignFlight) MarshalJSON() ([]byte, error) {
3151	type NoMethod CampaignFlight
3152	raw := NoMethod(*s)
3153	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3154}
3155
3156// CampaignGoal: Settings that control the goal of a campaign.
3157type CampaignGoal struct {
3158	// CampaignGoalType: Required. The type of the campaign goal.
3159	//
3160	// Possible values:
3161	//   "CAMPAIGN_GOAL_TYPE_UNSPECIFIED" - Goal value is not specified or
3162	// unknown in this version.
3163	//   "CAMPAIGN_GOAL_TYPE_APP_INSTALL" - Drive app installs or
3164	// engagements.
3165	//   "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS" - Raise awareness of a brand
3166	// or product.
3167	//   "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION" - Drive offline or in-store
3168	// sales.
3169	//   "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" - Drive online action or visits.
3170	CampaignGoalType string `json:"campaignGoalType,omitempty"`
3171
3172	// PerformanceGoal: Required. The performance goal of the campaign.
3173	// Acceptable values for performance_goal_type are: *
3174	// `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
3175	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` *
3176	// `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` *
3177	// `PERFORMANCE_GOAL_TYPE_OTHER`
3178	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
3179
3180	// ForceSendFields is a list of field names (e.g. "CampaignGoalType") to
3181	// unconditionally include in API requests. By default, fields with
3182	// empty values are omitted from API requests. However, any non-pointer,
3183	// non-interface field appearing in ForceSendFields will be sent to the
3184	// server regardless of whether the field is empty or not. This may be
3185	// used to include empty fields in Patch requests.
3186	ForceSendFields []string `json:"-"`
3187
3188	// NullFields is a list of field names (e.g. "CampaignGoalType") to
3189	// include in API requests with the JSON null value. By default, fields
3190	// with empty values are omitted from API requests. However, any field
3191	// 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 *CampaignGoal) MarshalJSON() ([]byte, error) {
3199	type NoMethod CampaignGoal
3200	raw := NoMethod(*s)
3201	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3202}
3203
3204// CarrierAndIspAssignedTargetingOptionDetails: Details for assigned
3205// carrier and ISP targeting option. This will be populated in the
3206// details field of an AssignedTargetingOption when targeting_type is
3207// `TARGETING_TYPE_CARRIER_AND_ISP`.
3208type CarrierAndIspAssignedTargetingOptionDetails struct {
3209	// DisplayName: Output only. The display name of the carrier or ISP.
3210	DisplayName string `json:"displayName,omitempty"`
3211
3212	// Negative: Indicates if this option is being negatively targeted. All
3213	// assigned carrier and ISP targeting options on the same line item must
3214	// have the same value for this field.
3215	Negative bool `json:"negative,omitempty"`
3216
3217	// TargetingOptionId: Required. The targeting_option_id of a
3218	// TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.
3219	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3220
3221	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3222	// unconditionally include in API requests. By default, fields with
3223	// empty values are omitted from API requests. However, any non-pointer,
3224	// non-interface field appearing in ForceSendFields will be sent to the
3225	// server regardless of whether the field is empty or not. This may be
3226	// used to include empty fields in Patch requests.
3227	ForceSendFields []string `json:"-"`
3228
3229	// NullFields is a list of field names (e.g. "DisplayName") to include
3230	// in API requests with the JSON null value. By default, fields with
3231	// empty values are omitted from API requests. However, any field with
3232	// an empty value appearing in NullFields will be sent to the server as
3233	// null. It is an error if a field in this list has a non-empty value.
3234	// This may be used to include null fields in Patch requests.
3235	NullFields []string `json:"-"`
3236}
3237
3238func (s *CarrierAndIspAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3239	type NoMethod CarrierAndIspAssignedTargetingOptionDetails
3240	raw := NoMethod(*s)
3241	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3242}
3243
3244// CarrierAndIspTargetingOptionDetails: Represents a targetable carrier
3245// or ISP. This will be populated in the carrier_and_isp_details field
3246// of a TargetingOption when targeting_type is
3247// `TARGETING_TYPE_CARRIER_AND_ISP`.
3248type CarrierAndIspTargetingOptionDetails struct {
3249	// DisplayName: Output only. The display name of the carrier or ISP.
3250	DisplayName string `json:"displayName,omitempty"`
3251
3252	// Type: Output only. The type indicating if it's carrier or ISP.
3253	//
3254	// Possible values:
3255	//   "CARRIER_AND_ISP_TYPE_UNSPECIFIED" - Default value when type is not
3256	// specified or is unknown in this version.
3257	//   "CARRIER_AND_ISP_TYPE_ISP" - Indicates this targeting resource
3258	// refers to an ISP.
3259	//   "CARRIER_AND_ISP_TYPE_CARRIER" - Indicates this targeting resource
3260	// refers to a mobile carrier.
3261	Type string `json:"type,omitempty"`
3262
3263	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3264	// unconditionally include in API requests. By default, fields with
3265	// empty values are omitted from API requests. However, any non-pointer,
3266	// non-interface field appearing in ForceSendFields will be sent to the
3267	// server regardless of whether the field is empty or not. This may be
3268	// used to include empty fields in Patch requests.
3269	ForceSendFields []string `json:"-"`
3270
3271	// NullFields is a list of field names (e.g. "DisplayName") to include
3272	// in API requests with the JSON null value. By default, fields with
3273	// empty values are omitted from API requests. However, any field with
3274	// an empty value appearing in NullFields will be sent to the server as
3275	// null. It is an error if a field in this list has a non-empty value.
3276	// This may be used to include null fields in Patch requests.
3277	NullFields []string `json:"-"`
3278}
3279
3280func (s *CarrierAndIspTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3281	type NoMethod CarrierAndIspTargetingOptionDetails
3282	raw := NoMethod(*s)
3283	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3284}
3285
3286// CategoryAssignedTargetingOptionDetails: Assigned category targeting
3287// option details. This will be populated in the category_details field
3288// when targeting_type is `TARGETING_TYPE_CATEGORY`.
3289type CategoryAssignedTargetingOptionDetails struct {
3290	// DisplayName: Output only. The display name of the category.
3291	DisplayName string `json:"displayName,omitempty"`
3292
3293	// Negative: Indicates if this option is being negatively targeted.
3294	Negative bool `json:"negative,omitempty"`
3295
3296	// TargetingOptionId: Required. The targeting_option_id field when
3297	// targeting_type is `TARGETING_TYPE_CATEGORY`.
3298	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3299
3300	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3301	// unconditionally include in API requests. By default, fields with
3302	// empty values are omitted from API requests. However, any non-pointer,
3303	// non-interface field appearing in ForceSendFields will be sent to the
3304	// server regardless of whether the field is empty or not. This may be
3305	// used to include empty fields in Patch requests.
3306	ForceSendFields []string `json:"-"`
3307
3308	// NullFields is a list of field names (e.g. "DisplayName") to include
3309	// in API requests with the JSON null value. By default, fields with
3310	// empty values are omitted from API requests. However, any field with
3311	// an empty value appearing in NullFields will be sent to the server as
3312	// null. It is an error if a field in this list has a non-empty value.
3313	// This may be used to include null fields in Patch requests.
3314	NullFields []string `json:"-"`
3315}
3316
3317func (s *CategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3318	type NoMethod CategoryAssignedTargetingOptionDetails
3319	raw := NoMethod(*s)
3320	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3321}
3322
3323// CategoryTargetingOptionDetails: Represents a targetable category.
3324// This will be populated in the category_details field of a
3325// TargetingOption when targeting_type is `TARGETING_TYPE_CATEGORY`.
3326type CategoryTargetingOptionDetails struct {
3327	// DisplayName: Output only. The display name of the category.
3328	DisplayName string `json:"displayName,omitempty"`
3329
3330	// ForceSendFields is a list of field names (e.g. "DisplayName") to
3331	// unconditionally include in API requests. By default, fields with
3332	// empty values are omitted from API requests. However, any non-pointer,
3333	// non-interface field appearing in ForceSendFields will be sent to the
3334	// server regardless of whether the field is empty or not. This may be
3335	// used to include empty fields in Patch requests.
3336	ForceSendFields []string `json:"-"`
3337
3338	// NullFields is a list of field names (e.g. "DisplayName") to include
3339	// in API requests with the JSON null value. By default, fields with
3340	// empty values are omitted from API requests. However, any field with
3341	// an empty value appearing in NullFields will be sent to the server as
3342	// null. It is an error if a field in this list has a non-empty value.
3343	// This may be used to include null fields in Patch requests.
3344	NullFields []string `json:"-"`
3345}
3346
3347func (s *CategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3348	type NoMethod CategoryTargetingOptionDetails
3349	raw := NoMethod(*s)
3350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3351}
3352
3353// Channel: A single channel. Channels are custom groups of related
3354// websites and apps.
3355type Channel struct {
3356	// AdvertiserId: The ID of the advertiser that owns the channel.
3357	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3358
3359	// ChannelId: Output only. The unique ID of the channel. Assigned by the
3360	// system.
3361	ChannelId int64 `json:"channelId,omitempty,string"`
3362
3363	// DisplayName: Required. The display name of the channel. Must be UTF-8
3364	// encoded with a maximum length of 240 bytes.
3365	DisplayName string `json:"displayName,omitempty"`
3366
3367	// Name: Output only. The resource name of the channel.
3368	Name string `json:"name,omitempty"`
3369
3370	// PartnerId: The ID of the partner that owns the channel.
3371	PartnerId int64 `json:"partnerId,omitempty,string"`
3372
3373	// ServerResponse contains the HTTP response code and headers from the
3374	// server.
3375	googleapi.ServerResponse `json:"-"`
3376
3377	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
3378	// unconditionally include in API requests. By default, fields with
3379	// empty values are omitted from API requests. However, any non-pointer,
3380	// non-interface field appearing in ForceSendFields will be sent to the
3381	// server regardless of whether the field is empty or not. This may be
3382	// used to include empty fields in Patch requests.
3383	ForceSendFields []string `json:"-"`
3384
3385	// NullFields is a list of field names (e.g. "AdvertiserId") to include
3386	// in API requests with the JSON null value. By default, fields with
3387	// empty values are omitted from API requests. However, any field with
3388	// an empty value appearing in NullFields will be sent to the server as
3389	// null. It is an error if a field in this list has a non-empty value.
3390	// This may be used to include null fields in Patch requests.
3391	NullFields []string `json:"-"`
3392}
3393
3394func (s *Channel) MarshalJSON() ([]byte, error) {
3395	type NoMethod Channel
3396	raw := NoMethod(*s)
3397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3398}
3399
3400// ChannelAssignedTargetingOptionDetails: Details for assigned channel
3401// targeting option. This will be populated in the details field of an
3402// AssignedTargetingOption when targeting_type is
3403// `TARGETING_TYPE_CHANNEL`.
3404type ChannelAssignedTargetingOptionDetails struct {
3405	// ChannelId: Required. ID of the channel. Should refer to the channel
3406	// ID field on a [Partner-owned
3407	// channel](partners.channels#Channel.FIELDS.channel_id) or
3408	// [advertiser-owned
3409	// channel](advertisers.channels#Channel.FIELDS.channel_id) resource.
3410	ChannelId int64 `json:"channelId,omitempty,string"`
3411
3412	// Negative: Indicates if this option is being negatively targeted. For
3413	// advertiser level assigned targeting option, this field must be true.
3414	Negative bool `json:"negative,omitempty"`
3415
3416	// ForceSendFields is a list of field names (e.g. "ChannelId") to
3417	// unconditionally include in API requests. By default, fields with
3418	// empty values are omitted from API requests. However, any non-pointer,
3419	// non-interface field appearing in ForceSendFields will be sent to the
3420	// server regardless of whether the field is empty or not. This may be
3421	// used to include empty fields in Patch requests.
3422	ForceSendFields []string `json:"-"`
3423
3424	// NullFields is a list of field names (e.g. "ChannelId") to include in
3425	// API requests with the JSON null value. By default, fields with empty
3426	// values are omitted from API requests. However, any field with an
3427	// empty value appearing in NullFields will be sent to the server as
3428	// null. It is an error if a field in this list has a non-empty value.
3429	// This may be used to include null fields in Patch requests.
3430	NullFields []string `json:"-"`
3431}
3432
3433func (s *ChannelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3434	type NoMethod ChannelAssignedTargetingOptionDetails
3435	raw := NoMethod(*s)
3436	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3437}
3438
3439// CmHybridConfig: Settings for advertisers that use both Campaign
3440// Manager 360 (CM360) and third-party ad servers.
3441type CmHybridConfig struct {
3442	// CmAccountId: Required. Immutable. Account ID of the CM360 Floodlight
3443	// configuration linked with the DV360 advertiser.
3444	CmAccountId int64 `json:"cmAccountId,omitempty,string"`
3445
3446	// CmFloodlightConfigId: Required. Immutable. ID of the CM360 Floodlight
3447	// configuration linked with the DV360 advertiser.
3448	CmFloodlightConfigId int64 `json:"cmFloodlightConfigId,omitempty,string"`
3449
3450	// CmFloodlightLinkingAuthorized: Required. Immutable. By setting this
3451	// field to `true`, you, on behalf of your company, authorize the
3452	// sharing of information from the given Floodlight configuration to
3453	// this Display & Video 360 advertiser.
3454	CmFloodlightLinkingAuthorized bool `json:"cmFloodlightLinkingAuthorized,omitempty"`
3455
3456	// CmSyncableSiteIds: A list of CM360 sites whose placements will be
3457	// synced to DV360 as creatives. If absent or empty in CreateAdvertiser
3458	// method, the system will automatically create a CM360 site. Removing
3459	// sites from this list may cause DV360 creatives synced from CM360 to
3460	// be deleted. At least one site must be specified.
3461	CmSyncableSiteIds googleapi.Int64s `json:"cmSyncableSiteIds,omitempty"`
3462
3463	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to
3464	// CM360.
3465	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
3466
3467	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in
3468	// CM360 data transfer reports.
3469	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
3470
3471	// ForceSendFields is a list of field names (e.g. "CmAccountId") to
3472	// unconditionally include in API requests. By default, fields with
3473	// empty values are omitted from API requests. However, any non-pointer,
3474	// non-interface field appearing in ForceSendFields will be sent to the
3475	// server regardless of whether the field is empty or not. This may be
3476	// used to include empty fields in Patch requests.
3477	ForceSendFields []string `json:"-"`
3478
3479	// NullFields is a list of field names (e.g. "CmAccountId") to include
3480	// in API requests with the JSON null value. By default, fields with
3481	// empty values are omitted from API requests. However, any field with
3482	// an empty value appearing in NullFields will be sent to the server as
3483	// null. It is an error if a field in this list has a non-empty value.
3484	// This may be used to include null fields in Patch requests.
3485	NullFields []string `json:"-"`
3486}
3487
3488func (s *CmHybridConfig) MarshalJSON() ([]byte, error) {
3489	type NoMethod CmHybridConfig
3490	raw := NoMethod(*s)
3491	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3492}
3493
3494// CmTrackingAd: A Campaign Manager 360 tracking ad.
3495type CmTrackingAd struct {
3496	// CmAdId: The ad ID of the campaign manager 360 tracking Ad.
3497	CmAdId int64 `json:"cmAdId,omitempty,string"`
3498
3499	// CmCreativeId: The creative ID of the campaign manager 360 tracking
3500	// Ad.
3501	CmCreativeId int64 `json:"cmCreativeId,omitempty,string"`
3502
3503	// CmPlacementId: The placement ID of the campaign manager 360 tracking
3504	// Ad.
3505	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
3506
3507	// ForceSendFields is a list of field names (e.g. "CmAdId") to
3508	// unconditionally include in API requests. By default, fields with
3509	// empty values are omitted from API requests. However, any non-pointer,
3510	// non-interface field appearing in ForceSendFields will be sent to the
3511	// server regardless of whether the field is empty or not. This may be
3512	// used to include empty fields in Patch requests.
3513	ForceSendFields []string `json:"-"`
3514
3515	// NullFields is a list of field names (e.g. "CmAdId") to include in API
3516	// requests with the JSON null value. By default, fields with empty
3517	// values are omitted from API requests. However, any field with an
3518	// empty value appearing in NullFields will be sent to the server as
3519	// null. It is an error if a field in this list has a non-empty value.
3520	// This may be used to include null fields in Patch requests.
3521	NullFields []string `json:"-"`
3522}
3523
3524func (s *CmTrackingAd) MarshalJSON() ([]byte, error) {
3525	type NoMethod CmTrackingAd
3526	raw := NoMethod(*s)
3527	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3528}
3529
3530// CombinedAudience: Describes a combined audience resource.
3531type CombinedAudience struct {
3532	// CombinedAudienceId: Output only. The unique ID of the combined
3533	// audience. Assigned by the system.
3534	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
3535
3536	// DisplayName: Output only. The display name of the combined audience.
3537	// .
3538	DisplayName string `json:"displayName,omitempty"`
3539
3540	// Name: Output only. The resource name of the combined audience.
3541	Name string `json:"name,omitempty"`
3542
3543	// ServerResponse contains the HTTP response code and headers from the
3544	// server.
3545	googleapi.ServerResponse `json:"-"`
3546
3547	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId")
3548	// to unconditionally include in API requests. By default, fields with
3549	// empty values are omitted from API requests. However, any non-pointer,
3550	// non-interface field appearing in ForceSendFields will be sent to the
3551	// server regardless of whether the field is empty or not. This may be
3552	// used to include empty fields in Patch requests.
3553	ForceSendFields []string `json:"-"`
3554
3555	// NullFields is a list of field names (e.g. "CombinedAudienceId") to
3556	// include in API requests with the JSON null value. By default, fields
3557	// with empty values are omitted from API requests. However, any field
3558	// with an empty value appearing in NullFields will be sent to the
3559	// server as null. It is an error if a field in this list has a
3560	// non-empty value. This may be used to include null fields in Patch
3561	// requests.
3562	NullFields []string `json:"-"`
3563}
3564
3565func (s *CombinedAudience) MarshalJSON() ([]byte, error) {
3566	type NoMethod CombinedAudience
3567	raw := NoMethod(*s)
3568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3569}
3570
3571// CombinedAudienceGroup: Details of combined audience group. All
3572// combined audience targeting settings are logically ‘OR’ of each
3573// other.
3574type CombinedAudienceGroup struct {
3575	// Settings: Required. All combined audience targeting settings in
3576	// combined audience group. Repeated settings with same id will be
3577	// ignored. The number of combined audience settings should be no more
3578	// than five, error will be thrown otherwise.
3579	Settings []*CombinedAudienceTargetingSetting `json:"settings,omitempty"`
3580
3581	// ForceSendFields is a list of field names (e.g. "Settings") to
3582	// unconditionally include in API requests. By default, fields with
3583	// empty values are omitted from API requests. However, any non-pointer,
3584	// non-interface field appearing in ForceSendFields will be sent to the
3585	// server regardless of whether the field is empty or not. This may be
3586	// used to include empty fields in Patch requests.
3587	ForceSendFields []string `json:"-"`
3588
3589	// NullFields is a list of field names (e.g. "Settings") to include in
3590	// API requests with the JSON null value. By default, fields with empty
3591	// values are omitted from API requests. However, any field with an
3592	// empty value appearing in NullFields will be sent to the server as
3593	// null. It is an error if a field in this list has a non-empty value.
3594	// This may be used to include null fields in Patch requests.
3595	NullFields []string `json:"-"`
3596}
3597
3598func (s *CombinedAudienceGroup) MarshalJSON() ([]byte, error) {
3599	type NoMethod CombinedAudienceGroup
3600	raw := NoMethod(*s)
3601	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3602}
3603
3604// CombinedAudienceTargetingSetting: Details of combined audience
3605// targeting setting.
3606type CombinedAudienceTargetingSetting struct {
3607	// CombinedAudienceId: Required. Combined audience id of combined
3608	// audience targeting setting. This id is combined_audience_id.
3609	CombinedAudienceId int64 `json:"combinedAudienceId,omitempty,string"`
3610
3611	// ForceSendFields is a list of field names (e.g. "CombinedAudienceId")
3612	// to unconditionally include in API requests. By default, fields with
3613	// empty values are omitted from API requests. However, any non-pointer,
3614	// non-interface field appearing in ForceSendFields will be sent to the
3615	// server regardless of whether the field is empty or not. This may be
3616	// used to include empty fields in Patch requests.
3617	ForceSendFields []string `json:"-"`
3618
3619	// NullFields is a list of field names (e.g. "CombinedAudienceId") to
3620	// include in API requests with the JSON null value. By default, fields
3621	// with empty values are omitted from API requests. However, any field
3622	// with an empty value appearing in NullFields will be sent to the
3623	// server as null. It is an error if a field in this list has a
3624	// non-empty value. This may be used to include null fields in Patch
3625	// requests.
3626	NullFields []string `json:"-"`
3627}
3628
3629func (s *CombinedAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
3630	type NoMethod CombinedAudienceTargetingSetting
3631	raw := NoMethod(*s)
3632	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3633}
3634
3635// ContentInstreamPositionAssignedTargetingOptionDetails: Assigned
3636// content instream position targeting option details. This will be
3637// populated in the content_instream_position_details field when
3638// targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
3639type ContentInstreamPositionAssignedTargetingOptionDetails struct {
3640	// ContentInstreamPosition: Output only. The content instream position
3641	// for video or audio ads.
3642	//
3643	// Possible values:
3644	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position
3645	// is not specified in this version. This enum is a place holder for a
3646	// default value and does not represent a real in stream ad position.
3647	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before
3648	// streaming content.
3649	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the
3650	// beginning and end of streaming content.
3651	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
3652	// streaming content.
3653	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
3654
3655	// TargetingOptionId: Required. The targeting_option_id field when
3656	// targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
3657	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3658
3659	// ForceSendFields is a list of field names (e.g.
3660	// "ContentInstreamPosition") to unconditionally include in API
3661	// requests. By default, fields with empty values are omitted from API
3662	// requests. However, any non-pointer, non-interface field appearing in
3663	// ForceSendFields will be sent to the server regardless of whether the
3664	// field is empty or not. This may be used to include empty fields in
3665	// Patch requests.
3666	ForceSendFields []string `json:"-"`
3667
3668	// NullFields is a list of field names (e.g. "ContentInstreamPosition")
3669	// to include in API requests with the JSON null value. By default,
3670	// fields with empty values are omitted from API requests. However, any
3671	// field with an empty value appearing in NullFields will be sent to the
3672	// server as null. It is an error if a field in this list has a
3673	// non-empty value. This may be used to include null fields in Patch
3674	// requests.
3675	NullFields []string `json:"-"`
3676}
3677
3678func (s *ContentInstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3679	type NoMethod ContentInstreamPositionAssignedTargetingOptionDetails
3680	raw := NoMethod(*s)
3681	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3682}
3683
3684// ContentInstreamPositionTargetingOptionDetails: Represents a
3685// targetable content instream position, which could be used by video
3686// and audio ads. This will be populated in the
3687// content_instream_position_details field when targeting_type is
3688// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
3689type ContentInstreamPositionTargetingOptionDetails struct {
3690	// ContentInstreamPosition: Output only. The content instream position.
3691	//
3692	// Possible values:
3693	//   "CONTENT_INSTREAM_POSITION_UNSPECIFIED" - Content instream position
3694	// is not specified in this version. This enum is a place holder for a
3695	// default value and does not represent a real in stream ad position.
3696	//   "CONTENT_INSTREAM_POSITION_PRE_ROLL" - Ads that play before
3697	// streaming content.
3698	//   "CONTENT_INSTREAM_POSITION_MID_ROLL" - Ads that play between the
3699	// beginning and end of streaming content.
3700	//   "CONTENT_INSTREAM_POSITION_POST_ROLL" - Ads that play at the end of
3701	// streaming content.
3702	ContentInstreamPosition string `json:"contentInstreamPosition,omitempty"`
3703
3704	// ForceSendFields is a list of field names (e.g.
3705	// "ContentInstreamPosition") to unconditionally include in API
3706	// requests. By default, fields with empty values are omitted from API
3707	// requests. However, any non-pointer, non-interface field appearing in
3708	// ForceSendFields will be sent to the server regardless of whether the
3709	// field is empty or not. This may be used to include empty fields in
3710	// Patch requests.
3711	ForceSendFields []string `json:"-"`
3712
3713	// NullFields is a list of field names (e.g. "ContentInstreamPosition")
3714	// to include in API requests with the JSON null value. By default,
3715	// fields with empty values are omitted from API requests. However, any
3716	// field with an empty value appearing in NullFields will be sent to the
3717	// server as null. It is an error if a field in this list has a
3718	// non-empty value. This may be used to include null fields in Patch
3719	// requests.
3720	NullFields []string `json:"-"`
3721}
3722
3723func (s *ContentInstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3724	type NoMethod ContentInstreamPositionTargetingOptionDetails
3725	raw := NoMethod(*s)
3726	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3727}
3728
3729// ContentOutstreamPositionAssignedTargetingOptionDetails: Assigned
3730// content outstream position targeting option details. This will be
3731// populated in the content_outstream_position_details field when
3732// targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
3733type ContentOutstreamPositionAssignedTargetingOptionDetails struct {
3734	// ContentOutstreamPosition: Output only. The content outstream
3735	// position.
3736	//
3737	// Possible values:
3738	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream
3739	// position is not specified in this version. This enum is a place
3740	// holder for a default value and does not represent a real content
3741	// outstream position.
3742	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown
3743	// in the content outstream.
3744	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between
3745	// the paragraphs of your pages.
3746	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the
3747	// top and the sides of a page.
3748	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a
3749	// scrollable stream of content. A feed is typically editorial (e.g. a
3750	// list of articles or news) or listings (e.g. a list of products or
3751	// services).
3752	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or
3753	// between content loads.
3754	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
3755
3756	// TargetingOptionId: Required. The targeting_option_id field when
3757	// targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
3758	TargetingOptionId string `json:"targetingOptionId,omitempty"`
3759
3760	// ForceSendFields is a list of field names (e.g.
3761	// "ContentOutstreamPosition") to unconditionally include in API
3762	// requests. By default, fields with empty values are omitted from API
3763	// requests. However, any non-pointer, non-interface field appearing in
3764	// ForceSendFields will be sent to the server regardless of whether the
3765	// field is empty or not. This may be used to include empty fields in
3766	// Patch requests.
3767	ForceSendFields []string `json:"-"`
3768
3769	// NullFields is a list of field names (e.g. "ContentOutstreamPosition")
3770	// to include in API requests with the JSON null value. By default,
3771	// fields with empty values are omitted from API requests. However, any
3772	// field with an empty value appearing in NullFields will be sent to the
3773	// server as null. It is an error if a field in this list has a
3774	// non-empty value. This may be used to include null fields in Patch
3775	// requests.
3776	NullFields []string `json:"-"`
3777}
3778
3779func (s *ContentOutstreamPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3780	type NoMethod ContentOutstreamPositionAssignedTargetingOptionDetails
3781	raw := NoMethod(*s)
3782	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3783}
3784
3785// ContentOutstreamPositionTargetingOptionDetails: Represents a
3786// targetable content outstream position, which could be used by display
3787// and video ads. This will be populated in the
3788// content_outstream_position_details field when targeting_type is
3789// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
3790type ContentOutstreamPositionTargetingOptionDetails struct {
3791	// ContentOutstreamPosition: Output only. The content outstream
3792	// position.
3793	//
3794	// Possible values:
3795	//   "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED" - Content outstream
3796	// position is not specified in this version. This enum is a place
3797	// holder for a default value and does not represent a real content
3798	// outstream position.
3799	//   "CONTENT_OUTSTREAM_POSITION_UNKNOWN" - The ad position is unknown
3800	// in the content outstream.
3801	//   "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE" - Ads that appear between
3802	// the paragraphs of your pages.
3803	//   "CONTENT_OUTSTREAM_POSITION_IN_BANNER" - Ads that display on the
3804	// top and the sides of a page.
3805	//   "CONTENT_OUTSTREAM_POSITION_IN_FEED" - Ads that appear in a
3806	// scrollable stream of content. A feed is typically editorial (e.g. a
3807	// list of articles or news) or listings (e.g. a list of products or
3808	// services).
3809	//   "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" - Ads shown before or
3810	// between content loads.
3811	ContentOutstreamPosition string `json:"contentOutstreamPosition,omitempty"`
3812
3813	// ForceSendFields is a list of field names (e.g.
3814	// "ContentOutstreamPosition") to unconditionally include in API
3815	// requests. By default, fields with empty values are omitted from API
3816	// requests. However, any non-pointer, non-interface field appearing in
3817	// ForceSendFields will be sent to the server regardless of whether the
3818	// field is empty or not. This may be used to include empty fields in
3819	// Patch requests.
3820	ForceSendFields []string `json:"-"`
3821
3822	// NullFields is a list of field names (e.g. "ContentOutstreamPosition")
3823	// to include in API requests with the JSON null value. By default,
3824	// fields with empty values are omitted from API requests. However, any
3825	// field with an empty value appearing in NullFields will be sent to the
3826	// server as null. It is an error if a field in this list has a
3827	// non-empty value. This may be used to include null fields in Patch
3828	// requests.
3829	NullFields []string `json:"-"`
3830}
3831
3832func (s *ContentOutstreamPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
3833	type NoMethod ContentOutstreamPositionTargetingOptionDetails
3834	raw := NoMethod(*s)
3835	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3836}
3837
3838// ConversionCountingConfig: Settings that control how conversions are
3839// counted. All post-click conversions will be counted. A percentage
3840// value can be set for post-view conversions counting.
3841type ConversionCountingConfig struct {
3842	// FloodlightActivityConfigs: The Floodlight activity configs used to
3843	// track conversions. The number of conversions counted is the sum of
3844	// all of the conversions counted by all of the Floodlight activity IDs
3845	// specified in this field.
3846	FloodlightActivityConfigs []*TrackingFloodlightActivityConfig `json:"floodlightActivityConfigs,omitempty"`
3847
3848	// PostViewCountPercentageMillis: The percentage of post-view
3849	// conversions to count, in millis (1/1000 of a percent). Must be
3850	// between 0 and 100000 inclusive. For example, to track 50% of the
3851	// post-click conversions, set a value of 50000.
3852	PostViewCountPercentageMillis int64 `json:"postViewCountPercentageMillis,omitempty,string"`
3853
3854	// ForceSendFields is a list of field names (e.g.
3855	// "FloodlightActivityConfigs") to unconditionally include in API
3856	// requests. By default, fields with empty values are omitted from API
3857	// requests. However, any non-pointer, non-interface field appearing in
3858	// ForceSendFields will be sent to the server regardless of whether the
3859	// field is empty or not. This may be used to include empty fields in
3860	// Patch requests.
3861	ForceSendFields []string `json:"-"`
3862
3863	// NullFields is a list of field names (e.g.
3864	// "FloodlightActivityConfigs") to include in API requests with the JSON
3865	// null value. By default, fields with empty values are omitted from API
3866	// requests. However, any field with an empty value appearing in
3867	// NullFields will be sent to the server as null. It is an error if a
3868	// field in this list has a non-empty value. This may be used to include
3869	// null fields in Patch requests.
3870	NullFields []string `json:"-"`
3871}
3872
3873func (s *ConversionCountingConfig) MarshalJSON() ([]byte, error) {
3874	type NoMethod ConversionCountingConfig
3875	raw := NoMethod(*s)
3876	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3877}
3878
3879// CounterEvent: Counter event of the creative.
3880type CounterEvent struct {
3881	// Name: Required. The name of the counter event.
3882	Name string `json:"name,omitempty"`
3883
3884	// ReportingName: Required. The name used to identify this counter event
3885	// in reports.
3886	ReportingName string `json:"reportingName,omitempty"`
3887
3888	// ForceSendFields is a list of field names (e.g. "Name") to
3889	// unconditionally include in API requests. By default, fields with
3890	// empty values are omitted from API requests. However, any non-pointer,
3891	// non-interface field appearing in ForceSendFields will be sent to the
3892	// server regardless of whether the field is empty or not. This may be
3893	// used to include empty fields in Patch requests.
3894	ForceSendFields []string `json:"-"`
3895
3896	// NullFields is a list of field names (e.g. "Name") to include in API
3897	// requests with the JSON null value. By default, fields with empty
3898	// values are omitted from API requests. However, any field with an
3899	// empty value appearing in NullFields will be sent to the server as
3900	// null. It is an error if a field in this list has a non-empty value.
3901	// This may be used to include null fields in Patch requests.
3902	NullFields []string `json:"-"`
3903}
3904
3905func (s *CounterEvent) MarshalJSON() ([]byte, error) {
3906	type NoMethod CounterEvent
3907	raw := NoMethod(*s)
3908	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3909}
3910
3911// CreateAssetRequest: A request message for CreateAsset.
3912type CreateAssetRequest struct {
3913	// Filename: Required. The filename of the asset, including the file
3914	// extension. The filename must be UTF-8 encoded with a maximum size of
3915	// 240 bytes.
3916	Filename string `json:"filename,omitempty"`
3917
3918	// ForceSendFields is a list of field names (e.g. "Filename") to
3919	// unconditionally include in API requests. By default, fields with
3920	// empty values are omitted from API requests. However, any non-pointer,
3921	// non-interface field appearing in ForceSendFields will be sent to the
3922	// server regardless of whether the field is empty or not. This may be
3923	// used to include empty fields in Patch requests.
3924	ForceSendFields []string `json:"-"`
3925
3926	// NullFields is a list of field names (e.g. "Filename") to include in
3927	// API requests with the JSON null value. By default, fields with empty
3928	// values are omitted from API requests. However, any field with an
3929	// empty value appearing in NullFields will be sent to the server as
3930	// null. It is an error if a field in this list has a non-empty value.
3931	// This may be used to include null fields in Patch requests.
3932	NullFields []string `json:"-"`
3933}
3934
3935func (s *CreateAssetRequest) MarshalJSON() ([]byte, error) {
3936	type NoMethod CreateAssetRequest
3937	raw := NoMethod(*s)
3938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3939}
3940
3941// CreateAssetResponse: A response message for CreateAsset.
3942type CreateAssetResponse struct {
3943	// Asset: The uploaded asset, if successful.
3944	Asset *Asset `json:"asset,omitempty"`
3945
3946	// ServerResponse contains the HTTP response code and headers from the
3947	// server.
3948	googleapi.ServerResponse `json:"-"`
3949
3950	// ForceSendFields is a list of field names (e.g. "Asset") to
3951	// unconditionally include in API requests. By default, fields with
3952	// empty values are omitted from API requests. However, any non-pointer,
3953	// non-interface field appearing in ForceSendFields will be sent to the
3954	// server regardless of whether the field is empty or not. This may be
3955	// used to include empty fields in Patch requests.
3956	ForceSendFields []string `json:"-"`
3957
3958	// NullFields is a list of field names (e.g. "Asset") to include in API
3959	// requests with the JSON null value. By default, fields with empty
3960	// values are omitted from API requests. However, any field with an
3961	// empty value appearing in NullFields will be sent to the server as
3962	// null. It is an error if a field in this list has a non-empty value.
3963	// This may be used to include null fields in Patch requests.
3964	NullFields []string `json:"-"`
3965}
3966
3967func (s *CreateAssetResponse) MarshalJSON() ([]byte, error) {
3968	type NoMethod CreateAssetResponse
3969	raw := NoMethod(*s)
3970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3971}
3972
3973// CreateAssignedTargetingOptionsRequest: A request listing which
3974// assigned targeting options of a given targeting type should be
3975// created and added.
3976type CreateAssignedTargetingOptionsRequest struct {
3977	// AssignedTargetingOptions: Required. The assigned targeting options to
3978	// create and add.
3979	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
3980
3981	// TargetingType: Required. Identifies the type of this assigned
3982	// targeting option.
3983	//
3984	// Possible values:
3985	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
3986	// specified or is unknown in this version.
3987	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
3988	// related websites or apps).
3989	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
3990	// example, education or puzzle games).
3991	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
3992	// Birds).
3993	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
3994	// quora.com).
3995	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
3996	// period on a specific day.
3997	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
3998	// (for example, 18-24).
3999	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
4000	// specified regions on a regional location list.
4001	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
4002	// specified points of interest on a proximity location list.
4003	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
4004	// example, female or male).
4005	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
4006	// size for video ads.
4007	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
4008	// content for video ads.
4009	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
4010	// parental status (for example, parent or not a parent).
4011	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
4012	// ads in a specific content instream position (for example, pre-roll,
4013	// mid-roll, or post-roll).
4014	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
4015	// specific content outstream position.
4016	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
4017	// (for example, tablet or connected TV).
4018	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
4019	// groups of audiences. Singleton field, at most one can exist on a
4020	// single Lineitem at a time.
4021	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
4022	// example, Chrome).
4023	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
4024	// household income range (for example, top 10%).
4025	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
4026	// screen position.
4027	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
4028	// third party verification (for example, IAS or DoubleVerify).
4029	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
4030	// by specific digital content label ratings (for example, DL-MA:
4031	// suitable only for mature audiences).
4032	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
4033	// content by sensitive categories (for example, adult).
4034	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
4035	// (for example, web or app).
4036	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
4037	// carrier or internet service provider (ISP) (for example, Comcast or
4038	// Orange).
4039	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
4040	// operating system (for example, macOS).
4041	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
4042	// device make or model (for example, Roku or Samsung).
4043	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
4044	// example, dog or retriever).
4045	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
4046	// negative keyword list.
4047	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
4048	// (for example, 80% viewable).
4049	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
4050	// category (for example, arts & entertainment).
4051	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
4052	// specific deals and auction packages.
4053	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
4054	// example, English or Japanese).
4055	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
4056	// authorized sellers.
4057	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
4058	// location (for example, a city or state).
4059	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
4060	// a group of deals and auction packages.
4061	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
4062	// exchanges.
4063	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
4064	// sub-exchanges.
4065	TargetingType string `json:"targetingType,omitempty"`
4066
4067	// ForceSendFields is a list of field names (e.g.
4068	// "AssignedTargetingOptions") to unconditionally include in API
4069	// requests. By default, fields with empty values are omitted from API
4070	// requests. However, any non-pointer, non-interface field appearing in
4071	// ForceSendFields will be sent to the server regardless of whether the
4072	// field is empty or not. This may be used to include empty fields in
4073	// Patch requests.
4074	ForceSendFields []string `json:"-"`
4075
4076	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
4077	// to include in API requests with the JSON null value. By default,
4078	// fields with empty values are omitted from API requests. However, any
4079	// field with an empty value appearing in NullFields will be sent to the
4080	// server as null. It is an error if a field in this list has a
4081	// non-empty value. This may be used to include null fields in Patch
4082	// requests.
4083	NullFields []string `json:"-"`
4084}
4085
4086func (s *CreateAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
4087	type NoMethod CreateAssignedTargetingOptionsRequest
4088	raw := NoMethod(*s)
4089	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4090}
4091
4092// CreateSdfDownloadTaskRequest: Request message for
4093// [SdfDownloadTaskService.CreateSdfDownloadTask].
4094type CreateSdfDownloadTaskRequest struct {
4095	// AdvertiserId: The ID of the advertiser to download SDF for.
4096	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4097
4098	// IdFilter: Filters on entities by their entity IDs.
4099	IdFilter *IdFilter `json:"idFilter,omitempty"`
4100
4101	// InventorySourceFilter: Filters on Inventory Sources by their IDs.
4102	InventorySourceFilter *InventorySourceFilter `json:"inventorySourceFilter,omitempty"`
4103
4104	// ParentEntityFilter: Filters on selected file types. The entities in
4105	// each file are filtered by a chosen set of filter entities. The filter
4106	// entities must be the same type as, or a parent type of, the selected
4107	// file types.
4108	ParentEntityFilter *ParentEntityFilter `json:"parentEntityFilter,omitempty"`
4109
4110	// PartnerId: The ID of the partner to download SDF for.
4111	PartnerId int64 `json:"partnerId,omitempty,string"`
4112
4113	// Version: Required. The SDF version of the downloaded file. If set to
4114	// `SDF_VERSION_UNSPECIFIED`, this will default to the version specified
4115	// by the advertiser or partner identified by `root_id`. An advertiser
4116	// inherits its SDF version from its partner unless configured
4117	// otherwise.
4118	//
4119	// Possible values:
4120	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
4121	// is unknown in this version.
4122	//   "SDF_VERSION_3_1" - SDF version 3.1
4123	//   "SDF_VERSION_4" - SDF version 4
4124	//   "SDF_VERSION_4_1" - SDF version 4.1
4125	//   "SDF_VERSION_4_2" - SDF version 4.2
4126	//   "SDF_VERSION_5" - SDF version 5.
4127	//   "SDF_VERSION_5_1" - SDF version 5.1
4128	//   "SDF_VERSION_5_2" - SDF version 5.2;
4129	Version string `json:"version,omitempty"`
4130
4131	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
4132	// unconditionally include in API requests. By default, fields with
4133	// empty values are omitted from API requests. However, any non-pointer,
4134	// non-interface field appearing in ForceSendFields will be sent to the
4135	// server regardless of whether the field is empty or not. This may be
4136	// used to include empty fields in Patch requests.
4137	ForceSendFields []string `json:"-"`
4138
4139	// NullFields is a list of field names (e.g. "AdvertiserId") to include
4140	// in API requests with the JSON null value. By default, fields with
4141	// empty values are omitted from API requests. However, any field with
4142	// an empty value appearing in NullFields will be sent to the server as
4143	// null. It is an error if a field in this list has a non-empty value.
4144	// This may be used to include null fields in Patch requests.
4145	NullFields []string `json:"-"`
4146}
4147
4148func (s *CreateSdfDownloadTaskRequest) MarshalJSON() ([]byte, error) {
4149	type NoMethod CreateSdfDownloadTaskRequest
4150	raw := NoMethod(*s)
4151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4152}
4153
4154// Creative: A single Creative.
4155type Creative struct {
4156	// AdditionalDimensions: Additional dimensions. Applicable when
4157	// creative_type is one of: * `CREATIVE_TYPE_STANDARD` *
4158	// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` *
4159	// `CREATIVE_TYPE_TEMPLATED_APP_INSTALL` *
4160	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` *
4161	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4162	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4163	// `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified,
4164	// width_pixels and height_pixels are both required and must be greater
4165	// than or equal to 0.
4166	AdditionalDimensions []*Dimensions `json:"additionalDimensions,omitempty"`
4167
4168	// AdvertiserId: Output only. The unique ID of the advertiser the
4169	// creative belongs to.
4170	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4171
4172	// AppendedTag: Third-party HTML tracking tag to be appended to the
4173	// creative tag.
4174	AppendedTag string `json:"appendedTag,omitempty"`
4175
4176	// Assets: Required. Assets associated to this creative. Assets can be
4177	// associated to the creative in one of following roles: *
4178	// `ASSET_ROLE_UNSPECIFIED` * `ASSET_ROLE_MAIN` * `ASSET_ROLE_BACKUP` *
4179	// `ASSET_ROLE_POLITE_LOAD`
4180	Assets []*AssetAssociation `json:"assets,omitempty"`
4181
4182	// CmPlacementId: Output only. The unique ID of the Campaign Manager 360
4183	// placement associated with the creative. This field is only applicable
4184	// for creatives that are synced from Campaign Manager.
4185	CmPlacementId int64 `json:"cmPlacementId,omitempty,string"`
4186
4187	// CmTrackingAd: The Campaign Manager 360 tracking ad associated with
4188	// the creative. Optional for the following creative_type when created
4189	// by an advertiser that uses both Campaign Manager 360 and third-party
4190	// ad serving: * `CREATIVE_TYPE_NATIVE` *
4191	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
4192	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4193	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` Output only for other
4194	// cases.
4195	CmTrackingAd *CmTrackingAd `json:"cmTrackingAd,omitempty"`
4196
4197	// CompanionCreativeIds: The IDs of companion creatives for a video
4198	// creative. You can assign existing display creatives (with image or
4199	// HTML5 assets) to serve surrounding the publisher's video player.
4200	// Companions display around the video player while the video is playing
4201	// and remain after the video has completed. Creatives contain
4202	// additional dimensions can not be companion creatives. This field is
4203	// only supported for following creative_type: * `CREATIVE_TYPE_AUDIO` *
4204	// `CREATIVE_TYPE_VIDEO`
4205	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4206
4207	// CounterEvents: Counter events for a rich media creative. Counters
4208	// track the number of times that a user interacts with any part of a
4209	// rich media creative in a specified way (mouse-overs, mouse-outs,
4210	// clicks, taps, data loading, keyboard entries, etc.). Any event that
4211	// can be captured in the creative can be recorded as a counter. Leave
4212	// it empty or unset for creatives containing image assets only.
4213	CounterEvents []*CounterEvent `json:"counterEvents,omitempty"`
4214
4215	// CreateTime: Output only. The timestamp when the creative was created.
4216	// Assigned by the system.
4217	CreateTime string `json:"createTime,omitempty"`
4218
4219	// CreativeAttributes: Output only. A list of attributes of the creative
4220	// that is generated by the system.
4221	//
4222	// Possible values:
4223	//   "CREATIVE_ATTRIBUTE_UNSPECIFIED" - The creative attribute is not
4224	// specified or is unknown in this version.
4225	//   "CREATIVE_ATTRIBUTE_VAST" - The creative is a VAST creative.
4226	//   "CREATIVE_ATTRIBUTE_VPAID_LINEAR" - The creative is a linear VPAID
4227	// creative.
4228	//   "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" - The creative is a
4229	// non-linear VPAID creative.
4230	CreativeAttributes []string `json:"creativeAttributes,omitempty"`
4231
4232	// CreativeId: Output only. The unique ID of the creative. Assigned by
4233	// the system.
4234	CreativeId int64 `json:"creativeId,omitempty,string"`
4235
4236	// CreativeType: Required. Immutable. The type of the creative.
4237	//
4238	// Possible values:
4239	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is
4240	// unknown in this version.
4241	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and
4242	// update methods are supported for this creative type if the
4243	// hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` *
4244	// `HOSTING_SOURCE_THIRD_PARTY`
4245	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
4246	// methods are supported for this creative type if the hosting_source is
4247	// `HOSTING_SOURCE_THIRD_PARTY`
4248	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods
4249	// are supported for this creative type if the hosting_source is one of
4250	// the following: * `HOSTING_SOURCE_HOSTED` *
4251	// `HOSTING_SOURCE_THIRD_PARTY`
4252	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers
4253	// with assets from advertiser. Create and update methods are supported
4254	// for this creative type if the hosting_source is
4255	// `HOSTING_SOURCE_HOSTED`
4256	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install
4257	// mobile creative (banner). Create and update methods are **not**
4258	// supported for this creative type.
4259	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create
4260	// and update methods are supported for this creative type if the
4261	// hosting_source is `HOSTING_SOURCE_HOSTED`
4262	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial
4263	// creative including both display and video. Create and update methods
4264	// are **not** supported for this creative type.
4265	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox
4266	// creative. Create and update methods are **not** supported for this
4267	// creative type.
4268	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative.
4269	// Create and update methods are supported for this creative type if the
4270	// hosting_source is `HOSTING_SOURCE_HOSTED`
4271	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app
4272	// install creative. Create and update methods are supported for this
4273	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
4274	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods
4275	// are supported for this creative type if the hosting_source is
4276	// `HOSTING_SOURCE_HOSTED`
4277	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative.
4278	// Create and update methods are **not** supported for this creative
4279	// type.
4280	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and
4281	// update methods are supported for this creative type if the
4282	// hosting_source is `HOSTING_SOURCE_HOSTED`
4283	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install
4284	// mobile video creative. Create and update methods are **not**
4285	// supported for this creative type.
4286	CreativeType string `json:"creativeType,omitempty"`
4287
4288	// Dimensions: Required. Primary dimensions of the creative. Applicable
4289	// to all creative types. The value of width_pixels and height_pixels
4290	// defaults to `0` when creative_type is one of: * `CREATIVE_TYPE_VIDEO`
4291	// * `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL` *
4292	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4293	// `CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO`
4294	Dimensions *Dimensions `json:"dimensions,omitempty"`
4295
4296	// DisplayName: Required. The display name of the creative. Must be
4297	// UTF-8 encoded with a maximum size of 240 bytes.
4298	DisplayName string `json:"displayName,omitempty"`
4299
4300	// Dynamic: Output only. Indicates whether the creative is dynamic.
4301	Dynamic bool `json:"dynamic,omitempty"`
4302
4303	// EntityStatus: Required. Controls whether or not the creative can
4304	// serve. Accepted values are: * `ENTITY_STATUS_ACTIVE` *
4305	// `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED`
4306	//
4307	// Possible values:
4308	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
4309	// specified or is unknown in this version.
4310	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
4311	// budget.
4312	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
4313	// budget spending are disabled. An entity can be deleted after
4314	// archived. Deleted entities cannot be retrieved.
4315	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
4316	// budget spending are disabled.
4317	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
4318	// the entity.
4319	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
4320	// for deletion.
4321	EntityStatus string `json:"entityStatus,omitempty"`
4322
4323	// ExitEvents: Required. Exit events for this creative. An exit (also
4324	// known as a click tag) is any area in your creative that someone can
4325	// click or tap to open an advertiser's landing page. Every creative
4326	// must include at least one exit. You can add an exit to your creative
4327	// in any of the following ways: * Use Google Web Designer's tap area. *
4328	// Define a JavaScript variable called "clickTag". * Use the Enabler
4329	// (Enabler.exit()) to track exits in rich media formats.
4330	ExitEvents []*ExitEvent `json:"exitEvents,omitempty"`
4331
4332	// ExpandOnHover: Optional. Indicates the creative will automatically
4333	// expand on hover. Optional and only valid for third-party expandable
4334	// creatives. Third-party expandable creatives are creatives with
4335	// following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4336	// with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`
4337	ExpandOnHover bool `json:"expandOnHover,omitempty"`
4338
4339	// ExpandingDirection: Optional. Specifies the expanding direction of
4340	// the creative. Required and only valid for third-party expandable
4341	// creatives. Third-party expandable creatives are creatives with
4342	// following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4343	// with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`
4344	//
4345	// Possible values:
4346	//   "EXPANDING_DIRECTION_UNSPECIFIED" - The expanding direction is not
4347	// specified.
4348	//   "EXPANDING_DIRECTION_NONE" - Does not expand in any direction.
4349	//   "EXPANDING_DIRECTION_UP" - Expands up.
4350	//   "EXPANDING_DIRECTION_DOWN" - Expands down.
4351	//   "EXPANDING_DIRECTION_LEFT" - Expands left.
4352	//   "EXPANDING_DIRECTION_RIGHT" - Expands right.
4353	//   "EXPANDING_DIRECTION_UP_AND_LEFT" - Expands up and to the left
4354	// side.
4355	//   "EXPANDING_DIRECTION_UP_AND_RIGHT" - Expands up and to the right
4356	// side.
4357	//   "EXPANDING_DIRECTION_DOWN_AND_LEFT" - Expands down and to the left
4358	// side.
4359	//   "EXPANDING_DIRECTION_DOWN_AND_RIGHT" - Expands down and to the
4360	// right side.
4361	//   "EXPANDING_DIRECTION_UP_OR_DOWN" - Expands either up or down.
4362	//   "EXPANDING_DIRECTION_LEFT_OR_RIGHT" - Expands to either the left or
4363	// the right side.
4364	//   "EXPANDING_DIRECTION_ANY_DIAGONAL" - Can expand in any diagonal
4365	// direction.
4366	ExpandingDirection string `json:"expandingDirection,omitempty"`
4367
4368	// HostingSource: Required. Indicates where the creative is hosted.
4369	//
4370	// Possible values:
4371	//   "HOSTING_SOURCE_UNSPECIFIED" - Hosting source is not specified or
4372	// is unknown in this version.
4373	//   "HOSTING_SOURCE_CM" - A creative synced from Campaign Manager 360.
4374	// Create and update methods are **not** supported for this hosting
4375	// type.
4376	//   "HOSTING_SOURCE_THIRD_PARTY" - A creative hosted by a third-party
4377	// ad server (3PAS). Create and update methods are supported for this
4378	// hosting type if the creative_type is one of the following: *
4379	// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` *
4380	// `CREATIVE_TYPE_VIDEO`
4381	//   "HOSTING_SOURCE_HOSTED" - A creative created in DV360 and hosted by
4382	// Campaign Manager 360. Create and update methods are supported for
4383	// this hosting type if the creative_type is one of the following: *
4384	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` *
4385	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4386	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4387	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4388	// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`
4389	//   "HOSTING_SOURCE_RICH_MEDIA" - A rich media creative created in
4390	// Studio and hosted by Campaign Manager 360. Create and update methods
4391	// are **not** supported for this hosting type.
4392	HostingSource string `json:"hostingSource,omitempty"`
4393
4394	// Html5Video: Output only. Indicates the third-party VAST tag creative
4395	// requires HTML5 Video support. Output only and only valid for
4396	// third-party VAST tag creatives. Third-party VAST tag creatives are
4397	// creatives with following hosting_source: *
4398	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
4399	// `CREATIVE_TYPE_VIDEO`
4400	Html5Video bool `json:"html5Video,omitempty"`
4401
4402	// IasCampaignMonitoring: Indicates whether Integral Ad Science (IAS)
4403	// campaign monitoring is enabled. To enable this for the creative, make
4404	// sure the Advertiser.creative_config.ias_client_id has been set to
4405	// your IAS client ID.
4406	IasCampaignMonitoring bool `json:"iasCampaignMonitoring,omitempty"`
4407
4408	// IntegrationCode: ID information used to link this creative to an
4409	// external system. Must be UTF-8 encoded with a length of no more than
4410	// 10,000 characters.
4411	IntegrationCode string `json:"integrationCode,omitempty"`
4412
4413	// JsTrackerUrl: JavaScript measurement URL from supported third-party
4414	// verification providers (ComScore, DoubleVerify, IAS, Moat). HTML
4415	// script tags are not supported. This field is only supported in
4416	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
4417	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
4418	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4419	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4420	// `CREATIVE_TYPE_NATIVE_VIDEO`
4421	JsTrackerUrl string `json:"jsTrackerUrl,omitempty"`
4422
4423	// LineItemIds: Output only. The IDs of the line items this creative is
4424	// associated with. To associate a creative to a line item, use
4425	// LineItem.creative_ids instead.
4426	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
4427
4428	// MediaDuration: Output only. Media duration of the creative.
4429	// Applicable when creative_type is one of: * `CREATIVE_TYPE_VIDEO` *
4430	// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` *
4431	// `CREATIVE_TYPE_PUBLISHER_HOSTED`
4432	MediaDuration string `json:"mediaDuration,omitempty"`
4433
4434	// Name: Output only. The resource name of the creative.
4435	Name string `json:"name,omitempty"`
4436
4437	// Notes: User notes for this creative. Must be UTF-8 encoded with a
4438	// length of no more than 20,000 characters.
4439	Notes string `json:"notes,omitempty"`
4440
4441	// ObaIcon: Specifies the OBA icon for a video creative. This field is
4442	// only supported in following creative_type: * `CREATIVE_TYPE_VIDEO`
4443	ObaIcon *ObaIcon `json:"obaIcon,omitempty"`
4444
4445	// ProgressOffset: Amount of time to play the video before counting a
4446	// view. This field is required when skippable is true. This field is
4447	// only supported for the following creative_type: *
4448	// `CREATIVE_TYPE_VIDEO`
4449	ProgressOffset *AudioVideoOffset `json:"progressOffset,omitempty"`
4450
4451	// RequireHtml5: Optional. Indicates that the creative relies on HTML5
4452	// to render properly. Optional and only valid for third-party tag
4453	// creatives. Third-party tag creatives are creatives with following
4454	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4455	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4456	// `CREATIVE_TYPE_EXPANDABLE`
4457	RequireHtml5 bool `json:"requireHtml5,omitempty"`
4458
4459	// RequireMraid: Optional. Indicates that the creative requires MRAID
4460	// (Mobile Rich Media Ad Interface Definitions system). Set this if the
4461	// creative relies on mobile gestures for interactivity, such as swiping
4462	// or tapping. Optional and only valid for third-party tag creatives.
4463	// Third-party tag creatives are creatives with following
4464	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4465	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4466	// `CREATIVE_TYPE_EXPANDABLE`
4467	RequireMraid bool `json:"requireMraid,omitempty"`
4468
4469	// RequirePingForAttribution: Optional. Indicates that the creative will
4470	// wait for a return ping for attribution. Only valid when using a
4471	// Campaign Manager 360 tracking ad with a third-party ad server
4472	// parameter and the ${DC_DBM_TOKEN} macro. Optional and only valid for
4473	// third-party tag creatives or third-party VAST tag creatives.
4474	// Third-party tag creatives are creatives with following
4475	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4476	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4477	// `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are
4478	// creatives with following hosting_source: *
4479	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
4480	// `CREATIVE_TYPE_VIDEO`
4481	RequirePingForAttribution bool `json:"requirePingForAttribution,omitempty"`
4482
4483	// ReviewStatus: Output only. The current status of the creative review
4484	// process.
4485	ReviewStatus *ReviewStatusInfo `json:"reviewStatus,omitempty"`
4486
4487	// SkipOffset: Amount of time to play the video before the skip button
4488	// appears. This field is required when skippable is true. This field is
4489	// only supported for the following creative_type: *
4490	// `CREATIVE_TYPE_VIDEO`
4491	SkipOffset *AudioVideoOffset `json:"skipOffset,omitempty"`
4492
4493	// Skippable: Whether the user can choose to skip a video creative. This
4494	// field is only supported for the following creative_type: *
4495	// `CREATIVE_TYPE_VIDEO`
4496	Skippable bool `json:"skippable,omitempty"`
4497
4498	// ThirdPartyTag: Optional. The original third-party tag used for the
4499	// creative. Required and only valid for third-party tag creatives.
4500	// Third-party tag creatives are creatives with following
4501	// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
4502	// following creative_type: * `CREATIVE_TYPE_STANDARD` *
4503	// `CREATIVE_TYPE_EXPANDABLE`
4504	ThirdPartyTag string `json:"thirdPartyTag,omitempty"`
4505
4506	// ThirdPartyUrls: Tracking URLs from third parties to track
4507	// interactions with a video creative. This field is only supported for
4508	// the following creative_type: * `CREATIVE_TYPE_AUDIO` *
4509	// `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`
4510	ThirdPartyUrls []*ThirdPartyUrl `json:"thirdPartyUrls,omitempty"`
4511
4512	// TimerEvents: Timer custom events for a rich media creative. Timers
4513	// track the time during which a user views and interacts with a
4514	// specified part of a rich media creative. A creative can have multiple
4515	// timer events, each timed independently. Leave it empty or unset for
4516	// creatives containing image assets only.
4517	TimerEvents []*TimerEvent `json:"timerEvents,omitempty"`
4518
4519	// TrackerUrls: Tracking URLs for analytics providers or third-party ad
4520	// technology vendors. The URLs must start with https (except on
4521	// inventory that doesn't require SSL compliance). If using macros in
4522	// your URL, use only macros supported by Display & Video 360. Standard
4523	// URLs only, no IMG or SCRIPT tags. This field is only supported in
4524	// following creative_type: * `CREATIVE_TYPE_NATIVE` *
4525	// `CREATIVE_TYPE_NATIVE_SITE_SQUARE` *
4526	// `CREATIVE_TYPE_NATIVE_APP_INSTALL` *
4527	// `CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` *
4528	// `CREATIVE_TYPE_NATIVE_VIDEO`
4529	TrackerUrls []string `json:"trackerUrls,omitempty"`
4530
4531	// Transcodes: Output only. Audio/Video transcodes. Display & Video 360
4532	// transcodes the main asset into a number of alternative versions that
4533	// use different file formats or have different properties (resolution,
4534	// audio bit rate, and video bit rate), each designed for specific video
4535	// players or bandwidths. These transcodes give a publisher's system
4536	// more options to choose from for each impression on your video and
4537	// ensures that the appropriate file serves based on the viewer’s
4538	// connection and screen size. This field is only supported in following
4539	// creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`
4540	// * `CREATIVE_TYPE_AUDIO`
4541	Transcodes []*Transcode `json:"transcodes,omitempty"`
4542
4543	// UniversalAdId: Optional. An optional creative identifier provided by
4544	// a registry that is unique across all platforms. Universal Ad ID is
4545	// part of the VAST 4.0 standard. It can be modified after the creative
4546	// is created. This field is only supported for the following
4547	// creative_type: * `CREATIVE_TYPE_VIDEO`
4548	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
4549
4550	// UpdateTime: Output only. The timestamp when the creative was last
4551	// updated. Assigned by the system.
4552	UpdateTime string `json:"updateTime,omitempty"`
4553
4554	// VastTagUrl: Optional. The URL of the VAST tag for a third-party VAST
4555	// tag creative. Required and only valid for third-party VAST tag
4556	// creatives. Third-party VAST tag creatives are creatives with
4557	// following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined
4558	// with following creative_type: * `CREATIVE_TYPE_VIDEO`
4559	VastTagUrl string `json:"vastTagUrl,omitempty"`
4560
4561	// Vpaid: Output only. Indicates the third-party VAST tag creative
4562	// requires VPAID (Digital Video Player-Ad Interface). Output only and
4563	// only valid for third-party VAST tag creatives. Third-party VAST tag
4564	// creatives are creatives with following hosting_source: *
4565	// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: *
4566	// `CREATIVE_TYPE_VIDEO`
4567	Vpaid bool `json:"vpaid,omitempty"`
4568
4569	// ServerResponse contains the HTTP response code and headers from the
4570	// server.
4571	googleapi.ServerResponse `json:"-"`
4572
4573	// ForceSendFields is a list of field names (e.g.
4574	// "AdditionalDimensions") to unconditionally include in API requests.
4575	// By default, fields with empty values are omitted from API requests.
4576	// However, any non-pointer, non-interface field appearing in
4577	// ForceSendFields will be sent to the server regardless of whether the
4578	// field is empty or not. This may be used to include empty fields in
4579	// Patch requests.
4580	ForceSendFields []string `json:"-"`
4581
4582	// NullFields is a list of field names (e.g. "AdditionalDimensions") to
4583	// include in API requests with the JSON null value. By default, fields
4584	// with empty values are omitted from API requests. However, any field
4585	// with an empty value appearing in NullFields will be sent to the
4586	// server as null. It is an error if a field in this list has a
4587	// non-empty value. This may be used to include null fields in Patch
4588	// requests.
4589	NullFields []string `json:"-"`
4590}
4591
4592func (s *Creative) MarshalJSON() ([]byte, error) {
4593	type NoMethod Creative
4594	raw := NoMethod(*s)
4595	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4596}
4597
4598// CreativeConfig: Creative requirements configuration for the inventory
4599// source.
4600type CreativeConfig struct {
4601	// CreativeType: The type of creative that can be assigned to the
4602	// inventory source.
4603	//
4604	// Possible values:
4605	//   "CREATIVE_TYPE_UNSPECIFIED" - Type value is not specified or is
4606	// unknown in this version.
4607	//   "CREATIVE_TYPE_STANDARD" - Standard display creative. Create and
4608	// update methods are supported for this creative type if the
4609	// hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` *
4610	// `HOSTING_SOURCE_THIRD_PARTY`
4611	//   "CREATIVE_TYPE_EXPANDABLE" - Expandable creative. Create and update
4612	// methods are supported for this creative type if the hosting_source is
4613	// `HOSTING_SOURCE_THIRD_PARTY`
4614	//   "CREATIVE_TYPE_VIDEO" - Video creative. Create and update methods
4615	// are supported for this creative type if the hosting_source is one of
4616	// the following: * `HOSTING_SOURCE_HOSTED` *
4617	// `HOSTING_SOURCE_THIRD_PARTY`
4618	//   "CREATIVE_TYPE_NATIVE" - Native creative rendered by publishers
4619	// with assets from advertiser. Create and update methods are supported
4620	// for this creative type if the hosting_source is
4621	// `HOSTING_SOURCE_HOSTED`
4622	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL" - Templated app install
4623	// mobile creative (banner). Create and update methods are **not**
4624	// supported for this creative type.
4625	//   "CREATIVE_TYPE_NATIVE_SITE_SQUARE" - Square native creative. Create
4626	// and update methods are supported for this creative type if the
4627	// hosting_source is `HOSTING_SOURCE_HOSTED`
4628	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL" - Interstitial
4629	// creative including both display and video. Create and update methods
4630	// are **not** supported for this creative type.
4631	//   "CREATIVE_TYPE_LIGHTBOX" - Responsive and expandable Lightbox
4632	// creative. Create and update methods are **not** supported for this
4633	// creative type.
4634	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL" - Native app install creative.
4635	// Create and update methods are supported for this creative type if the
4636	// hosting_source is `HOSTING_SOURCE_HOSTED`
4637	//   "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE" - Square native app
4638	// install creative. Create and update methods are supported for this
4639	// creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`
4640	//   "CREATIVE_TYPE_AUDIO" - Audio creative. Create and update methods
4641	// are supported for this creative type if the hosting_source is
4642	// `HOSTING_SOURCE_HOSTED`
4643	//   "CREATIVE_TYPE_PUBLISHER_HOSTED" - Publisher hosted creative.
4644	// Create and update methods are **not** supported for this creative
4645	// type.
4646	//   "CREATIVE_TYPE_NATIVE_VIDEO" - Native video creative. Create and
4647	// update methods are supported for this creative type if the
4648	// hosting_source is `HOSTING_SOURCE_HOSTED`
4649	//   "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" - Templated app install
4650	// mobile video creative. Create and update methods are **not**
4651	// supported for this creative type.
4652	CreativeType string `json:"creativeType,omitempty"`
4653
4654	// DisplayCreativeConfig: The configuration for display creatives.
4655	// Applicable when creative_type is `CREATIVE_TYPE_STANDARD`.
4656	DisplayCreativeConfig *InventorySourceDisplayCreativeConfig `json:"displayCreativeConfig,omitempty"`
4657
4658	// VideoCreativeConfig: The configuration for video creatives.
4659	// Applicable when creative_type is `CREATIVE_TYPE_VIDEO`.
4660	VideoCreativeConfig *InventorySourceVideoCreativeConfig `json:"videoCreativeConfig,omitempty"`
4661
4662	// ForceSendFields is a list of field names (e.g. "CreativeType") to
4663	// unconditionally include in API requests. By default, fields with
4664	// empty values are omitted from API requests. However, any non-pointer,
4665	// non-interface field appearing in ForceSendFields will be sent to the
4666	// server regardless of whether the field is empty or not. This may be
4667	// used to include empty fields in Patch requests.
4668	ForceSendFields []string `json:"-"`
4669
4670	// NullFields is a list of field names (e.g. "CreativeType") to include
4671	// in API requests with the JSON null value. By default, fields with
4672	// empty values are omitted from API requests. However, any field with
4673	// an empty value appearing in NullFields will be sent to the server as
4674	// null. It is an error if a field in this list has a non-empty value.
4675	// This may be used to include null fields in Patch requests.
4676	NullFields []string `json:"-"`
4677}
4678
4679func (s *CreativeConfig) MarshalJSON() ([]byte, error) {
4680	type NoMethod CreativeConfig
4681	raw := NoMethod(*s)
4682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4683}
4684
4685// CustomBiddingAlgorithm: A single custom bidding algorithm.
4686type CustomBiddingAlgorithm struct {
4687	// AdvertiserId: Immutable. The unique ID of the advertiser that owns
4688	// the custom bidding algorithm.
4689	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
4690
4691	// CustomBiddingAlgorithmId: Output only. The unique ID of the custom
4692	// bidding algorithm. Assigned by the system.
4693	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
4694
4695	// CustomBiddingAlgorithmType: Required. Immutable. The type of custom
4696	// bidding algorithm.
4697	//
4698	// Possible values:
4699	//   "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED" - Algorithm type is not
4700	// specified or is unknown in this version.
4701	//   "SCRIPT_BASED" - Algorithm generated through customer-uploaded
4702	// custom bidding script files.
4703	//   "ADS_DATA_HUB_BASED" - Algorithm created through Ads Data Hub
4704	// product.
4705	CustomBiddingAlgorithmType string `json:"customBiddingAlgorithmType,omitempty"`
4706
4707	// DisplayName: Required. The display name of the custom bidding
4708	// algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.
4709	DisplayName string `json:"displayName,omitempty"`
4710
4711	// EntityStatus: Controls whether or not the custom bidding algorithm
4712	// can be used as a bidding strategy. Accepted values are: *
4713	// `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`
4714	//
4715	// Possible values:
4716	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
4717	// specified or is unknown in this version.
4718	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
4719	// budget.
4720	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
4721	// budget spending are disabled. An entity can be deleted after
4722	// archived. Deleted entities cannot be retrieved.
4723	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
4724	// budget spending are disabled.
4725	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
4726	// the entity.
4727	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
4728	// for deletion.
4729	EntityStatus string `json:"entityStatus,omitempty"`
4730
4731	// Name: Output only. The resource name of the custom bidding algorithm.
4732	Name string `json:"name,omitempty"`
4733
4734	// PartnerId: Immutable. The unique ID of the partner that owns the
4735	// custom bidding algorithm.
4736	PartnerId int64 `json:"partnerId,omitempty,string"`
4737
4738	// ServerResponse contains the HTTP response code and headers from the
4739	// server.
4740	googleapi.ServerResponse `json:"-"`
4741
4742	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
4743	// unconditionally include in API requests. By default, fields with
4744	// empty values are omitted from API requests. However, any non-pointer,
4745	// non-interface field appearing in ForceSendFields will be sent to the
4746	// server regardless of whether the field is empty or not. This may be
4747	// used to include empty fields in Patch requests.
4748	ForceSendFields []string `json:"-"`
4749
4750	// NullFields is a list of field names (e.g. "AdvertiserId") to include
4751	// in API requests with the JSON null value. By default, fields with
4752	// empty values are omitted from API requests. However, any field with
4753	// an empty value appearing in NullFields will be sent to the server as
4754	// null. It is an error if a field in this list has a non-empty value.
4755	// This may be used to include null fields in Patch requests.
4756	NullFields []string `json:"-"`
4757}
4758
4759func (s *CustomBiddingAlgorithm) MarshalJSON() ([]byte, error) {
4760	type NoMethod CustomBiddingAlgorithm
4761	raw := NoMethod(*s)
4762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4763}
4764
4765// CustomList: Describes a custom list entity, such as a custom affinity
4766// or custom intent audience list.
4767type CustomList struct {
4768	// CustomListId: Output only. The unique ID of the custom list. Assigned
4769	// by the system.
4770	CustomListId int64 `json:"customListId,omitempty,string"`
4771
4772	// DisplayName: Output only. The display name of the custom list. .
4773	DisplayName string `json:"displayName,omitempty"`
4774
4775	// Name: Output only. The resource name of the custom list.
4776	Name string `json:"name,omitempty"`
4777
4778	// ServerResponse contains the HTTP response code and headers from the
4779	// server.
4780	googleapi.ServerResponse `json:"-"`
4781
4782	// ForceSendFields is a list of field names (e.g. "CustomListId") to
4783	// unconditionally include in API requests. By default, fields with
4784	// empty values are omitted from API requests. However, any non-pointer,
4785	// non-interface field appearing in ForceSendFields will be sent to the
4786	// server regardless of whether the field is empty or not. This may be
4787	// used to include empty fields in Patch requests.
4788	ForceSendFields []string `json:"-"`
4789
4790	// NullFields is a list of field names (e.g. "CustomListId") to include
4791	// in API requests with the JSON null value. By default, fields with
4792	// empty values are omitted from API requests. However, any field with
4793	// an empty value appearing in NullFields will be sent to the server as
4794	// null. It is an error if a field in this list has a non-empty value.
4795	// This may be used to include null fields in Patch requests.
4796	NullFields []string `json:"-"`
4797}
4798
4799func (s *CustomList) MarshalJSON() ([]byte, error) {
4800	type NoMethod CustomList
4801	raw := NoMethod(*s)
4802	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4803}
4804
4805// CustomListGroup: Details of custom list group. All custom list
4806// targeting settings are logically ‘OR’ of each other.
4807type CustomListGroup struct {
4808	// Settings: Required. All custom list targeting settings in custom list
4809	// group. Repeated settings with same id will be ignored.
4810	Settings []*CustomListTargetingSetting `json:"settings,omitempty"`
4811
4812	// ForceSendFields is a list of field names (e.g. "Settings") to
4813	// unconditionally include in API requests. By default, fields with
4814	// empty values are omitted from API requests. However, any non-pointer,
4815	// non-interface field appearing in ForceSendFields will be sent to the
4816	// server regardless of whether the field is empty or not. This may be
4817	// used to include empty fields in Patch requests.
4818	ForceSendFields []string `json:"-"`
4819
4820	// NullFields is a list of field names (e.g. "Settings") to include in
4821	// API requests with the JSON null value. By default, fields with empty
4822	// values are omitted from API requests. However, any field with an
4823	// empty value appearing in NullFields will be sent to the server as
4824	// null. It is an error if a field in this list has a non-empty value.
4825	// This may be used to include null fields in Patch requests.
4826	NullFields []string `json:"-"`
4827}
4828
4829func (s *CustomListGroup) MarshalJSON() ([]byte, error) {
4830	type NoMethod CustomListGroup
4831	raw := NoMethod(*s)
4832	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4833}
4834
4835// CustomListTargetingSetting: Details of custom list targeting setting.
4836type CustomListTargetingSetting struct {
4837	// CustomListId: Required. Custom id of custom list targeting setting.
4838	// This id is custom_list_id.
4839	CustomListId int64 `json:"customListId,omitempty,string"`
4840
4841	// ForceSendFields is a list of field names (e.g. "CustomListId") to
4842	// unconditionally include in API requests. By default, fields with
4843	// empty values are omitted from API requests. However, any non-pointer,
4844	// non-interface field appearing in ForceSendFields will be sent to the
4845	// server regardless of whether the field is empty or not. This may be
4846	// used to include empty fields in Patch requests.
4847	ForceSendFields []string `json:"-"`
4848
4849	// NullFields is a list of field names (e.g. "CustomListId") to include
4850	// in API requests with the JSON null value. By default, fields with
4851	// empty values are omitted from API requests. However, any field with
4852	// an empty value appearing in NullFields will be sent to the server as
4853	// null. It is an error if a field in this list has a non-empty value.
4854	// This may be used to include null fields in Patch requests.
4855	NullFields []string `json:"-"`
4856}
4857
4858func (s *CustomListTargetingSetting) MarshalJSON() ([]byte, error) {
4859	type NoMethod CustomListTargetingSetting
4860	raw := NoMethod(*s)
4861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4862}
4863
4864// Date: Represents a whole or partial calendar date, such as a
4865// birthday. The time of day and time zone are either specified
4866// elsewhere or are insignificant. The date is relative to the Gregorian
4867// Calendar. This can represent one of the following: * A full date,
4868// with non-zero year, month, and day values * A month and day value,
4869// with a zero year, such as an anniversary * A year on its own, with
4870// zero month and day values * A year and month value, with a zero day,
4871// such as a credit card expiration date Related types are
4872// google.type.TimeOfDay and `google.protobuf.Timestamp`.
4873type Date struct {
4874	// Day: Day of a month. Must be from 1 to 31 and valid for the year and
4875	// month, or 0 to specify a year by itself or a year and month where the
4876	// day isn't significant.
4877	Day int64 `json:"day,omitempty"`
4878
4879	// Month: Month of a year. Must be from 1 to 12, or 0 to specify a year
4880	// without a month and day.
4881	Month int64 `json:"month,omitempty"`
4882
4883	// Year: Year of the date. Must be from 1 to 9999, or 0 to specify a
4884	// date without a year.
4885	Year int64 `json:"year,omitempty"`
4886
4887	// ForceSendFields is a list of field names (e.g. "Day") to
4888	// unconditionally include in API requests. By default, fields with
4889	// empty values are omitted from API requests. However, any non-pointer,
4890	// non-interface field appearing in ForceSendFields will be sent to the
4891	// server regardless of whether the field is empty or not. This may be
4892	// used to include empty fields in Patch requests.
4893	ForceSendFields []string `json:"-"`
4894
4895	// NullFields is a list of field names (e.g. "Day") to include in API
4896	// requests with the JSON null value. By default, fields with empty
4897	// values are omitted from API requests. However, any field with an
4898	// empty value appearing in NullFields will be sent to the server as
4899	// null. It is an error if a field in this list has a non-empty value.
4900	// This may be used to include null fields in Patch requests.
4901	NullFields []string `json:"-"`
4902}
4903
4904func (s *Date) MarshalJSON() ([]byte, error) {
4905	type NoMethod Date
4906	raw := NoMethod(*s)
4907	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4908}
4909
4910// DateRange: A date range.
4911type DateRange struct {
4912	// EndDate: The upper bound of the date range, inclusive. Must specify a
4913	// positive value for `year`, `month`, and `day`.
4914	EndDate *Date `json:"endDate,omitempty"`
4915
4916	// StartDate: The lower bound of the date range, inclusive. Must specify
4917	// a positive value for `year`, `month`, and `day`.
4918	StartDate *Date `json:"startDate,omitempty"`
4919
4920	// ForceSendFields is a list of field names (e.g. "EndDate") to
4921	// unconditionally include in API requests. By default, fields with
4922	// empty values are omitted from API requests. However, any non-pointer,
4923	// non-interface field appearing in ForceSendFields will be sent to the
4924	// server regardless of whether the field is empty or not. This may be
4925	// used to include empty fields in Patch requests.
4926	ForceSendFields []string `json:"-"`
4927
4928	// NullFields is a list of field names (e.g. "EndDate") to include in
4929	// API requests with the JSON null value. By default, fields with empty
4930	// values are omitted from API requests. However, any field with an
4931	// empty value appearing in NullFields will be sent to the server as
4932	// null. It is an error if a field in this list has a non-empty value.
4933	// This may be used to include null fields in Patch requests.
4934	NullFields []string `json:"-"`
4935}
4936
4937func (s *DateRange) MarshalJSON() ([]byte, error) {
4938	type NoMethod DateRange
4939	raw := NoMethod(*s)
4940	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4941}
4942
4943// DayAndTimeAssignedTargetingOptionDetails: Representation of a segment
4944// of time defined on a specific day of the week and with a start and
4945// end time. The time represented by `start_hour` must be before the
4946// time represented by `end_hour`.
4947type DayAndTimeAssignedTargetingOptionDetails struct {
4948	// DayOfWeek: Required. The day of the week for this day and time
4949	// targeting setting.
4950	//
4951	// Possible values:
4952	//   "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
4953	//   "MONDAY" - Monday
4954	//   "TUESDAY" - Tuesday
4955	//   "WEDNESDAY" - Wednesday
4956	//   "THURSDAY" - Thursday
4957	//   "FRIDAY" - Friday
4958	//   "SATURDAY" - Saturday
4959	//   "SUNDAY" - Sunday
4960	DayOfWeek string `json:"dayOfWeek,omitempty"`
4961
4962	// EndHour: Required. The end hour for day and time targeting. Must be
4963	// between 1 (1 hour after start of day) and 24 (end of day).
4964	EndHour int64 `json:"endHour,omitempty"`
4965
4966	// StartHour: Required. The start hour for day and time targeting. Must
4967	// be between 0 (start of day) and 23 (1 hour before end of day).
4968	StartHour int64 `json:"startHour,omitempty"`
4969
4970	// TimeZoneResolution: Required. The mechanism used to determine which
4971	// timezone to use for this day and time targeting setting.
4972	//
4973	// Possible values:
4974	//   "TIME_ZONE_RESOLUTION_UNSPECIFIED" - Time zone resolution is either
4975	// unspecific or unknown.
4976	//   "TIME_ZONE_RESOLUTION_END_USER" - Times are resolved in the time
4977	// zone of the user that saw the ad.
4978	//   "TIME_ZONE_RESOLUTION_ADVERTISER" - Times are resolved in the time
4979	// zone of the advertiser that served the ad.
4980	TimeZoneResolution string `json:"timeZoneResolution,omitempty"`
4981
4982	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
4983	// unconditionally include in API requests. By default, fields with
4984	// empty values are omitted from API requests. However, any non-pointer,
4985	// non-interface field appearing in ForceSendFields will be sent to the
4986	// server regardless of whether the field is empty or not. This may be
4987	// used to include empty fields in Patch requests.
4988	ForceSendFields []string `json:"-"`
4989
4990	// NullFields is a list of field names (e.g. "DayOfWeek") to include in
4991	// API requests with the JSON null value. By default, fields with empty
4992	// values are omitted from API requests. However, any field with an
4993	// empty value appearing in NullFields will be sent to the server as
4994	// null. It is an error if a field in this list has a non-empty value.
4995	// This may be used to include null fields in Patch requests.
4996	NullFields []string `json:"-"`
4997}
4998
4999func (s *DayAndTimeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5000	type NoMethod DayAndTimeAssignedTargetingOptionDetails
5001	raw := NoMethod(*s)
5002	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5003}
5004
5005// DeactivateManualTriggerRequest: Request message for
5006// ManualTriggerService.DeactivateManualTrigger.
5007type DeactivateManualTriggerRequest struct {
5008}
5009
5010// DeleteAssignedTargetingOptionsRequest: A request listing which
5011// assigned targeting options of a given targeting type should be
5012// deleted.
5013type DeleteAssignedTargetingOptionsRequest struct {
5014	// AssignedTargetingOptionIds: Required. The assigned targeting option
5015	// IDs to delete.
5016	AssignedTargetingOptionIds []string `json:"assignedTargetingOptionIds,omitempty"`
5017
5018	// TargetingType: Required. Identifies the type of this assigned
5019	// targeting option.
5020	//
5021	// Possible values:
5022	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
5023	// specified or is unknown in this version.
5024	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
5025	// related websites or apps).
5026	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
5027	// example, education or puzzle games).
5028	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
5029	// Birds).
5030	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
5031	// quora.com).
5032	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
5033	// period on a specific day.
5034	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
5035	// (for example, 18-24).
5036	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
5037	// specified regions on a regional location list.
5038	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
5039	// specified points of interest on a proximity location list.
5040	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
5041	// example, female or male).
5042	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
5043	// size for video ads.
5044	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
5045	// content for video ads.
5046	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
5047	// parental status (for example, parent or not a parent).
5048	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
5049	// ads in a specific content instream position (for example, pre-roll,
5050	// mid-roll, or post-roll).
5051	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
5052	// specific content outstream position.
5053	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
5054	// (for example, tablet or connected TV).
5055	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
5056	// groups of audiences. Singleton field, at most one can exist on a
5057	// single Lineitem at a time.
5058	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
5059	// example, Chrome).
5060	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
5061	// household income range (for example, top 10%).
5062	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
5063	// screen position.
5064	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
5065	// third party verification (for example, IAS or DoubleVerify).
5066	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
5067	// by specific digital content label ratings (for example, DL-MA:
5068	// suitable only for mature audiences).
5069	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
5070	// content by sensitive categories (for example, adult).
5071	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
5072	// (for example, web or app).
5073	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
5074	// carrier or internet service provider (ISP) (for example, Comcast or
5075	// Orange).
5076	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
5077	// operating system (for example, macOS).
5078	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
5079	// device make or model (for example, Roku or Samsung).
5080	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
5081	// example, dog or retriever).
5082	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
5083	// negative keyword list.
5084	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
5085	// (for example, 80% viewable).
5086	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
5087	// category (for example, arts & entertainment).
5088	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
5089	// specific deals and auction packages.
5090	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
5091	// example, English or Japanese).
5092	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
5093	// authorized sellers.
5094	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
5095	// location (for example, a city or state).
5096	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
5097	// a group of deals and auction packages.
5098	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
5099	// exchanges.
5100	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
5101	// sub-exchanges.
5102	TargetingType string `json:"targetingType,omitempty"`
5103
5104	// ForceSendFields is a list of field names (e.g.
5105	// "AssignedTargetingOptionIds") to unconditionally include in API
5106	// requests. By default, fields with empty values are omitted from API
5107	// requests. However, any non-pointer, non-interface field appearing in
5108	// ForceSendFields will be sent to the server regardless of whether the
5109	// field is empty or not. This may be used to include empty fields in
5110	// Patch requests.
5111	ForceSendFields []string `json:"-"`
5112
5113	// NullFields is a list of field names (e.g.
5114	// "AssignedTargetingOptionIds") to include in API requests with the
5115	// JSON null value. By default, fields with empty values are omitted
5116	// from API requests. However, any field with an empty value appearing
5117	// in NullFields will be sent to the server as null. It is an error if a
5118	// field in this list has a non-empty value. This may be used to include
5119	// null fields in Patch requests.
5120	NullFields []string `json:"-"`
5121}
5122
5123func (s *DeleteAssignedTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
5124	type NoMethod DeleteAssignedTargetingOptionsRequest
5125	raw := NoMethod(*s)
5126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5127}
5128
5129// DeviceMakeModelAssignedTargetingOptionDetails: Assigned device make
5130// and model targeting option details. This will be populated in the
5131// device_make_model_details field when targeting_type is
5132// `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5133type DeviceMakeModelAssignedTargetingOptionDetails struct {
5134	// DisplayName: Output only. The display name of the device make and
5135	// model.
5136	DisplayName string `json:"displayName,omitempty"`
5137
5138	// Negative: Indicates if this option is being negatively targeted.
5139	Negative bool `json:"negative,omitempty"`
5140
5141	// TargetingOptionId: Required. The targeting_option_id field when
5142	// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5143	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5144
5145	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5146	// unconditionally include in API requests. By default, fields with
5147	// empty values are omitted from API requests. However, any non-pointer,
5148	// non-interface field appearing in ForceSendFields will be sent to the
5149	// server regardless of whether the field is empty or not. This may be
5150	// used to include empty fields in Patch requests.
5151	ForceSendFields []string `json:"-"`
5152
5153	// NullFields is a list of field names (e.g. "DisplayName") to include
5154	// in API requests with the JSON null value. By default, fields with
5155	// empty values are omitted from API requests. However, any field with
5156	// an empty value appearing in NullFields will be sent to the server as
5157	// null. It is an error if a field in this list has a non-empty value.
5158	// This may be used to include null fields in Patch requests.
5159	NullFields []string `json:"-"`
5160}
5161
5162func (s *DeviceMakeModelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5163	type NoMethod DeviceMakeModelAssignedTargetingOptionDetails
5164	raw := NoMethod(*s)
5165	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5166}
5167
5168// DeviceMakeModelTargetingOptionDetails: Represents a targetable device
5169// make and model. This will be populated in the
5170// device_make_model_details field of a TargetingOption when
5171// targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.
5172type DeviceMakeModelTargetingOptionDetails struct {
5173	// DisplayName: Output only. The display name of the device make and
5174	// model.
5175	DisplayName string `json:"displayName,omitempty"`
5176
5177	// ForceSendFields is a list of field names (e.g. "DisplayName") to
5178	// unconditionally include in API requests. By default, fields with
5179	// empty values are omitted from API requests. However, any non-pointer,
5180	// non-interface field appearing in ForceSendFields will be sent to the
5181	// server regardless of whether the field is empty or not. This may be
5182	// used to include empty fields in Patch requests.
5183	ForceSendFields []string `json:"-"`
5184
5185	// NullFields is a list of field names (e.g. "DisplayName") to include
5186	// in API requests with the JSON null value. By default, fields with
5187	// empty values are omitted from API requests. However, any field with
5188	// an empty value appearing in NullFields will be sent to the server as
5189	// null. It is an error if a field in this list has a non-empty value.
5190	// This may be used to include null fields in Patch requests.
5191	NullFields []string `json:"-"`
5192}
5193
5194func (s *DeviceMakeModelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5195	type NoMethod DeviceMakeModelTargetingOptionDetails
5196	raw := NoMethod(*s)
5197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5198}
5199
5200// DeviceTypeAssignedTargetingOptionDetails: Targeting details for
5201// device type. This will be populated in the details field of an
5202// AssignedTargetingOption when targeting_type is
5203// `TARGETING_TYPE_DEVICE_TYPE`.
5204type DeviceTypeAssignedTargetingOptionDetails struct {
5205	// DeviceType: Output only. The display name of the device type.
5206	//
5207	// Possible values:
5208	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
5209	// specified in this version. This enum is a placeholder for default
5210	// value and does not represent a real device type option.
5211	//   "DEVICE_TYPE_COMPUTER" - The device type is computer.
5212	//   "DEVICE_TYPE_CONNECTED_TV" - The device type is connected TV.
5213	//   "DEVICE_TYPE_SMART_PHONE" - The device type is smart phone..
5214	//   "DEVICE_TYPE_TABLET" - The device type is tablet.
5215	DeviceType string `json:"deviceType,omitempty"`
5216
5217	// TargetingOptionId: Required. ID of the device type.
5218	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5219
5220	// ForceSendFields is a list of field names (e.g. "DeviceType") to
5221	// unconditionally include in API requests. By default, fields with
5222	// empty values are omitted from API requests. However, any non-pointer,
5223	// non-interface field appearing in ForceSendFields will be sent to the
5224	// server regardless of whether the field is empty or not. This may be
5225	// used to include empty fields in Patch requests.
5226	ForceSendFields []string `json:"-"`
5227
5228	// NullFields is a list of field names (e.g. "DeviceType") to include in
5229	// API requests with the JSON null value. By default, fields with empty
5230	// values are omitted from API requests. However, any field with an
5231	// empty value appearing in NullFields will be sent to the server as
5232	// null. It is an error if a field in this list has a non-empty value.
5233	// This may be used to include null fields in Patch requests.
5234	NullFields []string `json:"-"`
5235}
5236
5237func (s *DeviceTypeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5238	type NoMethod DeviceTypeAssignedTargetingOptionDetails
5239	raw := NoMethod(*s)
5240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5241}
5242
5243// DeviceTypeTargetingOptionDetails: Represents a targetable device
5244// type. This will be populated in the device_type_details field of a
5245// TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.
5246type DeviceTypeTargetingOptionDetails struct {
5247	// DeviceType: Output only. The device type that is used to be targeted.
5248	//
5249	// Possible values:
5250	//   "DEVICE_TYPE_UNSPECIFIED" - Default value when device type is not
5251	// specified in this version. This enum is a placeholder for default
5252	// value and does not represent a real device type option.
5253	//   "DEVICE_TYPE_COMPUTER" - The device type is computer.
5254	//   "DEVICE_TYPE_CONNECTED_TV" - The device type is connected TV.
5255	//   "DEVICE_TYPE_SMART_PHONE" - The device type is smart phone..
5256	//   "DEVICE_TYPE_TABLET" - The device type is tablet.
5257	DeviceType string `json:"deviceType,omitempty"`
5258
5259	// ForceSendFields is a list of field names (e.g. "DeviceType") to
5260	// unconditionally include in API requests. By default, fields with
5261	// empty values are omitted from API requests. However, any non-pointer,
5262	// non-interface field appearing in ForceSendFields will be sent to the
5263	// server regardless of whether the field is empty or not. This may be
5264	// used to include empty fields in Patch requests.
5265	ForceSendFields []string `json:"-"`
5266
5267	// NullFields is a list of field names (e.g. "DeviceType") to include in
5268	// API requests with the JSON null value. By default, fields with empty
5269	// values are omitted from API requests. However, any field with an
5270	// empty value appearing in NullFields will be sent to the server as
5271	// null. It is an error if a field in this list has a non-empty value.
5272	// This may be used to include null fields in Patch requests.
5273	NullFields []string `json:"-"`
5274}
5275
5276func (s *DeviceTypeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5277	type NoMethod DeviceTypeTargetingOptionDetails
5278	raw := NoMethod(*s)
5279	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5280}
5281
5282// DigitalContentLabelAssignedTargetingOptionDetails: Targeting details
5283// for digital content label. This will be populated in the details
5284// field of an AssignedTargetingOption when targeting_type is
5285// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
5286type DigitalContentLabelAssignedTargetingOptionDetails struct {
5287	// ContentRatingTier: Output only. The display name of the digital
5288	// content label rating tier.
5289	//
5290	// Possible values:
5291	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified
5292	// in this version. This enum is a place holder for a default value and
5293	// does not represent a real content rating.
5294	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
5295	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general
5296	// audiences.
5297	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
5298	// audiences with parental guidance.
5299	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
5300	// audiences.
5301	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature
5302	// audiences.
5303	ContentRatingTier string `json:"contentRatingTier,omitempty"`
5304
5305	// ExcludedTargetingOptionId: Required. ID of the digital content label
5306	// to be EXCLUDED.
5307	ExcludedTargetingOptionId string `json:"excludedTargetingOptionId,omitempty"`
5308
5309	// ForceSendFields is a list of field names (e.g. "ContentRatingTier")
5310	// to unconditionally include in API requests. By default, fields with
5311	// empty values are omitted from API requests. However, any non-pointer,
5312	// non-interface field appearing in ForceSendFields will be sent to the
5313	// server regardless of whether the field is empty or not. This may be
5314	// used to include empty fields in Patch requests.
5315	ForceSendFields []string `json:"-"`
5316
5317	// NullFields is a list of field names (e.g. "ContentRatingTier") to
5318	// include in API requests with the JSON null value. By default, fields
5319	// with empty values are omitted from API requests. However, any field
5320	// with an empty value appearing in NullFields will be sent to the
5321	// server as null. It is an error if a field in this list has a
5322	// non-empty value. This may be used to include null fields in Patch
5323	// requests.
5324	NullFields []string `json:"-"`
5325}
5326
5327func (s *DigitalContentLabelAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5328	type NoMethod DigitalContentLabelAssignedTargetingOptionDetails
5329	raw := NoMethod(*s)
5330	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5331}
5332
5333// DigitalContentLabelTargetingOptionDetails: Represents a targetable
5334// digital content label rating tier. This will be populated in the
5335// digital_content_label_details field of the TargetingOption when
5336// targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
5337type DigitalContentLabelTargetingOptionDetails struct {
5338	// ContentRatingTier: Output only. An enum for the content label brand
5339	// safety tiers.
5340	//
5341	// Possible values:
5342	//   "CONTENT_RATING_TIER_UNSPECIFIED" - Content label is not specified
5343	// in this version. This enum is a place holder for a default value and
5344	// does not represent a real content rating.
5345	//   "CONTENT_RATING_TIER_UNRATED" - Content that has not been labeled.
5346	//   "CONTENT_RATING_TIER_GENERAL" - Content suitable for general
5347	// audiences.
5348	//   "CONTENT_RATING_TIER_PARENTAL_GUIDANCE" - Content suitable for most
5349	// audiences with parental guidance.
5350	//   "CONTENT_RATING_TIER_TEENS" - Content suitable for teen and older
5351	// audiences.
5352	//   "CONTENT_RATING_TIER_MATURE" - Content suitable only for mature
5353	// audiences.
5354	ContentRatingTier string `json:"contentRatingTier,omitempty"`
5355
5356	// ForceSendFields is a list of field names (e.g. "ContentRatingTier")
5357	// to unconditionally include in API requests. By default, fields with
5358	// empty values are omitted from API requests. However, any non-pointer,
5359	// non-interface field appearing in ForceSendFields will be sent to the
5360	// server regardless of whether the field is empty or not. This may be
5361	// used to include empty fields in Patch requests.
5362	ForceSendFields []string `json:"-"`
5363
5364	// NullFields is a list of field names (e.g. "ContentRatingTier") to
5365	// include in API requests with the JSON null value. By default, fields
5366	// with empty values are omitted from API requests. However, any field
5367	// with an empty value appearing in NullFields will be sent to the
5368	// server as null. It is an error if a field in this list has a
5369	// non-empty value. This may be used to include null fields in Patch
5370	// requests.
5371	NullFields []string `json:"-"`
5372}
5373
5374func (s *DigitalContentLabelTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5375	type NoMethod DigitalContentLabelTargetingOptionDetails
5376	raw := NoMethod(*s)
5377	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5378}
5379
5380// Dimensions: Dimensions.
5381type Dimensions struct {
5382	// HeightPixels: The height in pixels.
5383	HeightPixels int64 `json:"heightPixels,omitempty"`
5384
5385	// WidthPixels: The width in pixels.
5386	WidthPixels int64 `json:"widthPixels,omitempty"`
5387
5388	// ForceSendFields is a list of field names (e.g. "HeightPixels") to
5389	// unconditionally include in API requests. By default, fields with
5390	// empty values are omitted from API requests. However, any non-pointer,
5391	// non-interface field appearing in ForceSendFields will be sent to the
5392	// server regardless of whether the field is empty or not. This may be
5393	// used to include empty fields in Patch requests.
5394	ForceSendFields []string `json:"-"`
5395
5396	// NullFields is a list of field names (e.g. "HeightPixels") to include
5397	// in API requests with the JSON null value. By default, fields with
5398	// empty values are omitted from API requests. However, any field with
5399	// an empty value appearing in NullFields will be sent to the server as
5400	// null. It is an error if a field in this list has a non-empty value.
5401	// This may be used to include null fields in Patch requests.
5402	NullFields []string `json:"-"`
5403}
5404
5405func (s *Dimensions) MarshalJSON() ([]byte, error) {
5406	type NoMethod Dimensions
5407	raw := NoMethod(*s)
5408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5409}
5410
5411// DoubleVerify: Details of DoubleVerify settings.
5412type DoubleVerify struct {
5413	// AppStarRating: Avoid bidding on apps with the star ratings.
5414	AppStarRating *DoubleVerifyAppStarRating `json:"appStarRating,omitempty"`
5415
5416	// AvoidedAgeRatings: Avoid bidding on apps with the age rating.
5417	//
5418	// Possible values:
5419	//   "AGE_RATING_UNSPECIFIED" - This enum is only a placeholder and it
5420	// doesn't specify any age rating options.
5421	//   "APP_AGE_RATE_UNKNOWN" - Apps with unknown age rating.
5422	//   "APP_AGE_RATE_4_PLUS" - Apps rated for Everyone (4+).
5423	//   "APP_AGE_RATE_9_PLUS" - Apps rated for Everyone (9+).
5424	//   "APP_AGE_RATE_12_PLUS" - Apps rated for Teens (12+).
5425	//   "APP_AGE_RATE_17_PLUS" - Apps rated for Mature (17+).
5426	//   "APP_AGE_RATE_18_PLUS" - Apps rated for Adults Only (18+).
5427	AvoidedAgeRatings []string `json:"avoidedAgeRatings,omitempty"`
5428
5429	// BrandSafetyCategories: DV Brand Safety Controls.
5430	BrandSafetyCategories *DoubleVerifyBrandSafetyCategories `json:"brandSafetyCategories,omitempty"`
5431
5432	// CustomSegmentId: The custom segment ID provided by DoubleVerify. The
5433	// ID must start with "51" and consist of eight digits. Custom segment
5434	// ID cannot be specified along with any of the following fields: *
5435	// brand_safety_categories * avoided_age_ratings * app_star_rating *
5436	// fraud_invalid_traffic
5437	CustomSegmentId int64 `json:"customSegmentId,omitempty,string"`
5438
5439	// DisplayViewability: Display viewability settings (applicable to
5440	// display line items only).
5441	DisplayViewability *DoubleVerifyDisplayViewability `json:"displayViewability,omitempty"`
5442
5443	// FraudInvalidTraffic: Avoid Sites and Apps with historical Fraud & IVT
5444	// Rates.
5445	FraudInvalidTraffic *DoubleVerifyFraudInvalidTraffic `json:"fraudInvalidTraffic,omitempty"`
5446
5447	// VideoViewability: Video viewability settings (applicable to video
5448	// line items only).
5449	VideoViewability *DoubleVerifyVideoViewability `json:"videoViewability,omitempty"`
5450
5451	// ForceSendFields is a list of field names (e.g. "AppStarRating") to
5452	// unconditionally include in API requests. By default, fields with
5453	// empty values are omitted from API requests. However, any non-pointer,
5454	// non-interface field appearing in ForceSendFields will be sent to the
5455	// server regardless of whether the field is empty or not. This may be
5456	// used to include empty fields in Patch requests.
5457	ForceSendFields []string `json:"-"`
5458
5459	// NullFields is a list of field names (e.g. "AppStarRating") to include
5460	// in API requests with the JSON null value. By default, fields with
5461	// empty values are omitted from API requests. However, any field with
5462	// an empty value appearing in NullFields will be sent to the server as
5463	// null. It is an error if a field in this list has a non-empty value.
5464	// This may be used to include null fields in Patch requests.
5465	NullFields []string `json:"-"`
5466}
5467
5468func (s *DoubleVerify) MarshalJSON() ([]byte, error) {
5469	type NoMethod DoubleVerify
5470	raw := NoMethod(*s)
5471	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5472}
5473
5474// DoubleVerifyAppStarRating: Details of DoubleVerify star ratings
5475// settings.
5476type DoubleVerifyAppStarRating struct {
5477	// AvoidInsufficientStarRating: Avoid bidding on apps with insufficient
5478	// star ratings.
5479	AvoidInsufficientStarRating bool `json:"avoidInsufficientStarRating,omitempty"`
5480
5481	// AvoidedStarRating: Avoid bidding on apps with the star ratings.
5482	//
5483	// Possible values:
5484	//   "APP_STAR_RATE_UNSPECIFIED" - This enum is only a placeholder and
5485	// it doesn't specify any app star rating options.
5486	//   "APP_STAR_RATE_1_POINT_5_LESS" - Official Apps with rating < 1.5
5487	// Stars.
5488	//   "APP_STAR_RATE_2_LESS" - Official Apps with rating < 2 Stars.
5489	//   "APP_STAR_RATE_2_POINT_5_LESS" - Official Apps with rating < 2.5
5490	// Stars.
5491	//   "APP_STAR_RATE_3_LESS" - Official Apps with rating < 3 Stars.
5492	//   "APP_STAR_RATE_3_POINT_5_LESS" - Official Apps with rating < 3.5
5493	// Stars.
5494	//   "APP_STAR_RATE_4_LESS" - Official Apps with rating < 4 Stars.
5495	//   "APP_STAR_RATE_4_POINT_5_LESS" - Official Apps with rating < 4.5
5496	// Stars.
5497	AvoidedStarRating string `json:"avoidedStarRating,omitempty"`
5498
5499	// ForceSendFields is a list of field names (e.g.
5500	// "AvoidInsufficientStarRating") to unconditionally include in API
5501	// requests. By default, fields with empty values are omitted from API
5502	// requests. However, any non-pointer, non-interface field appearing in
5503	// ForceSendFields will be sent to the server regardless of whether the
5504	// field is empty or not. This may be used to include empty fields in
5505	// Patch requests.
5506	ForceSendFields []string `json:"-"`
5507
5508	// NullFields is a list of field names (e.g.
5509	// "AvoidInsufficientStarRating") to include in API requests with the
5510	// JSON null value. By default, fields with empty values are omitted
5511	// from API requests. However, any field with an empty value appearing
5512	// in NullFields will be sent to the server as null. It is an error if a
5513	// field in this list has a non-empty value. This may be used to include
5514	// null fields in Patch requests.
5515	NullFields []string `json:"-"`
5516}
5517
5518func (s *DoubleVerifyAppStarRating) MarshalJSON() ([]byte, error) {
5519	type NoMethod DoubleVerifyAppStarRating
5520	raw := NoMethod(*s)
5521	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5522}
5523
5524// DoubleVerifyBrandSafetyCategories: Settings for brand safety
5525// controls.
5526type DoubleVerifyBrandSafetyCategories struct {
5527	// AvoidUnknownBrandSafetyCategory: Unknown or unrateable.
5528	AvoidUnknownBrandSafetyCategory bool `json:"avoidUnknownBrandSafetyCategory,omitempty"`
5529
5530	// AvoidedHighSeverityCategories: Brand safety high severity avoidance
5531	// categories.
5532	//
5533	// Possible values:
5534	//   "HIGHER_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and
5535	// it doesn't specify any high severity categories.
5536	//   "ADULT_CONTENT_PORNOGRAPHY" - Adult Content: Pornography, Mature
5537	// Topics & Nudity.
5538	//   "COPYRIGHT_INFRINGEMENT" - Copyright Infringement.
5539	//   "SUBSTANCE_ABUSE" - Drugs/Alcohol/Controlled Substances: Substance
5540	// Abuse.
5541	//   "GRAPHIC_VIOLENCE_WEAPONS" - Extreme Graphic/Explicit
5542	// Violence/Weapons.
5543	//   "HATE_PROFANITY" - Hate/Profanity.
5544	//   "CRIMINAL_SKILLS" - Illegal Activities: Criminal Skills.
5545	//   "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" -
5546	// Incentivized/Malware/Clutter.
5547	AvoidedHighSeverityCategories []string `json:"avoidedHighSeverityCategories,omitempty"`
5548
5549	// AvoidedMediumSeverityCategories: Brand safety medium severity
5550	// avoidance categories.
5551	//
5552	// Possible values:
5553	//   "MEDIUM_SEVERITY_UNSPECIFIED" - This enum is only a placeholder and
5554	// it doesn't specify any medium severity categories.
5555	//   "AD_SERVERS" - Ad Servers.
5556	//   "ADULT_CONTENT_SWIMSUIT" - Adult Content: Swimsuit.
5557	//   "ALTERNATIVE_LIFESTYLES" - Controversial Subjects: Alternative
5558	// Lifestyles.
5559	//   "CELEBRITY_GOSSIP" - Controversial Subjects: Celebrity Gossip.
5560	//   "GAMBLING" - Controversial Subjects: Gambling.
5561	//   "OCCULT" - Controversial Subjects: Occult.
5562	//   "SEX_EDUCATION" - Controversial Subjects: Sex Education.
5563	//   "DISASTER_AVIATION" - Disaster: Aviation.
5564	//   "DISASTER_MAN_MADE" - Disaster: Man-made.
5565	//   "DISASTER_NATURAL" - Disaster: Natural.
5566	//   "DISASTER_TERRORIST_EVENTS" - Disaster: Terrorist Events.
5567	//   "DISASTER_VEHICLE" - Disaster: Vehicle.
5568	//   "ALCOHOL" - Drugs/Alcohol/Controlled Substances: Alcohol.
5569	//   "SMOKING" - Drugs/Alcohol/Controlled Substances: Smoking.
5570	//   "NEGATIVE_NEWS_FINANCIAL" - Negative News: Financial.
5571	//   "NON_ENGLISH" - Non-Std Content: Non-English.
5572	//   "PARKING_PAGE" - Non-Std Content: Parking Page.
5573	//   "UNMODERATED_UGC" - Unmoderated UGC: Forums, Images & Video.
5574	//   "INFLAMMATORY_POLITICS_AND_NEWS" - Controversial Subjects:
5575	// Inflammatory Politics and News.
5576	//   "NEGATIVE_NEWS_PHARMACEUTICAL" - Negative News: Pharmaceutical.
5577	AvoidedMediumSeverityCategories []string `json:"avoidedMediumSeverityCategories,omitempty"`
5578
5579	// ForceSendFields is a list of field names (e.g.
5580	// "AvoidUnknownBrandSafetyCategory") to unconditionally include in API
5581	// requests. By default, fields with empty values are omitted from API
5582	// requests. However, any non-pointer, non-interface field appearing in
5583	// ForceSendFields will be sent to the server regardless of whether the
5584	// field is empty or not. This may be used to include empty fields in
5585	// Patch requests.
5586	ForceSendFields []string `json:"-"`
5587
5588	// NullFields is a list of field names (e.g.
5589	// "AvoidUnknownBrandSafetyCategory") to include in API requests with
5590	// the JSON null value. By default, fields with empty values are omitted
5591	// from API requests. However, any field with an empty value appearing
5592	// in NullFields will be sent to the server as null. It is an error if a
5593	// field in this list has a non-empty value. This may be used to include
5594	// null fields in Patch requests.
5595	NullFields []string `json:"-"`
5596}
5597
5598func (s *DoubleVerifyBrandSafetyCategories) MarshalJSON() ([]byte, error) {
5599	type NoMethod DoubleVerifyBrandSafetyCategories
5600	raw := NoMethod(*s)
5601	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5602}
5603
5604// DoubleVerifyDisplayViewability: Details of DoubleVerify display
5605// viewability settings.
5606type DoubleVerifyDisplayViewability struct {
5607	// Iab: Target web and app inventory to maximize IAB viewable rate.
5608	//
5609	// Possible values:
5610	//   "IAB_VIEWED_RATE_UNSPECIFIED" - This enum is only a placeholder and
5611	// it doesn't specify any IAB viewed rate options.
5612	//   "IAB_VIEWED_RATE_80_PERCENT_HIGHER" - Target web and app inventory
5613	// to maximize IAB viewable rate 80% or higher.
5614	//   "IAB_VIEWED_RATE_75_PERCENT_HIGHER" - Target web and app inventory
5615	// to maximize IAB viewable rate 75% or higher.
5616	//   "IAB_VIEWED_RATE_70_PERCENT_HIGHER" - Target web and app inventory
5617	// to maximize IAB viewable rate 70% or higher.
5618	//   "IAB_VIEWED_RATE_65_PERCENT_HIGHER" - Target web and app inventory
5619	// to maximize IAB viewable rate 65% or higher.
5620	//   "IAB_VIEWED_RATE_60_PERCENT_HIGHER" - Target web and app inventory
5621	// to maximize IAB viewable rate 60% or higher.
5622	//   "IAB_VIEWED_RATE_55_PERCENT_HIGHER" - Target web and app inventory
5623	// to maximize IAB viewable rate 55% or higher.
5624	//   "IAB_VIEWED_RATE_50_PERCENT_HIGHER" - Target web and app inventory
5625	// to maximize IAB viewable rate 50% or higher.
5626	//   "IAB_VIEWED_RATE_40_PERCENT_HIGHER" - Target web and app inventory
5627	// to maximize IAB viewable rate 40% or higher.
5628	//   "IAB_VIEWED_RATE_30_PERCENT_HIGHER" - Target web and app inventory
5629	// to maximize IAB viewable rate 30% or higher.
5630	Iab string `json:"iab,omitempty"`
5631
5632	// ViewableDuring: Target web and app inventory to maximize 100%
5633	// viewable duration.
5634	//
5635	// Possible values:
5636	//   "AVERAGE_VIEW_DURATION_UNSPECIFIED" - This enum is only a
5637	// placeholder and it doesn't specify any average view duration options.
5638	//   "AVERAGE_VIEW_DURATION_5_SEC" - Target web and app inventory to
5639	// maximize 100% viewable duration 5 seconds or more.
5640	//   "AVERAGE_VIEW_DURATION_10_SEC" - Target web and app inventory to
5641	// maximize 100% viewable duration 10 seconds or more.
5642	//   "AVERAGE_VIEW_DURATION_15_SEC" - Target web and app inventory to
5643	// maximize 100% viewable duration 15 seconds or more.
5644	ViewableDuring string `json:"viewableDuring,omitempty"`
5645
5646	// ForceSendFields is a list of field names (e.g. "Iab") to
5647	// unconditionally include in API requests. By default, fields with
5648	// empty values are omitted from API requests. However, any non-pointer,
5649	// non-interface field appearing in ForceSendFields will be sent to the
5650	// server regardless of whether the field is empty or not. This may be
5651	// used to include empty fields in Patch requests.
5652	ForceSendFields []string `json:"-"`
5653
5654	// NullFields is a list of field names (e.g. "Iab") to include in API
5655	// requests with the JSON null value. By default, fields with empty
5656	// values are omitted from API requests. However, any field with an
5657	// empty value appearing in NullFields will be sent to the server as
5658	// null. It is an error if a field in this list has a non-empty value.
5659	// This may be used to include null fields in Patch requests.
5660	NullFields []string `json:"-"`
5661}
5662
5663func (s *DoubleVerifyDisplayViewability) MarshalJSON() ([]byte, error) {
5664	type NoMethod DoubleVerifyDisplayViewability
5665	raw := NoMethod(*s)
5666	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5667}
5668
5669// DoubleVerifyFraudInvalidTraffic: DoubleVerify Fraud & Invalid Traffic
5670// settings.
5671type DoubleVerifyFraudInvalidTraffic struct {
5672	// AvoidInsufficientOption: Insufficient Historical Fraud & IVT Stats.
5673	AvoidInsufficientOption bool `json:"avoidInsufficientOption,omitempty"`
5674
5675	// AvoidedFraudOption: Avoid Sites and Apps with historical Fraud & IVT.
5676	//
5677	// Possible values:
5678	//   "FRAUD_UNSPECIFIED" - This enum is only a placeholder and it
5679	// doesn't specify any fraud and invalid traffic options.
5680	//   "AD_IMPRESSION_FRAUD_100" - 100% Fraud & IVT.
5681	//   "AD_IMPRESSION_FRAUD_50" - 50% or Higher Fraud & IVT.
5682	//   "AD_IMPRESSION_FRAUD_25" - 25% or Higher Fraud & IVT.
5683	//   "AD_IMPRESSION_FRAUD_10" - 10% or Higher Fraud & IVT.
5684	//   "AD_IMPRESSION_FRAUD_8" - 8% or Higher Fraud & IVT.
5685	//   "AD_IMPRESSION_FRAUD_6" - 6% or Higher Fraud & IVT.
5686	//   "AD_IMPRESSION_FRAUD_4" - 4% or Higher Fraud & IVT.
5687	//   "AD_IMPRESSION_FRAUD_2" - 2% or Higher Fraud & IVT.
5688	AvoidedFraudOption string `json:"avoidedFraudOption,omitempty"`
5689
5690	// ForceSendFields is a list of field names (e.g.
5691	// "AvoidInsufficientOption") to unconditionally include in API
5692	// requests. By default, fields with empty values are omitted from API
5693	// requests. However, any non-pointer, non-interface field appearing in
5694	// ForceSendFields will be sent to the server regardless of whether the
5695	// field is empty or not. This may be used to include empty fields in
5696	// Patch requests.
5697	ForceSendFields []string `json:"-"`
5698
5699	// NullFields is a list of field names (e.g. "AvoidInsufficientOption")
5700	// to include in API requests with the JSON null value. By default,
5701	// fields with empty values are omitted from API requests. However, any
5702	// field with an empty value appearing in NullFields will be sent to the
5703	// server as null. It is an error if a field in this list has a
5704	// non-empty value. This may be used to include null fields in Patch
5705	// requests.
5706	NullFields []string `json:"-"`
5707}
5708
5709func (s *DoubleVerifyFraudInvalidTraffic) MarshalJSON() ([]byte, error) {
5710	type NoMethod DoubleVerifyFraudInvalidTraffic
5711	raw := NoMethod(*s)
5712	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5713}
5714
5715// DoubleVerifyVideoViewability: Details of DoubleVerify video
5716// viewability settings.
5717type DoubleVerifyVideoViewability struct {
5718	// PlayerImpressionRate: Target inventory to maximize impressions with
5719	// 400x300 or greater player size.
5720	//
5721	// Possible values:
5722	//   "PLAYER_SIZE_400X300_UNSPECIFIED" - This enum is only a placeholder
5723	// and it doesn't specify any impressions options.
5724	//   "PLAYER_SIZE_400X300_95" - Sites with 95%+ of impressions.
5725	//   "PLAYER_SIZE_400X300_70" - Sites with 70%+ of impressions.
5726	//   "PLAYER_SIZE_400X300_25" - Sites with 25%+ of impressions.
5727	//   "PLAYER_SIZE_400X300_5" - Sites with 5%+ of impressions.
5728	PlayerImpressionRate string `json:"playerImpressionRate,omitempty"`
5729
5730	// VideoIab: Target web inventory to maximize IAB viewable rate.
5731	//
5732	// Possible values:
5733	//   "VIDEO_IAB_UNSPECIFIED" - This enum is only a placeholder and it
5734	// doesn't specify any video IAB viewable rate options.
5735	//   "IAB_VIEWABILITY_80_PERCENT_HIGHER" - Target web and app inventory
5736	// to maximize IAB viewable rate 80% or higher.
5737	//   "IAB_VIEWABILITY_75_PERCENT_HIGHER" - Target web and app inventory
5738	// to maximize IAB viewable rate 75% or higher.
5739	//   "IAB_VIEWABILITY_70_PERCENT_HIGHER" - Target web and app inventory
5740	// to maximize IAB viewable rate 70% or higher.
5741	//   "IAB_VIEWABILITY_65_PERCENT_HIHGER" - Target web and app inventory
5742	// to maximize IAB viewable rate 65% or higher.
5743	//   "IAB_VIEWABILITY_60_PERCENT_HIGHER" - Target web and app inventory
5744	// to maximize IAB viewable rate 60% or higher.
5745	//   "IAB_VIEWABILITY_55_PERCENT_HIHGER" - Target web and app inventory
5746	// to maximize IAB viewable rate 55% or higher.
5747	//   "IAB_VIEWABILITY_50_PERCENT_HIGHER" - Target web and app inventory
5748	// to maximize IAB viewable rate 50% or higher.
5749	//   "IAB_VIEWABILITY_40_PERCENT_HIHGER" - Target web and app inventory
5750	// to maximize IAB viewable rate 40% or higher.
5751	//   "IAB_VIEWABILITY_30_PERCENT_HIHGER" - Target web and app inventory
5752	// to maximize IAB viewable rate 30% or higher.
5753	VideoIab string `json:"videoIab,omitempty"`
5754
5755	// VideoViewableRate: Target web inventory to maximize fully viewable
5756	// rate.
5757	//
5758	// Possible values:
5759	//   "VIDEO_VIEWABLE_RATE_UNSPECIFIED" - This enum is only a placeholder
5760	// and it doesn't specify any video viewable rate options.
5761	//   "VIEWED_PERFORMANCE_40_PERCENT_HIGHER" - Target web inventory to
5762	// maximize fully viewable rate 40% or higher.
5763	//   "VIEWED_PERFORMANCE_35_PERCENT_HIGHER" - Target web inventory to
5764	// maximize fully viewable rate 35% or higher.
5765	//   "VIEWED_PERFORMANCE_30_PERCENT_HIGHER" - Target web inventory to
5766	// maximize fully viewable rate 30% or higher.
5767	//   "VIEWED_PERFORMANCE_25_PERCENT_HIGHER" - Target web inventory to
5768	// maximize fully viewable rate 25% or higher.
5769	//   "VIEWED_PERFORMANCE_20_PERCENT_HIGHER" - Target web inventory to
5770	// maximize fully viewable rate 20% or higher.
5771	//   "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" - Target web inventory to
5772	// maximize fully viewable rate 10% or higher.
5773	VideoViewableRate string `json:"videoViewableRate,omitempty"`
5774
5775	// ForceSendFields is a list of field names (e.g.
5776	// "PlayerImpressionRate") to unconditionally include in API requests.
5777	// By default, fields with empty values are omitted from API requests.
5778	// However, any non-pointer, non-interface field appearing in
5779	// ForceSendFields will be sent to the server regardless of whether the
5780	// field is empty or not. This may be used to include empty fields in
5781	// Patch requests.
5782	ForceSendFields []string `json:"-"`
5783
5784	// NullFields is a list of field names (e.g. "PlayerImpressionRate") to
5785	// include in API requests with the JSON null value. By default, fields
5786	// with empty values are omitted from API requests. However, any field
5787	// with an empty value appearing in NullFields will be sent to the
5788	// server as null. It is an error if a field in this list has a
5789	// non-empty value. This may be used to include null fields in Patch
5790	// requests.
5791	NullFields []string `json:"-"`
5792}
5793
5794func (s *DoubleVerifyVideoViewability) MarshalJSON() ([]byte, error) {
5795	type NoMethod DoubleVerifyVideoViewability
5796	raw := NoMethod(*s)
5797	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5798}
5799
5800// Empty: A generic empty message that you can re-use to avoid defining
5801// duplicated empty messages in your APIs. A typical example is to use
5802// it as the request or the response type of an API method. For
5803// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
5804// (google.protobuf.Empty); } The JSON representation for `Empty` is
5805// empty JSON object `{}`.
5806type Empty struct {
5807	// ServerResponse contains the HTTP response code and headers from the
5808	// server.
5809	googleapi.ServerResponse `json:"-"`
5810}
5811
5812// EnvironmentAssignedTargetingOptionDetails: Assigned environment
5813// targeting option details. This will be populated in the details field
5814// of an AssignedTargetingOption when targeting_type is
5815// `TARGETING_TYPE_ENVIRONMENT`.
5816type EnvironmentAssignedTargetingOptionDetails struct {
5817	// Environment: Output only. The serving environment.
5818	//
5819	// Possible values:
5820	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
5821	// specified in this version. This enum is a placeholder for default
5822	// value and does not represent a real environment option.
5823	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in
5824	// browsers. This includes inventory that was designed for the device it
5825	// was viewed on, such as mobile websites viewed on a mobile device.
5826	// ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior
5827	// to the deletion of this targeting option.
5828	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in
5829	// browsers. This includes inventory that was not designed for the
5830	// device but viewed on it, such as websites optimized for desktop but
5831	// viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be
5832	// targeted prior to the addition of this targeting option.
5833	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
5834	Environment string `json:"environment,omitempty"`
5835
5836	// TargetingOptionId: Required. The targeting_option_id of a
5837	// TargetingOption of type `TARGETING_TYPE_ENVIRONMENT` (e.g., "508010"
5838	// for targeting the `ENVIRONMENT_WEB_OPTIMIZED` option).
5839	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5840
5841	// ForceSendFields is a list of field names (e.g. "Environment") to
5842	// unconditionally include in API requests. By default, fields with
5843	// empty values are omitted from API requests. However, any non-pointer,
5844	// non-interface field appearing in ForceSendFields will be sent to the
5845	// server regardless of whether the field is empty or not. This may be
5846	// used to include empty fields in Patch requests.
5847	ForceSendFields []string `json:"-"`
5848
5849	// NullFields is a list of field names (e.g. "Environment") to include
5850	// in API requests with the JSON null value. By default, fields with
5851	// empty values are omitted from API requests. However, any field with
5852	// an empty value appearing in NullFields will be sent to the server as
5853	// null. It is an error if a field in this list has a non-empty value.
5854	// This may be used to include null fields in Patch requests.
5855	NullFields []string `json:"-"`
5856}
5857
5858func (s *EnvironmentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5859	type NoMethod EnvironmentAssignedTargetingOptionDetails
5860	raw := NoMethod(*s)
5861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5862}
5863
5864// EnvironmentTargetingOptionDetails: Represents a targetable
5865// environment. This will be populated in the environment_details field
5866// of a TargetingOption when targeting_type is
5867// `TARGETING_TYPE_ENVIRONMENT`.
5868type EnvironmentTargetingOptionDetails struct {
5869	// Environment: Output only. The serving environment.
5870	//
5871	// Possible values:
5872	//   "ENVIRONMENT_UNSPECIFIED" - Default value when environment is not
5873	// specified in this version. This enum is a placeholder for default
5874	// value and does not represent a real environment option.
5875	//   "ENVIRONMENT_WEB_OPTIMIZED" - Target inventory displayed in
5876	// browsers. This includes inventory that was designed for the device it
5877	// was viewed on, such as mobile websites viewed on a mobile device.
5878	// ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior
5879	// to the deletion of this targeting option.
5880	//   "ENVIRONMENT_WEB_NOT_OPTIMIZED" - Target inventory displayed in
5881	// browsers. This includes inventory that was not designed for the
5882	// device but viewed on it, such as websites optimized for desktop but
5883	// viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be
5884	// targeted prior to the addition of this targeting option.
5885	//   "ENVIRONMENT_APP" - Target inventory displayed in apps.
5886	Environment string `json:"environment,omitempty"`
5887
5888	// ForceSendFields is a list of field names (e.g. "Environment") to
5889	// unconditionally include in API requests. By default, fields with
5890	// empty values are omitted from API requests. However, any non-pointer,
5891	// non-interface field appearing in ForceSendFields will be sent to the
5892	// server regardless of whether the field is empty or not. This may be
5893	// used to include empty fields in Patch requests.
5894	ForceSendFields []string `json:"-"`
5895
5896	// NullFields is a list of field names (e.g. "Environment") to include
5897	// in API requests with the JSON null value. By default, fields with
5898	// empty values are omitted from API requests. However, any field with
5899	// an empty value appearing in NullFields will be sent to the server as
5900	// null. It is an error if a field in this list has a non-empty value.
5901	// This may be used to include null fields in Patch requests.
5902	NullFields []string `json:"-"`
5903}
5904
5905func (s *EnvironmentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5906	type NoMethod EnvironmentTargetingOptionDetails
5907	raw := NoMethod(*s)
5908	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5909}
5910
5911// ExchangeAssignedTargetingOptionDetails: Details for assigned exchange
5912// targeting option. This will be populated in the details field of an
5913// AssignedTargetingOption when targeting_type is
5914// `TARGETING_TYPE_EXCHANGE`.
5915type ExchangeAssignedTargetingOptionDetails struct {
5916	// TargetingOptionId: Required. The targeting_option_id of a
5917	// TargetingOption of type `TARGETING_TYPE_EXCHANGE`.
5918	TargetingOptionId string `json:"targetingOptionId,omitempty"`
5919
5920	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
5921	// to unconditionally include in API requests. By default, fields with
5922	// empty values are omitted from API requests. However, any non-pointer,
5923	// non-interface field appearing in ForceSendFields will be sent to the
5924	// server regardless of whether the field is empty or not. This may be
5925	// used to include empty fields in Patch requests.
5926	ForceSendFields []string `json:"-"`
5927
5928	// NullFields is a list of field names (e.g. "TargetingOptionId") to
5929	// include in API requests with the JSON null value. By default, fields
5930	// with empty values are omitted from API requests. However, any field
5931	// with an empty value appearing in NullFields will be sent to the
5932	// server as null. It is an error if a field in this list has a
5933	// non-empty value. This may be used to include null fields in Patch
5934	// requests.
5935	NullFields []string `json:"-"`
5936}
5937
5938func (s *ExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
5939	type NoMethod ExchangeAssignedTargetingOptionDetails
5940	raw := NoMethod(*s)
5941	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5942}
5943
5944// ExchangeConfig: Settings that control which exchanges are enabled for
5945// a partner.
5946type ExchangeConfig struct {
5947	// EnabledExchanges: All enabled exchanges in the partner. Duplicate
5948	// enabled exchanges will be ignored.
5949	EnabledExchanges []*ExchangeConfigEnabledExchange `json:"enabledExchanges,omitempty"`
5950
5951	// ForceSendFields is a list of field names (e.g. "EnabledExchanges") to
5952	// unconditionally include in API requests. By default, fields with
5953	// empty values are omitted from API requests. However, any non-pointer,
5954	// non-interface field appearing in ForceSendFields will be sent to the
5955	// server regardless of whether the field is empty or not. This may be
5956	// used to include empty fields in Patch requests.
5957	ForceSendFields []string `json:"-"`
5958
5959	// NullFields is a list of field names (e.g. "EnabledExchanges") to
5960	// include in API requests with the JSON null value. By default, fields
5961	// with empty values are omitted from API requests. However, any field
5962	// with an empty value appearing in NullFields will be sent to the
5963	// server as null. It is an error if a field in this list has a
5964	// non-empty value. This may be used to include null fields in Patch
5965	// requests.
5966	NullFields []string `json:"-"`
5967}
5968
5969func (s *ExchangeConfig) MarshalJSON() ([]byte, error) {
5970	type NoMethod ExchangeConfig
5971	raw := NoMethod(*s)
5972	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5973}
5974
5975// ExchangeConfigEnabledExchange: An enabled exchange in the partner.
5976type ExchangeConfigEnabledExchange struct {
5977	// Exchange: The enabled exchange.
5978	//
5979	// Possible values:
5980	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
5981	// this version.
5982	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
5983	//   "EXCHANGE_APPNEXUS" - AppNexus.
5984	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
5985	//   "EXCHANGE_ADFORM" - Adform.
5986	//   "EXCHANGE_ADMETA" - Admeta.
5987	//   "EXCHANGE_ADMIXER" - Admixer.
5988	//   "EXCHANGE_ADSMOGO" - AdsMogo.
5989	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
5990	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
5991	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
5992	// from Yahoo!.
5993	//   "EXCHANGE_CADREON" - Cadreon.
5994	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
5995	//   "EXCHANGE_FIVE" - Five.
5996	//   "EXCHANGE_FLUCT" - Fluct.
5997	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
5998	//   "EXCHANGE_GENIEE" - Geniee.
5999	//   "EXCHANGE_GUMGUM" - GumGum.
6000	//   "EXCHANGE_IMOBILE" - i-mobile.
6001	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6002	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6003	//   "EXCHANGE_INDEX" - Index Exchange.
6004	//   "EXCHANGE_KARGO" - Kargo.
6005	//   "EXCHANGE_MICROAD" - MicroAd.
6006	//   "EXCHANGE_MOPUB" - MoPub.
6007	//   "EXCHANGE_NEND" - Nend.
6008	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6009	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6010	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6011	//   "EXCHANGE_OOYALA" - Ooyala.
6012	//   "EXCHANGE_OPENX" - OpenX.
6013	//   "EXCHANGE_PERMODO" - Permodo.
6014	//   "EXCHANGE_PLATFORMONE" - Platform One.
6015	//   "EXCHANGE_PLATFORMID" - PlatformId.
6016	//   "EXCHANGE_PUBMATIC" - PubMatic.
6017	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6018	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6019	//   "EXCHANGE_RUBICON" - Rubicon.
6020	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6021	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6022	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6023	//   "EXCHANGE_SOVRN" - Sovrn.
6024	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6025	//   "EXCHANGE_STROER" - Ströer SSP.
6026	//   "EXCHANGE_TEADSTV" - TeadsTv.
6027	//   "EXCHANGE_TELARIA" - Telaria.
6028	//   "EXCHANGE_TVN" - TVN.
6029	//   "EXCHANGE_UNITED" - United.
6030	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6031	//   "EXCHANGE_YIELDMO" - Yieldmo.
6032	//   "EXCHANGE_UNRULYX" - UnrulyX
6033	//   "EXCHANGE_OPEN8" - Open8
6034	//   "EXCHANGE_TRITON" - Triton.
6035	//   "EXCHANGE_TRIPLELIFT" - TripleLift
6036	//   "EXCHANGE_TABOOLA" - Taboola
6037	//   "EXCHANGE_INMOBI" - InMobi.
6038	//   "EXCHANGE_SMAATO" - Smaato
6039	//   "EXCHANGE_AJA" - Aja.
6040	//   "EXCHANGE_SUPERSHIP" - Supership.
6041	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6042	//   "EXCHANGE_WAZE" - Waze.
6043	Exchange string `json:"exchange,omitempty"`
6044
6045	// GoogleAdManagerAgencyId: Output only. Agency ID of Google Ad Manager.
6046	// The field is only relevant when Google Ad Manager is the enabled
6047	// exchange.
6048	GoogleAdManagerAgencyId string `json:"googleAdManagerAgencyId,omitempty"`
6049
6050	// GoogleAdManagerBuyerNetworkId: Output only. Network ID of Google Ad
6051	// Manager. The field is only relevant when Google Ad Manager is the
6052	// enabled exchange.
6053	GoogleAdManagerBuyerNetworkId string `json:"googleAdManagerBuyerNetworkId,omitempty"`
6054
6055	// SeatId: Output only. Seat ID of the enabled exchange.
6056	SeatId string `json:"seatId,omitempty"`
6057
6058	// ForceSendFields is a list of field names (e.g. "Exchange") to
6059	// unconditionally include in API requests. By default, fields with
6060	// empty values are omitted from API requests. However, any non-pointer,
6061	// non-interface field appearing in ForceSendFields will be sent to the
6062	// server regardless of whether the field is empty or not. This may be
6063	// used to include empty fields in Patch requests.
6064	ForceSendFields []string `json:"-"`
6065
6066	// NullFields is a list of field names (e.g. "Exchange") to include in
6067	// API requests with the JSON null value. By default, fields with empty
6068	// values are omitted from API requests. However, any field with an
6069	// empty value appearing in NullFields will be sent to the server as
6070	// null. It is an error if a field in this list has a non-empty value.
6071	// This may be used to include null fields in Patch requests.
6072	NullFields []string `json:"-"`
6073}
6074
6075func (s *ExchangeConfigEnabledExchange) MarshalJSON() ([]byte, error) {
6076	type NoMethod ExchangeConfigEnabledExchange
6077	raw := NoMethod(*s)
6078	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6079}
6080
6081// ExchangeReviewStatus: Exchange review status for the creative.
6082type ExchangeReviewStatus struct {
6083	// Exchange: The exchange reviewing the creative.
6084	//
6085	// Possible values:
6086	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6087	// this version.
6088	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6089	//   "EXCHANGE_APPNEXUS" - AppNexus.
6090	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6091	//   "EXCHANGE_ADFORM" - Adform.
6092	//   "EXCHANGE_ADMETA" - Admeta.
6093	//   "EXCHANGE_ADMIXER" - Admixer.
6094	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6095	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6096	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6097	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6098	// from Yahoo!.
6099	//   "EXCHANGE_CADREON" - Cadreon.
6100	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6101	//   "EXCHANGE_FIVE" - Five.
6102	//   "EXCHANGE_FLUCT" - Fluct.
6103	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6104	//   "EXCHANGE_GENIEE" - Geniee.
6105	//   "EXCHANGE_GUMGUM" - GumGum.
6106	//   "EXCHANGE_IMOBILE" - i-mobile.
6107	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6108	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6109	//   "EXCHANGE_INDEX" - Index Exchange.
6110	//   "EXCHANGE_KARGO" - Kargo.
6111	//   "EXCHANGE_MICROAD" - MicroAd.
6112	//   "EXCHANGE_MOPUB" - MoPub.
6113	//   "EXCHANGE_NEND" - Nend.
6114	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6115	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6116	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6117	//   "EXCHANGE_OOYALA" - Ooyala.
6118	//   "EXCHANGE_OPENX" - OpenX.
6119	//   "EXCHANGE_PERMODO" - Permodo.
6120	//   "EXCHANGE_PLATFORMONE" - Platform One.
6121	//   "EXCHANGE_PLATFORMID" - PlatformId.
6122	//   "EXCHANGE_PUBMATIC" - PubMatic.
6123	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6124	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6125	//   "EXCHANGE_RUBICON" - Rubicon.
6126	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6127	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6128	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6129	//   "EXCHANGE_SOVRN" - Sovrn.
6130	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6131	//   "EXCHANGE_STROER" - Ströer SSP.
6132	//   "EXCHANGE_TEADSTV" - TeadsTv.
6133	//   "EXCHANGE_TELARIA" - Telaria.
6134	//   "EXCHANGE_TVN" - TVN.
6135	//   "EXCHANGE_UNITED" - United.
6136	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6137	//   "EXCHANGE_YIELDMO" - Yieldmo.
6138	//   "EXCHANGE_UNRULYX" - UnrulyX
6139	//   "EXCHANGE_OPEN8" - Open8
6140	//   "EXCHANGE_TRITON" - Triton.
6141	//   "EXCHANGE_TRIPLELIFT" - TripleLift
6142	//   "EXCHANGE_TABOOLA" - Taboola
6143	//   "EXCHANGE_INMOBI" - InMobi.
6144	//   "EXCHANGE_SMAATO" - Smaato
6145	//   "EXCHANGE_AJA" - Aja.
6146	//   "EXCHANGE_SUPERSHIP" - Supership.
6147	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6148	//   "EXCHANGE_WAZE" - Waze.
6149	Exchange string `json:"exchange,omitempty"`
6150
6151	// Status: Status of the exchange review.
6152	//
6153	// Possible values:
6154	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
6155	// unknown in this version.
6156	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
6157	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
6158	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
6159	Status string `json:"status,omitempty"`
6160
6161	// ForceSendFields is a list of field names (e.g. "Exchange") to
6162	// unconditionally include in API requests. By default, fields with
6163	// empty values are omitted from API requests. However, any non-pointer,
6164	// non-interface field appearing in ForceSendFields will be sent to the
6165	// server regardless of whether the field is empty or not. This may be
6166	// used to include empty fields in Patch requests.
6167	ForceSendFields []string `json:"-"`
6168
6169	// NullFields is a list of field names (e.g. "Exchange") to include in
6170	// API requests with the JSON null value. By default, fields with empty
6171	// values are omitted from API requests. However, any field with an
6172	// empty value appearing in NullFields will be sent to the server as
6173	// null. It is an error if a field in this list has a non-empty value.
6174	// This may be used to include null fields in Patch requests.
6175	NullFields []string `json:"-"`
6176}
6177
6178func (s *ExchangeReviewStatus) MarshalJSON() ([]byte, error) {
6179	type NoMethod ExchangeReviewStatus
6180	raw := NoMethod(*s)
6181	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6182}
6183
6184// ExchangeTargetingOptionDetails: Represents a targetable exchange.
6185// This will be populated in the exchange_details field of a
6186// TargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.
6187type ExchangeTargetingOptionDetails struct {
6188	// Exchange: Output only. The type of exchange.
6189	//
6190	// Possible values:
6191	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
6192	// this version.
6193	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
6194	//   "EXCHANGE_APPNEXUS" - AppNexus.
6195	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
6196	//   "EXCHANGE_ADFORM" - Adform.
6197	//   "EXCHANGE_ADMETA" - Admeta.
6198	//   "EXCHANGE_ADMIXER" - Admixer.
6199	//   "EXCHANGE_ADSMOGO" - AdsMogo.
6200	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
6201	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
6202	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
6203	// from Yahoo!.
6204	//   "EXCHANGE_CADREON" - Cadreon.
6205	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
6206	//   "EXCHANGE_FIVE" - Five.
6207	//   "EXCHANGE_FLUCT" - Fluct.
6208	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
6209	//   "EXCHANGE_GENIEE" - Geniee.
6210	//   "EXCHANGE_GUMGUM" - GumGum.
6211	//   "EXCHANGE_IMOBILE" - i-mobile.
6212	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
6213	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
6214	//   "EXCHANGE_INDEX" - Index Exchange.
6215	//   "EXCHANGE_KARGO" - Kargo.
6216	//   "EXCHANGE_MICROAD" - MicroAd.
6217	//   "EXCHANGE_MOPUB" - MoPub.
6218	//   "EXCHANGE_NEND" - Nend.
6219	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
6220	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
6221	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
6222	//   "EXCHANGE_OOYALA" - Ooyala.
6223	//   "EXCHANGE_OPENX" - OpenX.
6224	//   "EXCHANGE_PERMODO" - Permodo.
6225	//   "EXCHANGE_PLATFORMONE" - Platform One.
6226	//   "EXCHANGE_PLATFORMID" - PlatformId.
6227	//   "EXCHANGE_PUBMATIC" - PubMatic.
6228	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
6229	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
6230	//   "EXCHANGE_RUBICON" - Rubicon.
6231	//   "EXCHANGE_SMARTCLIP" - SmartClip.
6232	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
6233	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
6234	//   "EXCHANGE_SOVRN" - Sovrn.
6235	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
6236	//   "EXCHANGE_STROER" - Ströer SSP.
6237	//   "EXCHANGE_TEADSTV" - TeadsTv.
6238	//   "EXCHANGE_TELARIA" - Telaria.
6239	//   "EXCHANGE_TVN" - TVN.
6240	//   "EXCHANGE_UNITED" - United.
6241	//   "EXCHANGE_YIELDLAB" - Yieldlab.
6242	//   "EXCHANGE_YIELDMO" - Yieldmo.
6243	//   "EXCHANGE_UNRULYX" - UnrulyX
6244	//   "EXCHANGE_OPEN8" - Open8
6245	//   "EXCHANGE_TRITON" - Triton.
6246	//   "EXCHANGE_TRIPLELIFT" - TripleLift
6247	//   "EXCHANGE_TABOOLA" - Taboola
6248	//   "EXCHANGE_INMOBI" - InMobi.
6249	//   "EXCHANGE_SMAATO" - Smaato
6250	//   "EXCHANGE_AJA" - Aja.
6251	//   "EXCHANGE_SUPERSHIP" - Supership.
6252	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
6253	//   "EXCHANGE_WAZE" - Waze.
6254	Exchange string `json:"exchange,omitempty"`
6255
6256	// ForceSendFields is a list of field names (e.g. "Exchange") to
6257	// unconditionally include in API requests. By default, fields with
6258	// empty values are omitted from API requests. However, any non-pointer,
6259	// non-interface field appearing in ForceSendFields will be sent to the
6260	// server regardless of whether the field is empty or not. This may be
6261	// used to include empty fields in Patch requests.
6262	ForceSendFields []string `json:"-"`
6263
6264	// NullFields is a list of field names (e.g. "Exchange") to include in
6265	// API requests with the JSON null value. By default, fields with empty
6266	// values are omitted from API requests. However, any field with an
6267	// empty value appearing in NullFields will be sent to the server as
6268	// null. It is an error if a field in this list has a non-empty value.
6269	// This may be used to include null fields in Patch requests.
6270	NullFields []string `json:"-"`
6271}
6272
6273func (s *ExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6274	type NoMethod ExchangeTargetingOptionDetails
6275	raw := NoMethod(*s)
6276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6277}
6278
6279// ExitEvent: Exit event of the creative.
6280type ExitEvent struct {
6281	// Name: The name of the click tag of the exit event. The name must be
6282	// unique within one creative. Leave it empty or unset for creatives
6283	// containing image assets only.
6284	Name string `json:"name,omitempty"`
6285
6286	// ReportingName: The name used to identify this event in reports. Leave
6287	// it empty or unset for creatives containing image assets only.
6288	ReportingName string `json:"reportingName,omitempty"`
6289
6290	// Type: Required. The type of the exit event.
6291	//
6292	// Possible values:
6293	//   "EXIT_EVENT_TYPE_UNSPECIFIED" - Exit event type is not specified or
6294	// is unknown in this version.
6295	//   "EXIT_EVENT_TYPE_DEFAULT" - The exit event is the default one.
6296	//   "EXIT_EVENT_TYPE_BACKUP" - The exit event is a backup exit event.
6297	// There could be multiple backup exit events in a creative.
6298	Type string `json:"type,omitempty"`
6299
6300	// Url: Required. The click through URL of the exit event. This is
6301	// required when type is: * `EXIT_EVENT_TYPE_DEFAULT` *
6302	// `EXIT_EVENT_TYPE_BACKUP`
6303	Url string `json:"url,omitempty"`
6304
6305	// ForceSendFields is a list of field names (e.g. "Name") to
6306	// unconditionally include in API requests. By default, fields with
6307	// empty values are omitted from API requests. However, any non-pointer,
6308	// non-interface field appearing in ForceSendFields will be sent to the
6309	// server regardless of whether the field is empty or not. This may be
6310	// used to include empty fields in Patch requests.
6311	ForceSendFields []string `json:"-"`
6312
6313	// NullFields is a list of field names (e.g. "Name") to include in API
6314	// requests with the JSON null value. By default, fields with empty
6315	// values are omitted from API requests. However, any field with an
6316	// empty value appearing in NullFields will be sent to the server as
6317	// null. It is an error if a field in this list has a non-empty value.
6318	// This may be used to include null fields in Patch requests.
6319	NullFields []string `json:"-"`
6320}
6321
6322func (s *ExitEvent) MarshalJSON() ([]byte, error) {
6323	type NoMethod ExitEvent
6324	raw := NoMethod(*s)
6325	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6326}
6327
6328// FirstAndThirdPartyAudience: Describes a first or third party audience
6329// list used for targeting. First party audiences are created via usage
6330// of client data. Third party audiences are provided by Third Party
6331// data providers and can only be licensed to customers.
6332type FirstAndThirdPartyAudience struct {
6333	// ActiveDisplayAudienceSize: Output only. The estimated audience size
6334	// for the Display network in the past month. If the size is less than
6335	// 1000, the number will be hidden and 0 will be returned due to privacy
6336	// reasons. Otherwise, the number will be rounded off to two significant
6337	// digits. Only returned in GET request.
6338	ActiveDisplayAudienceSize int64 `json:"activeDisplayAudienceSize,omitempty,string"`
6339
6340	// AudienceSource: Output only. The source of the audience.
6341	//
6342	// Possible values:
6343	//   "AUDIENCE_SOURCE_UNSPECIFIED" - Default value when audience source
6344	// is not specified or is unknown.
6345	//   "DISPLAY_VIDEO_360" - Originated from Display & Video 360.
6346	//   "CAMPAIGN_MANAGER" - Originated from Campaign Manager 360.
6347	//   "AD_MANAGER" - Originated from Google Ad Manager.
6348	//   "SEARCH_ADS_360" - Originated from Search Ads 360.
6349	//   "YOUTUBE" - Originated from Youtube.
6350	//   "ADS_DATA_HUB" - Originated from Ads Data Hub.
6351	AudienceSource string `json:"audienceSource,omitempty"`
6352
6353	// AudienceType: Output only. The type of the audience.
6354	//
6355	// Possible values:
6356	//   "AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
6357	// specified or is unknown.
6358	//   "CUSTOMER_MATCH_CONTACT_INFO" - Audience was generated through
6359	// matching customers to known contact information.
6360	//   "CUSTOMER_MATCH_DEVICE_ID" - Audience was generated through
6361	// matching customers to known Mobile device IDs.
6362	//   "CUSTOMER_MATCH_USER_ID" - Audience was generated through matching
6363	// customers to known User IDs.
6364	//   "ACTIVITY_BASED" - Audience was created based on campaign activity.
6365	//   "FREQUENCY_CAP" - Audience was created based on excluding the
6366	// number of impressions they were served.
6367	//   "TAG_BASED" - Audience was created based on custom variables
6368	// attached to pixel.
6369	//   "YOUTUBE_USERS" - Audience was created based on past interactions
6370	// with videos, YouTube ads, or YouTube channel.
6371	//   "LICENSED" - Subtype of third party audience type.
6372	AudienceType string `json:"audienceType,omitempty"`
6373
6374	// Description: The user-provided description of the audience. Only
6375	// applicable to first party audiences.
6376	Description string `json:"description,omitempty"`
6377
6378	// DisplayAudienceSize: Output only. The estimated audience size for the
6379	// Display network. If the size is less than 1000, the number will be
6380	// hidden and 0 will be returned due to privacy reasons. Otherwise, the
6381	// number will be rounded off to two significant digits. Only returned
6382	// in GET request.
6383	DisplayAudienceSize int64 `json:"displayAudienceSize,omitempty,string"`
6384
6385	// DisplayDesktopAudienceSize: Output only. The estimated desktop
6386	// audience size in Display network. If the size is less than 1000, the
6387	// number will be hidden and 0 will be returned due to privacy reasons.
6388	// Otherwise, the number will be rounded off to two significant digits.
6389	// Only applicable to first party audiences. Only returned in GET
6390	// request.
6391	DisplayDesktopAudienceSize int64 `json:"displayDesktopAudienceSize,omitempty,string"`
6392
6393	// DisplayMobileAppAudienceSize: Output only. The estimated mobile app
6394	// audience size in Display network. If the size is less than 1000, the
6395	// number will be hidden and 0 will be returned due to privacy reasons.
6396	// Otherwise, the number will be rounded off to two significant digits.
6397	// Only applicable to first party audiences. Only returned in GET
6398	// request.
6399	DisplayMobileAppAudienceSize int64 `json:"displayMobileAppAudienceSize,omitempty,string"`
6400
6401	// DisplayMobileWebAudienceSize: Output only. The estimated mobile web
6402	// audience size in Display network. If the size is less than 1000, the
6403	// number will be hidden and 0 will be returned due to privacy reasons.
6404	// Otherwise, the number will be rounded off to two significant digits.
6405	// Only applicable to first party audiences. Only returned in GET
6406	// request.
6407	DisplayMobileWebAudienceSize int64 `json:"displayMobileWebAudienceSize,omitempty,string"`
6408
6409	// DisplayName: The display name of the first and third party audience.
6410	DisplayName string `json:"displayName,omitempty"`
6411
6412	// FirstAndThirdPartyAudienceId: Output only. The unique ID of the first
6413	// and third party audience. Assigned by the system.
6414	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
6415
6416	// FirstAndThirdPartyAudienceType: Output only. Whether the audience is
6417	// a first or third party audience.
6418	//
6419	// Possible values:
6420	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED" - Default value
6421	// when type is not specified or is unknown.
6422	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY" - Audience that
6423	// is created via usage of client data.
6424	//   "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" - Audience that
6425	// is provided by Third Party data providers.
6426	FirstAndThirdPartyAudienceType string `json:"firstAndThirdPartyAudienceType,omitempty"`
6427
6428	// GmailAudienceSize: Output only. The estimated audience size for Gmail
6429	// network. If the size is less than 1000, the number will be hidden and
6430	// 0 will be returned due to privacy reasons. Otherwise, the number will
6431	// be rounded off to two significant digits. Only applicable to first
6432	// party audiences. Only returned in GET request.
6433	GmailAudienceSize int64 `json:"gmailAudienceSize,omitempty,string"`
6434
6435	// MembershipDurationDays: The duration in days that an entry remains in
6436	// the audience after the qualifying event. Only applicable to first
6437	// party audiences.
6438	MembershipDurationDays int64 `json:"membershipDurationDays,omitempty,string"`
6439
6440	// Name: Output only. The resource name of the first and third party
6441	// audience.
6442	Name string `json:"name,omitempty"`
6443
6444	// YoutubeAudienceSize: Output only. The estimated audience size for
6445	// YouTube network. If the size is less than 1000, the number will be
6446	// hidden and 0 will be returned due to privacy reasons. Otherwise, the
6447	// number will be rounded off to two significant digits. Only applicable
6448	// to first party audiences. Only returned in GET request.
6449	YoutubeAudienceSize int64 `json:"youtubeAudienceSize,omitempty,string"`
6450
6451	// ServerResponse contains the HTTP response code and headers from the
6452	// server.
6453	googleapi.ServerResponse `json:"-"`
6454
6455	// ForceSendFields is a list of field names (e.g.
6456	// "ActiveDisplayAudienceSize") to unconditionally include in API
6457	// requests. By default, fields with empty values are omitted from API
6458	// requests. However, any non-pointer, non-interface field appearing in
6459	// ForceSendFields will be sent to the server regardless of whether the
6460	// field is empty or not. This may be used to include empty fields in
6461	// Patch requests.
6462	ForceSendFields []string `json:"-"`
6463
6464	// NullFields is a list of field names (e.g.
6465	// "ActiveDisplayAudienceSize") to include in API requests with the JSON
6466	// null value. By default, fields with empty values are omitted from API
6467	// requests. However, any field with an empty value appearing in
6468	// NullFields will be sent to the server as null. It is an error if a
6469	// field in this list has a non-empty value. This may be used to include
6470	// null fields in Patch requests.
6471	NullFields []string `json:"-"`
6472}
6473
6474func (s *FirstAndThirdPartyAudience) MarshalJSON() ([]byte, error) {
6475	type NoMethod FirstAndThirdPartyAudience
6476	raw := NoMethod(*s)
6477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6478}
6479
6480// FirstAndThirdPartyAudienceGroup: Details of first and third party
6481// audience group. All first and third party audience targeting settings
6482// are logically ‘OR’ of each other.
6483type FirstAndThirdPartyAudienceGroup struct {
6484	// Settings: Required. All first and third party audience targeting
6485	// settings in first and third party audience group. Repeated settings
6486	// with same id are not allowed.
6487	Settings []*FirstAndThirdPartyAudienceTargetingSetting `json:"settings,omitempty"`
6488
6489	// ForceSendFields is a list of field names (e.g. "Settings") to
6490	// unconditionally include in API requests. By default, fields with
6491	// empty values are omitted from API requests. However, any non-pointer,
6492	// non-interface field appearing in ForceSendFields will be sent to the
6493	// server regardless of whether the field is empty or not. This may be
6494	// used to include empty fields in Patch requests.
6495	ForceSendFields []string `json:"-"`
6496
6497	// NullFields is a list of field names (e.g. "Settings") to include in
6498	// API requests with the JSON null value. By default, fields with empty
6499	// values are omitted from API requests. However, any field with an
6500	// empty value appearing in NullFields will be sent to the server as
6501	// null. It is an error if a field in this list has a non-empty value.
6502	// This may be used to include null fields in Patch requests.
6503	NullFields []string `json:"-"`
6504}
6505
6506func (s *FirstAndThirdPartyAudienceGroup) MarshalJSON() ([]byte, error) {
6507	type NoMethod FirstAndThirdPartyAudienceGroup
6508	raw := NoMethod(*s)
6509	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6510}
6511
6512// FirstAndThirdPartyAudienceTargetingSetting: Details of first and
6513// third party audience targeting setting.
6514type FirstAndThirdPartyAudienceTargetingSetting struct {
6515	// FirstAndThirdPartyAudienceId: Required. First and third party
6516	// audience id of the first and third party audience targeting setting.
6517	// This id is first_and_third_party_audience_id.
6518	FirstAndThirdPartyAudienceId int64 `json:"firstAndThirdPartyAudienceId,omitempty,string"`
6519
6520	// Recency: The recency of the first and third party audience targeting
6521	// setting. Only applicable to first party audiences, otherwise will be
6522	// ignored. For more info, refer to
6523	// https://support.google.com/displayvideo/answer/2949947#recency When
6524	// unspecified, no recency limit will be used.
6525	//
6526	// Possible values:
6527	//   "RECENCY_NO_LIMIT" - No limit of recency.
6528	//   "RECENCY_1_MINUTE" - Recency is 1 minute.
6529	//   "RECENCY_5_MINUTES" - Recency is 5 minutes.
6530	//   "RECENCY_10_MINUTES" - Recency is 10 minutes.
6531	//   "RECENCY_15_MINUTES" - Recency is 15 minutes.
6532	//   "RECENCY_30_MINUTES" - Recency is 30 minutes.
6533	//   "RECENCY_1_HOUR" - Recency is 1 hour.
6534	//   "RECENCY_2_HOURS" - Recency is 2 hours.
6535	//   "RECENCY_3_HOURS" - Recency is 3 hours.
6536	//   "RECENCY_6_HOURS" - Recency is 6 hours.
6537	//   "RECENCY_12_HOURS" - Recency is 12 hours.
6538	//   "RECENCY_1_DAY" - Recency is 1 day.
6539	//   "RECENCY_2_DAYS" - Recency is 2 days.
6540	//   "RECENCY_3_DAYS" - Recency is 3 days.
6541	//   "RECENCY_5_DAYS" - Recency is 5 days.
6542	//   "RECENCY_7_DAYS" - Recency is 7 days.
6543	//   "RECENCY_10_DAYS" - Recency is 10 days.
6544	//   "RECENCY_14_DAYS" - Recency is 14 days.
6545	//   "RECENCY_15_DAYS" - Recency is 15 days.
6546	//   "RECENCY_21_DAYS" - Recency is 21 days.
6547	//   "RECENCY_28_DAYS" - Recency is 28 days.
6548	//   "RECENCY_30_DAYS" - Recency is 30 days.
6549	//   "RECENCY_40_DAYS" - Recency is 40 days.
6550	//   "RECENCY_60_DAYS" - Recency is 60 days.
6551	//   "RECENCY_90_DAYS" - Recency is 90 days.
6552	//   "RECENCY_120_DAYS" - Recency is 120 days.
6553	//   "RECENCY_180_DAYS" - Recency is 180 days.
6554	//   "RECENCY_270_DAYS" - Recency is 270 days.
6555	//   "RECENCY_365_DAYS" - Recency is 365 days.
6556	Recency string `json:"recency,omitempty"`
6557
6558	// ForceSendFields is a list of field names (e.g.
6559	// "FirstAndThirdPartyAudienceId") to unconditionally include in API
6560	// requests. By default, fields with empty values are omitted from API
6561	// requests. However, any non-pointer, non-interface field appearing in
6562	// ForceSendFields will be sent to the server regardless of whether the
6563	// field is empty or not. This may be used to include empty fields in
6564	// Patch requests.
6565	ForceSendFields []string `json:"-"`
6566
6567	// NullFields is a list of field names (e.g.
6568	// "FirstAndThirdPartyAudienceId") to include in API requests with the
6569	// JSON null value. By default, fields with empty values are omitted
6570	// from API requests. However, any field with an empty value appearing
6571	// in NullFields will be sent to the server as null. It is an error if a
6572	// field in this list has a non-empty value. This may be used to include
6573	// null fields in Patch requests.
6574	NullFields []string `json:"-"`
6575}
6576
6577func (s *FirstAndThirdPartyAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
6578	type NoMethod FirstAndThirdPartyAudienceTargetingSetting
6579	raw := NoMethod(*s)
6580	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6581}
6582
6583// FixedBidStrategy: A strategy that uses a fixed bidding price.
6584type FixedBidStrategy struct {
6585	// BidAmountMicros: The fixed bid amount, in micros of the advertiser's
6586	// currency. For insertion order entity, bid_amount_micros should be set
6587	// as 0. For line item entity, bid_amount_micros must be greater than or
6588	// equal to billable unit of the given currency and smaller than or
6589	// equal to the upper limit 1000000000. For example, 1500000 represents
6590	// 1.5 standard units of the currency.
6591	BidAmountMicros int64 `json:"bidAmountMicros,omitempty,string"`
6592
6593	// ForceSendFields is a list of field names (e.g. "BidAmountMicros") to
6594	// unconditionally include in API requests. By default, fields with
6595	// empty values are omitted from API requests. However, any non-pointer,
6596	// non-interface field appearing in ForceSendFields will be sent to the
6597	// server regardless of whether the field is empty or not. This may be
6598	// used to include empty fields in Patch requests.
6599	ForceSendFields []string `json:"-"`
6600
6601	// NullFields is a list of field names (e.g. "BidAmountMicros") to
6602	// include in API requests with the JSON null value. By default, fields
6603	// with empty values are omitted from API requests. However, any field
6604	// with an empty value appearing in NullFields will be sent to the
6605	// server as null. It is an error if a field in this list has a
6606	// non-empty value. This may be used to include null fields in Patch
6607	// requests.
6608	NullFields []string `json:"-"`
6609}
6610
6611func (s *FixedBidStrategy) MarshalJSON() ([]byte, error) {
6612	type NoMethod FixedBidStrategy
6613	raw := NoMethod(*s)
6614	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6615}
6616
6617// FloodlightGroup: A single Floodlight group.
6618type FloodlightGroup struct {
6619	// ActiveViewConfig: The Active View video viewability metric
6620	// configuration for the Floodlight group.
6621	ActiveViewConfig *ActiveViewVideoViewabilityMetricConfig `json:"activeViewConfig,omitempty"`
6622
6623	// CustomVariables: User-defined custom variables owned by the
6624	// Floodlight group. Use custom Floodlight variables to create reporting
6625	// data that is tailored to your unique business needs. Custom
6626	// Floodlight variables use the keys `U1=`, `U2=`, and so on, and can
6627	// take any values that you choose to pass to them. You can use them to
6628	// track virtually any type of data that you collect about your
6629	// customers, such as the genre of movie that a customer purchases, the
6630	// country to which the item is shipped, and so on. Custom Floodlight
6631	// variables may not be used to pass any data that could be used or
6632	// recognized as personally identifiable information (PII). Example:
6633	// `custom_variables { fields { "U1": value { number_value: 123.4 },
6634	// "U2": value { string_value: "MyVariable2" }, "U3": value {
6635	// string_value: "MyVariable3" } } }` Acceptable values for keys are
6636	// "U1" through "U100", inclusive. String values must be less than 64
6637	// characters long, and cannot contain the following characters: "<>`.
6638	CustomVariables googleapi.RawMessage `json:"customVariables,omitempty"`
6639
6640	// DisplayName: Required. The display name of the Floodlight group.
6641	DisplayName string `json:"displayName,omitempty"`
6642
6643	// FloodlightGroupId: Output only. The unique ID of the Floodlight
6644	// group. Assigned by the system.
6645	FloodlightGroupId int64 `json:"floodlightGroupId,omitempty,string"`
6646
6647	// LookbackWindow: Required. The lookback window for the Floodlight
6648	// group. Both click_days and impression_days are required. Acceptable
6649	// values for both are `0` to `90`, inclusive.
6650	LookbackWindow *LookbackWindow `json:"lookbackWindow,omitempty"`
6651
6652	// Name: Output only. The resource name of the Floodlight group.
6653	Name string `json:"name,omitempty"`
6654
6655	// WebTagType: Required. The web tag type enabled for the Floodlight
6656	// group.
6657	//
6658	// Possible values:
6659	//   "WEB_TAG_TYPE_UNSPECIFIED" - Type value is not specified or is
6660	// unknown in this version.
6661	//   "WEB_TAG_TYPE_NONE" - No tag type.
6662	//   "WEB_TAG_TYPE_IMAGE" - Image tag.
6663	//   "WEB_TAG_TYPE_DYNAMIC" - Dynamic tag.
6664	WebTagType string `json:"webTagType,omitempty"`
6665
6666	// ServerResponse contains the HTTP response code and headers from the
6667	// server.
6668	googleapi.ServerResponse `json:"-"`
6669
6670	// ForceSendFields is a list of field names (e.g. "ActiveViewConfig") to
6671	// unconditionally include in API requests. By default, fields with
6672	// empty values are omitted from API requests. However, any non-pointer,
6673	// non-interface field appearing in ForceSendFields will be sent to the
6674	// server regardless of whether the field is empty or not. This may be
6675	// used to include empty fields in Patch requests.
6676	ForceSendFields []string `json:"-"`
6677
6678	// NullFields is a list of field names (e.g. "ActiveViewConfig") to
6679	// include in API requests with the JSON null value. By default, fields
6680	// with empty values are omitted from API requests. However, any field
6681	// with an empty value appearing in NullFields will be sent to the
6682	// server as null. It is an error if a field in this list has a
6683	// non-empty value. This may be used to include null fields in Patch
6684	// requests.
6685	NullFields []string `json:"-"`
6686}
6687
6688func (s *FloodlightGroup) MarshalJSON() ([]byte, error) {
6689	type NoMethod FloodlightGroup
6690	raw := NoMethod(*s)
6691	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6692}
6693
6694// FrequencyCap: Settings that control the number of times a user may be
6695// shown with the same ad during a given time period.
6696type FrequencyCap struct {
6697	// MaxImpressions: The maximum number of times a user may be shown with
6698	// the same ad during this period. Must be greater than 0. Applicable
6699	// when unlimited is `false`.
6700	MaxImpressions int64 `json:"maxImpressions,omitempty"`
6701
6702	// TimeUnit: The time unit in which the frequency cap will be applied.
6703	// Applicable when unlimited is `false`.
6704	//
6705	// Possible values:
6706	//   "TIME_UNIT_UNSPECIFIED" - Time unit value is not specified or is
6707	// unknown in this version.
6708	//   "TIME_UNIT_LIFETIME" - The frequency cap will be applied to the
6709	// whole life time of the line item.
6710	//   "TIME_UNIT_MONTHS" - The frequency cap will be applied to a number
6711	// of months.
6712	//   "TIME_UNIT_WEEKS" - The frequency cap will be applied to a number
6713	// of weeks.
6714	//   "TIME_UNIT_DAYS" - The frequency cap will be applied to a number of
6715	// days.
6716	//   "TIME_UNIT_HOURS" - The frequency cap will be applied to a number
6717	// of hours.
6718	//   "TIME_UNIT_MINUTES" - The frequency cap will be applied to a number
6719	// of minutes.
6720	TimeUnit string `json:"timeUnit,omitempty"`
6721
6722	// TimeUnitCount: The number of time_unit the frequency cap will last.
6723	// Applicable when unlimited is `false`. The following restrictions
6724	// apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this
6725	// field is output only and will default to 1 * `TIME_UNIT_MONTHS` -
6726	// must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4
6727	// * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` -
6728	// must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1
6729	// and 59
6730	TimeUnitCount int64 `json:"timeUnitCount,omitempty"`
6731
6732	// Unlimited: Whether unlimited frequency capping is applied. When this
6733	// field is set to `true`, the remaining frequency cap fields are not
6734	// applicable.
6735	Unlimited bool `json:"unlimited,omitempty"`
6736
6737	// ForceSendFields is a list of field names (e.g. "MaxImpressions") to
6738	// unconditionally include in API requests. By default, fields with
6739	// empty values are omitted from API requests. However, any non-pointer,
6740	// non-interface field appearing in ForceSendFields will be sent to the
6741	// server regardless of whether the field is empty or not. This may be
6742	// used to include empty fields in Patch requests.
6743	ForceSendFields []string `json:"-"`
6744
6745	// NullFields is a list of field names (e.g. "MaxImpressions") to
6746	// include in API requests with the JSON null value. By default, fields
6747	// with empty values are omitted from API requests. However, any field
6748	// with an empty value appearing in NullFields will be sent to the
6749	// server as null. It is an error if a field in this list has a
6750	// non-empty value. This may be used to include null fields in Patch
6751	// requests.
6752	NullFields []string `json:"-"`
6753}
6754
6755func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
6756	type NoMethod FrequencyCap
6757	raw := NoMethod(*s)
6758	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6759}
6760
6761// GenderAssignedTargetingOptionDetails: Details for assigned gender
6762// targeting option. This will be populated in the details field of an
6763// AssignedTargetingOption when targeting_type is
6764// `TARTGETING_TYPE_GENDER`.
6765type GenderAssignedTargetingOptionDetails struct {
6766	// Gender: Output only. The gender of the audience.
6767	//
6768	// Possible values:
6769	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified
6770	// in this version. This enum is a place holder for default value and
6771	// does not represent a real gender option.
6772	//   "GENDER_MALE" - The audience gender is male.
6773	//   "GENDER_FEMALE" - The audience gender is female.
6774	//   "GENDER_UNKNOWN" - The audience gender is unknown.
6775	Gender string `json:"gender,omitempty"`
6776
6777	// TargetingOptionId: Required. The targeting_option_id of a
6778	// TargetingOption of type `TARGETING_TYPE_GENDER`.
6779	TargetingOptionId string `json:"targetingOptionId,omitempty"`
6780
6781	// ForceSendFields is a list of field names (e.g. "Gender") to
6782	// unconditionally include in API requests. By default, fields with
6783	// empty values are omitted from API requests. However, any non-pointer,
6784	// non-interface field appearing in ForceSendFields will be sent to the
6785	// server regardless of whether the field is empty or not. This may be
6786	// used to include empty fields in Patch requests.
6787	ForceSendFields []string `json:"-"`
6788
6789	// NullFields is a list of field names (e.g. "Gender") to include in API
6790	// requests with the JSON null value. By default, fields with empty
6791	// values are omitted from API requests. However, any field with an
6792	// empty value appearing in NullFields will be sent to the server as
6793	// null. It is an error if a field in this list has a non-empty value.
6794	// This may be used to include null fields in Patch requests.
6795	NullFields []string `json:"-"`
6796}
6797
6798func (s *GenderAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6799	type NoMethod GenderAssignedTargetingOptionDetails
6800	raw := NoMethod(*s)
6801	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6802}
6803
6804// GenderTargetingOptionDetails: Represents a targetable gender. This
6805// will be populated in the gender_details field of a TargetingOption
6806// when targeting_type is `TARGETING_TYPE_GENDER`.
6807type GenderTargetingOptionDetails struct {
6808	// Gender: Output only. The gender of an audience.
6809	//
6810	// Possible values:
6811	//   "GENDER_UNSPECIFIED" - Default value when gender is not specified
6812	// in this version. This enum is a place holder for default value and
6813	// does not represent a real gender option.
6814	//   "GENDER_MALE" - The audience gender is male.
6815	//   "GENDER_FEMALE" - The audience gender is female.
6816	//   "GENDER_UNKNOWN" - The audience gender is unknown.
6817	Gender string `json:"gender,omitempty"`
6818
6819	// ForceSendFields is a list of field names (e.g. "Gender") to
6820	// unconditionally include in API requests. By default, fields with
6821	// empty values are omitted from API requests. However, any non-pointer,
6822	// non-interface field appearing in ForceSendFields will be sent to the
6823	// server regardless of whether the field is empty or not. This may be
6824	// used to include empty fields in Patch requests.
6825	ForceSendFields []string `json:"-"`
6826
6827	// NullFields is a list of field names (e.g. "Gender") to include in API
6828	// requests with the JSON null value. By default, fields with empty
6829	// values are omitted from API requests. However, any field with an
6830	// empty value appearing in NullFields will be sent to the server as
6831	// null. It is an error if a field in this list has a non-empty value.
6832	// This may be used to include null fields in Patch requests.
6833	NullFields []string `json:"-"`
6834}
6835
6836func (s *GenderTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6837	type NoMethod GenderTargetingOptionDetails
6838	raw := NoMethod(*s)
6839	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6840}
6841
6842// GeoRegionAssignedTargetingOptionDetails: Details for assigned
6843// geographic region targeting option. This will be populated in the
6844// details field of an AssignedTargetingOption when targeting_type is
6845// `TARGETING_TYPE_GEO_REGION`.
6846type GeoRegionAssignedTargetingOptionDetails struct {
6847	// DisplayName: Output only. The display name of the geographic region
6848	// (e.g., "Ontario, Canada").
6849	DisplayName string `json:"displayName,omitempty"`
6850
6851	// GeoRegionType: Output only. The type of geographic region targeting.
6852	//
6853	// Possible values:
6854	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
6855	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
6856	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
6857	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
6858	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
6859	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
6860	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
6861	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a
6862	// prefecture.
6863	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a
6864	// governorate.
6865	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
6866	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a
6867	// union territory.
6868	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is
6869	// an autonomous community.
6870	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a
6871	// designated market area (DMA) region.
6872	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
6873	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is
6874	// a congressional district.
6875	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
6876	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a
6877	// municipality.
6878	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
6879	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting
6880	// type is postal code.
6881	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type
6882	// is department.
6883	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
6884	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
6885	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
6886	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
6887	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city
6888	// region.
6889	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
6890	// arrondissement.
6891	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a
6892	// neighborhood.
6893	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a
6894	// university.
6895	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
6896	GeoRegionType string `json:"geoRegionType,omitempty"`
6897
6898	// Negative: Indicates if this option is being negatively targeted.
6899	Negative bool `json:"negative,omitempty"`
6900
6901	// TargetingOptionId: Required. The targeting_option_id of a
6902	// TargetingOption of type `TARGETING_TYPE_GEO_REGION`.
6903	TargetingOptionId string `json:"targetingOptionId,omitempty"`
6904
6905	// ForceSendFields is a list of field names (e.g. "DisplayName") to
6906	// unconditionally include in API requests. By default, fields with
6907	// empty values are omitted from API requests. However, any non-pointer,
6908	// non-interface field appearing in ForceSendFields will be sent to the
6909	// server regardless of whether the field is empty or not. This may be
6910	// used to include empty fields in Patch requests.
6911	ForceSendFields []string `json:"-"`
6912
6913	// NullFields is a list of field names (e.g. "DisplayName") to include
6914	// in API requests with the JSON null value. By default, fields with
6915	// empty values are omitted from API requests. However, any field with
6916	// an empty value appearing in NullFields will be sent to the server as
6917	// null. It is an error if a field in this list has a non-empty value.
6918	// This may be used to include null fields in Patch requests.
6919	NullFields []string `json:"-"`
6920}
6921
6922func (s *GeoRegionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
6923	type NoMethod GeoRegionAssignedTargetingOptionDetails
6924	raw := NoMethod(*s)
6925	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6926}
6927
6928// GeoRegionSearchTerms: Search terms for geo region targeting options.
6929type GeoRegionSearchTerms struct {
6930	// GeoRegionQuery: The search query for the desired geo region. The
6931	// query can be a prefix, e.g. "New Yor", "Seattle", "USA", etc.
6932	GeoRegionQuery string `json:"geoRegionQuery,omitempty"`
6933
6934	// ForceSendFields is a list of field names (e.g. "GeoRegionQuery") to
6935	// unconditionally include in API requests. By default, fields with
6936	// empty values are omitted from API requests. However, any non-pointer,
6937	// non-interface field appearing in ForceSendFields will be sent to the
6938	// server regardless of whether the field is empty or not. This may be
6939	// used to include empty fields in Patch requests.
6940	ForceSendFields []string `json:"-"`
6941
6942	// NullFields is a list of field names (e.g. "GeoRegionQuery") to
6943	// include in API requests with the JSON null value. By default, fields
6944	// with empty values are omitted from API requests. However, any field
6945	// with an empty value appearing in NullFields will be sent to the
6946	// server as null. It is an error if a field in this list has a
6947	// non-empty value. This may be used to include null fields in Patch
6948	// requests.
6949	NullFields []string `json:"-"`
6950}
6951
6952func (s *GeoRegionSearchTerms) MarshalJSON() ([]byte, error) {
6953	type NoMethod GeoRegionSearchTerms
6954	raw := NoMethod(*s)
6955	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6956}
6957
6958// GeoRegionTargetingOptionDetails: Represents a targetable geographic
6959// region. This will be populated in the geo_region_details field when
6960// targeting_type is `TARGETING_TYPE_GEO_REGION`.
6961type GeoRegionTargetingOptionDetails struct {
6962	// DisplayName: Output only. The display name of the geographic region
6963	// (e.g., "Ontario, Canada").
6964	DisplayName string `json:"displayName,omitempty"`
6965
6966	// GeoRegionType: Output only. The type of geographic region targeting.
6967	//
6968	// Possible values:
6969	//   "GEO_REGION_TYPE_UNKNOWN" - The geographic region type is unknown.
6970	//   "GEO_REGION_TYPE_OTHER" - The geographic region type is other.
6971	//   "GEO_REGION_TYPE_COUNTRY" - The geographic region is a country.
6972	//   "GEO_REGION_TYPE_REGION" - The geographic region type is region.
6973	//   "GEO_REGION_TYPE_TERRITORY" - The geographic region is a territory.
6974	//   "GEO_REGION_TYPE_PROVINCE" - The geographic region is a province.
6975	//   "GEO_REGION_TYPE_STATE" - The geographic region is a state.
6976	//   "GEO_REGION_TYPE_PREFECTURE" - The geographic region is a
6977	// prefecture.
6978	//   "GEO_REGION_TYPE_GOVERNORATE" - The geographic region is a
6979	// governorate.
6980	//   "GEO_REGION_TYPE_CANTON" - The geographic region is a canton.
6981	//   "GEO_REGION_TYPE_UNION_TERRITORY" - The geographic region is a
6982	// union territory.
6983	//   "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY" - The geographic region is
6984	// an autonomous community.
6985	//   "GEO_REGION_TYPE_DMA_REGION" - The geographic region is a
6986	// designated market area (DMA) region.
6987	//   "GEO_REGION_TYPE_METRO" - The geographic region type is metro.
6988	//   "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT" - The geographic region is
6989	// a congressional district.
6990	//   "GEO_REGION_TYPE_COUNTY" - The geographic region is a county.
6991	//   "GEO_REGION_TYPE_MUNICIPALITY" - The geographic region is a
6992	// municipality.
6993	//   "GEO_REGION_TYPE_CITY" - The geographic region is a city.
6994	//   "GEO_REGION_TYPE_POSTAL_CODE" - The geographic region targeting
6995	// type is postal code.
6996	//   "GEO_REGION_TYPE_DEPARTMENT" - The geographic region targeting type
6997	// is department.
6998	//   "GEO_REGION_TYPE_AIRPORT" - The geographic region is an airport.
6999	//   "GEO_REGION_TYPE_TV_REGION" - The geographic region is a TV region.
7000	//   "GEO_REGION_TYPE_OKRUG" - The geographic region is an okrug.
7001	//   "GEO_REGION_TYPE_BOROUGH" - The geographic region is a borough.
7002	//   "GEO_REGION_TYPE_CITY_REGION" - The geographic region is a city
7003	// region.
7004	//   "GEO_REGION_TYPE_ARRONDISSEMENT" - The geographic region is an
7005	// arrondissement.
7006	//   "GEO_REGION_TYPE_NEIGHBORHOOD" - The geographic region is a
7007	// neighborhood.
7008	//   "GEO_REGION_TYPE_UNIVERSITY" - The geographic region is a
7009	// university.
7010	//   "GEO_REGION_TYPE_DISTRICT" - The geographic region is a district.
7011	GeoRegionType string `json:"geoRegionType,omitempty"`
7012
7013	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7014	// unconditionally include in API requests. By default, fields with
7015	// empty values are omitted from API requests. However, any non-pointer,
7016	// non-interface field appearing in ForceSendFields will be sent to the
7017	// server regardless of whether the field is empty or not. This may be
7018	// used to include empty fields in Patch requests.
7019	ForceSendFields []string `json:"-"`
7020
7021	// NullFields is a list of field names (e.g. "DisplayName") to include
7022	// in API requests with the JSON null value. By default, fields with
7023	// empty values are omitted from API requests. However, any field with
7024	// an empty value appearing in NullFields will be sent to the server as
7025	// null. It is an error if a field in this list has a non-empty value.
7026	// This may be used to include null fields in Patch requests.
7027	NullFields []string `json:"-"`
7028}
7029
7030func (s *GeoRegionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7031	type NoMethod GeoRegionTargetingOptionDetails
7032	raw := NoMethod(*s)
7033	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7034}
7035
7036// GoogleAudience: Describes a Google audience resource. Includes Google
7037// audience lists.
7038type GoogleAudience struct {
7039	// DisplayName: Output only. The display name of the Google audience. .
7040	DisplayName string `json:"displayName,omitempty"`
7041
7042	// GoogleAudienceId: Output only. The unique ID of the Google audience.
7043	// Assigned by the system.
7044	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
7045
7046	// GoogleAudienceType: Output only. The type of Google audience. .
7047	//
7048	// Possible values:
7049	//   "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED" - Default value when type is not
7050	// specified or is unknown.
7051	//   "GOOGLE_AUDIENCE_TYPE_AFFINITY" - Affinity type Google audience.
7052	//   "GOOGLE_AUDIENCE_TYPE_IN_MARKET" - In-Market type Google audience.
7053	//   "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS" - Installed-apps type Google
7054	// audience.
7055	//   "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES" - New-mobile-devices type
7056	// Google audience.
7057	GoogleAudienceType string `json:"googleAudienceType,omitempty"`
7058
7059	// Name: Output only. The resource name of the google audience.
7060	Name string `json:"name,omitempty"`
7061
7062	// ServerResponse contains the HTTP response code and headers from the
7063	// server.
7064	googleapi.ServerResponse `json:"-"`
7065
7066	// ForceSendFields is a list of field names (e.g. "DisplayName") to
7067	// unconditionally include in API requests. By default, fields with
7068	// empty values are omitted from API requests. However, any non-pointer,
7069	// non-interface field appearing in ForceSendFields will be sent to the
7070	// server regardless of whether the field is empty or not. This may be
7071	// used to include empty fields in Patch requests.
7072	ForceSendFields []string `json:"-"`
7073
7074	// NullFields is a list of field names (e.g. "DisplayName") to include
7075	// in API requests with the JSON null value. By default, fields with
7076	// empty values are omitted from API requests. However, any field with
7077	// an empty value appearing in NullFields will be sent to the server as
7078	// null. It is an error if a field in this list has a non-empty value.
7079	// This may be used to include null fields in Patch requests.
7080	NullFields []string `json:"-"`
7081}
7082
7083func (s *GoogleAudience) MarshalJSON() ([]byte, error) {
7084	type NoMethod GoogleAudience
7085	raw := NoMethod(*s)
7086	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7087}
7088
7089// GoogleAudienceGroup: Details of Google audience group. All Google
7090// audience targeting settings are logically ‘OR’ of each other.
7091type GoogleAudienceGroup struct {
7092	// Settings: Required. All Google audience targeting settings in Google
7093	// audience group. Repeated settings with same id will be ignored.
7094	Settings []*GoogleAudienceTargetingSetting `json:"settings,omitempty"`
7095
7096	// ForceSendFields is a list of field names (e.g. "Settings") to
7097	// unconditionally include in API requests. By default, fields with
7098	// empty values are omitted from API requests. However, any non-pointer,
7099	// non-interface field appearing in ForceSendFields will be sent to the
7100	// server regardless of whether the field is empty or not. This may be
7101	// used to include empty fields in Patch requests.
7102	ForceSendFields []string `json:"-"`
7103
7104	// NullFields is a list of field names (e.g. "Settings") to include in
7105	// API requests with the JSON null value. By default, fields with empty
7106	// values are omitted from API requests. However, any field with an
7107	// empty value appearing in NullFields will be sent to the server as
7108	// null. It is an error if a field in this list has a non-empty value.
7109	// This may be used to include null fields in Patch requests.
7110	NullFields []string `json:"-"`
7111}
7112
7113func (s *GoogleAudienceGroup) MarshalJSON() ([]byte, error) {
7114	type NoMethod GoogleAudienceGroup
7115	raw := NoMethod(*s)
7116	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7117}
7118
7119// GoogleAudienceTargetingSetting: Details of Google audience targeting
7120// setting.
7121type GoogleAudienceTargetingSetting struct {
7122	// GoogleAudienceId: Required. Google audience id of the Google audience
7123	// targeting setting. This id is google_audience_id.
7124	GoogleAudienceId int64 `json:"googleAudienceId,omitempty,string"`
7125
7126	// ForceSendFields is a list of field names (e.g. "GoogleAudienceId") to
7127	// unconditionally include in API requests. By default, fields with
7128	// empty values are omitted from API requests. However, any non-pointer,
7129	// non-interface field appearing in ForceSendFields will be sent to the
7130	// server regardless of whether the field is empty or not. This may be
7131	// used to include empty fields in Patch requests.
7132	ForceSendFields []string `json:"-"`
7133
7134	// NullFields is a list of field names (e.g. "GoogleAudienceId") to
7135	// include in API requests with the JSON null value. By default, fields
7136	// with empty values are omitted from API requests. However, any field
7137	// with an empty value appearing in NullFields will be sent to the
7138	// server as null. It is an error if a field in this list has a
7139	// non-empty value. This may be used to include null fields in Patch
7140	// requests.
7141	NullFields []string `json:"-"`
7142}
7143
7144func (s *GoogleAudienceTargetingSetting) MarshalJSON() ([]byte, error) {
7145	type NoMethod GoogleAudienceTargetingSetting
7146	raw := NoMethod(*s)
7147	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7148}
7149
7150// GoogleBytestreamMedia: Media resource.
7151type GoogleBytestreamMedia struct {
7152	// ResourceName: Name of the media resource.
7153	ResourceName string `json:"resourceName,omitempty"`
7154
7155	// ServerResponse contains the HTTP response code and headers from the
7156	// server.
7157	googleapi.ServerResponse `json:"-"`
7158
7159	// ForceSendFields is a list of field names (e.g. "ResourceName") to
7160	// unconditionally include in API requests. By default, fields with
7161	// empty values are omitted from API requests. However, any non-pointer,
7162	// non-interface field appearing in ForceSendFields will be sent to the
7163	// server regardless of whether the field is empty or not. This may be
7164	// used to include empty fields in Patch requests.
7165	ForceSendFields []string `json:"-"`
7166
7167	// NullFields is a list of field names (e.g. "ResourceName") to include
7168	// in API requests with the JSON null value. By default, fields with
7169	// empty values are omitted from API requests. However, any field with
7170	// an empty value appearing in NullFields will be sent to the server as
7171	// null. It is an error if a field in this list has a non-empty value.
7172	// This may be used to include null fields in Patch requests.
7173	NullFields []string `json:"-"`
7174}
7175
7176func (s *GoogleBytestreamMedia) MarshalJSON() ([]byte, error) {
7177	type NoMethod GoogleBytestreamMedia
7178	raw := NoMethod(*s)
7179	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7180}
7181
7182// HouseholdIncomeAssignedTargetingOptionDetails: Details for assigned
7183// household income targeting option. This will be populated in the
7184// details field of an AssignedTargetingOption when targeting_type is
7185// `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7186type HouseholdIncomeAssignedTargetingOptionDetails struct {
7187	// HouseholdIncome: Output only. The household income of the audience.
7188	//
7189	// Possible values:
7190	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household
7191	// income is not specified in this version. This enum is a placeholder
7192	// for default value and does not represent a real household income
7193	// option.
7194	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience
7195	// is unknown.
7196	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower
7197	// 50% of U.S. household incomes.
7198	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the
7199	// top 41-50% of U.S. household incomes.
7200	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the
7201	// top 31-40% of U.S. household incomes.
7202	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the
7203	// top 21-30% of U.S. household incomes.
7204	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the
7205	// top 11-20% of U.S. household incomes.
7206	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10%
7207	// of U.S. household incomes.
7208	HouseholdIncome string `json:"householdIncome,omitempty"`
7209
7210	// TargetingOptionId: Required. The targeting_option_id of a
7211	// TargetingOption of type `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7212	TargetingOptionId string `json:"targetingOptionId,omitempty"`
7213
7214	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
7215	// unconditionally include in API requests. By default, fields with
7216	// empty values are omitted from API requests. However, any non-pointer,
7217	// non-interface field appearing in ForceSendFields will be sent to the
7218	// server regardless of whether the field is empty or not. This may be
7219	// used to include empty fields in Patch requests.
7220	ForceSendFields []string `json:"-"`
7221
7222	// NullFields is a list of field names (e.g. "HouseholdIncome") to
7223	// include in API requests with the JSON null value. By default, fields
7224	// with empty values are omitted from API requests. However, any field
7225	// with an empty value appearing in NullFields will be sent to the
7226	// server as null. It is an error if a field in this list has a
7227	// non-empty value. This may be used to include null fields in Patch
7228	// requests.
7229	NullFields []string `json:"-"`
7230}
7231
7232func (s *HouseholdIncomeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7233	type NoMethod HouseholdIncomeAssignedTargetingOptionDetails
7234	raw := NoMethod(*s)
7235	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7236}
7237
7238// HouseholdIncomeTargetingOptionDetails: Represents a targetable
7239// household income. This will be populated in the
7240// household_income_details field of a TargetingOption when
7241// targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.
7242type HouseholdIncomeTargetingOptionDetails struct {
7243	// HouseholdIncome: Output only. The household income of an audience.
7244	//
7245	// Possible values:
7246	//   "HOUSEHOLD_INCOME_UNSPECIFIED" - Default value when household
7247	// income is not specified in this version. This enum is a placeholder
7248	// for default value and does not represent a real household income
7249	// option.
7250	//   "HOUSEHOLD_INCOME_UNKNOWN" - The household income of the audience
7251	// is unknown.
7252	//   "HOUSEHOLD_INCOME_LOWER_50_PERCENT" - The audience is in the lower
7253	// 50% of U.S. household incomes.
7254	//   "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT" - The audience is in the
7255	// top 41-50% of U.S. household incomes.
7256	//   "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT" - The audience is in the
7257	// top 31-40% of U.S. household incomes.
7258	//   "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT" - The audience is in the
7259	// top 21-30% of U.S. household incomes.
7260	//   "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT" - The audience is in the
7261	// top 11-20% of U.S. household incomes.
7262	//   "HOUSEHOLD_INCOME_TOP_10_PERCENT" - The audience is in the top 10%
7263	// of U.S. household incomes.
7264	HouseholdIncome string `json:"householdIncome,omitempty"`
7265
7266	// ForceSendFields is a list of field names (e.g. "HouseholdIncome") to
7267	// unconditionally include in API requests. By default, fields with
7268	// empty values are omitted from API requests. However, any non-pointer,
7269	// non-interface field appearing in ForceSendFields will be sent to the
7270	// server regardless of whether the field is empty or not. This may be
7271	// used to include empty fields in Patch requests.
7272	ForceSendFields []string `json:"-"`
7273
7274	// NullFields is a list of field names (e.g. "HouseholdIncome") to
7275	// include in API requests with the JSON null value. By default, fields
7276	// with empty values are omitted from API requests. However, any field
7277	// with an empty value appearing in NullFields will be sent to the
7278	// server as null. It is an error if a field in this list has a
7279	// non-empty value. This may be used to include null fields in Patch
7280	// requests.
7281	NullFields []string `json:"-"`
7282}
7283
7284func (s *HouseholdIncomeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7285	type NoMethod HouseholdIncomeTargetingOptionDetails
7286	raw := NoMethod(*s)
7287	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7288}
7289
7290// IdFilter: A filtering option that filters entities by their entity
7291// IDs.
7292type IdFilter struct {
7293	// AdGroupAdIds: YouTube Ads to download by ID. All IDs must belong to
7294	// the same Advertiser or Partner specified in
7295	// CreateSdfDownloadTaskRequest.
7296	AdGroupAdIds googleapi.Int64s `json:"adGroupAdIds,omitempty"`
7297
7298	// AdGroupIds: YouTube Ad Groups to download by ID. All IDs must belong
7299	// to the same Advertiser or Partner specified in
7300	// CreateSdfDownloadTaskRequest.
7301	AdGroupIds googleapi.Int64s `json:"adGroupIds,omitempty"`
7302
7303	// CampaignIds: Campaigns to download by ID. All IDs must belong to the
7304	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
7305	CampaignIds googleapi.Int64s `json:"campaignIds,omitempty"`
7306
7307	// InsertionOrderIds: Insertion Orders to download by ID. All IDs must
7308	// belong to the same Advertiser or Partner specified in
7309	// CreateSdfDownloadTaskRequest.
7310	InsertionOrderIds googleapi.Int64s `json:"insertionOrderIds,omitempty"`
7311
7312	// LineItemIds: Line Items to download by ID. All IDs must belong to the
7313	// same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
7314	LineItemIds googleapi.Int64s `json:"lineItemIds,omitempty"`
7315
7316	// MediaProductIds: Media Products to download by ID. All IDs must
7317	// belong to the same Advertiser or Partner specified in
7318	// CreateSdfDownloadTaskRequest.
7319	MediaProductIds googleapi.Int64s `json:"mediaProductIds,omitempty"`
7320
7321	// ForceSendFields is a list of field names (e.g. "AdGroupAdIds") to
7322	// unconditionally include in API requests. By default, fields with
7323	// empty values are omitted from API requests. However, any non-pointer,
7324	// non-interface field appearing in ForceSendFields will be sent to the
7325	// server regardless of whether the field is empty or not. This may be
7326	// used to include empty fields in Patch requests.
7327	ForceSendFields []string `json:"-"`
7328
7329	// NullFields is a list of field names (e.g. "AdGroupAdIds") to include
7330	// in API requests with the JSON null value. By default, fields with
7331	// empty values are omitted from API requests. However, any field with
7332	// an empty value appearing in NullFields will be sent to the server as
7333	// null. It is an error if a field in this list has a non-empty value.
7334	// This may be used to include null fields in Patch requests.
7335	NullFields []string `json:"-"`
7336}
7337
7338func (s *IdFilter) MarshalJSON() ([]byte, error) {
7339	type NoMethod IdFilter
7340	raw := NoMethod(*s)
7341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7342}
7343
7344// InsertionOrder: A single insertion order.
7345type InsertionOrder struct {
7346	// AdvertiserId: Output only. The unique ID of the advertiser the
7347	// insertion order belongs to.
7348	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7349
7350	// BidStrategy: The bidding strategy of the insertion order. By default,
7351	// fixed_bid is set.
7352	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
7353
7354	// Budget: Required. The budget allocation settings of the insertion
7355	// order.
7356	Budget *InsertionOrderBudget `json:"budget,omitempty"`
7357
7358	// CampaignId: Required. Immutable. The unique ID of the campaign that
7359	// the insertion order belongs to.
7360	CampaignId int64 `json:"campaignId,omitempty,string"`
7361
7362	// DisplayName: Required. The display name of the insertion order. Must
7363	// be UTF-8 encoded with a maximum size of 240 bytes.
7364	DisplayName string `json:"displayName,omitempty"`
7365
7366	// EntityStatus: Required. Controls whether or not the insertion order
7367	// can spend its budget and bid on inventory. * For CreateInsertionOrder
7368	// method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an
7369	// insertion order, use UpdateInsertionOrder method and update the
7370	// status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion order
7371	// cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other
7372	// status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE`
7373	// if its parent campaign is not active.
7374	//
7375	// Possible values:
7376	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
7377	// specified or is unknown in this version.
7378	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
7379	// budget.
7380	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
7381	// budget spending are disabled. An entity can be deleted after
7382	// archived. Deleted entities cannot be retrieved.
7383	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
7384	// budget spending are disabled.
7385	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
7386	// the entity.
7387	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
7388	// for deletion.
7389	EntityStatus string `json:"entityStatus,omitempty"`
7390
7391	// FrequencyCap: Required. The frequency capping setting of the
7392	// insertion order.
7393	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
7394
7395	// InsertionOrderId: Output only. The unique ID of the insertion order.
7396	// Assigned by the system.
7397	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
7398
7399	// InsertionOrderType: The type of insertion order. If this field is
7400	// unspecified in creation, the value defaults to `RTB`.
7401	//
7402	// Possible values:
7403	//   "INSERTION_ORDER_TYPE_UNSPECIFIED" - Insertion order type is not
7404	// specified or is unknown.
7405	//   "RTB" - RTB Video type IO.
7406	//   "OVER_THE_TOP" - Video Over the top type IO.
7407	InsertionOrderType string `json:"insertionOrderType,omitempty"`
7408
7409	// IntegrationDetails: Additional integration details of the insertion
7410	// order.
7411	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
7412
7413	// Name: Output only. The resource name of the insertion order.
7414	Name string `json:"name,omitempty"`
7415
7416	// Pacing: Required. The budget spending speed setting of the insertion
7417	// order.
7418	Pacing *Pacing `json:"pacing,omitempty"`
7419
7420	// PartnerCosts: The partner costs associated with the insertion order.
7421	// If absent or empty in CreateInsertionOrder method, the newly created
7422	// insertion order will inherit partner costs from the partner settings.
7423	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
7424
7425	// PerformanceGoal: Required. Performance goal of the insertion order.
7426	PerformanceGoal *PerformanceGoal `json:"performanceGoal,omitempty"`
7427
7428	// UpdateTime: Output only. The timestamp when the insertion order was
7429	// last updated. Assigned by the system.
7430	UpdateTime string `json:"updateTime,omitempty"`
7431
7432	// ServerResponse contains the HTTP response code and headers from the
7433	// server.
7434	googleapi.ServerResponse `json:"-"`
7435
7436	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
7437	// unconditionally include in API requests. By default, fields with
7438	// empty values are omitted from API requests. However, any non-pointer,
7439	// non-interface field appearing in ForceSendFields will be sent to the
7440	// server regardless of whether the field is empty or not. This may be
7441	// used to include empty fields in Patch requests.
7442	ForceSendFields []string `json:"-"`
7443
7444	// NullFields is a list of field names (e.g. "AdvertiserId") to include
7445	// in API requests with the JSON null value. By default, fields with
7446	// empty values are omitted from API requests. However, any field with
7447	// an empty value appearing in NullFields will be sent to the server as
7448	// null. It is an error if a field in this list has a non-empty value.
7449	// This may be used to include null fields in Patch requests.
7450	NullFields []string `json:"-"`
7451}
7452
7453func (s *InsertionOrder) MarshalJSON() ([]byte, error) {
7454	type NoMethod InsertionOrder
7455	raw := NoMethod(*s)
7456	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7457}
7458
7459// InsertionOrderBudget: Settings that control how insertion order
7460// budget is allocated.
7461type InsertionOrderBudget struct {
7462	// AutomationType: The type of automation used to manage bid and budget
7463	// for the insertion order. If this field is unspecified in creation,
7464	// the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.
7465	//
7466	// Possible values:
7467	//   "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED" - Insertion order
7468	// automation option is not specified or is unknown in this version.
7469	//   "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET" - Automatic budget
7470	// allocation. Allow the system to automatically shift budget to owning
7471	// line items to optimize performance defined by performance_goal. No
7472	// automation on bid settings.
7473	//   "INSERTION_ORDER_AUTOMATION_TYPE_NONE" - No automation of bid or
7474	// budget on insertion order level. Bid and budget must be manually
7475	// configured at the line item level.
7476	//   "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" - Allow the system to
7477	// automatically adjust bids and shift budget to owning line items to
7478	// optimize performance defined by performance_goal.
7479	AutomationType string `json:"automationType,omitempty"`
7480
7481	// BudgetSegments: Required. The list of budget segments. Use a budget
7482	// segment to specify a specific budget for a given period of time an
7483	// insertion order is running.
7484	BudgetSegments []*InsertionOrderBudgetSegment `json:"budgetSegments,omitempty"`
7485
7486	// BudgetUnit: Required. Immutable. The budget unit specifies whether
7487	// the budget is currency based or impression based.
7488	//
7489	// Possible values:
7490	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
7491	// unknown in this version.
7492	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
7493	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
7494	BudgetUnit string `json:"budgetUnit,omitempty"`
7495
7496	// ForceSendFields is a list of field names (e.g. "AutomationType") to
7497	// unconditionally include in API requests. By default, fields with
7498	// empty values are omitted from API requests. However, any non-pointer,
7499	// non-interface field appearing in ForceSendFields will be sent to the
7500	// server regardless of whether the field is empty or not. This may be
7501	// used to include empty fields in Patch requests.
7502	ForceSendFields []string `json:"-"`
7503
7504	// NullFields is a list of field names (e.g. "AutomationType") to
7505	// include in API requests with the JSON null value. By default, fields
7506	// with empty values are omitted from API requests. However, any field
7507	// with an empty value appearing in NullFields will be sent to the
7508	// server as null. It is an error if a field in this list has a
7509	// non-empty value. This may be used to include null fields in Patch
7510	// requests.
7511	NullFields []string `json:"-"`
7512}
7513
7514func (s *InsertionOrderBudget) MarshalJSON() ([]byte, error) {
7515	type NoMethod InsertionOrderBudget
7516	raw := NoMethod(*s)
7517	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7518}
7519
7520// InsertionOrderBudgetSegment: Settings that control the budget of a
7521// single budget segment.
7522type InsertionOrderBudgetSegment struct {
7523	// BudgetAmountMicros: Required. The budget amount the insertion order
7524	// will spend for the given date_range. The amount is in micros. Must be
7525	// greater than 0. For example, 500000000 represents 500 standard units
7526	// of the currency.
7527	BudgetAmountMicros int64 `json:"budgetAmountMicros,omitempty,string"`
7528
7529	// CampaignBudgetId: The ID of the campaign budget linked to this
7530	// insertion order budget segment.
7531	CampaignBudgetId int64 `json:"campaignBudgetId,omitempty,string"`
7532
7533	// DateRange: Required. The start and end date settings of the budget
7534	// segment. They are resolved relative to the parent advertiser's time
7535	// zone. * When creating a new budget segment, both `start_date` and
7536	// `end_date` must be in the future. * An existing budget segment with a
7537	// `start_date` in the past has a mutable `end_date` but an immutable
7538	// `start_date`. * `end_date` must be the `start_date` or later, both
7539	// before the year 2037.
7540	DateRange *DateRange `json:"dateRange,omitempty"`
7541
7542	// Description: The budget segment description. It can be used to enter
7543	// Purchase Order information for each budget segment and have that
7544	// information printed on the invoices. Must be UTF-8 encoded with a
7545	// length of no more than 80 characters.
7546	Description string `json:"description,omitempty"`
7547
7548	// ForceSendFields is a list of field names (e.g. "BudgetAmountMicros")
7549	// to unconditionally include in API requests. By default, fields with
7550	// empty values are omitted from API requests. However, any non-pointer,
7551	// non-interface field appearing in ForceSendFields will be sent to the
7552	// server regardless of whether the field is empty or not. This may be
7553	// used to include empty fields in Patch requests.
7554	ForceSendFields []string `json:"-"`
7555
7556	// NullFields is a list of field names (e.g. "BudgetAmountMicros") to
7557	// include in API requests with the JSON null value. By default, fields
7558	// with empty values are omitted from API requests. However, any field
7559	// with an empty value appearing in NullFields will be sent to the
7560	// server as null. It is an error if a field in this list has a
7561	// non-empty value. This may be used to include null fields in Patch
7562	// requests.
7563	NullFields []string `json:"-"`
7564}
7565
7566func (s *InsertionOrderBudgetSegment) MarshalJSON() ([]byte, error) {
7567	type NoMethod InsertionOrderBudgetSegment
7568	raw := NoMethod(*s)
7569	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7570}
7571
7572// IntegralAdScience: Details of Integral Ad Science settings.
7573type IntegralAdScience struct {
7574	// CustomSegmentId: The custom segment ID provided by Integral Ad
7575	// Science. The ID must be between `1000001` and `1999999`, inclusive.
7576	CustomSegmentId googleapi.Int64s `json:"customSegmentId,omitempty"`
7577
7578	// DisplayViewability: Display Viewability section (applicable to
7579	// display line items only).
7580	//
7581	// Possible values:
7582	//   "PERFORMANCE_VIEWABILITY_UNSPECIFIED" - This enum is only a
7583	// placeholder and it doesn't specify any display viewability options.
7584	//   "PERFORMANCE_VIEWABILITY_40" - Target 40% Viewability or Higher.
7585	//   "PERFORMANCE_VIEWABILITY_50" - Target 50% Viewability or Higher.
7586	//   "PERFORMANCE_VIEWABILITY_60" - Target 60% Viewability or Higher.
7587	//   "PERFORMANCE_VIEWABILITY_70" - Target 70% Viewability or Higher.
7588	DisplayViewability string `json:"displayViewability,omitempty"`
7589
7590	// ExcludeUnrateable: Brand Safety - **Unrateable**.
7591	ExcludeUnrateable bool `json:"excludeUnrateable,omitempty"`
7592
7593	// ExcludedAdFraudRisk: Ad Fraud settings.
7594	//
7595	// Possible values:
7596	//   "SUSPICIOUS_ACTIVITY_UNSPECIFIED" - This enum is only a placeholder
7597	// and it doesn't specify any ad fraud prevention options.
7598	//   "SUSPICIOUS_ACTIVITY_HR" - Ad Fraud - Exclude High Risk.
7599	//   "SUSPICIOUS_ACTIVITY_HMR" - Ad Fraud - Exclude High and Moderate
7600	// Risk.
7601	ExcludedAdFraudRisk string `json:"excludedAdFraudRisk,omitempty"`
7602
7603	// ExcludedAdultRisk: Brand Safety - **Adult content**.
7604	//
7605	// Possible values:
7606	//   "ADULT_UNSPECIFIED" - This enum is only a placeholder and it
7607	// doesn't specify any adult options.
7608	//   "ADULT_HR" - Adult - Exclude High Risk.
7609	//   "ADULT_HMR" - Adult - Exclude High and Moderate Risk.
7610	ExcludedAdultRisk string `json:"excludedAdultRisk,omitempty"`
7611
7612	// ExcludedAlcoholRisk: Brand Safety - **Alcohol**.
7613	//
7614	// Possible values:
7615	//   "ALCOHOL_UNSPECIFIED" - This enum is only a placeholder and it
7616	// doesn't specify any alcohol options.
7617	//   "ALCOHOL_HR" - Alcohol - Exclude High Risk.
7618	//   "ALCOHOL_HMR" - Alcohol - Exclude High and Moderate Risk.
7619	ExcludedAlcoholRisk string `json:"excludedAlcoholRisk,omitempty"`
7620
7621	// ExcludedDrugsRisk: Brand Safety - **Drugs**.
7622	//
7623	// Possible values:
7624	//   "DRUGS_UNSPECIFIED" - This enum is only a placeholder and it
7625	// doesn't specify any drugs options.
7626	//   "DRUGS_HR" - Drugs - Exclude High Risk.
7627	//   "DRUGS_HMR" - Drugs - Exclude High and Moderate Risk.
7628	ExcludedDrugsRisk string `json:"excludedDrugsRisk,omitempty"`
7629
7630	// ExcludedGamblingRisk: Brand Safety - **Gambling**.
7631	//
7632	// Possible values:
7633	//   "GAMBLING_UNSPECIFIED" - This enum is only a placeholder and it
7634	// doesn't specify any gambling options.
7635	//   "GAMBLING_HR" - Gambling - Exclude High Risk.
7636	//   "GAMBLING_HMR" - Gambling - Exclude High and Moderate Risk.
7637	ExcludedGamblingRisk string `json:"excludedGamblingRisk,omitempty"`
7638
7639	// ExcludedHateSpeechRisk: Brand Safety - **Hate speech**.
7640	//
7641	// Possible values:
7642	//   "HATE_SPEECH_UNSPECIFIED" - This enum is only a placeholder and it
7643	// doesn't specify any hate speech options.
7644	//   "HATE_SPEECH_HR" - Hate Speech - Exclude High Risk.
7645	//   "HATE_SPEECH_HMR" - Hate Speech - Exclude High and Moderate Risk.
7646	ExcludedHateSpeechRisk string `json:"excludedHateSpeechRisk,omitempty"`
7647
7648	// ExcludedIllegalDownloadsRisk: Brand Safety - **Illegal downloads**.
7649	//
7650	// Possible values:
7651	//   "ILLEGAL_DOWNLOADS_UNSPECIFIED" - This enum is only a placeholder
7652	// and it doesn't specify any illegal downloads options.
7653	//   "ILLEGAL_DOWNLOADS_HR" - Illegal Downloads - Exclude High Risk.
7654	//   "ILLEGAL_DOWNLOADS_HMR" - Illegal Downloads - Exclude High and
7655	// Moderate Risk.
7656	ExcludedIllegalDownloadsRisk string `json:"excludedIllegalDownloadsRisk,omitempty"`
7657
7658	// ExcludedOffensiveLanguageRisk: Brand Safety - **Offensive language**.
7659	//
7660	// Possible values:
7661	//   "OFFENSIVE_LANGUAGE_UNSPECIFIED" - This enum is only a placeholder
7662	// and it doesn't specify any language options.
7663	//   "OFFENSIVE_LANGUAGE_HR" - Offensive Language - Exclude High Risk.
7664	//   "OFFENSIVE_LANGUAGE_HMR" - Offensive Language - Exclude High and
7665	// Moderate Risk.
7666	ExcludedOffensiveLanguageRisk string `json:"excludedOffensiveLanguageRisk,omitempty"`
7667
7668	// ExcludedViolenceRisk: Brand Safety - **Violence**.
7669	//
7670	// Possible values:
7671	//   "VIOLENCE_UNSPECIFIED" - This enum is only a placeholder and it
7672	// doesn't specify any violence options.
7673	//   "VIOLENCE_HR" - Violence - Exclude High Risk.
7674	//   "VIOLENCE_HMR" - Violence - Exclude High and Moderate Risk.
7675	ExcludedViolenceRisk string `json:"excludedViolenceRisk,omitempty"`
7676
7677	// TraqScoreOption: True advertising quality (applicable to Display line
7678	// items only).
7679	//
7680	// Possible values:
7681	//   "TRAQ_UNSPECIFIED" - This enum is only a placeholder and it doesn't
7682	// specify any true advertising quality scores.
7683	//   "TRAQ_250" - TRAQ score 250-1000.
7684	//   "TRAQ_500" - TRAQ score 500-1000.
7685	//   "TRAQ_600" - TRAQ score 600-1000.
7686	//   "TRAQ_700" - TRAQ score 700-1000.
7687	//   "TRAQ_750" - TRAQ score 750-1000.
7688	//   "TRAQ_875" - TRAQ score 875-1000.
7689	//   "TRAQ_1000" - TRAQ score 1000.
7690	TraqScoreOption string `json:"traqScoreOption,omitempty"`
7691
7692	// VideoViewability: Video Viewability Section (applicable to video line
7693	// items only).
7694	//
7695	// Possible values:
7696	//   "VIDEO_VIEWABILITY_UNSPECIFIED" - This enum is only a placeholder
7697	// and it doesn't specify any video viewability options.
7698	//   "VIDEO_VIEWABILITY_40" - 40%+ in view (IAB video viewability
7699	// standard).
7700	//   "VIDEO_VIEWABILITY_50" - 50%+ in view (IAB video viewability
7701	// standard).
7702	//   "VIDEO_VIEWABILITY_60" - 60%+ in view (IAB video viewability
7703	// standard).
7704	//   "VIDEO_VIEWABILITY_70" - 70%+ in view (IAB video viewability
7705	// standard).
7706	VideoViewability string `json:"videoViewability,omitempty"`
7707
7708	// ForceSendFields is a list of field names (e.g. "CustomSegmentId") to
7709	// unconditionally include in API requests. By default, fields with
7710	// empty values are omitted from API requests. However, any non-pointer,
7711	// non-interface field appearing in ForceSendFields will be sent to the
7712	// server regardless of whether the field is empty or not. This may be
7713	// used to include empty fields in Patch requests.
7714	ForceSendFields []string `json:"-"`
7715
7716	// NullFields is a list of field names (e.g. "CustomSegmentId") to
7717	// include in API requests with the JSON null value. By default, fields
7718	// with empty values are omitted from API requests. However, any field
7719	// with an empty value appearing in NullFields will be sent to the
7720	// server as null. It is an error if a field in this list has a
7721	// non-empty value. This may be used to include null fields in Patch
7722	// requests.
7723	NullFields []string `json:"-"`
7724}
7725
7726func (s *IntegralAdScience) MarshalJSON() ([]byte, error) {
7727	type NoMethod IntegralAdScience
7728	raw := NoMethod(*s)
7729	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7730}
7731
7732// IntegrationDetails: Integration details of an entry.
7733type IntegrationDetails struct {
7734	// Details: Additional details of the entry in string format. Must be
7735	// UTF-8 encoded with a length of no more than 1000 characters.
7736	Details string `json:"details,omitempty"`
7737
7738	// IntegrationCode: An external identifier to be associated with the
7739	// entry. The integration code will show up together with the entry in
7740	// many places in the system, for example, reporting. Must be UTF-8
7741	// encoded with a length of no more than 500 characters.
7742	IntegrationCode string `json:"integrationCode,omitempty"`
7743
7744	// ForceSendFields is a list of field names (e.g. "Details") to
7745	// unconditionally include in API requests. By default, fields with
7746	// empty values are omitted from API requests. However, any non-pointer,
7747	// non-interface field appearing in ForceSendFields will be sent to the
7748	// server regardless of whether the field is empty or not. This may be
7749	// used to include empty fields in Patch requests.
7750	ForceSendFields []string `json:"-"`
7751
7752	// NullFields is a list of field names (e.g. "Details") to include in
7753	// API requests with the JSON null value. By default, fields with empty
7754	// values are omitted from API requests. However, any field with an
7755	// empty value appearing in NullFields will be sent to the server as
7756	// null. It is an error if a field in this list has a non-empty value.
7757	// This may be used to include null fields in Patch requests.
7758	NullFields []string `json:"-"`
7759}
7760
7761func (s *IntegrationDetails) MarshalJSON() ([]byte, error) {
7762	type NoMethod IntegrationDetails
7763	raw := NoMethod(*s)
7764	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7765}
7766
7767// InventorySource: An inventory source.
7768type InventorySource struct {
7769	// Commitment: Whether the inventory source has a guaranteed or
7770	// non-guaranteed delivery.
7771	//
7772	// Possible values:
7773	//   "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED" - The commitment is not
7774	// specified or is unknown in this version.
7775	//   "INVENTORY_SOURCE_COMMITMENT_GUARANTEED" - The commitment is
7776	// guaranteed delivery.
7777	//   "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" - The commitment is
7778	// non-guaranteed delivery.
7779	Commitment string `json:"commitment,omitempty"`
7780
7781	// CreativeConfigs: The creative requirements of the inventory source.
7782	// Not applicable for auction packages.
7783	CreativeConfigs []*CreativeConfig `json:"creativeConfigs,omitempty"`
7784
7785	// DealId: The ID in the exchange space that uniquely identifies the
7786	// inventory source. Must be unique across buyers within each exchange
7787	// but not necessarily unique across exchanges.
7788	DealId string `json:"dealId,omitempty"`
7789
7790	// DeliveryMethod: The delivery method of the inventory source. * For
7791	// non-guaranteed inventory sources, the only acceptable value is
7792	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed
7793	// inventory sources, acceptable values are
7794	// `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and
7795	// `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.
7796	//
7797	// Possible values:
7798	//   "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED" - The delivery
7799	// method is not specified or is unknown in this version.
7800	//   "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC" - The delivery
7801	// method is programmatic.
7802	//   "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" - The delivery method is
7803	// tag.
7804	DeliveryMethod string `json:"deliveryMethod,omitempty"`
7805
7806	// DisplayName: The display name of the inventory source. Must be UTF-8
7807	// encoded with a maximum size of 240 bytes.
7808	DisplayName string `json:"displayName,omitempty"`
7809
7810	// Exchange: The exchange to which the inventory source belongs.
7811	//
7812	// Possible values:
7813	//   "EXCHANGE_UNSPECIFIED" - Exchange is not specified or is unknown in
7814	// this version.
7815	//   "EXCHANGE_GOOGLE_AD_MANAGER" - Google Ad Manager.
7816	//   "EXCHANGE_APPNEXUS" - AppNexus.
7817	//   "EXCHANGE_BRIGHTROLL" - BrightRoll Exchange for Video from Yahoo!.
7818	//   "EXCHANGE_ADFORM" - Adform.
7819	//   "EXCHANGE_ADMETA" - Admeta.
7820	//   "EXCHANGE_ADMIXER" - Admixer.
7821	//   "EXCHANGE_ADSMOGO" - AdsMogo.
7822	//   "EXCHANGE_ADSWIZZ" - AdsWizz.
7823	//   "EXCHANGE_BIDSWITCH" - BidSwitch.
7824	//   "EXCHANGE_BRIGHTROLL_DISPLAY" - BrightRoll Exchange for Display
7825	// from Yahoo!.
7826	//   "EXCHANGE_CADREON" - Cadreon.
7827	//   "EXCHANGE_DAILYMOTION" - Dailymotion.
7828	//   "EXCHANGE_FIVE" - Five.
7829	//   "EXCHANGE_FLUCT" - Fluct.
7830	//   "EXCHANGE_FREEWHEEL" - FreeWheel SSP.
7831	//   "EXCHANGE_GENIEE" - Geniee.
7832	//   "EXCHANGE_GUMGUM" - GumGum.
7833	//   "EXCHANGE_IMOBILE" - i-mobile.
7834	//   "EXCHANGE_IBILLBOARD" - iBILLBOARD.
7835	//   "EXCHANGE_IMPROVE_DIGITAL" - Improve Digital.
7836	//   "EXCHANGE_INDEX" - Index Exchange.
7837	//   "EXCHANGE_KARGO" - Kargo.
7838	//   "EXCHANGE_MICROAD" - MicroAd.
7839	//   "EXCHANGE_MOPUB" - MoPub.
7840	//   "EXCHANGE_NEND" - Nend.
7841	//   "EXCHANGE_ONE_BY_AOL_DISPLAY" - ONE by AOL: Display Market Place.
7842	//   "EXCHANGE_ONE_BY_AOL_MOBILE" - ONE by AOL: Mobile.
7843	//   "EXCHANGE_ONE_BY_AOL_VIDEO" - ONE by AOL: Video.
7844	//   "EXCHANGE_OOYALA" - Ooyala.
7845	//   "EXCHANGE_OPENX" - OpenX.
7846	//   "EXCHANGE_PERMODO" - Permodo.
7847	//   "EXCHANGE_PLATFORMONE" - Platform One.
7848	//   "EXCHANGE_PLATFORMID" - PlatformId.
7849	//   "EXCHANGE_PUBMATIC" - PubMatic.
7850	//   "EXCHANGE_PULSEPOINT" - PulsePoint.
7851	//   "EXCHANGE_REVENUEMAX" - RevenueMax.
7852	//   "EXCHANGE_RUBICON" - Rubicon.
7853	//   "EXCHANGE_SMARTCLIP" - SmartClip.
7854	//   "EXCHANGE_SMARTRTB" - SmartRTB+.
7855	//   "EXCHANGE_SMARTSTREAMTV" - SmartstreamTv.
7856	//   "EXCHANGE_SOVRN" - Sovrn.
7857	//   "EXCHANGE_SPOTXCHANGE" - SpotXchange.
7858	//   "EXCHANGE_STROER" - Ströer SSP.
7859	//   "EXCHANGE_TEADSTV" - TeadsTv.
7860	//   "EXCHANGE_TELARIA" - Telaria.
7861	//   "EXCHANGE_TVN" - TVN.
7862	//   "EXCHANGE_UNITED" - United.
7863	//   "EXCHANGE_YIELDLAB" - Yieldlab.
7864	//   "EXCHANGE_YIELDMO" - Yieldmo.
7865	//   "EXCHANGE_UNRULYX" - UnrulyX
7866	//   "EXCHANGE_OPEN8" - Open8
7867	//   "EXCHANGE_TRITON" - Triton.
7868	//   "EXCHANGE_TRIPLELIFT" - TripleLift
7869	//   "EXCHANGE_TABOOLA" - Taboola
7870	//   "EXCHANGE_INMOBI" - InMobi.
7871	//   "EXCHANGE_SMAATO" - Smaato
7872	//   "EXCHANGE_AJA" - Aja.
7873	//   "EXCHANGE_SUPERSHIP" - Supership.
7874	//   "EXCHANGE_NEXSTAR_DIGITAL" - Nexstar Digital.
7875	//   "EXCHANGE_WAZE" - Waze.
7876	Exchange string `json:"exchange,omitempty"`
7877
7878	// InventorySourceId: Output only. The unique ID of the inventory
7879	// source. Assigned by the system.
7880	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
7881
7882	// InventorySourceType: Denotes the type of the inventory source.
7883	//
7884	// Possible values:
7885	//   "INVENTORY_SOURCE_TYPE_UNSPECIFIED" - The inventory source type is
7886	// not specified or is unknown in this version.
7887	//   "INVENTORY_SOURCE_TYPE_PRIVATE" - Private inventory source.
7888	//   "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" - Auction package.
7889	InventorySourceType string `json:"inventorySourceType,omitempty"`
7890
7891	// Name: Output only. The resource name of the inventory source.
7892	Name string `json:"name,omitempty"`
7893
7894	// PublisherName: The publisher/seller name of the inventory source.
7895	PublisherName string `json:"publisherName,omitempty"`
7896
7897	// RateDetails: Required. The rate details of the inventory source.
7898	RateDetails *RateDetails `json:"rateDetails,omitempty"`
7899
7900	// Status: The status settings of the inventory source.
7901	Status *InventorySourceStatus `json:"status,omitempty"`
7902
7903	// TimeRange: The time range when this inventory source starts and stops
7904	// serving.
7905	TimeRange *TimeRange `json:"timeRange,omitempty"`
7906
7907	// UpdateTime: Output only. The timestamp when the inventory source was
7908	// last updated. Assigned by the system.
7909	UpdateTime string `json:"updateTime,omitempty"`
7910
7911	// ServerResponse contains the HTTP response code and headers from the
7912	// server.
7913	googleapi.ServerResponse `json:"-"`
7914
7915	// ForceSendFields is a list of field names (e.g. "Commitment") to
7916	// unconditionally include in API requests. By default, fields with
7917	// empty values are omitted from API requests. However, any non-pointer,
7918	// non-interface field appearing in ForceSendFields will be sent to the
7919	// server regardless of whether the field is empty or not. This may be
7920	// used to include empty fields in Patch requests.
7921	ForceSendFields []string `json:"-"`
7922
7923	// NullFields is a list of field names (e.g. "Commitment") to include in
7924	// API requests with the JSON null value. By default, fields with empty
7925	// values are omitted from API requests. However, any field with an
7926	// empty value appearing in NullFields will be sent to the server as
7927	// null. It is an error if a field in this list has a non-empty value.
7928	// This may be used to include null fields in Patch requests.
7929	NullFields []string `json:"-"`
7930}
7931
7932func (s *InventorySource) MarshalJSON() ([]byte, error) {
7933	type NoMethod InventorySource
7934	raw := NoMethod(*s)
7935	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7936}
7937
7938// InventorySourceAssignedTargetingOptionDetails: Targeting details for
7939// inventory source. This will be populated in the details field of an
7940// AssignedTargetingOption when targeting_type is
7941// `TARGETING_TYPE_INVENTORY_SOURCE`.
7942type InventorySourceAssignedTargetingOptionDetails struct {
7943	// InventorySourceId: Required. ID of the inventory source. Should refer
7944	// to the inventory_source_id field of an InventorySource resource.
7945	InventorySourceId int64 `json:"inventorySourceId,omitempty,string"`
7946
7947	// ForceSendFields is a list of field names (e.g. "InventorySourceId")
7948	// to unconditionally include in API requests. By default, fields with
7949	// empty values are omitted from API requests. However, any non-pointer,
7950	// non-interface field appearing in ForceSendFields will be sent to the
7951	// server regardless of whether the field is empty or not. This may be
7952	// used to include empty fields in Patch requests.
7953	ForceSendFields []string `json:"-"`
7954
7955	// NullFields is a list of field names (e.g. "InventorySourceId") to
7956	// include in API requests with the JSON null value. By default, fields
7957	// with empty values are omitted from API requests. However, any field
7958	// with an empty value appearing in NullFields will be sent to the
7959	// server as null. It is an error if a field in this list has a
7960	// non-empty value. This may be used to include null fields in Patch
7961	// requests.
7962	NullFields []string `json:"-"`
7963}
7964
7965func (s *InventorySourceAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
7966	type NoMethod InventorySourceAssignedTargetingOptionDetails
7967	raw := NoMethod(*s)
7968	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7969}
7970
7971// InventorySourceDisplayCreativeConfig: The configuration for display
7972// creatives.
7973type InventorySourceDisplayCreativeConfig struct {
7974	// CreativeSize: The size requirements for display creatives that can be
7975	// assigned to the inventory source.
7976	CreativeSize *Dimensions `json:"creativeSize,omitempty"`
7977
7978	// ForceSendFields is a list of field names (e.g. "CreativeSize") to
7979	// unconditionally include in API requests. By default, fields with
7980	// empty values are omitted from API requests. However, any non-pointer,
7981	// non-interface field appearing in ForceSendFields will be sent to the
7982	// server regardless of whether the field is empty or not. This may be
7983	// used to include empty fields in Patch requests.
7984	ForceSendFields []string `json:"-"`
7985
7986	// NullFields is a list of field names (e.g. "CreativeSize") to include
7987	// in API requests with the JSON null value. By default, fields with
7988	// empty values are omitted from API requests. However, any field with
7989	// an empty value appearing in NullFields will be sent to the server as
7990	// null. It is an error if a field in this list has a non-empty value.
7991	// This may be used to include null fields in Patch requests.
7992	NullFields []string `json:"-"`
7993}
7994
7995func (s *InventorySourceDisplayCreativeConfig) MarshalJSON() ([]byte, error) {
7996	type NoMethod InventorySourceDisplayCreativeConfig
7997	raw := NoMethod(*s)
7998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7999}
8000
8001// InventorySourceFilter: A filtering option for filtering on Inventory
8002// Source entities.
8003type InventorySourceFilter struct {
8004	// InventorySourceIds: Inventory Sources to download by ID. All IDs must
8005	// belong to the same Advertiser or Partner specified in
8006	// CreateSdfDownloadTaskRequest. Leave empty to download all Inventory
8007	// Sources for the selected Advertiser or Partner.
8008	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
8009
8010	// ForceSendFields is a list of field names (e.g. "InventorySourceIds")
8011	// to unconditionally include in API requests. By default, fields with
8012	// empty values are omitted from API requests. However, any non-pointer,
8013	// non-interface field appearing in ForceSendFields will be sent to the
8014	// server regardless of whether the field is empty or not. This may be
8015	// used to include empty fields in Patch requests.
8016	ForceSendFields []string `json:"-"`
8017
8018	// NullFields is a list of field names (e.g. "InventorySourceIds") to
8019	// include in API requests with the JSON null value. By default, fields
8020	// with empty values are omitted from API requests. However, any field
8021	// with an empty value appearing in NullFields will be sent to the
8022	// server as null. It is an error if a field in this list has a
8023	// non-empty value. This may be used to include null fields in Patch
8024	// requests.
8025	NullFields []string `json:"-"`
8026}
8027
8028func (s *InventorySourceFilter) MarshalJSON() ([]byte, error) {
8029	type NoMethod InventorySourceFilter
8030	raw := NoMethod(*s)
8031	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8032}
8033
8034// InventorySourceGroup: A collection of targetable inventory sources.
8035type InventorySourceGroup struct {
8036	// DisplayName: Required. The display name of the inventory source
8037	// group. Must be UTF-8 encoded with a maximum size of 240 bytes.
8038	DisplayName string `json:"displayName,omitempty"`
8039
8040	// InventorySourceGroupId: Output only. The unique ID of the inventory
8041	// source group. Assigned by the system.
8042	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
8043
8044	// Name: Output only. The resource name of the inventory source group.
8045	Name string `json:"name,omitempty"`
8046
8047	// ServerResponse contains the HTTP response code and headers from the
8048	// server.
8049	googleapi.ServerResponse `json:"-"`
8050
8051	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8052	// unconditionally include in API requests. By default, fields with
8053	// empty values are omitted from API requests. However, any non-pointer,
8054	// non-interface field appearing in ForceSendFields will be sent to the
8055	// server regardless of whether the field is empty or not. This may be
8056	// used to include empty fields in Patch requests.
8057	ForceSendFields []string `json:"-"`
8058
8059	// NullFields is a list of field names (e.g. "DisplayName") to include
8060	// in API requests with the JSON null value. By default, fields with
8061	// empty values are omitted from API requests. However, any field with
8062	// an empty value appearing in NullFields will be sent to the server as
8063	// null. It is an error if a field in this list has a non-empty value.
8064	// This may be used to include null fields in Patch requests.
8065	NullFields []string `json:"-"`
8066}
8067
8068func (s *InventorySourceGroup) MarshalJSON() ([]byte, error) {
8069	type NoMethod InventorySourceGroup
8070	raw := NoMethod(*s)
8071	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8072}
8073
8074// InventorySourceGroupAssignedTargetingOptionDetails: Targeting details
8075// for inventory source group. This will be populated in the details
8076// field of an AssignedTargetingOption when targeting_type is
8077// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
8078type InventorySourceGroupAssignedTargetingOptionDetails struct {
8079	// InventorySourceGroupId: Required. ID of the inventory source group.
8080	// Should refer to the inventory_source_group_id field of an
8081	// InventorySourceGroup resource.
8082	InventorySourceGroupId int64 `json:"inventorySourceGroupId,omitempty,string"`
8083
8084	// ForceSendFields is a list of field names (e.g.
8085	// "InventorySourceGroupId") to unconditionally include in API requests.
8086	// By default, fields with empty values are omitted from API requests.
8087	// However, any non-pointer, non-interface field appearing in
8088	// ForceSendFields will be sent to the server regardless of whether the
8089	// field is empty or not. This may be used to include empty fields in
8090	// Patch requests.
8091	ForceSendFields []string `json:"-"`
8092
8093	// NullFields is a list of field names (e.g. "InventorySourceGroupId")
8094	// to include in API requests with the JSON null value. By default,
8095	// fields with empty values are omitted from API requests. However, any
8096	// field with an empty value appearing in NullFields will be sent to the
8097	// server as null. It is an error if a field in this list has a
8098	// non-empty value. This may be used to include null fields in Patch
8099	// requests.
8100	NullFields []string `json:"-"`
8101}
8102
8103func (s *InventorySourceGroupAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8104	type NoMethod InventorySourceGroupAssignedTargetingOptionDetails
8105	raw := NoMethod(*s)
8106	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8107}
8108
8109// InventorySourceStatus: The status related settings of the inventory
8110// source.
8111type InventorySourceStatus struct {
8112	// ConfigStatus: Output only. The configuration status of the inventory
8113	// source. Only applicable for guaranteed inventory sources. Acceptable
8114	// values are `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and
8115	// `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must
8116	// be configured (fill in the required fields, choose creatives, and
8117	// select a default campaign) before it can serve.
8118	//
8119	// Possible values:
8120	//   "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED" - The approval status
8121	// is not specified or is unknown in this version.
8122	//   "INVENTORY_SOURCE_CONFIG_STATUS_PENDING" - The beginning state of a
8123	// guaranteed inventory source. The inventory source in this state needs
8124	// to be configured.
8125	//   "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" - The state after the
8126	// buyer configures a guaranteed inventory source.
8127	ConfigStatus string `json:"configStatus,omitempty"`
8128
8129	// EntityPauseReason: The user-provided reason for pausing this
8130	// inventory source. Must not exceed 100 characters. Only applicable
8131	// when entity_status is set to `ENTITY_STATUS_PAUSED`.
8132	EntityPauseReason string `json:"entityPauseReason,omitempty"`
8133
8134	// EntityStatus: Whether or not the inventory source is servable.
8135	// Acceptable values are `ENTITY_STATUS_ACTIVE`,
8136	// `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value
8137	// is `ENTITY_STATUS_ACTIVE`.
8138	//
8139	// Possible values:
8140	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8141	// specified or is unknown in this version.
8142	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8143	// budget.
8144	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8145	// budget spending are disabled. An entity can be deleted after
8146	// archived. Deleted entities cannot be retrieved.
8147	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8148	// budget spending are disabled.
8149	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8150	// the entity.
8151	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8152	// for deletion.
8153	EntityStatus string `json:"entityStatus,omitempty"`
8154
8155	// SellerPauseReason: Output only. The seller-provided reason for
8156	// pausing this inventory source. Only applicable for inventory sources
8157	// synced directly from the publishers and when seller_status is set to
8158	// `ENTITY_STATUS_PAUSED`.
8159	SellerPauseReason string `json:"sellerPauseReason,omitempty"`
8160
8161	// SellerStatus: Output only. The status set by the seller for the
8162	// inventory source. Only applicable for inventory sources synced
8163	// directly from the publishers. Acceptable values are
8164	// `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_PAUSED`.
8165	//
8166	// Possible values:
8167	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8168	// specified or is unknown in this version.
8169	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8170	// budget.
8171	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8172	// budget spending are disabled. An entity can be deleted after
8173	// archived. Deleted entities cannot be retrieved.
8174	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8175	// budget spending are disabled.
8176	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8177	// the entity.
8178	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8179	// for deletion.
8180	SellerStatus string `json:"sellerStatus,omitempty"`
8181
8182	// ForceSendFields is a list of field names (e.g. "ConfigStatus") to
8183	// unconditionally include in API requests. By default, fields with
8184	// empty values are omitted from API requests. However, any non-pointer,
8185	// non-interface field appearing in ForceSendFields will be sent to the
8186	// server regardless of whether the field is empty or not. This may be
8187	// used to include empty fields in Patch requests.
8188	ForceSendFields []string `json:"-"`
8189
8190	// NullFields is a list of field names (e.g. "ConfigStatus") to include
8191	// in API requests with the JSON null value. By default, fields with
8192	// empty values are omitted from API requests. However, any field with
8193	// an empty value appearing in NullFields will be sent to the server as
8194	// null. It is an error if a field in this list has a non-empty value.
8195	// This may be used to include null fields in Patch requests.
8196	NullFields []string `json:"-"`
8197}
8198
8199func (s *InventorySourceStatus) MarshalJSON() ([]byte, error) {
8200	type NoMethod InventorySourceStatus
8201	raw := NoMethod(*s)
8202	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8203}
8204
8205// InventorySourceVideoCreativeConfig: The configuration for video
8206// creatives.
8207type InventorySourceVideoCreativeConfig struct {
8208	// Duration: The duration requirements for the video creatives that can
8209	// be assigned to the inventory source.
8210	Duration string `json:"duration,omitempty"`
8211
8212	// ForceSendFields is a list of field names (e.g. "Duration") to
8213	// unconditionally include in API requests. By default, fields with
8214	// empty values are omitted from API requests. However, any non-pointer,
8215	// non-interface field appearing in ForceSendFields will be sent to the
8216	// server regardless of whether the field is empty or not. This may be
8217	// used to include empty fields in Patch requests.
8218	ForceSendFields []string `json:"-"`
8219
8220	// NullFields is a list of field names (e.g. "Duration") to include in
8221	// API requests with the JSON null value. By default, fields with empty
8222	// values are omitted from API requests. However, any field with an
8223	// empty value appearing in NullFields will be sent to the server as
8224	// null. It is an error if a field in this list has a non-empty value.
8225	// This may be used to include null fields in Patch requests.
8226	NullFields []string `json:"-"`
8227}
8228
8229func (s *InventorySourceVideoCreativeConfig) MarshalJSON() ([]byte, error) {
8230	type NoMethod InventorySourceVideoCreativeConfig
8231	raw := NoMethod(*s)
8232	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8233}
8234
8235// KeywordAssignedTargetingOptionDetails: Details for assigned keyword
8236// targeting option. This will be populated in the details field of an
8237// AssignedTargetingOption when targeting_type is
8238// `TARGETING_TYPE_KEYWORD`.
8239type KeywordAssignedTargetingOptionDetails struct {
8240	// Keyword: Required. The keyword, for example `car insurance`. Positive
8241	// keyword cannot be offensive word. Must be UTF-8 encoded with a
8242	// maximum size of 255 bytes. Maximum number of characters is 80.
8243	// Maximum number of words is 10.
8244	Keyword string `json:"keyword,omitempty"`
8245
8246	// Negative: Indicates if this option is being negatively targeted.
8247	Negative bool `json:"negative,omitempty"`
8248
8249	// ForceSendFields is a list of field names (e.g. "Keyword") to
8250	// unconditionally include in API requests. By default, fields with
8251	// empty values are omitted from API requests. However, any non-pointer,
8252	// non-interface field appearing in ForceSendFields will be sent to the
8253	// server regardless of whether the field is empty or not. This may be
8254	// used to include empty fields in Patch requests.
8255	ForceSendFields []string `json:"-"`
8256
8257	// NullFields is a list of field names (e.g. "Keyword") to include in
8258	// API requests with the JSON null value. By default, fields with empty
8259	// values are omitted from API requests. However, any field with an
8260	// empty value appearing in NullFields will be sent to the server as
8261	// null. It is an error if a field in this list has a non-empty value.
8262	// This may be used to include null fields in Patch requests.
8263	NullFields []string `json:"-"`
8264}
8265
8266func (s *KeywordAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8267	type NoMethod KeywordAssignedTargetingOptionDetails
8268	raw := NoMethod(*s)
8269	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8270}
8271
8272// LanguageAssignedTargetingOptionDetails: Details for assigned language
8273// targeting option. This will be populated in the details field of an
8274// AssignedTargetingOption when targeting_type is
8275// `TARGETING_TYPE_LANGUAGE`.
8276type LanguageAssignedTargetingOptionDetails struct {
8277	// DisplayName: Output only. The display name of the language (e.g.,
8278	// "French").
8279	DisplayName string `json:"displayName,omitempty"`
8280
8281	// Negative: Indicates if this option is being negatively targeted. All
8282	// assigned language targeting options on the same line item must have
8283	// the same value for this field.
8284	Negative bool `json:"negative,omitempty"`
8285
8286	// TargetingOptionId: Required. The targeting_option_id of a
8287	// TargetingOption of type `TARGETING_TYPE_LANGUAGE`.
8288	TargetingOptionId string `json:"targetingOptionId,omitempty"`
8289
8290	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8291	// unconditionally include in API requests. By default, fields with
8292	// empty values are omitted from API requests. However, any non-pointer,
8293	// non-interface field appearing in ForceSendFields will be sent to the
8294	// server regardless of whether the field is empty or not. This may be
8295	// used to include empty fields in Patch requests.
8296	ForceSendFields []string `json:"-"`
8297
8298	// NullFields is a list of field names (e.g. "DisplayName") to include
8299	// in API requests with the JSON null value. By default, fields with
8300	// empty values are omitted from API requests. However, any field with
8301	// an empty value appearing in NullFields will be sent to the server as
8302	// null. It is an error if a field in this list has a non-empty value.
8303	// This may be used to include null fields in Patch requests.
8304	NullFields []string `json:"-"`
8305}
8306
8307func (s *LanguageAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8308	type NoMethod LanguageAssignedTargetingOptionDetails
8309	raw := NoMethod(*s)
8310	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8311}
8312
8313// LanguageTargetingOptionDetails: Represents a targetable language.
8314// This will be populated in the language_details field when
8315// targeting_type is `TARGETING_TYPE_LANGUAGE`.
8316type LanguageTargetingOptionDetails struct {
8317	// DisplayName: Output only. The display name of the language (e.g.,
8318	// "French").
8319	DisplayName string `json:"displayName,omitempty"`
8320
8321	// ForceSendFields is a list of field names (e.g. "DisplayName") to
8322	// unconditionally include in API requests. By default, fields with
8323	// empty values are omitted from API requests. However, any non-pointer,
8324	// non-interface field appearing in ForceSendFields will be sent to the
8325	// server regardless of whether the field is empty or not. This may be
8326	// used to include empty fields in Patch requests.
8327	ForceSendFields []string `json:"-"`
8328
8329	// NullFields is a list of field names (e.g. "DisplayName") to include
8330	// in API requests with the JSON null value. By default, fields with
8331	// empty values are omitted from API requests. However, any field with
8332	// an empty value appearing in NullFields will be sent to the server as
8333	// null. It is an error if a field in this list has a non-empty value.
8334	// This may be used to include null fields in Patch requests.
8335	NullFields []string `json:"-"`
8336}
8337
8338func (s *LanguageTargetingOptionDetails) MarshalJSON() ([]byte, error) {
8339	type NoMethod LanguageTargetingOptionDetails
8340	raw := NoMethod(*s)
8341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8342}
8343
8344// LineItem: A single line item.
8345type LineItem struct {
8346	// AdvertiserId: Output only. The unique ID of the advertiser the line
8347	// item belongs to.
8348	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8349
8350	// BidStrategy: Required. The bidding strategy of the line item.
8351	BidStrategy *BiddingStrategy `json:"bidStrategy,omitempty"`
8352
8353	// Budget: Required. The budget allocation setting of the line item.
8354	Budget *LineItemBudget `json:"budget,omitempty"`
8355
8356	// CampaignId: Output only. The unique ID of the campaign that the line
8357	// item belongs to.
8358	CampaignId int64 `json:"campaignId,omitempty,string"`
8359
8360	// ConversionCounting: The conversion tracking setting of the line item.
8361	ConversionCounting *ConversionCountingConfig `json:"conversionCounting,omitempty"`
8362
8363	// CreativeIds: The IDs of the creatives associated with the line item.
8364	CreativeIds googleapi.Int64s `json:"creativeIds,omitempty"`
8365
8366	// DisplayName: Required. The display name of the line item. Must be
8367	// UTF-8 encoded with a maximum size of 240 bytes.
8368	DisplayName string `json:"displayName,omitempty"`
8369
8370	// EntityStatus: Required. Controls whether or not the line item can
8371	// spend its budget and bid on inventory. * For CreateLineItem method,
8372	// only `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use
8373	// UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE`
8374	// after creation. * A line item cannot be changed back to
8375	// `ENTITY_STATUS_DRAFT` status from any other status. * If the line
8376	// item's parent insertion order is not active, the line item can't
8377	// spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.
8378	//
8379	// Possible values:
8380	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
8381	// specified or is unknown in this version.
8382	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
8383	// budget.
8384	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
8385	// budget spending are disabled. An entity can be deleted after
8386	// archived. Deleted entities cannot be retrieved.
8387	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
8388	// budget spending are disabled.
8389	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
8390	// the entity.
8391	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
8392	// for deletion.
8393	EntityStatus string `json:"entityStatus,omitempty"`
8394
8395	// Flight: Required. The start and end time of the line item's flight.
8396	Flight *LineItemFlight `json:"flight,omitempty"`
8397
8398	// FrequencyCap: Required. The frequency capping setting of the line
8399	// item.
8400	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
8401
8402	// InsertionOrderId: Required. Immutable. The unique ID of the insertion
8403	// order that the line item belongs to.
8404	InsertionOrderId int64 `json:"insertionOrderId,omitempty,string"`
8405
8406	// IntegrationDetails: Integration details of the line item.
8407	IntegrationDetails *IntegrationDetails `json:"integrationDetails,omitempty"`
8408
8409	// InventorySourceIds: The IDs of the private inventory sources assigned
8410	// to the line item.
8411	InventorySourceIds googleapi.Int64s `json:"inventorySourceIds,omitempty"`
8412
8413	// LineItemId: Output only. The unique ID of the line item. Assigned by
8414	// the system.
8415	LineItemId int64 `json:"lineItemId,omitempty,string"`
8416
8417	// LineItemType: Required. Immutable. The type of the line item.
8418	//
8419	// Possible values:
8420	//   "LINE_ITEM_TYPE_UNSPECIFIED" - Type value is not specified or is
8421	// unknown in this version.
8422	//   "LINE_ITEM_TYPE_DISPLAY_DEFAULT" - Image, HTML5, native, or rich
8423	// media ads.
8424	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL" - Display ads that
8425	// drive installs of an app.
8426	//   "LINE_ITEM_TYPE_VIDEO_DEFAULT" - Video ads sold on a CPM basis for
8427	// a variety of environments.
8428	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL" - Video ads that drive
8429	// installs of an app.
8430	//   "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY" - Display ads served
8431	// on mobile app inventory.
8432	//   "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY" - Video ads served on
8433	// mobile app inventory.
8434	//   "LINE_ITEM_TYPE_AUDIO_DEFAULT" - Rtb Audio ads sold for a variety
8435	// of environments.
8436	//   "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" - Over the top ads present in
8437	// OTT IOs. This type is only applicable to line items with an insertion
8438	// order of insertion_order_type `OVER_THE_TOP`
8439	LineItemType string `json:"lineItemType,omitempty"`
8440
8441	// Name: Output only. The resource name of the line item.
8442	Name string `json:"name,omitempty"`
8443
8444	// Pacing: Required. The budget spending speed setting of the line item.
8445	Pacing *Pacing `json:"pacing,omitempty"`
8446
8447	// PartnerCosts: The partner costs associated with the line item. If
8448	// absent or empty in CreateLineItem method, the newly created line item
8449	// will inherit partner costs from its parent insertion order.
8450	PartnerCosts []*PartnerCost `json:"partnerCosts,omitempty"`
8451
8452	// PartnerRevenueModel: Required. The partner revenue model setting of
8453	// the line item.
8454	PartnerRevenueModel *PartnerRevenueModel `json:"partnerRevenueModel,omitempty"`
8455
8456	// TargetingExpansion: The [targeting
8457	// expansion](https://support.google.com/displayvideo/answer/10191558)
8458	// settings of the line item. This config is only applicable when
8459	// eligible audience list targeting is assigned to the line item.
8460	TargetingExpansion *TargetingExpansionConfig `json:"targetingExpansion,omitempty"`
8461
8462	// UpdateTime: Output only. The timestamp when the line item was last
8463	// updated. Assigned by the system.
8464	UpdateTime string `json:"updateTime,omitempty"`
8465
8466	// WarningMessages: Output only. The warning messages generated by the
8467	// line item. These warnings do not block saving the line item, but some
8468	// may block the line item from running.
8469	//
8470	// Possible values:
8471	//   "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED" - Not specified or is
8472	// unknown.
8473	//   "INVALID_FLIGHT_DATES" - This line item has invalid flight dates.
8474	// The line item will not run.
8475	//   "EXPIRED" - This line item's end date is in the past.
8476	//   "PENDING_FLIGHT" - This line item will begin running in the future.
8477	//   "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED" - All partner
8478	// enabled exchanges are negatively targeted. The line item will not
8479	// run.
8480	//   "INVALID_INVENTORY_SOURCE" - No active inventory sources are being
8481	// targeted. The line item will not run.
8482	//   "APP_INVENTORY_INVALID_SITE_TARGETING" - This line item's Apps &
8483	// URLs targeting doesn't include any mobile apps. This line item's type
8484	// requires you to include mobile apps in your channel, sitelist, or
8485	// apps targeting. The line item will not run.
8486	//   "APP_INVENTORY_INVALID_AUDIENCE_LISTS" - This line item isn't
8487	// targeting any mobile users. This line item's type requires you to
8488	// target a user list with mobile users. The line item will not run.
8489	//   "NO_VALID_CREATIVE" - This line item does not contain any valid
8490	// creative. The line item will not run.
8491	//   "PARENT_INSERTION_ORDER_PAUSED" - The insertion order of this line
8492	// item is paused. The line item will not run.
8493	//   "PARENT_INSERTION_ORDER_EXPIRED" - The insertion order of this line
8494	// item has its end date set in the past. The line item will not run.
8495	//   "NO_POSITIVE_AUDIENCE_LIST_TARGETED" - This line item does not
8496	// target any audience lists, which may result in spending your budget
8497	// too quickly.
8498	//   "APP_INSTALL_NO_CONVERSION_PIXEL" - This app install line item does
8499	// not have any conversion pixel set up.
8500	//   "TARGETING_REVOKED_OR_CLOSED_USER_LIST" - This line item targets
8501	// one or more user lists that are no longer available. In the future,
8502	// this will prevent the line item from serving, so consider removing
8503	// these lists from your targeting.
8504	//   "APP_INSTALL_NO_OPTIMAL_BIDDING_STRATEGY" - This app install line
8505	// item does not have an optimal bidding strategy.
8506	//   "CREATIVE_SIZE_NOT_IN_USE_FOR_TARGETED_DEALS" - Deals targeted by
8507	// this line item accept creative sizes which are not in use. This may
8508	// limit the line item's delivery or performance.
8509	//   "NO_CREATIVE_FOR_TARGETED_DEALS" - This line item does not contain
8510	// any creative for the targeted deals.
8511	//   "TARGETING_DEPRECATED_GEO_TARGET" - This line item targets a geo
8512	// target that is deprecated.
8513	WarningMessages []string `json:"warningMessages,omitempty"`
8514
8515	// ServerResponse contains the HTTP response code and headers from the
8516	// server.
8517	googleapi.ServerResponse `json:"-"`
8518
8519	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8520	// unconditionally include in API requests. By default, fields with
8521	// empty values are omitted from API requests. However, any non-pointer,
8522	// non-interface field appearing in ForceSendFields will be sent to the
8523	// server regardless of whether the field is empty or not. This may be
8524	// used to include empty fields in Patch requests.
8525	ForceSendFields []string `json:"-"`
8526
8527	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8528	// in API requests with the JSON null value. By default, fields with
8529	// empty values are omitted from API requests. However, any field with
8530	// an empty value appearing in NullFields will be sent to the server as
8531	// null. It is an error if a field in this list has a non-empty value.
8532	// This may be used to include null fields in Patch requests.
8533	NullFields []string `json:"-"`
8534}
8535
8536func (s *LineItem) MarshalJSON() ([]byte, error) {
8537	type NoMethod LineItem
8538	raw := NoMethod(*s)
8539	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8540}
8541
8542// LineItemBudget: Settings that control how budget is allocated.
8543type LineItemBudget struct {
8544	// BudgetAllocationType: Required. The type of the budget allocation.
8545	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when
8546	// automatic budget allocation is enabled for the parent insertion
8547	// order.
8548	//
8549	// Possible values:
8550	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED" - Type value is not
8551	// specified or is unknown in this version.
8552	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC" - Automatic budget
8553	// allocation is enabled for the line item.
8554	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED" - A fixed max budget
8555	// amount is allocated for the line item.
8556	//   "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" - No budget limit is
8557	// applied to the line item.
8558	BudgetAllocationType string `json:"budgetAllocationType,omitempty"`
8559
8560	// BudgetUnit: Output only. The budget unit specifies whether the budget
8561	// is currency based or impression based. This value is inherited from
8562	// the parent insertion order.
8563	//
8564	// Possible values:
8565	//   "BUDGET_UNIT_UNSPECIFIED" - Type value is not specified or is
8566	// unknown in this version.
8567	//   "BUDGET_UNIT_CURRENCY" - Budgeting in currency amounts.
8568	//   "BUDGET_UNIT_IMPRESSIONS" - Budgeting in impression amounts.
8569	BudgetUnit string `json:"budgetUnit,omitempty"`
8570
8571	// MaxAmount: The maximum budget amount the line item will spend. Must
8572	// be greater than 0. When budget_allocation_type is: *
8573	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable
8574	// and is set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`,
8575	// if budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents
8576	// maximum budget amount to spend, in micros of the advertiser's
8577	// currency. For example, 1500000 represents 1.5 standard units of the
8578	// currency. - `BUDGET_UNIT_IMPRESSIONS`, this field represents the
8579	// maximum number of impressions to serve. *
8580	// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not
8581	// applicable and will be ignored by the system.
8582	MaxAmount int64 `json:"maxAmount,omitempty,string"`
8583
8584	// ForceSendFields is a list of field names (e.g.
8585	// "BudgetAllocationType") to unconditionally include in API requests.
8586	// By default, fields with empty values are omitted from API requests.
8587	// However, any non-pointer, non-interface field appearing in
8588	// ForceSendFields will be sent to the server regardless of whether the
8589	// field is empty or not. This may be used to include empty fields in
8590	// Patch requests.
8591	ForceSendFields []string `json:"-"`
8592
8593	// NullFields is a list of field names (e.g. "BudgetAllocationType") to
8594	// include in API requests with the JSON null value. By default, fields
8595	// with empty values are omitted from API requests. However, any field
8596	// with an empty value appearing in NullFields will be sent to the
8597	// server as null. It is an error if a field in this list has a
8598	// non-empty value. This may be used to include null fields in Patch
8599	// requests.
8600	NullFields []string `json:"-"`
8601}
8602
8603func (s *LineItemBudget) MarshalJSON() ([]byte, error) {
8604	type NoMethod LineItemBudget
8605	raw := NoMethod(*s)
8606	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8607}
8608
8609// LineItemFlight: Settings that control the active duration of a line
8610// item.
8611type LineItemFlight struct {
8612	// DateRange: The flight start and end dates of the line item. They are
8613	// resolved relative to the parent advertiser's time zone. * Required
8614	// when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output
8615	// only otherwise. * When creating a new flight, both `start_date` and
8616	// `end_date` must be in the future. * An existing flight with a
8617	// `start_date` in the past has a mutable `end_date` but an immutable
8618	// `start_date`. * `end_date` must be the `start_date` or later, both
8619	// before the year 2037.
8620	DateRange *DateRange `json:"dateRange,omitempty"`
8621
8622	// FlightDateType: Required. The type of the line item's flight dates.
8623	//
8624	// Possible values:
8625	//   "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED" - Type value is not
8626	// specified or is unknown in this version.
8627	//   "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED" - The line item's flight
8628	// dates are inherited from its parent insertion order.
8629	//   "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" - The line item uses its own
8630	// custom flight dates.
8631	//   "LINE_ITEM_FLIGHT_DATE_TYPE_TRIGGER" - The line item uses a
8632	// trigger.
8633	FlightDateType string `json:"flightDateType,omitempty"`
8634
8635	// TriggerId: The ID of the manual trigger associated with the line
8636	// item. * Required when flight_date_type is
8637	// `LINE_ITEM_FLIGHT_DATE_TYPE_TRIGGER`. Must not be set otherwise. *
8638	// When set, the line item's flight dates are inherited from its parent
8639	// insertion order. * Active line items will spend when the selected
8640	// trigger is activated within the parent insertion order's flight
8641	// dates.
8642	TriggerId int64 `json:"triggerId,omitempty,string"`
8643
8644	// ForceSendFields is a list of field names (e.g. "DateRange") to
8645	// unconditionally include in API requests. By default, fields with
8646	// empty values are omitted from API requests. However, any non-pointer,
8647	// non-interface field appearing in ForceSendFields will be sent to the
8648	// server regardless of whether the field is empty or not. This may be
8649	// used to include empty fields in Patch requests.
8650	ForceSendFields []string `json:"-"`
8651
8652	// NullFields is a list of field names (e.g. "DateRange") to include in
8653	// API requests with the JSON null value. By default, fields with empty
8654	// values are omitted from API requests. However, any field with an
8655	// empty value appearing in NullFields will be sent to the server as
8656	// null. It is an error if a field in this list has a non-empty value.
8657	// This may be used to include null fields in Patch requests.
8658	NullFields []string `json:"-"`
8659}
8660
8661func (s *LineItemFlight) MarshalJSON() ([]byte, error) {
8662	type NoMethod LineItemFlight
8663	raw := NoMethod(*s)
8664	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8665}
8666
8667// ListAdvertiserAssignedTargetingOptionsResponse: Response message for
8668// ListAdvertiserAssignedTargetingOptions.
8669type ListAdvertiserAssignedTargetingOptionsResponse struct {
8670	// AssignedTargetingOptions: The list of assigned targeting options.
8671	// This list will be absent if empty.
8672	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
8673
8674	// NextPageToken: A token identifying the next page of results. This
8675	// value should be specified as the pageToken in a subsequent
8676	// ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page
8677	// of results. This token will be absent if there are no more
8678	// assigned_targeting_options to return.
8679	NextPageToken string `json:"nextPageToken,omitempty"`
8680
8681	// ServerResponse contains the HTTP response code and headers from the
8682	// server.
8683	googleapi.ServerResponse `json:"-"`
8684
8685	// ForceSendFields is a list of field names (e.g.
8686	// "AssignedTargetingOptions") to unconditionally include in API
8687	// requests. By default, fields with empty values are omitted from API
8688	// requests. However, any non-pointer, non-interface field appearing in
8689	// ForceSendFields will be sent to the server regardless of whether the
8690	// field is empty or not. This may be used to include empty fields in
8691	// Patch requests.
8692	ForceSendFields []string `json:"-"`
8693
8694	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
8695	// to include in API requests with the JSON null value. By default,
8696	// fields with empty values are omitted from API requests. However, any
8697	// field with an empty value appearing in NullFields will be sent to the
8698	// server as null. It is an error if a field in this list has a
8699	// non-empty value. This may be used to include null fields in Patch
8700	// requests.
8701	NullFields []string `json:"-"`
8702}
8703
8704func (s *ListAdvertiserAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
8705	type NoMethod ListAdvertiserAssignedTargetingOptionsResponse
8706	raw := NoMethod(*s)
8707	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8708}
8709
8710type ListAdvertisersResponse struct {
8711	// Advertisers: The list of advertisers. This list will be absent if
8712	// empty.
8713	Advertisers []*Advertiser `json:"advertisers,omitempty"`
8714
8715	// NextPageToken: A token to retrieve the next page of results. Pass
8716	// this value in the page_token field in the subsequent call to
8717	// `ListAdvertisers` method to retrieve the next page of results.
8718	NextPageToken string `json:"nextPageToken,omitempty"`
8719
8720	// ServerResponse contains the HTTP response code and headers from the
8721	// server.
8722	googleapi.ServerResponse `json:"-"`
8723
8724	// ForceSendFields is a list of field names (e.g. "Advertisers") to
8725	// unconditionally include in API requests. By default, fields with
8726	// empty values are omitted from API requests. However, any non-pointer,
8727	// non-interface field appearing in ForceSendFields will be sent to the
8728	// server regardless of whether the field is empty or not. This may be
8729	// used to include empty fields in Patch requests.
8730	ForceSendFields []string `json:"-"`
8731
8732	// NullFields is a list of field names (e.g. "Advertisers") to include
8733	// in API requests with the JSON null value. By default, fields with
8734	// empty values are omitted from API requests. However, any field with
8735	// an empty value appearing in NullFields will be sent to the server as
8736	// null. It is an error if a field in this list has a non-empty value.
8737	// This may be used to include null fields in Patch requests.
8738	NullFields []string `json:"-"`
8739}
8740
8741func (s *ListAdvertisersResponse) MarshalJSON() ([]byte, error) {
8742	type NoMethod ListAdvertisersResponse
8743	raw := NoMethod(*s)
8744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8745}
8746
8747// ListAssignedInventorySourcesResponse: Response message for
8748// AssignedInventorySourceService.ListAssignedInventorySources.
8749type ListAssignedInventorySourcesResponse struct {
8750	// AssignedInventorySources: The list of assigned inventory sources.
8751	// This list will be absent if empty.
8752	AssignedInventorySources []*AssignedInventorySource `json:"assignedInventorySources,omitempty"`
8753
8754	// NextPageToken: A token to retrieve the next page of results. Pass
8755	// this value in the page_token field in the subsequent call to
8756	// `ListAssignedInventorySources` method to retrieve the next page of
8757	// results.
8758	NextPageToken string `json:"nextPageToken,omitempty"`
8759
8760	// ServerResponse contains the HTTP response code and headers from the
8761	// server.
8762	googleapi.ServerResponse `json:"-"`
8763
8764	// ForceSendFields is a list of field names (e.g.
8765	// "AssignedInventorySources") to unconditionally include in API
8766	// requests. By default, fields with empty values are omitted from API
8767	// requests. However, any non-pointer, non-interface field appearing in
8768	// ForceSendFields will be sent to the server regardless of whether the
8769	// field is empty or not. This may be used to include empty fields in
8770	// Patch requests.
8771	ForceSendFields []string `json:"-"`
8772
8773	// NullFields is a list of field names (e.g. "AssignedInventorySources")
8774	// to include in API requests with the JSON null value. By default,
8775	// fields with empty values are omitted from API requests. However, any
8776	// field with an empty value appearing in NullFields will be sent to the
8777	// server as null. It is an error if a field in this list has a
8778	// non-empty value. This may be used to include null fields in Patch
8779	// requests.
8780	NullFields []string `json:"-"`
8781}
8782
8783func (s *ListAssignedInventorySourcesResponse) MarshalJSON() ([]byte, error) {
8784	type NoMethod ListAssignedInventorySourcesResponse
8785	raw := NoMethod(*s)
8786	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8787}
8788
8789// ListAssignedLocationsResponse: Response message for
8790// AssignedLocationService.ListAssignedLocations.
8791type ListAssignedLocationsResponse struct {
8792	// AssignedLocations: The list of assigned locations. This list will be
8793	// absent if empty.
8794	AssignedLocations []*AssignedLocation `json:"assignedLocations,omitempty"`
8795
8796	// NextPageToken: A token to retrieve the next page of results. Pass
8797	// this value in the page_token field in the subsequent call to
8798	// `ListAssignedLocations` method to retrieve the next page of results.
8799	NextPageToken string `json:"nextPageToken,omitempty"`
8800
8801	// ServerResponse contains the HTTP response code and headers from the
8802	// server.
8803	googleapi.ServerResponse `json:"-"`
8804
8805	// ForceSendFields is a list of field names (e.g. "AssignedLocations")
8806	// to unconditionally include in API requests. By default, fields with
8807	// empty values are omitted from API requests. However, any non-pointer,
8808	// non-interface field appearing in ForceSendFields will be sent to the
8809	// server regardless of whether the field is empty or not. This may be
8810	// used to include empty fields in Patch requests.
8811	ForceSendFields []string `json:"-"`
8812
8813	// NullFields is a list of field names (e.g. "AssignedLocations") to
8814	// include in API requests with the JSON null value. By default, fields
8815	// with empty values are omitted from API requests. However, any field
8816	// with an empty value appearing in NullFields will be sent to the
8817	// server as null. It is an error if a field in this list has a
8818	// non-empty value. This may be used to include null fields in Patch
8819	// requests.
8820	NullFields []string `json:"-"`
8821}
8822
8823func (s *ListAssignedLocationsResponse) MarshalJSON() ([]byte, error) {
8824	type NoMethod ListAssignedLocationsResponse
8825	raw := NoMethod(*s)
8826	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8827}
8828
8829type ListCampaignsResponse struct {
8830	// Campaigns: The list of campaigns. This list will be absent if empty.
8831	Campaigns []*Campaign `json:"campaigns,omitempty"`
8832
8833	// NextPageToken: A token to retrieve the next page of results. Pass
8834	// this value in the page_token field in the subsequent call to
8835	// `ListCampaigns` method to retrieve the next page of results.
8836	NextPageToken string `json:"nextPageToken,omitempty"`
8837
8838	// ServerResponse contains the HTTP response code and headers from the
8839	// server.
8840	googleapi.ServerResponse `json:"-"`
8841
8842	// ForceSendFields is a list of field names (e.g. "Campaigns") to
8843	// unconditionally include in API requests. By default, fields with
8844	// empty values are omitted from API requests. However, any non-pointer,
8845	// non-interface field appearing in ForceSendFields will be sent to the
8846	// server regardless of whether the field is empty or not. This may be
8847	// used to include empty fields in Patch requests.
8848	ForceSendFields []string `json:"-"`
8849
8850	// NullFields is a list of field names (e.g. "Campaigns") to include in
8851	// API requests with the JSON null value. By default, fields with empty
8852	// values are omitted from API requests. However, any field with an
8853	// empty value appearing in NullFields will be sent to the server as
8854	// null. It is an error if a field in this list has a non-empty value.
8855	// This may be used to include null fields in Patch requests.
8856	NullFields []string `json:"-"`
8857}
8858
8859func (s *ListCampaignsResponse) MarshalJSON() ([]byte, error) {
8860	type NoMethod ListCampaignsResponse
8861	raw := NoMethod(*s)
8862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8863}
8864
8865type ListChannelsResponse struct {
8866	// Channels: The list of channels. This list will be absent if empty.
8867	Channels []*Channel `json:"channels,omitempty"`
8868
8869	// NextPageToken: A token to retrieve the next page of results. Pass
8870	// this value in the page_token field in the subsequent call to
8871	// `ListChannels` method to retrieve the next page of results.
8872	NextPageToken string `json:"nextPageToken,omitempty"`
8873
8874	// ServerResponse contains the HTTP response code and headers from the
8875	// server.
8876	googleapi.ServerResponse `json:"-"`
8877
8878	// ForceSendFields is a list of field names (e.g. "Channels") to
8879	// unconditionally include in API requests. By default, fields with
8880	// empty values are omitted from API requests. However, any non-pointer,
8881	// non-interface field appearing in ForceSendFields will be sent to the
8882	// server regardless of whether the field is empty or not. This may be
8883	// used to include empty fields in Patch requests.
8884	ForceSendFields []string `json:"-"`
8885
8886	// NullFields is a list of field names (e.g. "Channels") to include in
8887	// API requests with the JSON null value. By default, fields with empty
8888	// values are omitted from API requests. However, any field with an
8889	// empty value appearing in NullFields will be sent to the server as
8890	// null. It is an error if a field in this list has a non-empty value.
8891	// This may be used to include null fields in Patch requests.
8892	NullFields []string `json:"-"`
8893}
8894
8895func (s *ListChannelsResponse) MarshalJSON() ([]byte, error) {
8896	type NoMethod ListChannelsResponse
8897	raw := NoMethod(*s)
8898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8899}
8900
8901type ListCombinedAudiencesResponse struct {
8902	// CombinedAudiences: The list of combined audiences. This list will be
8903	// absent if empty.
8904	CombinedAudiences []*CombinedAudience `json:"combinedAudiences,omitempty"`
8905
8906	// NextPageToken: A token to retrieve the next page of results. Pass
8907	// this value in the page_token field in the subsequent call to
8908	// `ListCombinedAudiences` method to retrieve the next page of results.
8909	NextPageToken string `json:"nextPageToken,omitempty"`
8910
8911	// ServerResponse contains the HTTP response code and headers from the
8912	// server.
8913	googleapi.ServerResponse `json:"-"`
8914
8915	// ForceSendFields is a list of field names (e.g. "CombinedAudiences")
8916	// to unconditionally include in API requests. By default, fields with
8917	// empty values are omitted from API requests. However, any non-pointer,
8918	// non-interface field appearing in ForceSendFields will be sent to the
8919	// server regardless of whether the field is empty or not. This may be
8920	// used to include empty fields in Patch requests.
8921	ForceSendFields []string `json:"-"`
8922
8923	// NullFields is a list of field names (e.g. "CombinedAudiences") to
8924	// include in API requests with the JSON null value. By default, fields
8925	// with empty values are omitted from API requests. However, any field
8926	// with an empty value appearing in NullFields will be sent to the
8927	// server as null. It is an error if a field in this list has a
8928	// non-empty value. This may be used to include null fields in Patch
8929	// requests.
8930	NullFields []string `json:"-"`
8931}
8932
8933func (s *ListCombinedAudiencesResponse) MarshalJSON() ([]byte, error) {
8934	type NoMethod ListCombinedAudiencesResponse
8935	raw := NoMethod(*s)
8936	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8937}
8938
8939type ListCreativesResponse struct {
8940	// Creatives: The list of creatives. This list will be absent if empty.
8941	Creatives []*Creative `json:"creatives,omitempty"`
8942
8943	// NextPageToken: A token to retrieve the next page of results. Pass
8944	// this value in the page_token field in the subsequent call to
8945	// `ListCreativesRequest` method to retrieve the next page of results.
8946	// If this field is null, it means this is the last page.
8947	NextPageToken string `json:"nextPageToken,omitempty"`
8948
8949	// ServerResponse contains the HTTP response code and headers from the
8950	// server.
8951	googleapi.ServerResponse `json:"-"`
8952
8953	// ForceSendFields is a list of field names (e.g. "Creatives") to
8954	// unconditionally include in API requests. By default, fields with
8955	// empty values are omitted from API requests. However, any non-pointer,
8956	// non-interface field appearing in ForceSendFields will be sent to the
8957	// server regardless of whether the field is empty or not. This may be
8958	// used to include empty fields in Patch requests.
8959	ForceSendFields []string `json:"-"`
8960
8961	// NullFields is a list of field names (e.g. "Creatives") to include in
8962	// API requests with the JSON null value. By default, fields with empty
8963	// values are omitted from API requests. However, any field with an
8964	// empty value appearing in NullFields will be sent to the server as
8965	// null. It is an error if a field in this list has a non-empty value.
8966	// This may be used to include null fields in Patch requests.
8967	NullFields []string `json:"-"`
8968}
8969
8970func (s *ListCreativesResponse) MarshalJSON() ([]byte, error) {
8971	type NoMethod ListCreativesResponse
8972	raw := NoMethod(*s)
8973	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8974}
8975
8976type ListCustomBiddingAlgorithmsResponse struct {
8977	// CustomBiddingAlgorithms: The list of custom bidding algorithms. This
8978	// list will be absent if empty.
8979	CustomBiddingAlgorithms []*CustomBiddingAlgorithm `json:"customBiddingAlgorithms,omitempty"`
8980
8981	// NextPageToken: A token to retrieve the next page of results. Pass
8982	// this value in the page_token field in the subsequent call to
8983	// `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page
8984	// of results. If this field is null, it means this is the last page.
8985	NextPageToken string `json:"nextPageToken,omitempty"`
8986
8987	// ServerResponse contains the HTTP response code and headers from the
8988	// server.
8989	googleapi.ServerResponse `json:"-"`
8990
8991	// ForceSendFields is a list of field names (e.g.
8992	// "CustomBiddingAlgorithms") to unconditionally include in API
8993	// requests. By default, fields with empty values are omitted from API
8994	// requests. However, any non-pointer, non-interface field appearing in
8995	// ForceSendFields will be sent to the server regardless of whether the
8996	// field is empty or not. This may be used to include empty fields in
8997	// Patch requests.
8998	ForceSendFields []string `json:"-"`
8999
9000	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithms")
9001	// to include in API requests with the JSON null value. By default,
9002	// fields with empty values are omitted from API requests. However, any
9003	// field with an empty value appearing in NullFields will be sent to the
9004	// server as null. It is an error if a field in this list has a
9005	// non-empty value. This may be used to include null fields in Patch
9006	// requests.
9007	NullFields []string `json:"-"`
9008}
9009
9010func (s *ListCustomBiddingAlgorithmsResponse) MarshalJSON() ([]byte, error) {
9011	type NoMethod ListCustomBiddingAlgorithmsResponse
9012	raw := NoMethod(*s)
9013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9014}
9015
9016type ListCustomListsResponse struct {
9017	// CustomLists: The list of custom lists. This list will be absent if
9018	// empty.
9019	CustomLists []*CustomList `json:"customLists,omitempty"`
9020
9021	// NextPageToken: A token to retrieve the next page of results. Pass
9022	// this value in the page_token field in the subsequent call to
9023	// `ListCustomLists` method to retrieve the next page of results.
9024	NextPageToken string `json:"nextPageToken,omitempty"`
9025
9026	// ServerResponse contains the HTTP response code and headers from the
9027	// server.
9028	googleapi.ServerResponse `json:"-"`
9029
9030	// ForceSendFields is a list of field names (e.g. "CustomLists") to
9031	// unconditionally include in API requests. By default, fields with
9032	// empty values are omitted from API requests. However, any non-pointer,
9033	// non-interface field appearing in ForceSendFields will be sent to the
9034	// server regardless of whether the field is empty or not. This may be
9035	// used to include empty fields in Patch requests.
9036	ForceSendFields []string `json:"-"`
9037
9038	// NullFields is a list of field names (e.g. "CustomLists") to include
9039	// in API requests with the JSON null value. By default, fields with
9040	// empty values are omitted from API requests. However, any field with
9041	// an empty value appearing in NullFields will be sent to the server as
9042	// null. It is an error if a field in this list has a non-empty value.
9043	// This may be used to include null fields in Patch requests.
9044	NullFields []string `json:"-"`
9045}
9046
9047func (s *ListCustomListsResponse) MarshalJSON() ([]byte, error) {
9048	type NoMethod ListCustomListsResponse
9049	raw := NoMethod(*s)
9050	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9051}
9052
9053type ListFirstAndThirdPartyAudiencesResponse struct {
9054	// FirstAndThirdPartyAudiences: The list of first and third party
9055	// audiences. Audience size properties will not be included. This list
9056	// will be absent if empty.
9057	FirstAndThirdPartyAudiences []*FirstAndThirdPartyAudience `json:"firstAndThirdPartyAudiences,omitempty"`
9058
9059	// NextPageToken: A token to retrieve the next page of results. Pass
9060	// this value in the page_token field in the subsequent call to
9061	// `ListFirstAndThirdPartyAudiences` method to retrieve the next page of
9062	// results.
9063	NextPageToken string `json:"nextPageToken,omitempty"`
9064
9065	// ServerResponse contains the HTTP response code and headers from the
9066	// server.
9067	googleapi.ServerResponse `json:"-"`
9068
9069	// ForceSendFields is a list of field names (e.g.
9070	// "FirstAndThirdPartyAudiences") to unconditionally include in API
9071	// requests. By default, fields with empty values are omitted from API
9072	// requests. However, any non-pointer, non-interface field appearing in
9073	// ForceSendFields will be sent to the server regardless of whether the
9074	// field is empty or not. This may be used to include empty fields in
9075	// Patch requests.
9076	ForceSendFields []string `json:"-"`
9077
9078	// NullFields is a list of field names (e.g.
9079	// "FirstAndThirdPartyAudiences") to include in API requests with the
9080	// JSON null value. By default, fields with empty values are omitted
9081	// from API requests. However, any field with an empty value appearing
9082	// in NullFields will be sent to the server as null. It is an error if a
9083	// field in this list has a non-empty value. This may be used to include
9084	// null fields in Patch requests.
9085	NullFields []string `json:"-"`
9086}
9087
9088func (s *ListFirstAndThirdPartyAudiencesResponse) MarshalJSON() ([]byte, error) {
9089	type NoMethod ListFirstAndThirdPartyAudiencesResponse
9090	raw := NoMethod(*s)
9091	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9092}
9093
9094type ListGoogleAudiencesResponse struct {
9095	// GoogleAudiences: The list of Google audiences. This list will be
9096	// absent if empty.
9097	GoogleAudiences []*GoogleAudience `json:"googleAudiences,omitempty"`
9098
9099	// NextPageToken: A token to retrieve the next page of results. Pass
9100	// this value in the page_token field in the subsequent call to
9101	// `ListGoogleAudiences` method to retrieve the next page of results.
9102	NextPageToken string `json:"nextPageToken,omitempty"`
9103
9104	// ServerResponse contains the HTTP response code and headers from the
9105	// server.
9106	googleapi.ServerResponse `json:"-"`
9107
9108	// ForceSendFields is a list of field names (e.g. "GoogleAudiences") to
9109	// unconditionally include in API requests. By default, fields with
9110	// empty values are omitted from API requests. However, any non-pointer,
9111	// non-interface field appearing in ForceSendFields will be sent to the
9112	// server regardless of whether the field is empty or not. This may be
9113	// used to include empty fields in Patch requests.
9114	ForceSendFields []string `json:"-"`
9115
9116	// NullFields is a list of field names (e.g. "GoogleAudiences") to
9117	// include in API requests with the JSON null value. By default, fields
9118	// with empty values are omitted from API requests. However, any field
9119	// with an empty value appearing in NullFields will be sent to the
9120	// server as null. It is an error if a field in this list has a
9121	// non-empty value. This may be used to include null fields in Patch
9122	// requests.
9123	NullFields []string `json:"-"`
9124}
9125
9126func (s *ListGoogleAudiencesResponse) MarshalJSON() ([]byte, error) {
9127	type NoMethod ListGoogleAudiencesResponse
9128	raw := NoMethod(*s)
9129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9130}
9131
9132type ListInsertionOrdersResponse struct {
9133	// InsertionOrders: The list of insertion orders. This list will be
9134	// absent if empty.
9135	InsertionOrders []*InsertionOrder `json:"insertionOrders,omitempty"`
9136
9137	// NextPageToken: A token to retrieve the next page of results. Pass
9138	// this value in the page_token field in the subsequent call to
9139	// `ListInsertionOrders` method to retrieve the next page of results.
9140	NextPageToken string `json:"nextPageToken,omitempty"`
9141
9142	// ServerResponse contains the HTTP response code and headers from the
9143	// server.
9144	googleapi.ServerResponse `json:"-"`
9145
9146	// ForceSendFields is a list of field names (e.g. "InsertionOrders") to
9147	// unconditionally include in API requests. By default, fields with
9148	// empty values are omitted from API requests. However, any non-pointer,
9149	// non-interface field appearing in ForceSendFields will be sent to the
9150	// server regardless of whether the field is empty or not. This may be
9151	// used to include empty fields in Patch requests.
9152	ForceSendFields []string `json:"-"`
9153
9154	// NullFields is a list of field names (e.g. "InsertionOrders") to
9155	// include in API requests with the JSON null value. By default, fields
9156	// with empty values are omitted from API requests. However, any field
9157	// with an empty value appearing in NullFields will be sent to the
9158	// server as null. It is an error if a field in this list has a
9159	// non-empty value. This may be used to include null fields in Patch
9160	// requests.
9161	NullFields []string `json:"-"`
9162}
9163
9164func (s *ListInsertionOrdersResponse) MarshalJSON() ([]byte, error) {
9165	type NoMethod ListInsertionOrdersResponse
9166	raw := NoMethod(*s)
9167	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9168}
9169
9170// ListInventorySourceGroupsResponse: Response message for
9171// InventorySourceGroupService.ListInventorySourceGroups.
9172type ListInventorySourceGroupsResponse struct {
9173	// InventorySourceGroups: The list of inventory source groups. This list
9174	// will be absent if empty.
9175	InventorySourceGroups []*InventorySourceGroup `json:"inventorySourceGroups,omitempty"`
9176
9177	// NextPageToken: A token to retrieve the next page of results. Pass
9178	// this value in the page_token field in the subsequent call to
9179	// `ListInventorySourceGroups` method to retrieve the next page of
9180	// results.
9181	NextPageToken string `json:"nextPageToken,omitempty"`
9182
9183	// ServerResponse contains the HTTP response code and headers from the
9184	// server.
9185	googleapi.ServerResponse `json:"-"`
9186
9187	// ForceSendFields is a list of field names (e.g.
9188	// "InventorySourceGroups") to unconditionally include in API requests.
9189	// By default, fields with empty values are omitted from API requests.
9190	// However, any non-pointer, non-interface field appearing in
9191	// ForceSendFields will be sent to the server regardless of whether the
9192	// field is empty or not. This may be used to include empty fields in
9193	// Patch requests.
9194	ForceSendFields []string `json:"-"`
9195
9196	// NullFields is a list of field names (e.g. "InventorySourceGroups") to
9197	// include in API requests with the JSON null value. By default, fields
9198	// with empty values are omitted from API requests. However, any field
9199	// with an empty value appearing in NullFields will be sent to the
9200	// server as null. It is an error if a field in this list has a
9201	// non-empty value. This may be used to include null fields in Patch
9202	// requests.
9203	NullFields []string `json:"-"`
9204}
9205
9206func (s *ListInventorySourceGroupsResponse) MarshalJSON() ([]byte, error) {
9207	type NoMethod ListInventorySourceGroupsResponse
9208	raw := NoMethod(*s)
9209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9210}
9211
9212type ListInventorySourcesResponse struct {
9213	// InventorySources: The list of inventory sources. This list will be
9214	// absent if empty.
9215	InventorySources []*InventorySource `json:"inventorySources,omitempty"`
9216
9217	// NextPageToken: A token to retrieve the next page of results. Pass
9218	// this value in the page_token field in the subsequent call to
9219	// `ListInventorySources` method to retrieve the next page of results.
9220	NextPageToken string `json:"nextPageToken,omitempty"`
9221
9222	// ServerResponse contains the HTTP response code and headers from the
9223	// server.
9224	googleapi.ServerResponse `json:"-"`
9225
9226	// ForceSendFields is a list of field names (e.g. "InventorySources") to
9227	// unconditionally include in API requests. By default, fields with
9228	// empty values are omitted from API requests. However, any non-pointer,
9229	// non-interface field appearing in ForceSendFields will be sent to the
9230	// server regardless of whether the field is empty or not. This may be
9231	// used to include empty fields in Patch requests.
9232	ForceSendFields []string `json:"-"`
9233
9234	// NullFields is a list of field names (e.g. "InventorySources") to
9235	// include in API requests with the JSON null value. By default, fields
9236	// with empty values are omitted from API requests. However, any field
9237	// with an empty value appearing in NullFields will be sent to the
9238	// server as null. It is an error if a field in this list has a
9239	// non-empty value. This may be used to include null fields in Patch
9240	// requests.
9241	NullFields []string `json:"-"`
9242}
9243
9244func (s *ListInventorySourcesResponse) MarshalJSON() ([]byte, error) {
9245	type NoMethod ListInventorySourcesResponse
9246	raw := NoMethod(*s)
9247	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9248}
9249
9250// ListLineItemAssignedTargetingOptionsResponse: Response message for
9251// ListLineItemAssignedTargetingOptions.
9252type ListLineItemAssignedTargetingOptionsResponse struct {
9253	// AssignedTargetingOptions: The list of assigned targeting options.
9254	// This list will be absent if empty.
9255	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9256
9257	// NextPageToken: A token identifying the next page of results. This
9258	// value should be specified as the pageToken in a subsequent
9259	// ListLineItemAssignedTargetingOptionsRequest to fetch the next page of
9260	// results. This token will be absent if there are no more
9261	// assigned_targeting_options to return.
9262	NextPageToken string `json:"nextPageToken,omitempty"`
9263
9264	// ServerResponse contains the HTTP response code and headers from the
9265	// server.
9266	googleapi.ServerResponse `json:"-"`
9267
9268	// ForceSendFields is a list of field names (e.g.
9269	// "AssignedTargetingOptions") to unconditionally include in API
9270	// requests. By default, fields with empty values are omitted from API
9271	// requests. However, any non-pointer, non-interface field appearing in
9272	// ForceSendFields will be sent to the server regardless of whether the
9273	// field is empty or not. This may be used to include empty fields in
9274	// Patch requests.
9275	ForceSendFields []string `json:"-"`
9276
9277	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
9278	// to include in API requests with the JSON null value. By default,
9279	// fields with empty values are omitted from API requests. However, any
9280	// field with an empty value appearing in NullFields will be sent to the
9281	// server as null. It is an error if a field in this list has a
9282	// non-empty value. This may be used to include null fields in Patch
9283	// requests.
9284	NullFields []string `json:"-"`
9285}
9286
9287func (s *ListLineItemAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9288	type NoMethod ListLineItemAssignedTargetingOptionsResponse
9289	raw := NoMethod(*s)
9290	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9291}
9292
9293type ListLineItemsResponse struct {
9294	// LineItems: The list of line items. This list will be absent if empty.
9295	LineItems []*LineItem `json:"lineItems,omitempty"`
9296
9297	// NextPageToken: A token to retrieve the next page of results. Pass
9298	// this value in the page_token field in the subsequent call to
9299	// `ListLineItems` method to retrieve the next page of results.
9300	NextPageToken string `json:"nextPageToken,omitempty"`
9301
9302	// ServerResponse contains the HTTP response code and headers from the
9303	// server.
9304	googleapi.ServerResponse `json:"-"`
9305
9306	// ForceSendFields is a list of field names (e.g. "LineItems") to
9307	// unconditionally include in API requests. By default, fields with
9308	// empty values are omitted from API requests. However, any non-pointer,
9309	// non-interface field appearing in ForceSendFields will be sent to the
9310	// server regardless of whether the field is empty or not. This may be
9311	// used to include empty fields in Patch requests.
9312	ForceSendFields []string `json:"-"`
9313
9314	// NullFields is a list of field names (e.g. "LineItems") to include in
9315	// API requests with the JSON null value. By default, fields with empty
9316	// values are omitted from API requests. However, any field with an
9317	// empty value appearing in NullFields will be sent to the server as
9318	// null. It is an error if a field in this list has a non-empty value.
9319	// This may be used to include null fields in Patch requests.
9320	NullFields []string `json:"-"`
9321}
9322
9323func (s *ListLineItemsResponse) MarshalJSON() ([]byte, error) {
9324	type NoMethod ListLineItemsResponse
9325	raw := NoMethod(*s)
9326	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9327}
9328
9329type ListLocationListsResponse struct {
9330	// LocationLists: The list of location lists. This list will be absent
9331	// if empty.
9332	LocationLists []*LocationList `json:"locationLists,omitempty"`
9333
9334	// NextPageToken: A token to retrieve the next page of results. Pass
9335	// this value in the page_token field in the subsequent call to
9336	// `ListLocationLists` method to retrieve the next page of results.
9337	NextPageToken string `json:"nextPageToken,omitempty"`
9338
9339	// ServerResponse contains the HTTP response code and headers from the
9340	// server.
9341	googleapi.ServerResponse `json:"-"`
9342
9343	// ForceSendFields is a list of field names (e.g. "LocationLists") to
9344	// unconditionally include in API requests. By default, fields with
9345	// empty values are omitted from API requests. However, any non-pointer,
9346	// non-interface field appearing in ForceSendFields will be sent to the
9347	// server regardless of whether the field is empty or not. This may be
9348	// used to include empty fields in Patch requests.
9349	ForceSendFields []string `json:"-"`
9350
9351	// NullFields is a list of field names (e.g. "LocationLists") to include
9352	// in API requests with the JSON null value. By default, fields with
9353	// empty values are omitted from API requests. However, any field with
9354	// an empty value appearing in NullFields will be sent to the server as
9355	// null. It is an error if a field in this list has a non-empty value.
9356	// This may be used to include null fields in Patch requests.
9357	NullFields []string `json:"-"`
9358}
9359
9360func (s *ListLocationListsResponse) MarshalJSON() ([]byte, error) {
9361	type NoMethod ListLocationListsResponse
9362	raw := NoMethod(*s)
9363	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9364}
9365
9366type ListManualTriggersResponse struct {
9367	// ManualTriggers: The list of manual triggers. This list will be absent
9368	// if empty.
9369	ManualTriggers []*ManualTrigger `json:"manualTriggers,omitempty"`
9370
9371	// NextPageToken: A token to retrieve the next page of results. Pass
9372	// this value in the page_token field in the subsequent call to
9373	// `ListManualTriggers` method to retrieve the next page of results.
9374	NextPageToken string `json:"nextPageToken,omitempty"`
9375
9376	// ServerResponse contains the HTTP response code and headers from the
9377	// server.
9378	googleapi.ServerResponse `json:"-"`
9379
9380	// ForceSendFields is a list of field names (e.g. "ManualTriggers") to
9381	// unconditionally include in API requests. By default, fields with
9382	// empty values are omitted from API requests. However, any non-pointer,
9383	// non-interface field appearing in ForceSendFields will be sent to the
9384	// server regardless of whether the field is empty or not. This may be
9385	// used to include empty fields in Patch requests.
9386	ForceSendFields []string `json:"-"`
9387
9388	// NullFields is a list of field names (e.g. "ManualTriggers") to
9389	// include in API requests with the JSON null value. By default, fields
9390	// with empty values are omitted from API requests. However, any field
9391	// with an empty value appearing in NullFields will be sent to the
9392	// server as null. It is an error if a field in this list has a
9393	// non-empty value. This may be used to include null fields in Patch
9394	// requests.
9395	NullFields []string `json:"-"`
9396}
9397
9398func (s *ListManualTriggersResponse) MarshalJSON() ([]byte, error) {
9399	type NoMethod ListManualTriggersResponse
9400	raw := NoMethod(*s)
9401	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9402}
9403
9404// ListNegativeKeywordListsResponse: Response message for
9405// NegativeKeywordListService.ListNegativeKeywordLists.
9406type ListNegativeKeywordListsResponse struct {
9407	// NegativeKeywordLists: The list of negative keyword lists. This list
9408	// will be absent if empty.
9409	NegativeKeywordLists []*NegativeKeywordList `json:"negativeKeywordLists,omitempty"`
9410
9411	// NextPageToken: A token to retrieve the next page of results. Pass
9412	// this value in the page_token field in the subsequent call to
9413	// `ListNegativeKeywordLists` method to retrieve the next page of
9414	// results.
9415	NextPageToken string `json:"nextPageToken,omitempty"`
9416
9417	// ServerResponse contains the HTTP response code and headers from the
9418	// server.
9419	googleapi.ServerResponse `json:"-"`
9420
9421	// ForceSendFields is a list of field names (e.g.
9422	// "NegativeKeywordLists") to unconditionally include in API requests.
9423	// By default, fields with empty values are omitted from API requests.
9424	// However, any non-pointer, non-interface field appearing in
9425	// ForceSendFields will be sent to the server regardless of whether the
9426	// field is empty or not. This may be used to include empty fields in
9427	// Patch requests.
9428	ForceSendFields []string `json:"-"`
9429
9430	// NullFields is a list of field names (e.g. "NegativeKeywordLists") to
9431	// include in API requests with the JSON null value. By default, fields
9432	// with empty values are omitted from API requests. However, any field
9433	// with an empty value appearing in NullFields will be sent to the
9434	// server as null. It is an error if a field in this list has a
9435	// non-empty value. This may be used to include null fields in Patch
9436	// requests.
9437	NullFields []string `json:"-"`
9438}
9439
9440func (s *ListNegativeKeywordListsResponse) MarshalJSON() ([]byte, error) {
9441	type NoMethod ListNegativeKeywordListsResponse
9442	raw := NoMethod(*s)
9443	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9444}
9445
9446// ListNegativeKeywordsResponse: Response message for
9447// NegativeKeywordService.ListNegativeKeywords.
9448type ListNegativeKeywordsResponse struct {
9449	// NegativeKeywords: The list of negative keywords. This list will be
9450	// absent if empty.
9451	NegativeKeywords []*NegativeKeyword `json:"negativeKeywords,omitempty"`
9452
9453	// NextPageToken: A token to retrieve the next page of results. Pass
9454	// this value in the page_token field in the subsequent call to
9455	// `ListNegativeKeywords` method to retrieve the next page of results.
9456	NextPageToken string `json:"nextPageToken,omitempty"`
9457
9458	// ServerResponse contains the HTTP response code and headers from the
9459	// server.
9460	googleapi.ServerResponse `json:"-"`
9461
9462	// ForceSendFields is a list of field names (e.g. "NegativeKeywords") to
9463	// unconditionally include in API requests. By default, fields with
9464	// empty values are omitted from API requests. However, any non-pointer,
9465	// non-interface field appearing in ForceSendFields will be sent to the
9466	// server regardless of whether the field is empty or not. This may be
9467	// used to include empty fields in Patch requests.
9468	ForceSendFields []string `json:"-"`
9469
9470	// NullFields is a list of field names (e.g. "NegativeKeywords") to
9471	// include in API requests with the JSON null value. By default, fields
9472	// with empty values are omitted from API requests. However, any field
9473	// with an empty value appearing in NullFields will be sent to the
9474	// server as null. It is an error if a field in this list has a
9475	// non-empty value. This may be used to include null fields in Patch
9476	// requests.
9477	NullFields []string `json:"-"`
9478}
9479
9480func (s *ListNegativeKeywordsResponse) MarshalJSON() ([]byte, error) {
9481	type NoMethod ListNegativeKeywordsResponse
9482	raw := NoMethod(*s)
9483	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9484}
9485
9486type ListPartnerAssignedTargetingOptionsResponse struct {
9487	// AssignedTargetingOptions: The list of assigned targeting options.
9488	// This list will be absent if empty.
9489	AssignedTargetingOptions []*AssignedTargetingOption `json:"assignedTargetingOptions,omitempty"`
9490
9491	// NextPageToken: A token identifying the next page of results. This
9492	// value should be specified as the pageToken in a subsequent
9493	// ListPartnerAssignedTargetingOptionsRequest to fetch the next page of
9494	// results. This token will be absent if there are no more
9495	// assigned_targeting_options to return.
9496	NextPageToken string `json:"nextPageToken,omitempty"`
9497
9498	// ServerResponse contains the HTTP response code and headers from the
9499	// server.
9500	googleapi.ServerResponse `json:"-"`
9501
9502	// ForceSendFields is a list of field names (e.g.
9503	// "AssignedTargetingOptions") to unconditionally include in API
9504	// requests. By default, fields with empty values are omitted from API
9505	// requests. However, any non-pointer, non-interface field appearing in
9506	// ForceSendFields will be sent to the server regardless of whether the
9507	// field is empty or not. This may be used to include empty fields in
9508	// Patch requests.
9509	ForceSendFields []string `json:"-"`
9510
9511	// NullFields is a list of field names (e.g. "AssignedTargetingOptions")
9512	// to include in API requests with the JSON null value. By default,
9513	// fields with empty values are omitted from API requests. However, any
9514	// field with an empty value appearing in NullFields will be sent to the
9515	// server as null. It is an error if a field in this list has a
9516	// non-empty value. This may be used to include null fields in Patch
9517	// requests.
9518	NullFields []string `json:"-"`
9519}
9520
9521func (s *ListPartnerAssignedTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9522	type NoMethod ListPartnerAssignedTargetingOptionsResponse
9523	raw := NoMethod(*s)
9524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9525}
9526
9527type ListPartnersResponse struct {
9528	// NextPageToken: A token to retrieve the next page of results. Pass
9529	// this value in the page_token field in the subsequent call to
9530	// `ListPartners` method to retrieve the next page of results.
9531	NextPageToken string `json:"nextPageToken,omitempty"`
9532
9533	// Partners: The list of partners. This list will be absent if empty.
9534	Partners []*Partner `json:"partners,omitempty"`
9535
9536	// ServerResponse contains the HTTP response code and headers from the
9537	// server.
9538	googleapi.ServerResponse `json:"-"`
9539
9540	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
9541	// unconditionally include in API requests. By default, fields with
9542	// empty values are omitted from API requests. However, any non-pointer,
9543	// non-interface field appearing in ForceSendFields will be sent to the
9544	// server regardless of whether the field is empty or not. This may be
9545	// used to include empty fields in Patch requests.
9546	ForceSendFields []string `json:"-"`
9547
9548	// NullFields is a list of field names (e.g. "NextPageToken") to include
9549	// in API requests with the JSON null value. By default, fields with
9550	// empty values are omitted from API requests. However, any field with
9551	// an empty value appearing in NullFields will be sent to the server as
9552	// null. It is an error if a field in this list has a non-empty value.
9553	// This may be used to include null fields in Patch requests.
9554	NullFields []string `json:"-"`
9555}
9556
9557func (s *ListPartnersResponse) MarshalJSON() ([]byte, error) {
9558	type NoMethod ListPartnersResponse
9559	raw := NoMethod(*s)
9560	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9561}
9562
9563// ListSitesResponse: Response message for SiteService.ListSites.
9564type ListSitesResponse struct {
9565	// NextPageToken: A token to retrieve the next page of results. Pass
9566	// this value in the page_token field in the subsequent call to
9567	// `ListSites` method to retrieve the next page of results.
9568	NextPageToken string `json:"nextPageToken,omitempty"`
9569
9570	// Sites: The list of sites. This list will be absent if empty.
9571	Sites []*Site `json:"sites,omitempty"`
9572
9573	// ServerResponse contains the HTTP response code and headers from the
9574	// server.
9575	googleapi.ServerResponse `json:"-"`
9576
9577	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
9578	// unconditionally include in API requests. By default, fields with
9579	// empty values are omitted from API requests. However, any non-pointer,
9580	// non-interface field appearing in ForceSendFields will be sent to the
9581	// server regardless of whether the field is empty or not. This may be
9582	// used to include empty fields in Patch requests.
9583	ForceSendFields []string `json:"-"`
9584
9585	// NullFields is a list of field names (e.g. "NextPageToken") to include
9586	// in API requests with the JSON null value. By default, fields with
9587	// empty values are omitted from API requests. However, any field with
9588	// an empty value appearing in NullFields will be sent to the server as
9589	// null. It is an error if a field in this list has a non-empty value.
9590	// This may be used to include null fields in Patch requests.
9591	NullFields []string `json:"-"`
9592}
9593
9594func (s *ListSitesResponse) MarshalJSON() ([]byte, error) {
9595	type NoMethod ListSitesResponse
9596	raw := NoMethod(*s)
9597	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9598}
9599
9600// ListTargetingOptionsResponse: Response message for
9601// ListTargetingOptions.
9602type ListTargetingOptionsResponse struct {
9603	// NextPageToken: A token to retrieve the next page of results. Pass
9604	// this value in the page_token field in the subsequent call to
9605	// `ListTargetingOptions` method to retrieve the next page of results.
9606	NextPageToken string `json:"nextPageToken,omitempty"`
9607
9608	// TargetingOptions: The list of targeting options. This list will be
9609	// absent if empty.
9610	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
9611
9612	// ServerResponse contains the HTTP response code and headers from the
9613	// server.
9614	googleapi.ServerResponse `json:"-"`
9615
9616	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
9617	// unconditionally include in API requests. By default, fields with
9618	// empty values are omitted from API requests. However, any non-pointer,
9619	// non-interface field appearing in ForceSendFields will be sent to the
9620	// server regardless of whether the field is empty or not. This may be
9621	// used to include empty fields in Patch requests.
9622	ForceSendFields []string `json:"-"`
9623
9624	// NullFields is a list of field names (e.g. "NextPageToken") to include
9625	// in API requests with the JSON null value. By default, fields with
9626	// empty values are omitted from API requests. However, any field with
9627	// an empty value appearing in NullFields will be sent to the server as
9628	// null. It is an error if a field in this list has a non-empty value.
9629	// This may be used to include null fields in Patch requests.
9630	NullFields []string `json:"-"`
9631}
9632
9633func (s *ListTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
9634	type NoMethod ListTargetingOptionsResponse
9635	raw := NoMethod(*s)
9636	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9637}
9638
9639type ListUsersResponse struct {
9640	// NextPageToken: A token to retrieve the next page of results. Pass
9641	// this value in the page_token field in the subsequent call to
9642	// `ListUsers` method to retrieve the next page of results. This token
9643	// will be absent if there are no more results to return.
9644	NextPageToken string `json:"nextPageToken,omitempty"`
9645
9646	// Users: The list of users. This list will be absent if empty.
9647	Users []*User `json:"users,omitempty"`
9648
9649	// ServerResponse contains the HTTP response code and headers from the
9650	// server.
9651	googleapi.ServerResponse `json:"-"`
9652
9653	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
9654	// unconditionally include in API requests. By default, fields with
9655	// empty values are omitted from API requests. However, any non-pointer,
9656	// non-interface field appearing in ForceSendFields will be sent to the
9657	// server regardless of whether the field is empty or not. This may be
9658	// used to include empty fields in Patch requests.
9659	ForceSendFields []string `json:"-"`
9660
9661	// NullFields is a list of field names (e.g. "NextPageToken") to include
9662	// in API requests with the JSON null value. By default, fields with
9663	// empty values are omitted from API requests. However, any field with
9664	// an empty value appearing in NullFields will be sent to the server as
9665	// null. It is an error if a field in this list has a non-empty value.
9666	// This may be used to include null fields in Patch requests.
9667	NullFields []string `json:"-"`
9668}
9669
9670func (s *ListUsersResponse) MarshalJSON() ([]byte, error) {
9671	type NoMethod ListUsersResponse
9672	raw := NoMethod(*s)
9673	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9674}
9675
9676// LocationList: A list of locations used for targeting.
9677type LocationList struct {
9678	// AdvertiserId: Required. Immutable. The unique ID of the advertiser
9679	// the location list belongs to.
9680	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9681
9682	// DisplayName: Required. The display name of the location list. Must be
9683	// UTF-8 encoded with a maximum size of 240 bytes.
9684	DisplayName string `json:"displayName,omitempty"`
9685
9686	// LocationListId: Output only. The unique ID of the location list.
9687	// Assigned by the system.
9688	LocationListId int64 `json:"locationListId,omitempty,string"`
9689
9690	// LocationType: Required. Immutable. The type of location. All
9691	// locations in the list will share this type.
9692	//
9693	// Possible values:
9694	//   "TARGETING_LOCATION_TYPE_UNSPECIFIED" - Default value when type is
9695	// not specified or is unknown.
9696	//   "TARGETING_LOCATION_TYPE_PROXIMITY" - The type for proximity geo
9697	// location.
9698	//   "TARGETING_LOCATION_TYPE_REGIONAL" - The type for regional geo
9699	// location.
9700	LocationType string `json:"locationType,omitempty"`
9701
9702	// Name: Output only. The resource name of the location list.
9703	Name string `json:"name,omitempty"`
9704
9705	// ServerResponse contains the HTTP response code and headers from the
9706	// server.
9707	googleapi.ServerResponse `json:"-"`
9708
9709	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
9710	// unconditionally include in API requests. By default, fields with
9711	// empty values are omitted from API requests. However, any non-pointer,
9712	// non-interface field appearing in ForceSendFields will be sent to the
9713	// server regardless of whether the field is empty or not. This may be
9714	// used to include empty fields in Patch requests.
9715	ForceSendFields []string `json:"-"`
9716
9717	// NullFields is a list of field names (e.g. "AdvertiserId") to include
9718	// in API requests with the JSON null value. By default, fields with
9719	// empty values are omitted from API requests. However, any field with
9720	// an empty value appearing in NullFields will be sent to the server as
9721	// null. It is an error if a field in this list has a non-empty value.
9722	// This may be used to include null fields in Patch requests.
9723	NullFields []string `json:"-"`
9724}
9725
9726func (s *LocationList) MarshalJSON() ([]byte, error) {
9727	type NoMethod LocationList
9728	raw := NoMethod(*s)
9729	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9730}
9731
9732// LookbackWindow: Specifies how many days into the past to look when
9733// determining whether to record a conversion.
9734type LookbackWindow struct {
9735	// ClickDays: Lookback window, in days, from the last time a given user
9736	// clicked on one of your ads.
9737	ClickDays int64 `json:"clickDays,omitempty"`
9738
9739	// ImpressionDays: Lookback window, in days, from the last time a given
9740	// user viewed one of your ads.
9741	ImpressionDays int64 `json:"impressionDays,omitempty"`
9742
9743	// ForceSendFields is a list of field names (e.g. "ClickDays") to
9744	// unconditionally include in API requests. By default, fields with
9745	// empty values are omitted from API requests. However, any non-pointer,
9746	// non-interface field appearing in ForceSendFields will be sent to the
9747	// server regardless of whether the field is empty or not. This may be
9748	// used to include empty fields in Patch requests.
9749	ForceSendFields []string `json:"-"`
9750
9751	// NullFields is a list of field names (e.g. "ClickDays") to include in
9752	// API requests with the JSON null value. By default, fields with empty
9753	// values are omitted from API requests. However, any field with an
9754	// empty value appearing in NullFields will be sent to the server as
9755	// null. It is an error if a field in this list has a non-empty value.
9756	// This may be used to include null fields in Patch requests.
9757	NullFields []string `json:"-"`
9758}
9759
9760func (s *LookbackWindow) MarshalJSON() ([]byte, error) {
9761	type NoMethod LookbackWindow
9762	raw := NoMethod(*s)
9763	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9764}
9765
9766// ManualTrigger: A single manual trigger in Display & Video 360.
9767type ManualTrigger struct {
9768	// ActivationDurationMinutes: Required. The maximum duration of each
9769	// activation in minutes. Must be between 1 and 360 inclusive. After
9770	// this duration, the trigger will be automatically deactivated.
9771	ActivationDurationMinutes int64 `json:"activationDurationMinutes,omitempty,string"`
9772
9773	// AdvertiserId: Required. Immutable. The unique ID of the advertiser
9774	// that the manual trigger belongs to.
9775	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9776
9777	// DisplayName: Required. The display name of the manual trigger. Must
9778	// be UTF-8 encoded with a maximum size of 240 bytes.
9779	DisplayName string `json:"displayName,omitempty"`
9780
9781	// LatestActivationTime: Output only. The timestamp of the trigger's
9782	// latest activation.
9783	LatestActivationTime string `json:"latestActivationTime,omitempty"`
9784
9785	// Name: Output only. The resource name of the manual trigger.
9786	Name string `json:"name,omitempty"`
9787
9788	// State: Output only. The state of the manual trigger. Will be set to
9789	// the `INACTIVE` state upon creation.
9790	//
9791	// Possible values:
9792	//   "STATE_UNSPECIFIED" - Default value when state is not specified or
9793	// is unknown in this version.
9794	//   "INACTIVE" - The trigger is currently inactive and ready to be
9795	// activated.
9796	//   "ACTIVE" - The trigger is currently active (activated).
9797	State string `json:"state,omitempty"`
9798
9799	// TriggerId: Output only. The unique ID of the manual trigger.
9800	TriggerId int64 `json:"triggerId,omitempty,string"`
9801
9802	// ServerResponse contains the HTTP response code and headers from the
9803	// server.
9804	googleapi.ServerResponse `json:"-"`
9805
9806	// ForceSendFields is a list of field names (e.g.
9807	// "ActivationDurationMinutes") to unconditionally include in API
9808	// requests. By default, fields with empty values are omitted from API
9809	// requests. However, any non-pointer, non-interface field appearing in
9810	// ForceSendFields will be sent to the server regardless of whether the
9811	// field is empty or not. This may be used to include empty fields in
9812	// Patch requests.
9813	ForceSendFields []string `json:"-"`
9814
9815	// NullFields is a list of field names (e.g.
9816	// "ActivationDurationMinutes") to include in API requests with the JSON
9817	// null value. By default, fields with empty values are omitted from API
9818	// requests. However, any field with an empty value appearing in
9819	// NullFields will be sent to the server as null. It is an error if a
9820	// field in this list has a non-empty value. This may be used to include
9821	// null fields in Patch requests.
9822	NullFields []string `json:"-"`
9823}
9824
9825func (s *ManualTrigger) MarshalJSON() ([]byte, error) {
9826	type NoMethod ManualTrigger
9827	raw := NoMethod(*s)
9828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9829}
9830
9831// MaximizeSpendBidStrategy: A strategy that automatically adjusts the
9832// bid to optimize a specified performance goal while spending the full
9833// budget.
9834type MaximizeSpendBidStrategy struct {
9835	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used
9836	// by this strategy. Only applicable when performance_goal_type is set
9837	// to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
9838	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
9839
9840	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be
9841	// bid, in micros of the advertiser's currency. Must be greater than or
9842	// equal to a billable unit of the given currency. For example, 1500000
9843	// represents 1.5 standard units of the currency.
9844	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
9845
9846	// PerformanceGoalType: Required. The type of the performance goal that
9847	// the bidding strategy tries to minimize while spending the full
9848	// budget. `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not
9849	// supported for this strategy.
9850	//
9851	// Possible values:
9852	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value
9853	// is not specified or is unknown in this version.
9854	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
9855	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
9856	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable
9857	// CPM.
9858	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom
9859	// bidding algorithm.
9860	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview
9861	// and audible views.
9862	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over
9863	// 10 secs views.
9864	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable
9865	// impressions.
9866	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
9867
9868	// ForceSendFields is a list of field names (e.g.
9869	// "CustomBiddingAlgorithmId") to unconditionally include in API
9870	// requests. By default, fields with empty values are omitted from API
9871	// requests. However, any non-pointer, non-interface field appearing in
9872	// ForceSendFields will be sent to the server regardless of whether the
9873	// field is empty or not. This may be used to include empty fields in
9874	// Patch requests.
9875	ForceSendFields []string `json:"-"`
9876
9877	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
9878	// to include in API requests with the JSON null value. By default,
9879	// fields with empty values are omitted from API requests. However, any
9880	// field with an empty value appearing in NullFields will be sent to the
9881	// server as null. It is an error if a field in this list has a
9882	// non-empty value. This may be used to include null fields in Patch
9883	// requests.
9884	NullFields []string `json:"-"`
9885}
9886
9887func (s *MaximizeSpendBidStrategy) MarshalJSON() ([]byte, error) {
9888	type NoMethod MaximizeSpendBidStrategy
9889	raw := NoMethod(*s)
9890	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9891}
9892
9893// MeasurementConfig: Measurement settings of a partner.
9894type MeasurementConfig struct {
9895	// Dv360ToCmCostReportingEnabled: Whether or not to report DV360 cost to
9896	// CM360.
9897	Dv360ToCmCostReportingEnabled bool `json:"dv360ToCmCostReportingEnabled,omitempty"`
9898
9899	// Dv360ToCmDataSharingEnabled: Whether or not to include DV360 data in
9900	// CM360 data transfer reports.
9901	Dv360ToCmDataSharingEnabled bool `json:"dv360ToCmDataSharingEnabled,omitempty"`
9902
9903	// ForceSendFields is a list of field names (e.g.
9904	// "Dv360ToCmCostReportingEnabled") to unconditionally include in API
9905	// requests. By default, fields with empty values are omitted from API
9906	// requests. However, any non-pointer, non-interface field appearing in
9907	// ForceSendFields will be sent to the server regardless of whether the
9908	// field is empty or not. This may be used to include empty fields in
9909	// Patch requests.
9910	ForceSendFields []string `json:"-"`
9911
9912	// NullFields is a list of field names (e.g.
9913	// "Dv360ToCmCostReportingEnabled") to include in API requests with the
9914	// JSON null value. By default, fields with empty values are omitted
9915	// from API requests. However, any field with an empty value appearing
9916	// in NullFields will be sent to the server as null. It is an error if a
9917	// field in this list has a non-empty value. This may be used to include
9918	// null fields in Patch requests.
9919	NullFields []string `json:"-"`
9920}
9921
9922func (s *MeasurementConfig) MarshalJSON() ([]byte, error) {
9923	type NoMethod MeasurementConfig
9924	raw := NoMethod(*s)
9925	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9926}
9927
9928// Money: Represents an amount of money with its currency type.
9929type Money struct {
9930	// CurrencyCode: The three-letter currency code defined in ISO 4217.
9931	CurrencyCode string `json:"currencyCode,omitempty"`
9932
9933	// Nanos: Number of nano (10^-9) units of the amount. The value must be
9934	// between -999,999,999 and +999,999,999 inclusive. If `units` is
9935	// positive, `nanos` must be positive or zero. If `units` is zero,
9936	// `nanos` can be positive, zero, or negative. If `units` is negative,
9937	// `nanos` must be negative or zero. For example $-1.75 is represented
9938	// as `units`=-1 and `nanos`=-750,000,000.
9939	Nanos int64 `json:"nanos,omitempty"`
9940
9941	// Units: The whole units of the amount. For example if `currencyCode`
9942	// is "USD", then 1 unit is one US dollar.
9943	Units int64 `json:"units,omitempty,string"`
9944
9945	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
9946	// unconditionally include in API requests. By default, fields with
9947	// empty values are omitted from API requests. However, any non-pointer,
9948	// non-interface field appearing in ForceSendFields will be sent to the
9949	// server regardless of whether the field is empty or not. This may be
9950	// used to include empty fields in Patch requests.
9951	ForceSendFields []string `json:"-"`
9952
9953	// NullFields is a list of field names (e.g. "CurrencyCode") to include
9954	// in API requests with the JSON null value. By default, fields with
9955	// empty values are omitted from API requests. However, any field with
9956	// an empty value appearing in NullFields will be sent to the server as
9957	// null. It is an error if a field in this list has a non-empty value.
9958	// This may be used to include null fields in Patch requests.
9959	NullFields []string `json:"-"`
9960}
9961
9962func (s *Money) MarshalJSON() ([]byte, error) {
9963	type NoMethod Money
9964	raw := NoMethod(*s)
9965	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9966}
9967
9968// NegativeKeyword: A negatively targeted keyword that belongs to a
9969// negative keyword list.
9970type NegativeKeyword struct {
9971	// KeywordValue: Required. Immutable. The negatively targeted keyword,
9972	// for example `car insurance`. Must be UTF-8 encoded with a maximum
9973	// size of 255 bytes. Maximum number of characters is 80. Maximum number
9974	// of words is 10. Valid characters are restricted to ASCII characters
9975	// only. The only URL-escaping permitted is for representing whitespace
9976	// between words. Leading or trailing whitespace is ignored.
9977	KeywordValue string `json:"keywordValue,omitempty"`
9978
9979	// Name: Output only. The resource name of the negative keyword.
9980	Name string `json:"name,omitempty"`
9981
9982	// ServerResponse contains the HTTP response code and headers from the
9983	// server.
9984	googleapi.ServerResponse `json:"-"`
9985
9986	// ForceSendFields is a list of field names (e.g. "KeywordValue") to
9987	// unconditionally include in API requests. By default, fields with
9988	// empty values are omitted from API requests. However, any non-pointer,
9989	// non-interface field appearing in ForceSendFields will be sent to the
9990	// server regardless of whether the field is empty or not. This may be
9991	// used to include empty fields in Patch requests.
9992	ForceSendFields []string `json:"-"`
9993
9994	// NullFields is a list of field names (e.g. "KeywordValue") to include
9995	// in API requests with the JSON null value. By default, fields with
9996	// empty values are omitted from API requests. However, any field with
9997	// an empty value appearing in NullFields will be sent to the server as
9998	// null. It is an error if a field in this list has a non-empty value.
9999	// This may be used to include null fields in Patch requests.
10000	NullFields []string `json:"-"`
10001}
10002
10003func (s *NegativeKeyword) MarshalJSON() ([]byte, error) {
10004	type NoMethod NegativeKeyword
10005	raw := NoMethod(*s)
10006	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10007}
10008
10009// NegativeKeywordList: A list of negative keywords used for targeting.
10010type NegativeKeywordList struct {
10011	// AdvertiserId: Output only. The unique ID of the advertiser the
10012	// negative keyword list belongs to.
10013	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10014
10015	// DisplayName: Required. The display name of the negative keyword list.
10016	// Must be UTF-8 encoded with a maximum size of 255 bytes.
10017	DisplayName string `json:"displayName,omitempty"`
10018
10019	// Name: Output only. The resource name of the negative keyword list.
10020	Name string `json:"name,omitempty"`
10021
10022	// NegativeKeywordListId: Output only. The unique ID of the negative
10023	// keyword list. Assigned by the system.
10024	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
10025
10026	// ServerResponse contains the HTTP response code and headers from the
10027	// server.
10028	googleapi.ServerResponse `json:"-"`
10029
10030	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
10031	// unconditionally include in API requests. By default, fields with
10032	// empty values are omitted from API requests. However, any non-pointer,
10033	// non-interface field appearing in ForceSendFields will be sent to the
10034	// server regardless of whether the field is empty or not. This may be
10035	// used to include empty fields in Patch requests.
10036	ForceSendFields []string `json:"-"`
10037
10038	// NullFields is a list of field names (e.g. "AdvertiserId") to include
10039	// in API requests with the JSON null value. By default, fields with
10040	// empty values are omitted from API requests. However, any field with
10041	// an empty value appearing in NullFields will be sent to the server as
10042	// null. It is an error if a field in this list has a non-empty value.
10043	// This may be used to include null fields in Patch requests.
10044	NullFields []string `json:"-"`
10045}
10046
10047func (s *NegativeKeywordList) MarshalJSON() ([]byte, error) {
10048	type NoMethod NegativeKeywordList
10049	raw := NoMethod(*s)
10050	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10051}
10052
10053// NegativeKeywordListAssignedTargetingOptionDetails: Targeting details
10054// for negative keyword list. This will be populated in the details
10055// field of an AssignedTargetingOption when targeting_type is
10056// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
10057type NegativeKeywordListAssignedTargetingOptionDetails struct {
10058	// NegativeKeywordListId: Required. ID of the negative keyword list.
10059	// Should refer to the negative_keyword_list_id field of a
10060	// NegativeKeywordList resource.
10061	NegativeKeywordListId int64 `json:"negativeKeywordListId,omitempty,string"`
10062
10063	// ForceSendFields is a list of field names (e.g.
10064	// "NegativeKeywordListId") to unconditionally include in API requests.
10065	// By default, fields with empty values are omitted from API requests.
10066	// However, any non-pointer, non-interface field appearing in
10067	// ForceSendFields will be sent to the server regardless of whether the
10068	// field is empty or not. This may be used to include empty fields in
10069	// Patch requests.
10070	ForceSendFields []string `json:"-"`
10071
10072	// NullFields is a list of field names (e.g. "NegativeKeywordListId") to
10073	// include in API requests with the JSON null value. By default, fields
10074	// with empty values are omitted from API requests. However, any field
10075	// with an empty value appearing in NullFields will be sent to the
10076	// server as null. It is an error if a field in this list has a
10077	// non-empty value. This may be used to include null fields in Patch
10078	// requests.
10079	NullFields []string `json:"-"`
10080}
10081
10082func (s *NegativeKeywordListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10083	type NoMethod NegativeKeywordListAssignedTargetingOptionDetails
10084	raw := NoMethod(*s)
10085	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10086}
10087
10088// ObaIcon: OBA Icon for a Creative
10089type ObaIcon struct {
10090	// ClickTrackingUrl: Required. The click tracking URL of the OBA icon.
10091	// Only URLs of the following domains are allowed: *
10092	// https://info.evidon.com * https://l.betrad.com
10093	ClickTrackingUrl string `json:"clickTrackingUrl,omitempty"`
10094
10095	// Dimensions: The dimensions of the OBA icon.
10096	Dimensions *Dimensions `json:"dimensions,omitempty"`
10097
10098	// LandingPageUrl: Required. The landing page URL of the OBA icon. Only
10099	// URLs of the following domains are allowed: * https://info.evidon.com
10100	// * https://l.betrad.com
10101	LandingPageUrl string `json:"landingPageUrl,omitempty"`
10102
10103	// Position: The position of the OBA icon on the creative.
10104	//
10105	// Possible values:
10106	//   "OBA_ICON_POSITION_UNSPECIFIED" - The OBA icon position is not
10107	// specified.
10108	//   "OBA_ICON_POSITION_UPPER_RIGHT" - At the upper right side of the
10109	// creative.
10110	//   "OBA_ICON_POSITION_UPPER_LEFT" - At the upper left side of the
10111	// creative.
10112	//   "OBA_ICON_POSITION_LOWER_RIGHT" - At the lower right side of the
10113	// creative.
10114	//   "OBA_ICON_POSITION_LOWER_LEFT" - At the lower left side of the
10115	// creative.
10116	Position string `json:"position,omitempty"`
10117
10118	// Program: The program of the OBA icon. For example: “AdChoices”.
10119	Program string `json:"program,omitempty"`
10120
10121	// ResourceMimeType: The MIME type of the OBA icon resource.
10122	ResourceMimeType string `json:"resourceMimeType,omitempty"`
10123
10124	// ResourceUrl: The URL of the OBA icon resource.
10125	ResourceUrl string `json:"resourceUrl,omitempty"`
10126
10127	// ViewTrackingUrl: Required. The view tracking URL of the OBA icon.
10128	// Only URLs of the following domains are allowed: *
10129	// https://info.evidon.com * https://l.betrad.com
10130	ViewTrackingUrl string `json:"viewTrackingUrl,omitempty"`
10131
10132	// ForceSendFields is a list of field names (e.g. "ClickTrackingUrl") to
10133	// unconditionally include in API requests. By default, fields with
10134	// empty values are omitted from API requests. However, any non-pointer,
10135	// non-interface field appearing in ForceSendFields will be sent to the
10136	// server regardless of whether the field is empty or not. This may be
10137	// used to include empty fields in Patch requests.
10138	ForceSendFields []string `json:"-"`
10139
10140	// NullFields is a list of field names (e.g. "ClickTrackingUrl") to
10141	// include in API requests with the JSON null value. By default, fields
10142	// with empty values are omitted from API requests. However, any field
10143	// with an empty value appearing in NullFields will be sent to the
10144	// server as null. It is an error if a field in this list has a
10145	// non-empty value. This may be used to include null fields in Patch
10146	// requests.
10147	NullFields []string `json:"-"`
10148}
10149
10150func (s *ObaIcon) MarshalJSON() ([]byte, error) {
10151	type NoMethod ObaIcon
10152	raw := NoMethod(*s)
10153	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10154}
10155
10156// OnScreenPositionAssignedTargetingOptionDetails: On screen position
10157// targeting option details. This will be populated in the
10158// on_screen_position_details field when targeting_type is
10159// `TARGETING_TYPE_ON_SCREEN_POSITION`.
10160type OnScreenPositionAssignedTargetingOptionDetails struct {
10161	// OnScreenPosition: Output only. The on screen position.
10162	//
10163	// Possible values:
10164	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not
10165	// specified in this version. This enum is a place holder for a default
10166	// value and does not represent a real on screen position.
10167	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the
10168	// screen.
10169	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the
10170	// fold.
10171	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the
10172	// fold.
10173	OnScreenPosition string `json:"onScreenPosition,omitempty"`
10174
10175	// TargetingOptionId: Required. The targeting_option_id field when
10176	// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
10177	TargetingOptionId string `json:"targetingOptionId,omitempty"`
10178
10179	// ForceSendFields is a list of field names (e.g. "OnScreenPosition") to
10180	// unconditionally include in API requests. By default, fields with
10181	// empty values are omitted from API requests. However, any non-pointer,
10182	// non-interface field appearing in ForceSendFields will be sent to the
10183	// server regardless of whether the field is empty or not. This may be
10184	// used to include empty fields in Patch requests.
10185	ForceSendFields []string `json:"-"`
10186
10187	// NullFields is a list of field names (e.g. "OnScreenPosition") to
10188	// include in API requests with the JSON null value. By default, fields
10189	// with empty values are omitted from API requests. However, any field
10190	// with an empty value appearing in NullFields will be sent to the
10191	// server as null. It is an error if a field in this list has a
10192	// non-empty value. This may be used to include null fields in Patch
10193	// requests.
10194	NullFields []string `json:"-"`
10195}
10196
10197func (s *OnScreenPositionAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10198	type NoMethod OnScreenPositionAssignedTargetingOptionDetails
10199	raw := NoMethod(*s)
10200	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10201}
10202
10203// OnScreenPositionTargetingOptionDetails: Represents a targetable on
10204// screen position, which could be used by display and video ads. This
10205// will be populated in the on_screen_position_details field when
10206// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
10207type OnScreenPositionTargetingOptionDetails struct {
10208	// OnScreenPosition: Output only. The on screen position.
10209	//
10210	// Possible values:
10211	//   "ON_SCREEN_POSITION_UNSPECIFIED" - On screen position is not
10212	// specified in this version. This enum is a place holder for a default
10213	// value and does not represent a real on screen position.
10214	//   "ON_SCREEN_POSITION_UNKNOWN" - The ad position is unknown on the
10215	// screen.
10216	//   "ON_SCREEN_POSITION_ABOVE_THE_FOLD" - The ad is located above the
10217	// fold.
10218	//   "ON_SCREEN_POSITION_BELOW_THE_FOLD" - The ad is located below the
10219	// fold.
10220	OnScreenPosition string `json:"onScreenPosition,omitempty"`
10221
10222	// ForceSendFields is a list of field names (e.g. "OnScreenPosition") to
10223	// unconditionally include in API requests. By default, fields with
10224	// empty values are omitted from API requests. However, any non-pointer,
10225	// non-interface field appearing in ForceSendFields will be sent to the
10226	// server regardless of whether the field is empty or not. This may be
10227	// used to include empty fields in Patch requests.
10228	ForceSendFields []string `json:"-"`
10229
10230	// NullFields is a list of field names (e.g. "OnScreenPosition") to
10231	// include in API requests with the JSON null value. By default, fields
10232	// with empty values are omitted from API requests. However, any field
10233	// with an empty value appearing in NullFields will be sent to the
10234	// server as null. It is an error if a field in this list has a
10235	// non-empty value. This may be used to include null fields in Patch
10236	// requests.
10237	NullFields []string `json:"-"`
10238}
10239
10240func (s *OnScreenPositionTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10241	type NoMethod OnScreenPositionTargetingOptionDetails
10242	raw := NoMethod(*s)
10243	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10244}
10245
10246// OperatingSystemAssignedTargetingOptionDetails: Assigned operating
10247// system targeting option details. This will be populated in the
10248// operating_system_details field when targeting_type is
10249// `TARGETING_TYPE_OPERATING_SYSTEM`.
10250type OperatingSystemAssignedTargetingOptionDetails struct {
10251	// DisplayName: Output only. The display name of the operating system.
10252	DisplayName string `json:"displayName,omitempty"`
10253
10254	// Negative: Indicates if this option is being negatively targeted.
10255	Negative bool `json:"negative,omitempty"`
10256
10257	// TargetingOptionId: Required. The targeting option ID populated in
10258	// targeting_option_id field when targeting_type is
10259	// `TARGETING_TYPE_OPERATING_SYSTEM`.
10260	TargetingOptionId string `json:"targetingOptionId,omitempty"`
10261
10262	// ForceSendFields is a list of field names (e.g. "DisplayName") to
10263	// unconditionally include in API requests. By default, fields with
10264	// empty values are omitted from API requests. However, any non-pointer,
10265	// non-interface field appearing in ForceSendFields will be sent to the
10266	// server regardless of whether the field is empty or not. This may be
10267	// used to include empty fields in Patch requests.
10268	ForceSendFields []string `json:"-"`
10269
10270	// NullFields is a list of field names (e.g. "DisplayName") to include
10271	// in API requests with the JSON null value. By default, fields with
10272	// empty values are omitted from API requests. However, any field with
10273	// an empty value appearing in NullFields will be sent to the server as
10274	// null. It is an error if a field in this list has a non-empty value.
10275	// This may be used to include null fields in Patch requests.
10276	NullFields []string `json:"-"`
10277}
10278
10279func (s *OperatingSystemAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10280	type NoMethod OperatingSystemAssignedTargetingOptionDetails
10281	raw := NoMethod(*s)
10282	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10283}
10284
10285// OperatingSystemTargetingOptionDetails: Represents a targetable
10286// operating system. This will be populated in the
10287// operating_system_details field of a TargetingOption when
10288// targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
10289type OperatingSystemTargetingOptionDetails struct {
10290	// DisplayName: Output only. The display name of the operating system.
10291	DisplayName string `json:"displayName,omitempty"`
10292
10293	// ForceSendFields is a list of field names (e.g. "DisplayName") to
10294	// unconditionally include in API requests. By default, fields with
10295	// empty values are omitted from API requests. However, any non-pointer,
10296	// non-interface field appearing in ForceSendFields will be sent to the
10297	// server regardless of whether the field is empty or not. This may be
10298	// used to include empty fields in Patch requests.
10299	ForceSendFields []string `json:"-"`
10300
10301	// NullFields is a list of field names (e.g. "DisplayName") to include
10302	// in API requests with the JSON null value. By default, fields with
10303	// empty values are omitted from API requests. However, any field with
10304	// an empty value appearing in NullFields will be sent to the server as
10305	// null. It is an error if a field in this list has a non-empty value.
10306	// This may be used to include null fields in Patch requests.
10307	NullFields []string `json:"-"`
10308}
10309
10310func (s *OperatingSystemTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10311	type NoMethod OperatingSystemTargetingOptionDetails
10312	raw := NoMethod(*s)
10313	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10314}
10315
10316// Operation: This resource represents a long-running operation that is
10317// the result of a network API call.
10318type Operation struct {
10319	// Done: If the value is `false`, it means the operation is still in
10320	// progress. If `true`, the operation is completed, and either `error`
10321	// or `response` is available.
10322	Done bool `json:"done,omitempty"`
10323
10324	// Error: The error result of the operation in case of failure or
10325	// cancellation.
10326	Error *Status `json:"error,omitempty"`
10327
10328	// Metadata: Service-specific metadata associated with the operation. It
10329	// typically contains progress information and common metadata such as
10330	// create time. Some services might not provide such metadata. Any
10331	// method that returns a long-running operation should document the
10332	// metadata type, if any.
10333	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
10334
10335	// Name: The server-assigned name, which is only unique within the same
10336	// service that originally returns it. If you use the default HTTP
10337	// mapping, the `name` should be a resource name ending with
10338	// `operations/{unique_id}`.
10339	Name string `json:"name,omitempty"`
10340
10341	// Response: The normal response of the operation in case of success. If
10342	// the original method returns no data on success, such as `Delete`, the
10343	// response is `google.protobuf.Empty`. If the original method is
10344	// standard `Get`/`Create`/`Update`, the response should be the
10345	// resource. For other methods, the response should have the type
10346	// `XxxResponse`, where `Xxx` is the original method name. For example,
10347	// if the original method name is `TakeSnapshot()`, the inferred
10348	// response type is `TakeSnapshotResponse`.
10349	Response googleapi.RawMessage `json:"response,omitempty"`
10350
10351	// ServerResponse contains the HTTP response code and headers from the
10352	// server.
10353	googleapi.ServerResponse `json:"-"`
10354
10355	// ForceSendFields is a list of field names (e.g. "Done") to
10356	// unconditionally include in API requests. By default, fields with
10357	// empty values are omitted from API requests. However, any non-pointer,
10358	// non-interface field appearing in ForceSendFields will be sent to the
10359	// server regardless of whether the field is empty or not. This may be
10360	// used to include empty fields in Patch requests.
10361	ForceSendFields []string `json:"-"`
10362
10363	// NullFields is a list of field names (e.g. "Done") to include in API
10364	// requests with the JSON null value. By default, fields with empty
10365	// values are omitted from API requests. However, any field with an
10366	// empty value appearing in NullFields will be sent to the server as
10367	// null. It is an error if a field in this list has a non-empty value.
10368	// This may be used to include null fields in Patch requests.
10369	NullFields []string `json:"-"`
10370}
10371
10372func (s *Operation) MarshalJSON() ([]byte, error) {
10373	type NoMethod Operation
10374	raw := NoMethod(*s)
10375	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10376}
10377
10378// Pacing: Settings that control the rate at which a budget is spent.
10379type Pacing struct {
10380	// DailyMaxImpressions: Maximum number of impressions to serve every
10381	// day. Applicable when the budget is impression based. Must be greater
10382	// than 0.
10383	DailyMaxImpressions int64 `json:"dailyMaxImpressions,omitempty,string"`
10384
10385	// DailyMaxMicros: Maximum currency amount to spend every day in micros
10386	// of advertiser's currency. Applicable when the budget is currency
10387	// based. Must be greater than 0. For example, for 1.5 standard unit of
10388	// the currency, set this field to 1500000. The value assigned will be
10389	// rounded to whole billable units for the relevant currency by the
10390	// following rules: any positive value less than a single billable unit
10391	// will be rounded up to one billable unit and any value larger than a
10392	// single billable unit will be rounded down to the nearest billable
10393	// value. For example, if the currency's billable unit is 0.01, and this
10394	// field is set to 10257770, it will round down to 10250000, a value of
10395	// 10.25. If set to 505, it will round up to 10000, a value of 0.01.
10396	DailyMaxMicros int64 `json:"dailyMaxMicros,omitempty,string"`
10397
10398	// PacingPeriod: Required. The time period in which the pacing budget
10399	// will be spent. When automatic budget allocation is enabled at the
10400	// insertion order via auto_budget_allocation, this field is output only
10401	// and defaults to `PACING_PERIOD_FLIGHT`.
10402	//
10403	// Possible values:
10404	//   "PACING_PERIOD_UNSPECIFIED" - Period value is not specified or is
10405	// unknown in this version.
10406	//   "PACING_PERIOD_DAILY" - The pacing setting will be applied on daily
10407	// basis.
10408	//   "PACING_PERIOD_FLIGHT" - The pacing setting will be applied to the
10409	// whole flight duration.
10410	PacingPeriod string `json:"pacingPeriod,omitempty"`
10411
10412	// PacingType: Required. The type of pacing that defines how the budget
10413	// amount will be spent across the pacing_period.
10414	//
10415	// Possible values:
10416	//   "PACING_TYPE_UNSPECIFIED" - Pacing mode value is not specified or
10417	// is unknown in this version.
10418	//   "PACING_TYPE_AHEAD" - Only applicable to `PACING_PERIOD_FLIGHT`
10419	// pacing period. Ahead pacing attempts to spend faster than evenly, to
10420	// make sure the entire budget is spent by the end of the flight.
10421	//   "PACING_TYPE_ASAP" - Spend all of pacing budget amount as quick as
10422	// possible.
10423	//   "PACING_TYPE_EVEN" - Spend a consistent budget amount every period
10424	// of time.
10425	PacingType string `json:"pacingType,omitempty"`
10426
10427	// ForceSendFields is a list of field names (e.g. "DailyMaxImpressions")
10428	// to unconditionally include in API requests. By default, fields with
10429	// empty values are omitted from API requests. However, any non-pointer,
10430	// non-interface field appearing in ForceSendFields will be sent to the
10431	// server regardless of whether the field is empty or not. This may be
10432	// used to include empty fields in Patch requests.
10433	ForceSendFields []string `json:"-"`
10434
10435	// NullFields is a list of field names (e.g. "DailyMaxImpressions") to
10436	// include in API requests with the JSON null value. By default, fields
10437	// with empty values are omitted from API requests. However, any field
10438	// with an empty value appearing in NullFields will be sent to the
10439	// server as null. It is an error if a field in this list has a
10440	// non-empty value. This may be used to include null fields in Patch
10441	// requests.
10442	NullFields []string `json:"-"`
10443}
10444
10445func (s *Pacing) MarshalJSON() ([]byte, error) {
10446	type NoMethod Pacing
10447	raw := NoMethod(*s)
10448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10449}
10450
10451// ParentEntityFilter: A filtering option that filters on selected file
10452// types belonging to a chosen set of filter entities.
10453type ParentEntityFilter struct {
10454	// FileType: Required. File types that will be returned.
10455	//
10456	// Possible values:
10457	//   "FILE_TYPE_UNSPECIFIED" - Default value when type is unspecified or
10458	// is unknown in this version.
10459	//   "FILE_TYPE_CAMPAIGN" - Campaign.
10460	//   "FILE_TYPE_MEDIA_PRODUCT" - Media Product.
10461	//   "FILE_TYPE_INSERTION_ORDER" - Insertion Order.
10462	//   "FILE_TYPE_LINE_ITEM" - Line Item.
10463	//   "FILE_TYPE_AD_GROUP" - YouTube Ad Group.
10464	//   "FILE_TYPE_AD" - YouTube Ad.
10465	FileType []string `json:"fileType,omitempty"`
10466
10467	// FilterIds: The IDs of the specified filter type. This is used to
10468	// filter entities to fetch. If filter type is not `FILTER_TYPE_NONE`,
10469	// at least one ID must be specified.
10470	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
10471
10472	// FilterType: Required. Filter type used to filter fetched entities.
10473	//
10474	// Possible values:
10475	//   "FILTER_TYPE_UNSPECIFIED" - Default value when type is unspecified
10476	// or is unknown in this version.
10477	//   "FILTER_TYPE_NONE" - If selected, no filter will be applied to the
10478	// download. Can only be used if an Advertiser is specified in
10479	// CreateSdfDownloadTaskRequest.
10480	//   "FILTER_TYPE_ADVERTISER_ID" - Advertiser ID. If selected, all
10481	// filter IDs must be Advertiser IDs that belong to the Partner
10482	// specified in CreateSdfDownloadTaskRequest.
10483	//   "FILTER_TYPE_CAMPAIGN_ID" - Campaign ID. If selected, all filter
10484	// IDs must be Campaign IDs that belong to the Advertiser or Partner
10485	// specified in CreateSdfDownloadTaskRequest.
10486	//   "FILTER_TYPE_MEDIA_PRODUCT_ID" - Media Product ID. If selected, all
10487	// filter IDs must be Media Product IDs that belong to the Advertiser or
10488	// Partner specified in CreateSdfDownloadTaskRequest. Can only be used
10489	// for downloading `FILE_TYPE_MEDIA_PRODUCT`.
10490	//   "FILTER_TYPE_INSERTION_ORDER_ID" - Insertion Order ID. If selected,
10491	// all filter IDs must be Insertion Order IDs that belong to the
10492	// Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can
10493	// only be used for downloading `FILE_TYPE_INSERTION_ORDER`,
10494	// `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.
10495	//   "FILTER_TYPE_LINE_ITEM_ID" - Line Item ID. If selected, all filter
10496	// IDs must be Line Item IDs that belong to the Advertiser or Partner
10497	// specified in CreateSdfDownloadTaskRequest. Can only be used for
10498	// downloading `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and
10499	// `FILE_TYPE_AD`.
10500	FilterType string `json:"filterType,omitempty"`
10501
10502	// ForceSendFields is a list of field names (e.g. "FileType") to
10503	// unconditionally include in API requests. By default, fields with
10504	// empty values are omitted from API requests. However, any non-pointer,
10505	// non-interface field appearing in ForceSendFields will be sent to the
10506	// server regardless of whether the field is empty or not. This may be
10507	// used to include empty fields in Patch requests.
10508	ForceSendFields []string `json:"-"`
10509
10510	// NullFields is a list of field names (e.g. "FileType") to include in
10511	// API requests with the JSON null value. By default, fields with empty
10512	// values are omitted from API requests. However, any field with an
10513	// empty value appearing in NullFields will be sent to the server as
10514	// null. It is an error if a field in this list has a non-empty value.
10515	// This may be used to include null fields in Patch requests.
10516	NullFields []string `json:"-"`
10517}
10518
10519func (s *ParentEntityFilter) MarshalJSON() ([]byte, error) {
10520	type NoMethod ParentEntityFilter
10521	raw := NoMethod(*s)
10522	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10523}
10524
10525// ParentalStatusAssignedTargetingOptionDetails: Details for assigned
10526// parental status targeting option. This will be populated in the
10527// details field of an AssignedTargetingOption when targeting_type is
10528// `TARTGETING_TYPE_PARENTAL_STATUS`.
10529type ParentalStatusAssignedTargetingOptionDetails struct {
10530	// ParentalStatus: Output only. The parental status of the audience.
10531	//
10532	// Possible values:
10533	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status
10534	// is not specified in this version. This enum is a place holder for
10535	// default value and does not represent a real parental status option.
10536	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
10537	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
10538	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
10539	// unknown.
10540	ParentalStatus string `json:"parentalStatus,omitempty"`
10541
10542	// TargetingOptionId: Required. The targeting_option_id of a
10543	// TargetingOption of type `TARGETING_TYPE_PARENTAL_STATUS`.
10544	TargetingOptionId string `json:"targetingOptionId,omitempty"`
10545
10546	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
10547	// unconditionally include in API requests. By default, fields with
10548	// empty values are omitted from API requests. However, any non-pointer,
10549	// non-interface field appearing in ForceSendFields will be sent to the
10550	// server regardless of whether the field is empty or not. This may be
10551	// used to include empty fields in Patch requests.
10552	ForceSendFields []string `json:"-"`
10553
10554	// NullFields is a list of field names (e.g. "ParentalStatus") to
10555	// include in API requests with the JSON null value. By default, fields
10556	// with empty values are omitted from API requests. However, any field
10557	// with an empty value appearing in NullFields will be sent to the
10558	// server as null. It is an error if a field in this list has a
10559	// non-empty value. This may be used to include null fields in Patch
10560	// requests.
10561	NullFields []string `json:"-"`
10562}
10563
10564func (s *ParentalStatusAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10565	type NoMethod ParentalStatusAssignedTargetingOptionDetails
10566	raw := NoMethod(*s)
10567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10568}
10569
10570// ParentalStatusTargetingOptionDetails: Represents a targetable
10571// parental status. This will be populated in the
10572// parental_status_details field of a TargetingOption when
10573// targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.
10574type ParentalStatusTargetingOptionDetails struct {
10575	// ParentalStatus: Output only. The parental status of an audience.
10576	//
10577	// Possible values:
10578	//   "PARENTAL_STATUS_UNSPECIFIED" - Default value when parental status
10579	// is not specified in this version. This enum is a place holder for
10580	// default value and does not represent a real parental status option.
10581	//   "PARENTAL_STATUS_PARENT" - The audience is a parent.
10582	//   "PARENTAL_STATUS_NOT_A_PARENT" - The audience is not a parent.
10583	//   "PARENTAL_STATUS_UNKNOWN" - The parental status of the audience is
10584	// unknown.
10585	ParentalStatus string `json:"parentalStatus,omitempty"`
10586
10587	// ForceSendFields is a list of field names (e.g. "ParentalStatus") to
10588	// unconditionally include in API requests. By default, fields with
10589	// empty values are omitted from API requests. However, any non-pointer,
10590	// non-interface field appearing in ForceSendFields will be sent to the
10591	// server regardless of whether the field is empty or not. This may be
10592	// used to include empty fields in Patch requests.
10593	ForceSendFields []string `json:"-"`
10594
10595	// NullFields is a list of field names (e.g. "ParentalStatus") to
10596	// include in API requests with the JSON null value. By default, fields
10597	// with empty values are omitted from API requests. However, any field
10598	// with an empty value appearing in NullFields will be sent to the
10599	// server as null. It is an error if a field in this list has a
10600	// non-empty value. This may be used to include null fields in Patch
10601	// requests.
10602	NullFields []string `json:"-"`
10603}
10604
10605func (s *ParentalStatusTargetingOptionDetails) MarshalJSON() ([]byte, error) {
10606	type NoMethod ParentalStatusTargetingOptionDetails
10607	raw := NoMethod(*s)
10608	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10609}
10610
10611// Partner: A single partner in Display & Video 360 (DV360).
10612type Partner struct {
10613	// AdServerConfig: Ad server related settings of the partner.
10614	AdServerConfig *PartnerAdServerConfig `json:"adServerConfig,omitempty"`
10615
10616	// DataAccessConfig: Settings that control how partner data may be
10617	// accessed.
10618	DataAccessConfig *PartnerDataAccessConfig `json:"dataAccessConfig,omitempty"`
10619
10620	// DisplayName: The display name of the partner. Must be UTF-8 encoded
10621	// with a maximum size of 240 bytes.
10622	DisplayName string `json:"displayName,omitempty"`
10623
10624	// EntityStatus: Output only. The status of the partner.
10625	//
10626	// Possible values:
10627	//   "ENTITY_STATUS_UNSPECIFIED" - Default value when status is not
10628	// specified or is unknown in this version.
10629	//   "ENTITY_STATUS_ACTIVE" - The entity is enabled to bid and spend
10630	// budget.
10631	//   "ENTITY_STATUS_ARCHIVED" - The entity is archived. Bidding and
10632	// budget spending are disabled. An entity can be deleted after
10633	// archived. Deleted entities cannot be retrieved.
10634	//   "ENTITY_STATUS_DRAFT" - The entity is under draft. Bidding and
10635	// budget spending are disabled.
10636	//   "ENTITY_STATUS_PAUSED" - Bidding and budget spending are paused for
10637	// the entity.
10638	//   "ENTITY_STATUS_SCHEDULED_FOR_DELETION" - The entity is scheduled
10639	// for deletion.
10640	EntityStatus string `json:"entityStatus,omitempty"`
10641
10642	// ExchangeConfig: Settings that control which exchanges are enabled for
10643	// the partner.
10644	ExchangeConfig *ExchangeConfig `json:"exchangeConfig,omitempty"`
10645
10646	// GeneralConfig: General settings of the partner.
10647	GeneralConfig *PartnerGeneralConfig `json:"generalConfig,omitempty"`
10648
10649	// Name: Output only. The resource name of the partner.
10650	Name string `json:"name,omitempty"`
10651
10652	// PartnerId: Output only. The unique ID of the partner. Assigned by the
10653	// system.
10654	PartnerId int64 `json:"partnerId,omitempty,string"`
10655
10656	// UpdateTime: Output only. The timestamp when the partner was last
10657	// updated. Assigned by the system.
10658	UpdateTime string `json:"updateTime,omitempty"`
10659
10660	// ServerResponse contains the HTTP response code and headers from the
10661	// server.
10662	googleapi.ServerResponse `json:"-"`
10663
10664	// ForceSendFields is a list of field names (e.g. "AdServerConfig") to
10665	// unconditionally include in API requests. By default, fields with
10666	// empty values are omitted from API requests. However, any non-pointer,
10667	// non-interface field appearing in ForceSendFields will be sent to the
10668	// server regardless of whether the field is empty or not. This may be
10669	// used to include empty fields in Patch requests.
10670	ForceSendFields []string `json:"-"`
10671
10672	// NullFields is a list of field names (e.g. "AdServerConfig") to
10673	// include in API requests with the JSON null value. By default, fields
10674	// with empty values are omitted from API requests. However, any field
10675	// with an empty value appearing in NullFields will be sent to the
10676	// server as null. It is an error if a field in this list has a
10677	// non-empty value. This may be used to include null fields in Patch
10678	// requests.
10679	NullFields []string `json:"-"`
10680}
10681
10682func (s *Partner) MarshalJSON() ([]byte, error) {
10683	type NoMethod Partner
10684	raw := NoMethod(*s)
10685	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10686}
10687
10688// PartnerAdServerConfig: Ad server related settings of a partner.
10689type PartnerAdServerConfig struct {
10690	// MeasurementConfig: Measurement settings of a partner.
10691	MeasurementConfig *MeasurementConfig `json:"measurementConfig,omitempty"`
10692
10693	// ForceSendFields is a list of field names (e.g. "MeasurementConfig")
10694	// to unconditionally include in API requests. By default, fields with
10695	// empty values are omitted from API requests. However, any non-pointer,
10696	// non-interface field appearing in ForceSendFields will be sent to the
10697	// server regardless of whether the field is empty or not. This may be
10698	// used to include empty fields in Patch requests.
10699	ForceSendFields []string `json:"-"`
10700
10701	// NullFields is a list of field names (e.g. "MeasurementConfig") to
10702	// include in API requests with the JSON null value. By default, fields
10703	// with empty values are omitted from API requests. However, any field
10704	// with an empty value appearing in NullFields will be sent to the
10705	// server as null. It is an error if a field in this list has a
10706	// non-empty value. This may be used to include null fields in Patch
10707	// requests.
10708	NullFields []string `json:"-"`
10709}
10710
10711func (s *PartnerAdServerConfig) MarshalJSON() ([]byte, error) {
10712	type NoMethod PartnerAdServerConfig
10713	raw := NoMethod(*s)
10714	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10715}
10716
10717// PartnerCost: Settings that control a partner cost. A partner cost is
10718// any type of expense involved in running a campaign, other than the
10719// costs of purchasing impressions (which is called the media cost) and
10720// using third-party audience segment data (data fee). Some examples of
10721// partner costs include the fees for using DV360, a third-party ad
10722// server, or a third-party ad serving verification service.
10723type PartnerCost struct {
10724	// CostType: Required. The type of the partner cost.
10725	//
10726	// Possible values:
10727	//   "PARTNER_COST_TYPE_UNSPECIFIED" - Type value is not specified or is
10728	// unknown in this version.
10729	//   "PARTNER_COST_TYPE_ADLOOX" - The cost is charged for using Adloox.
10730	//   "PARTNER_COST_TYPE_ADLOOX_PREBID" - The cost is charged for using
10731	// Adloox Pre-Bid.
10732	//   "PARTNER_COST_TYPE_ADSAFE" - The cost is charged for using AdSafe.
10733	//   "PARTNER_COST_TYPE_ADXPOSE" - The cost is charged for using
10734	// AdExpose.
10735	//   "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE" - The cost is charged for
10736	// using Aggregate Knowledge.
10737	//   "PARTNER_COST_TYPE_AGENCY_TRADING_DESK" - The cost is charged for
10738	// using an Agency Trading Desk.
10739	//   "PARTNER_COST_TYPE_DV360_FEE" - The cost is charged for using
10740	// DV360.
10741	//   "PARTNER_COST_TYPE_COMSCORE_VCE" - The cost is charged for using
10742	// comScore vCE.
10743	//   "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM" - The cost is charged
10744	// for using a Data Management Platform.
10745	//   "PARTNER_COST_TYPE_DEFAULT" - The default cost type.
10746	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY" - The cost is charged for using
10747	// DoubleVerify.
10748	//   "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID" - The cost is charged for
10749	// using DoubleVerify Pre-Bid.
10750	//   "PARTNER_COST_TYPE_EVIDON" - The cost is charged for using Evidon.
10751	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO" - The cost is charged
10752	// for using Integral Ad Science Video.
10753	//   "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID" - The cost is
10754	// charged for using Integral Ad Science Pre-Bid.
10755	//   "PARTNER_COST_TYPE_MEDIA_COST_DATA" - The cost is charged for using
10756	// media cost data.
10757	//   "PARTNER_COST_TYPE_MOAT_VIDEO" - The cost is charged for using MOAT
10758	// Video.
10759	//   "PARTNER_COST_TYPE_NIELSEN_DAR" - The cost is charged for using
10760	// Nielsen Digital Ad Ratings.
10761	//   "PARTNER_COST_TYPE_SHOP_LOCAL" - The cost is charged for using
10762	// ShopLocal.
10763	//   "PARTNER_COST_TYPE_TERACENT" - The cost is charged for using
10764	// Teracent.
10765	//   "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER" - The cost is charged for
10766	// using a third-party ad server.
10767	//   "PARTNER_COST_TYPE_TRUST_METRICS" - The cost is charged for using
10768	// TrustMetrics.
10769	//   "PARTNER_COST_TYPE_VIZU" - The cost is charged for using Vizu.
10770	//   "PARTNER_COST_TYPE_ADLINGO_FEE" - The cost is charged for using
10771	// AdLingo.
10772	//   "PARTNER_COST_TYPE_CUSTOM_FEE_1" - The cost is charged as custom
10773	// fee 1.
10774	//   "PARTNER_COST_TYPE_CUSTOM_FEE_2" - The cost is charged as custom
10775	// fee 2.
10776	//   "PARTNER_COST_TYPE_CUSTOM_FEE_3" - The cost is charged as custom
10777	// fee 3.
10778	//   "PARTNER_COST_TYPE_CUSTOM_FEE_4" - The cost is charged as custom
10779	// fee 4.
10780	//   "PARTNER_COST_TYPE_CUSTOM_FEE_5" - The cost is charged as custom
10781	// fee 5.
10782	CostType string `json:"costType,omitempty"`
10783
10784	// FeeAmount: The CPM fee amount in micros of advertiser's currency.
10785	// Applicable when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be
10786	// greater than or equal to 0. For example, for 1.5 standard unit of the
10787	// advertiser's currency, set this field to 1500000.
10788	FeeAmount int64 `json:"feeAmount,omitempty,string"`
10789
10790	// FeePercentageMillis: The media fee percentage in millis (1/1000 of a
10791	// percent). Applicable when the fee_type is
10792	// `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0. For
10793	// example: 100 represents 0.1%.
10794	FeePercentageMillis int64 `json:"feePercentageMillis,omitempty,string"`
10795
10796	// FeeType: Required. The fee type for this partner cost.
10797	//
10798	// Possible values:
10799	//   "PARTNER_COST_FEE_TYPE_UNSPECIFIED" - Value is not specified or is
10800	// unknown in this version.
10801	//   "PARTNER_COST_FEE_TYPE_CPM_FEE" - The partner cost is a fixed CPM
10802	// fee. Not applicable when the partner cost cost_type is one of: *
10803	// `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.
10804	//   "PARTNER_COST_FEE_TYPE_MEDIA_FEE" - The partner cost is a
10805	// percentage surcharge based on the media cost. Not applicable when the
10806	// partner cost_type is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` *
10807	// `PARTNER_COST_TYPE_TRUST_METRICS` *
10808	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` *
10809	// `PARTNER_COST_TYPE_MOAT_VIDEO`.
10810	FeeType string `json:"feeType,omitempty"`
10811
10812	// InvoiceType: The invoice type for this partner cost. * Required when
10813	// cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` -
10814	// `PARTNER_COST_TYPE_DOUBLE_VERIFY` -
10815	// `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other
10816	// types.
10817	//
10818	// Possible values:
10819	//   "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED" - Type value is not
10820	// specified or is unknown in this version.
10821	//   "PARTNER_COST_INVOICE_TYPE_DV360" - Partner cost is billed through
10822	// DV360.
10823	//   "PARTNER_COST_INVOICE_TYPE_PARTNER" - Partner cost is billed by the
10824	// partner.
10825	InvoiceType string `json:"invoiceType,omitempty"`
10826
10827	// ForceSendFields is a list of field names (e.g. "CostType") to
10828	// unconditionally include in API requests. By default, fields with
10829	// empty values are omitted from API requests. However, any non-pointer,
10830	// non-interface field appearing in ForceSendFields will be sent to the
10831	// server regardless of whether the field is empty or not. This may be
10832	// used to include empty fields in Patch requests.
10833	ForceSendFields []string `json:"-"`
10834
10835	// NullFields is a list of field names (e.g. "CostType") to include in
10836	// API requests with the JSON null value. By default, fields with empty
10837	// values are omitted from API requests. However, any field with an
10838	// empty value appearing in NullFields will be sent to the server as
10839	// null. It is an error if a field in this list has a non-empty value.
10840	// This may be used to include null fields in Patch requests.
10841	NullFields []string `json:"-"`
10842}
10843
10844func (s *PartnerCost) MarshalJSON() ([]byte, error) {
10845	type NoMethod PartnerCost
10846	raw := NoMethod(*s)
10847	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10848}
10849
10850// PartnerDataAccessConfig: Settings that control how partner related
10851// data may be accessed.
10852type PartnerDataAccessConfig struct {
10853	// SdfConfig: Structured Data Files (SDF) settings for the partner. The
10854	// SDF configuration for the partner.
10855	SdfConfig *SdfConfig `json:"sdfConfig,omitempty"`
10856
10857	// ForceSendFields is a list of field names (e.g. "SdfConfig") to
10858	// unconditionally include in API requests. By default, fields with
10859	// empty values are omitted from API requests. However, any non-pointer,
10860	// non-interface field appearing in ForceSendFields will be sent to the
10861	// server regardless of whether the field is empty or not. This may be
10862	// used to include empty fields in Patch requests.
10863	ForceSendFields []string `json:"-"`
10864
10865	// NullFields is a list of field names (e.g. "SdfConfig") to include in
10866	// API requests with the JSON null value. By default, fields with empty
10867	// values are omitted from API requests. However, any field with an
10868	// empty value appearing in NullFields will be sent to the server as
10869	// null. It is an error if a field in this list has a non-empty value.
10870	// This may be used to include null fields in Patch requests.
10871	NullFields []string `json:"-"`
10872}
10873
10874func (s *PartnerDataAccessConfig) MarshalJSON() ([]byte, error) {
10875	type NoMethod PartnerDataAccessConfig
10876	raw := NoMethod(*s)
10877	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10878}
10879
10880// PartnerGeneralConfig: General settings of a partner.
10881type PartnerGeneralConfig struct {
10882	// CurrencyCode: Immutable. Partner's currency in ISO 4217 format.
10883	CurrencyCode string `json:"currencyCode,omitempty"`
10884
10885	// TimeZone: Immutable. The standard TZ database name of the partner's
10886	// time zone. For example, `America/New_York`. See more at:
10887	// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
10888	TimeZone string `json:"timeZone,omitempty"`
10889
10890	// ForceSendFields is a list of field names (e.g. "CurrencyCode") to
10891	// unconditionally include in API requests. By default, fields with
10892	// empty values are omitted from API requests. However, any non-pointer,
10893	// non-interface field appearing in ForceSendFields will be sent to the
10894	// server regardless of whether the field is empty or not. This may be
10895	// used to include empty fields in Patch requests.
10896	ForceSendFields []string `json:"-"`
10897
10898	// NullFields is a list of field names (e.g. "CurrencyCode") to include
10899	// in API requests with the JSON null value. By default, fields with
10900	// empty values are omitted from API requests. However, any field with
10901	// an empty value appearing in NullFields will be sent to the server as
10902	// null. It is an error if a field in this list has a non-empty value.
10903	// This may be used to include null fields in Patch requests.
10904	NullFields []string `json:"-"`
10905}
10906
10907func (s *PartnerGeneralConfig) MarshalJSON() ([]byte, error) {
10908	type NoMethod PartnerGeneralConfig
10909	raw := NoMethod(*s)
10910	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10911}
10912
10913// PartnerRevenueModel: Settings that control how partner revenue is
10914// calculated.
10915type PartnerRevenueModel struct {
10916	// MarkupAmount: Required. The markup amount of the partner revenue
10917	// model. Must be greater than or equal to 0. * When the markup_type is
10918	// set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field
10919	// represents the CPM markup in micros of advertiser's currency. For
10920	// example, 1500000 represents 1.5 standard units of the currency. *
10921	// When the markup_type is set to be
10922	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field
10923	// represents the media cost percent markup in millis. For example, 100
10924	// represents 0.1% (decimal 0.001). * When the markup_type is set to be
10925	// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this
10926	// field represents the total media cost percent markup in millis. For
10927	// example, 100 represents 0.1% (decimal 0.001).
10928	MarkupAmount int64 `json:"markupAmount,omitempty,string"`
10929
10930	// MarkupType: Required. The markup type of the partner revenue model.
10931	//
10932	// Possible values:
10933	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED" - Type value is not
10934	// specified or is unknown in this version.
10935	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM" - Calculate the partner
10936	// revenue based on a fixed CPM.
10937	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP" - Calculate
10938	// the partner revenue based on a percentage surcharge of its media
10939	// cost.
10940	//   "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" -
10941	// Calculate the partner revenue based on a percentage surcharge of its
10942	// total media cost, which includes all partner costs and data costs.
10943	MarkupType string `json:"markupType,omitempty"`
10944
10945	// ForceSendFields is a list of field names (e.g. "MarkupAmount") to
10946	// unconditionally include in API requests. By default, fields with
10947	// empty values are omitted from API requests. However, any non-pointer,
10948	// non-interface field appearing in ForceSendFields will be sent to the
10949	// server regardless of whether the field is empty or not. This may be
10950	// used to include empty fields in Patch requests.
10951	ForceSendFields []string `json:"-"`
10952
10953	// NullFields is a list of field names (e.g. "MarkupAmount") to include
10954	// in API requests with the JSON null value. By default, fields with
10955	// empty values are omitted from API requests. However, any field with
10956	// an empty value appearing in NullFields will be sent to the server as
10957	// null. It is an error if a field in this list has a non-empty value.
10958	// This may be used to include null fields in Patch requests.
10959	NullFields []string `json:"-"`
10960}
10961
10962func (s *PartnerRevenueModel) MarshalJSON() ([]byte, error) {
10963	type NoMethod PartnerRevenueModel
10964	raw := NoMethod(*s)
10965	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10966}
10967
10968// PerformanceGoal: Settings that control the performance goal of a
10969// campaign or insertion order.
10970type PerformanceGoal struct {
10971	// PerformanceGoalAmountMicros: The goal amount, in micros of the
10972	// advertiser's currency. Applicable when performance_goal_type is one
10973	// of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` *
10974	// `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` For
10975	// example 1500000 represents 1.5 standard units of the currency.
10976	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
10977
10978	// PerformanceGoalPercentageMicros: The decimal representation of the
10979	// goal percentage in micros. Applicable when performance_goal_type is
10980	// one of: * `PERFORMANCE_GOAL_TYPE_CTR` *
10981	// `PERFORMANCE_GOAL_TYPE_VIEWABILITY` For example, 70000 represents 7%
10982	// (decimal 0.07).
10983	PerformanceGoalPercentageMicros int64 `json:"performanceGoalPercentageMicros,omitempty,string"`
10984
10985	// PerformanceGoalString: A key performance indicator (KPI) string,
10986	// which can be empty. Must be UTF-8 encoded with a length of no more
10987	// than 100 characters. Applicable when performance_goal_type is set to
10988	// `PERFORMANCE_GOAL_TYPE_OTHER`.
10989	PerformanceGoalString string `json:"performanceGoalString,omitempty"`
10990
10991	// PerformanceGoalType: Required. The type of the performance goal.
10992	//
10993	// Possible values:
10994	//   "PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Performance goal type is not
10995	// specified or is unknown in this version.
10996	//   "PERFORMANCE_GOAL_TYPE_CPM" - The performance goal is set in CPM
10997	// (cost per mille).
10998	//   "PERFORMANCE_GOAL_TYPE_CPC" - The performance goal is set in CPC
10999	// (cost per click).
11000	//   "PERFORMANCE_GOAL_TYPE_CPA" - The performance goal is set in CPA
11001	// (cost per action).
11002	//   "PERFORMANCE_GOAL_TYPE_CTR" - The performance goal is set in CTR
11003	// (click-through rate) percentage.
11004	//   "PERFORMANCE_GOAL_TYPE_VIEWABILITY" - The performance goal is set
11005	// in Viewability percentage.
11006	//   "PERFORMANCE_GOAL_TYPE_CPIAVC" - The performance goal is set as
11007	// CPIAVC (cost per impression audible and visible at completion).
11008	//   "PERFORMANCE_GOAL_TYPE_CPE" - The performance goal is set in CPE
11009	// (cost per engagement).
11010	//   "PERFORMANCE_GOAL_TYPE_OTHER" - The performance goal is set to
11011	// Other.
11012	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
11013
11014	// ForceSendFields is a list of field names (e.g.
11015	// "PerformanceGoalAmountMicros") to unconditionally include in API
11016	// requests. By default, fields with empty values are omitted from API
11017	// requests. However, any non-pointer, non-interface field appearing in
11018	// ForceSendFields will be sent to the server regardless of whether the
11019	// field is empty or not. This may be used to include empty fields in
11020	// Patch requests.
11021	ForceSendFields []string `json:"-"`
11022
11023	// NullFields is a list of field names (e.g.
11024	// "PerformanceGoalAmountMicros") to include in API requests with the
11025	// JSON null value. By default, fields with empty values are omitted
11026	// from API requests. However, any field with an empty value appearing
11027	// in NullFields will be sent to the server as null. It is an error if a
11028	// field in this list has a non-empty value. This may be used to include
11029	// null fields in Patch requests.
11030	NullFields []string `json:"-"`
11031}
11032
11033func (s *PerformanceGoal) MarshalJSON() ([]byte, error) {
11034	type NoMethod PerformanceGoal
11035	raw := NoMethod(*s)
11036	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11037}
11038
11039// PerformanceGoalBidStrategy: A strategy that automatically adjusts the
11040// bid to meet or beat a specified performance goal.
11041type PerformanceGoalBidStrategy struct {
11042	// CustomBiddingAlgorithmId: The ID of the Custom Bidding Algorithm used
11043	// by this strategy. Only applicable when performance_goal_type is set
11044	// to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
11045	CustomBiddingAlgorithmId int64 `json:"customBiddingAlgorithmId,omitempty,string"`
11046
11047	// MaxAverageCpmBidAmountMicros: The maximum average CPM that may be
11048	// bid, in micros of the advertiser's currency. Must be greater than or
11049	// equal to a billable unit of the given currency. Not applicable when
11050	// performance_goal_type is set to
11051	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example,
11052	// 1500000 represents 1.5 standard units of the currency.
11053	MaxAverageCpmBidAmountMicros int64 `json:"maxAverageCpmBidAmountMicros,omitempty,string"`
11054
11055	// PerformanceGoalAmountMicros: Required. The performance goal the
11056	// bidding strategy will attempt to meet or beat, in micros of the
11057	// advertiser's currency or in micro of the ROAS (Return On Advertising
11058	// Spend) value which is also based on advertiser's currency. Must be
11059	// greater than or equal to a billable unit of the given currency and
11060	// smaller or equal to upper bounds. Each performance_goal_type has its
11061	// upper bound: * when performance_goal_type is
11062	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00
11063	// USD. * when performance_goal_type is
11064	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00
11065	// USD. * when performance_goal_type is
11066	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is
11067	// 1000.00 USD. * when performance_goal_type is
11068	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is
11069	// 1000.00 and lower bound is 0.01. Example: If set to
11070	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price
11071	// will be based on the probability that each available impression will
11072	// be viewable. For example, if viewable CPM target is $2 and an
11073	// impression is 40% likely to be viewable, the bid price will be $0.80
11074	// CPM (40% of $2). For example, 1500000 represents 1.5 standard units
11075	// of the currency or ROAS value.
11076	PerformanceGoalAmountMicros int64 `json:"performanceGoalAmountMicros,omitempty,string"`
11077
11078	// PerformanceGoalType: Required. The type of the performance goal that
11079	// the bidding strategy will try to meet or beat. For line item level
11080	// usage, the value must be one of: *
11081	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` *
11082	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` *
11083	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` *
11084	// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
11085	//
11086	// Possible values:
11087	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED" - Type value
11088	// is not specified or is unknown in this version.
11089	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA" - Cost per action.
11090	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC" - Cost per click.
11091	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM" - Viewable
11092	// CPM.
11093	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO" - Custom
11094	// bidding algorithm.
11095	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA" - Completed inview
11096	// and audible views.
11097	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN" - Inview time over
11098	// 10 secs views.
11099	//   "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" - Viewable
11100	// impressions.
11101	PerformanceGoalType string `json:"performanceGoalType,omitempty"`
11102
11103	// ForceSendFields is a list of field names (e.g.
11104	// "CustomBiddingAlgorithmId") to unconditionally include in API
11105	// requests. By default, fields with empty values are omitted from API
11106	// requests. However, any non-pointer, non-interface field appearing in
11107	// ForceSendFields will be sent to the server regardless of whether the
11108	// field is empty or not. This may be used to include empty fields in
11109	// Patch requests.
11110	ForceSendFields []string `json:"-"`
11111
11112	// NullFields is a list of field names (e.g. "CustomBiddingAlgorithmId")
11113	// to include in API requests with the JSON null value. By default,
11114	// fields with empty values are omitted from API requests. However, any
11115	// field with an empty value appearing in NullFields will be sent to the
11116	// server as null. It is an error if a field in this list has a
11117	// non-empty value. This may be used to include null fields in Patch
11118	// requests.
11119	NullFields []string `json:"-"`
11120}
11121
11122func (s *PerformanceGoalBidStrategy) MarshalJSON() ([]byte, error) {
11123	type NoMethod PerformanceGoalBidStrategy
11124	raw := NoMethod(*s)
11125	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11126}
11127
11128// ProximityLocationListAssignedTargetingOptionDetails: Targeting
11129// details for proximity location list. This will be populated in the
11130// details field of an AssignedTargetingOption when targeting_type is
11131// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
11132type ProximityLocationListAssignedTargetingOptionDetails struct {
11133	// ProximityLocationListId: Required. ID of the proximity location list.
11134	// Should refer to the location_list_id field of a LocationList resource
11135	// whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.
11136	ProximityLocationListId int64 `json:"proximityLocationListId,omitempty,string"`
11137
11138	// ProximityRadiusRange: Required. Radius range for proximity location
11139	// list. This represents the size of the area around a chosen location
11140	// that will be targeted. `All` proximity location targeting under a
11141	// single line item must have the same radius range value. Set this
11142	// value to match any existing targeting. If updated, this field will
11143	// change the radius range for all proximity targeting under the line
11144	// item.
11145	//
11146	// Possible values:
11147	//   "PROXIMITY_RADIUS_RANGE_UNSPECIFIED" - The targeted radius range is
11148	// not specified or is unknown. Default value when radius range is not
11149	// specified in this version. This enum is a placeholder for default
11150	// value and does not represent a real radius range option.
11151	//   "PROXIMITY_RADIUS_RANGE_SMALL" - The targeted radius range is
11152	// small.
11153	//   "PROXIMITY_RADIUS_RANGE_MEDIUM" - The targeted radius range is
11154	// medium.
11155	//   "PROXIMITY_RADIUS_RANGE_LARGE" - The targeted radius range is
11156	// large.
11157	ProximityRadiusRange string `json:"proximityRadiusRange,omitempty"`
11158
11159	// ForceSendFields is a list of field names (e.g.
11160	// "ProximityLocationListId") to unconditionally include in API
11161	// requests. By default, fields with empty values are omitted from API
11162	// requests. However, any non-pointer, non-interface field appearing in
11163	// ForceSendFields will be sent to the server regardless of whether the
11164	// field is empty or not. This may be used to include empty fields in
11165	// Patch requests.
11166	ForceSendFields []string `json:"-"`
11167
11168	// NullFields is a list of field names (e.g. "ProximityLocationListId")
11169	// to include in API requests with the JSON null value. By default,
11170	// fields with empty values are omitted from API requests. However, any
11171	// field with an empty value appearing in NullFields will be sent to the
11172	// server as null. It is an error if a field in this list has a
11173	// non-empty value. This may be used to include null fields in Patch
11174	// requests.
11175	NullFields []string `json:"-"`
11176}
11177
11178func (s *ProximityLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11179	type NoMethod ProximityLocationListAssignedTargetingOptionDetails
11180	raw := NoMethod(*s)
11181	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11182}
11183
11184// PublisherReviewStatus: Publisher review status for the creative.
11185type PublisherReviewStatus struct {
11186	// PublisherName: The publisher reviewing the creative.
11187	PublisherName string `json:"publisherName,omitempty"`
11188
11189	// Status: Status of the publisher review.
11190	//
11191	// Possible values:
11192	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
11193	// unknown in this version.
11194	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
11195	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
11196	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
11197	Status string `json:"status,omitempty"`
11198
11199	// ForceSendFields is a list of field names (e.g. "PublisherName") to
11200	// unconditionally include in API requests. By default, fields with
11201	// empty values are omitted from API requests. However, any non-pointer,
11202	// non-interface field appearing in ForceSendFields will be sent to the
11203	// server regardless of whether the field is empty or not. This may be
11204	// used to include empty fields in Patch requests.
11205	ForceSendFields []string `json:"-"`
11206
11207	// NullFields is a list of field names (e.g. "PublisherName") to include
11208	// in API requests with the JSON null value. By default, fields with
11209	// empty values are omitted from API requests. However, any field with
11210	// an empty value appearing in NullFields will be sent to the server as
11211	// null. It is an error if a field in this list has a non-empty value.
11212	// This may be used to include null fields in Patch requests.
11213	NullFields []string `json:"-"`
11214}
11215
11216func (s *PublisherReviewStatus) MarshalJSON() ([]byte, error) {
11217	type NoMethod PublisherReviewStatus
11218	raw := NoMethod(*s)
11219	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11220}
11221
11222// RateDetails: The rate related settings of the inventory source.
11223type RateDetails struct {
11224	// InventorySourceRateType: The rate type. Acceptable values are
11225	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`,
11226	// `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and
11227	// `INVENTORY_SOURCE_RATE_TYPE_CPD`.
11228	//
11229	// Possible values:
11230	//   "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED" - The rate type is not
11231	// specified or is unknown in this version.
11232	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED" - The rate type is CPM
11233	// (Fixed).
11234	//   "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR" - The rate type is CPM
11235	// (Floor).
11236	//   "INVENTORY_SOURCE_RATE_TYPE_CPD" - The rate type is Cost per Day.
11237	//   "INVENTORY_SOURCE_RATE_TYPE_FLAT" - The rate type is Flat.
11238	InventorySourceRateType string `json:"inventorySourceRateType,omitempty"`
11239
11240	// MinimumSpend: Output only. The amount that the buyer has committed to
11241	// spending on the inventory source up front. Only applicable for
11242	// guaranteed inventory sources.
11243	MinimumSpend *Money `json:"minimumSpend,omitempty"`
11244
11245	// Rate: The rate for the inventory source.
11246	Rate *Money `json:"rate,omitempty"`
11247
11248	// UnitsPurchased: Required for guaranteed inventory sources. The number
11249	// of impressions guaranteed by the seller.
11250	UnitsPurchased int64 `json:"unitsPurchased,omitempty,string"`
11251
11252	// ForceSendFields is a list of field names (e.g.
11253	// "InventorySourceRateType") to unconditionally include in API
11254	// requests. By default, fields with empty values are omitted from API
11255	// requests. However, any non-pointer, non-interface field appearing in
11256	// ForceSendFields will be sent to the server regardless of whether the
11257	// field is empty or not. This may be used to include empty fields in
11258	// Patch requests.
11259	ForceSendFields []string `json:"-"`
11260
11261	// NullFields is a list of field names (e.g. "InventorySourceRateType")
11262	// to include in API requests with the JSON null value. By default,
11263	// fields with empty values are omitted from API requests. However, any
11264	// field with an empty value appearing in NullFields will be sent to the
11265	// server as null. It is an error if a field in this list has a
11266	// non-empty value. This may be used to include null fields in Patch
11267	// requests.
11268	NullFields []string `json:"-"`
11269}
11270
11271func (s *RateDetails) MarshalJSON() ([]byte, error) {
11272	type NoMethod RateDetails
11273	raw := NoMethod(*s)
11274	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11275}
11276
11277// RegionalLocationListAssignedTargetingOptionDetails: Targeting details
11278// for regional location list. This will be populated in the details
11279// field of an AssignedTargetingOption when targeting_type is
11280// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
11281type RegionalLocationListAssignedTargetingOptionDetails struct {
11282	// Negative: Indicates if this option is being negatively targeted.
11283	Negative bool `json:"negative,omitempty"`
11284
11285	// RegionalLocationListId: Required. ID of the regional location list.
11286	// Should refer to the location_list_id field of a LocationList resource
11287	// whose type is `TARGETING_LOCATION_TYPE_REGIONAL`.
11288	RegionalLocationListId int64 `json:"regionalLocationListId,omitempty,string"`
11289
11290	// ForceSendFields is a list of field names (e.g. "Negative") to
11291	// unconditionally include in API requests. By default, fields with
11292	// empty values are omitted from API requests. However, any non-pointer,
11293	// non-interface field appearing in ForceSendFields will be sent to the
11294	// server regardless of whether the field is empty or not. This may be
11295	// used to include empty fields in Patch requests.
11296	ForceSendFields []string `json:"-"`
11297
11298	// NullFields is a list of field names (e.g. "Negative") to include in
11299	// API requests with the JSON null value. By default, fields with empty
11300	// values are omitted from API requests. However, any field with an
11301	// empty value appearing in NullFields will be sent to the server as
11302	// null. It is an error if a field in this list has a non-empty value.
11303	// This may be used to include null fields in Patch requests.
11304	NullFields []string `json:"-"`
11305}
11306
11307func (s *RegionalLocationListAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11308	type NoMethod RegionalLocationListAssignedTargetingOptionDetails
11309	raw := NoMethod(*s)
11310	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11311}
11312
11313// ReviewStatusInfo: Review statuses for the creative.
11314type ReviewStatusInfo struct {
11315	// ApprovalStatus: Represents the basic approval needed for a creative
11316	// to begin serving. Summary of creative_and_landing_page_review_status
11317	// and content_and_policy_review_status.
11318	//
11319	// Possible values:
11320	//   "APPROVAL_STATUS_UNSPECIFIED" - Type value is not specified or is
11321	// unknown in this version.
11322	//   "APPROVAL_STATUS_PENDING_NOT_SERVABLE" - The creative is still
11323	// under review and not servable.
11324	//   "APPROVAL_STATUS_PENDING_SERVABLE" - The creative has passed
11325	// creative & landing page review and is servable, but is awaiting
11326	// additional content & policy review.
11327	//   "APPROVAL_STATUS_APPROVED_SERVABLE" - Both creative & landing page
11328	// review and content & policy review are approved. The creative is
11329	// servable.
11330	//   "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" - There is an issue with
11331	// the creative that must be fixed before it can serve.
11332	ApprovalStatus string `json:"approvalStatus,omitempty"`
11333
11334	// ContentAndPolicyReviewStatus: Content and policy review status for
11335	// the creative.
11336	//
11337	// Possible values:
11338	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
11339	// unknown in this version.
11340	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
11341	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
11342	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
11343	ContentAndPolicyReviewStatus string `json:"contentAndPolicyReviewStatus,omitempty"`
11344
11345	// CreativeAndLandingPageReviewStatus: Creative and landing page review
11346	// status for the creative.
11347	//
11348	// Possible values:
11349	//   "REVIEW_STATUS_UNSPECIFIED" - Type value is not specified or is
11350	// unknown in this version.
11351	//   "REVIEW_STATUS_APPROVED" - The creative is approved.
11352	//   "REVIEW_STATUS_REJECTED" - The creative is rejected.
11353	//   "REVIEW_STATUS_PENDING" - The creative is pending review.
11354	CreativeAndLandingPageReviewStatus string `json:"creativeAndLandingPageReviewStatus,omitempty"`
11355
11356	// ExchangeReviewStatuses: Exchange review statuses for the creative.
11357	ExchangeReviewStatuses []*ExchangeReviewStatus `json:"exchangeReviewStatuses,omitempty"`
11358
11359	// PublisherReviewStatuses: Publisher review statuses for the creative.
11360	PublisherReviewStatuses []*PublisherReviewStatus `json:"publisherReviewStatuses,omitempty"`
11361
11362	// ForceSendFields is a list of field names (e.g. "ApprovalStatus") to
11363	// unconditionally include in API requests. By default, fields with
11364	// empty values are omitted from API requests. However, any non-pointer,
11365	// non-interface field appearing in ForceSendFields will be sent to the
11366	// server regardless of whether the field is empty or not. This may be
11367	// used to include empty fields in Patch requests.
11368	ForceSendFields []string `json:"-"`
11369
11370	// NullFields is a list of field names (e.g. "ApprovalStatus") to
11371	// include in API requests with the JSON null value. By default, fields
11372	// with empty values are omitted from API requests. However, any field
11373	// with an empty value appearing in NullFields will be sent to the
11374	// server as null. It is an error if a field in this list has a
11375	// non-empty value. This may be used to include null fields in Patch
11376	// requests.
11377	NullFields []string `json:"-"`
11378}
11379
11380func (s *ReviewStatusInfo) MarshalJSON() ([]byte, error) {
11381	type NoMethod ReviewStatusInfo
11382	raw := NoMethod(*s)
11383	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11384}
11385
11386// SdfConfig: Structured Data File (SDF) related settings.
11387type SdfConfig struct {
11388	// AdminEmail: An administrator email address to which the SDF
11389	// processing status reports will be sent.
11390	AdminEmail string `json:"adminEmail,omitempty"`
11391
11392	// Version: Required. The version of SDF being used.
11393	//
11394	// Possible values:
11395	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
11396	// is unknown in this version.
11397	//   "SDF_VERSION_3_1" - SDF version 3.1
11398	//   "SDF_VERSION_4" - SDF version 4
11399	//   "SDF_VERSION_4_1" - SDF version 4.1
11400	//   "SDF_VERSION_4_2" - SDF version 4.2
11401	//   "SDF_VERSION_5" - SDF version 5.
11402	//   "SDF_VERSION_5_1" - SDF version 5.1
11403	//   "SDF_VERSION_5_2" - SDF version 5.2;
11404	Version string `json:"version,omitempty"`
11405
11406	// ForceSendFields is a list of field names (e.g. "AdminEmail") to
11407	// unconditionally include in API requests. By default, fields with
11408	// empty values are omitted from API requests. However, any non-pointer,
11409	// non-interface field appearing in ForceSendFields will be sent to the
11410	// server regardless of whether the field is empty or not. This may be
11411	// used to include empty fields in Patch requests.
11412	ForceSendFields []string `json:"-"`
11413
11414	// NullFields is a list of field names (e.g. "AdminEmail") to include in
11415	// API requests with the JSON null value. By default, fields with empty
11416	// values are omitted from API requests. However, any field with an
11417	// empty value appearing in NullFields will be sent to the server as
11418	// null. It is an error if a field in this list has a non-empty value.
11419	// This may be used to include null fields in Patch requests.
11420	NullFields []string `json:"-"`
11421}
11422
11423func (s *SdfConfig) MarshalJSON() ([]byte, error) {
11424	type NoMethod SdfConfig
11425	raw := NoMethod(*s)
11426	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11427}
11428
11429// SdfDownloadTask: Type for the response returned by
11430// [SdfDownloadTaskService.CreateSdfDownloadTask].
11431type SdfDownloadTask struct {
11432	// ResourceName: A resource name to be used in media.download to
11433	// Download the prepared files. Resource names have the format
11434	// `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made
11435	// available by the long running operation service once the task status
11436	// is done.
11437	ResourceName string `json:"resourceName,omitempty"`
11438
11439	// ForceSendFields is a list of field names (e.g. "ResourceName") to
11440	// unconditionally include in API requests. By default, fields with
11441	// empty values are omitted from API requests. However, any non-pointer,
11442	// non-interface field appearing in ForceSendFields will be sent to the
11443	// server regardless of whether the field is empty or not. This may be
11444	// used to include empty fields in Patch requests.
11445	ForceSendFields []string `json:"-"`
11446
11447	// NullFields is a list of field names (e.g. "ResourceName") to include
11448	// in API requests with the JSON null value. By default, fields with
11449	// empty values are omitted from API requests. However, any field with
11450	// an empty value appearing in NullFields will be sent to the server as
11451	// null. It is an error if a field in this list has a non-empty value.
11452	// This may be used to include null fields in Patch requests.
11453	NullFields []string `json:"-"`
11454}
11455
11456func (s *SdfDownloadTask) MarshalJSON() ([]byte, error) {
11457	type NoMethod SdfDownloadTask
11458	raw := NoMethod(*s)
11459	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11460}
11461
11462// SdfDownloadTaskMetadata: Type for the metadata returned by
11463// [SdfDownloadTaskService.CreateSdfDownloadTask].
11464type SdfDownloadTaskMetadata struct {
11465	// CreateTime: The time when the operation was created.
11466	CreateTime string `json:"createTime,omitempty"`
11467
11468	// EndTime: The time when execution was completed.
11469	EndTime string `json:"endTime,omitempty"`
11470
11471	// Version: The SDF version used to execute this download task.
11472	//
11473	// Possible values:
11474	//   "SDF_VERSION_UNSPECIFIED" - SDF version value is not specified or
11475	// is unknown in this version.
11476	//   "SDF_VERSION_3_1" - SDF version 3.1
11477	//   "SDF_VERSION_4" - SDF version 4
11478	//   "SDF_VERSION_4_1" - SDF version 4.1
11479	//   "SDF_VERSION_4_2" - SDF version 4.2
11480	//   "SDF_VERSION_5" - SDF version 5.
11481	//   "SDF_VERSION_5_1" - SDF version 5.1
11482	//   "SDF_VERSION_5_2" - SDF version 5.2;
11483	Version string `json:"version,omitempty"`
11484
11485	// ForceSendFields is a list of field names (e.g. "CreateTime") to
11486	// unconditionally include in API requests. By default, fields with
11487	// empty values are omitted from API requests. However, any non-pointer,
11488	// non-interface field appearing in ForceSendFields will be sent to the
11489	// server regardless of whether the field is empty or not. This may be
11490	// used to include empty fields in Patch requests.
11491	ForceSendFields []string `json:"-"`
11492
11493	// NullFields is a list of field names (e.g. "CreateTime") to include in
11494	// API requests with the JSON null value. By default, fields with empty
11495	// values are omitted from API requests. However, any field with an
11496	// empty value appearing in NullFields will be sent to the server as
11497	// null. It is an error if a field in this list has a non-empty value.
11498	// This may be used to include null fields in Patch requests.
11499	NullFields []string `json:"-"`
11500}
11501
11502func (s *SdfDownloadTaskMetadata) MarshalJSON() ([]byte, error) {
11503	type NoMethod SdfDownloadTaskMetadata
11504	raw := NoMethod(*s)
11505	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11506}
11507
11508// SearchTargetingOptionsRequest: Request message for
11509// SearchTargetingOptions.
11510type SearchTargetingOptionsRequest struct {
11511	// AdvertiserId: Required. The Advertiser this request is being made in
11512	// the context of.
11513	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11514
11515	// GeoRegionSearchTerms: Search terms for geo region targeting options.
11516	// Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`.
11517	GeoRegionSearchTerms *GeoRegionSearchTerms `json:"geoRegionSearchTerms,omitempty"`
11518
11519	// PageSize: Requested page size. Must be between `1` and `100`. If
11520	// unspecified will default to `100`. Returns error code
11521	// `INVALID_ARGUMENT` if an invalid value is specified.
11522	PageSize int64 `json:"pageSize,omitempty"`
11523
11524	// PageToken: A token identifying a page of results the server should
11525	// return. Typically, this is the value of next_page_token returned from
11526	// the previous call to `SearchTargetingOptions` method. If not
11527	// specified, the first page of results will be returned.
11528	PageToken string `json:"pageToken,omitempty"`
11529
11530	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
11531	// unconditionally include in API requests. By default, fields with
11532	// empty values are omitted from API requests. However, any non-pointer,
11533	// non-interface field appearing in ForceSendFields will be sent to the
11534	// server regardless of whether the field is empty or not. This may be
11535	// used to include empty fields in Patch requests.
11536	ForceSendFields []string `json:"-"`
11537
11538	// NullFields is a list of field names (e.g. "AdvertiserId") to include
11539	// in API requests with the JSON null value. By default, fields with
11540	// empty values are omitted from API requests. However, any field with
11541	// an empty value appearing in NullFields will be sent to the server as
11542	// null. It is an error if a field in this list has a non-empty value.
11543	// This may be used to include null fields in Patch requests.
11544	NullFields []string `json:"-"`
11545}
11546
11547func (s *SearchTargetingOptionsRequest) MarshalJSON() ([]byte, error) {
11548	type NoMethod SearchTargetingOptionsRequest
11549	raw := NoMethod(*s)
11550	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11551}
11552
11553// SearchTargetingOptionsResponse: Response message for
11554// SearchTargetingOptionsResponse.
11555type SearchTargetingOptionsResponse struct {
11556	// NextPageToken: A token to retrieve the next page of results. Pass
11557	// this value in the page_token field in the subsequent call to
11558	// `SearchTargetingOptions` method to retrieve the next page of results.
11559	NextPageToken string `json:"nextPageToken,omitempty"`
11560
11561	// TargetingOptions: The list of targeting options that match the search
11562	// criteria. This list will be absent if empty.
11563	TargetingOptions []*TargetingOption `json:"targetingOptions,omitempty"`
11564
11565	// ServerResponse contains the HTTP response code and headers from the
11566	// server.
11567	googleapi.ServerResponse `json:"-"`
11568
11569	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
11570	// unconditionally include in API requests. By default, fields with
11571	// empty values are omitted from API requests. However, any non-pointer,
11572	// non-interface field appearing in ForceSendFields will be sent to the
11573	// server regardless of whether the field is empty or not. This may be
11574	// used to include empty fields in Patch requests.
11575	ForceSendFields []string `json:"-"`
11576
11577	// NullFields is a list of field names (e.g. "NextPageToken") to include
11578	// in API requests with the JSON null value. By default, fields with
11579	// empty values are omitted from API requests. However, any field with
11580	// an empty value appearing in NullFields will be sent to the server as
11581	// null. It is an error if a field in this list has a non-empty value.
11582	// This may be used to include null fields in Patch requests.
11583	NullFields []string `json:"-"`
11584}
11585
11586func (s *SearchTargetingOptionsResponse) MarshalJSON() ([]byte, error) {
11587	type NoMethod SearchTargetingOptionsResponse
11588	raw := NoMethod(*s)
11589	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11590}
11591
11592// SensitiveCategoryAssignedTargetingOptionDetails: Targeting details
11593// for sensitive category. This will be populated in the details field
11594// of an AssignedTargetingOption when targeting_type is
11595// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
11596type SensitiveCategoryAssignedTargetingOptionDetails struct {
11597	// ExcludedTargetingOptionId: Required. ID of the sensitive category to
11598	// be EXCLUDED.
11599	ExcludedTargetingOptionId string `json:"excludedTargetingOptionId,omitempty"`
11600
11601	// SensitiveCategory: Output only. An enum for the DV360 Sensitive
11602	// category content classifier.
11603	//
11604	// Possible values:
11605	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder
11606	// and doesn't specify a DV360 sensitive category.
11607	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or
11608	// video content.
11609	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as
11610	// biased against individuals, groups, or organizations based on
11611	// criteria such as race, religion, disability, sex, age, veteran
11612	// status, sexual orientation, gender identity, or political
11613	// affiliation. May also indicate discussion of such content, for
11614	// instance, in an academic or journalistic context.
11615	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio,
11616	// video, or software downloads.
11617	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
11618	// weapons, including knives, guns, small firearms, and ammunition.
11619	// Selecting either "weapons" or "sensitive social issues" will result
11620	// in selecting both.
11621	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting
11622	// or wagering in a real-world or online setting.
11623	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
11624	// graphically violent, gory, gruesome, or shocking, such as street
11625	// fighting videos, accident photos, descriptions of torture, etc.
11626	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as
11627	// suggestive content that's not explicitly pornographic. This category
11628	// includes all pages categorized as adult.
11629	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
11630	// indecent, such as curse words and sexual slang. Pages with only very
11631	// occasional usage, such as news sites that might include such words in
11632	// a quotation, are not included.
11633	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to
11634	// alcoholic beverages, alcohol brands, recipes, etc.
11635	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the
11636	// recreational use of legal or illegal drugs, as well as to drug
11637	// paraphernalia or cultivation.
11638	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco
11639	// and tobacco accessories, including lighters, humidors, ashtrays, etc.
11640	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
11641	// discussions of social, governmental, and public policy.
11642	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious
11643	// thought or beliefs.
11644	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
11645	// accidents, war, etc.
11646	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to
11647	// motor vehicle, aviation or other transportation accidents.
11648	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke
11649	// strong, opposing views and spark debate. These include issues that
11650	// are controversial in most countries and markets (such as abortion),
11651	// as well as those that are controversial in specific countries and
11652	// markets (such as immigration reform in the United States).
11653	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered
11654	// shocking or disturbing, such as violent news stories, stunts, or
11655	// toilet humor.
11656	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
11657
11658	// ForceSendFields is a list of field names (e.g.
11659	// "ExcludedTargetingOptionId") to unconditionally include in API
11660	// requests. By default, fields with empty values are omitted from API
11661	// requests. However, any non-pointer, non-interface field appearing in
11662	// ForceSendFields will be sent to the server regardless of whether the
11663	// field is empty or not. This may be used to include empty fields in
11664	// Patch requests.
11665	ForceSendFields []string `json:"-"`
11666
11667	// NullFields is a list of field names (e.g.
11668	// "ExcludedTargetingOptionId") to include in API requests with the JSON
11669	// null value. By default, fields with empty values are omitted from API
11670	// requests. However, any field with an empty value appearing in
11671	// NullFields will be sent to the server as null. It is an error if a
11672	// field in this list has a non-empty value. This may be used to include
11673	// null fields in Patch requests.
11674	NullFields []string `json:"-"`
11675}
11676
11677func (s *SensitiveCategoryAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11678	type NoMethod SensitiveCategoryAssignedTargetingOptionDetails
11679	raw := NoMethod(*s)
11680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11681}
11682
11683// SensitiveCategoryTargetingOptionDetails: Represents a targetable
11684// sensitive category. This will be populated in the
11685// sensitive_category_details field of the TargetingOption when
11686// targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
11687type SensitiveCategoryTargetingOptionDetails struct {
11688	// SensitiveCategory: Output only. An enum for the DV360 Sensitive
11689	// category content classifier.
11690	//
11691	// Possible values:
11692	//   "SENSITIVE_CATEGORY_UNSPECIFIED" - This enum is only a placeholder
11693	// and doesn't specify a DV360 sensitive category.
11694	//   "SENSITIVE_CATEGORY_ADULT" - Adult or pornographic text, image, or
11695	// video content.
11696	//   "SENSITIVE_CATEGORY_DEROGATORY" - Content that may be construed as
11697	// biased against individuals, groups, or organizations based on
11698	// criteria such as race, religion, disability, sex, age, veteran
11699	// status, sexual orientation, gender identity, or political
11700	// affiliation. May also indicate discussion of such content, for
11701	// instance, in an academic or journalistic context.
11702	//   "SENSITIVE_CATEGORY_DOWNLOADS_SHARING" - Content related to audio,
11703	// video, or software downloads.
11704	//   "SENSITIVE_CATEGORY_WEAPONS" - Contains content related to personal
11705	// weapons, including knives, guns, small firearms, and ammunition.
11706	// Selecting either "weapons" or "sensitive social issues" will result
11707	// in selecting both.
11708	//   "SENSITIVE_CATEGORY_GAMBLING" - Contains content related to betting
11709	// or wagering in a real-world or online setting.
11710	//   "SENSITIVE_CATEGORY_VIOLENCE" - Content which may be considered
11711	// graphically violent, gory, gruesome, or shocking, such as street
11712	// fighting videos, accident photos, descriptions of torture, etc.
11713	//   "SENSITIVE_CATEGORY_SUGGESTIVE" - Adult content, as well as
11714	// suggestive content that's not explicitly pornographic. This category
11715	// includes all pages categorized as adult.
11716	//   "SENSITIVE_CATEGORY_PROFANITY" - Prominent use of words considered
11717	// indecent, such as curse words and sexual slang. Pages with only very
11718	// occasional usage, such as news sites that might include such words in
11719	// a quotation, are not included.
11720	//   "SENSITIVE_CATEGORY_ALCOHOL" - Contains content related to
11721	// alcoholic beverages, alcohol brands, recipes, etc.
11722	//   "SENSITIVE_CATEGORY_DRUGS" - Contains content related to the
11723	// recreational use of legal or illegal drugs, as well as to drug
11724	// paraphernalia or cultivation.
11725	//   "SENSITIVE_CATEGORY_TOBACCO" - Contains content related to tobacco
11726	// and tobacco accessories, including lighters, humidors, ashtrays, etc.
11727	//   "SENSITIVE_CATEGORY_POLITICS" - Political news and media, including
11728	// discussions of social, governmental, and public policy.
11729	//   "SENSITIVE_CATEGORY_RELIGION" - Content related to religious
11730	// thought or beliefs.
11731	//   "SENSITIVE_CATEGORY_TRAGEDY" - Content related to death, disasters,
11732	// accidents, war, etc.
11733	//   "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS" - Content related to
11734	// motor vehicle, aviation or other transportation accidents.
11735	//   "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES" - Issues that evoke
11736	// strong, opposing views and spark debate. These include issues that
11737	// are controversial in most countries and markets (such as abortion),
11738	// as well as those that are controversial in specific countries and
11739	// markets (such as immigration reform in the United States).
11740	//   "SENSITIVE_CATEGORY_SHOCKING" - Content which may be considered
11741	// shocking or disturbing, such as violent news stories, stunts, or
11742	// toilet humor.
11743	SensitiveCategory string `json:"sensitiveCategory,omitempty"`
11744
11745	// ForceSendFields is a list of field names (e.g. "SensitiveCategory")
11746	// to unconditionally include in API requests. By default, fields with
11747	// empty values are omitted from API requests. However, any non-pointer,
11748	// non-interface field appearing in ForceSendFields will be sent to the
11749	// server regardless of whether the field is empty or not. This may be
11750	// used to include empty fields in Patch requests.
11751	ForceSendFields []string `json:"-"`
11752
11753	// NullFields is a list of field names (e.g. "SensitiveCategory") to
11754	// include in API requests with the JSON null value. By default, fields
11755	// with empty values are omitted from API requests. However, any field
11756	// with an empty value appearing in NullFields will be sent to the
11757	// server as null. It is an error if a field in this list has a
11758	// non-empty value. This may be used to include null fields in Patch
11759	// requests.
11760	NullFields []string `json:"-"`
11761}
11762
11763func (s *SensitiveCategoryTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11764	type NoMethod SensitiveCategoryTargetingOptionDetails
11765	raw := NoMethod(*s)
11766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11767}
11768
11769// Site: A single site. Sites are apps or websites belonging to a
11770// channel.
11771type Site struct {
11772	// Name: Output only. The resource name of the site.
11773	Name string `json:"name,omitempty"`
11774
11775	// UrlOrAppId: Required. The URL or app ID of the site. Must be UTF-8
11776	// encoded with a maximum length of 240 bytes.
11777	UrlOrAppId string `json:"urlOrAppId,omitempty"`
11778
11779	// ServerResponse contains the HTTP response code and headers from the
11780	// server.
11781	googleapi.ServerResponse `json:"-"`
11782
11783	// ForceSendFields is a list of field names (e.g. "Name") to
11784	// unconditionally include in API requests. By default, fields with
11785	// empty values are omitted from API requests. However, any non-pointer,
11786	// non-interface field appearing in ForceSendFields will be sent to the
11787	// server regardless of whether the field is empty or not. This may be
11788	// used to include empty fields in Patch requests.
11789	ForceSendFields []string `json:"-"`
11790
11791	// NullFields is a list of field names (e.g. "Name") to include in API
11792	// requests with the JSON null value. By default, fields with empty
11793	// values are omitted from API requests. However, any field with an
11794	// empty value appearing in NullFields will be sent to the server as
11795	// null. It is an error if a field in this list has a non-empty value.
11796	// This may be used to include null fields in Patch requests.
11797	NullFields []string `json:"-"`
11798}
11799
11800func (s *Site) MarshalJSON() ([]byte, error) {
11801	type NoMethod Site
11802	raw := NoMethod(*s)
11803	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11804}
11805
11806// Status: The `Status` type defines a logical error model that is
11807// suitable for different programming environments, including REST APIs
11808// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
11809// `Status` message contains three pieces of data: error code, error
11810// message, and error details. You can find out more about this error
11811// model and how to work with it in the [API Design
11812// Guide](https://cloud.google.com/apis/design/errors).
11813type Status struct {
11814	// Code: The status code, which should be an enum value of
11815	// google.rpc.Code.
11816	Code int64 `json:"code,omitempty"`
11817
11818	// Details: A list of messages that carry the error details. There is a
11819	// common set of message types for APIs to use.
11820	Details []googleapi.RawMessage `json:"details,omitempty"`
11821
11822	// Message: A developer-facing error message, which should be in
11823	// English. Any user-facing error message should be localized and sent
11824	// in the google.rpc.Status.details field, or localized by the client.
11825	Message string `json:"message,omitempty"`
11826
11827	// ForceSendFields is a list of field names (e.g. "Code") to
11828	// unconditionally include in API requests. By default, fields with
11829	// empty values are omitted from API requests. However, any non-pointer,
11830	// non-interface field appearing in ForceSendFields will be sent to the
11831	// server regardless of whether the field is empty or not. This may be
11832	// used to include empty fields in Patch requests.
11833	ForceSendFields []string `json:"-"`
11834
11835	// NullFields is a list of field names (e.g. "Code") to include in API
11836	// requests with the JSON null value. By default, fields with empty
11837	// values are omitted from API requests. However, any field with an
11838	// empty value appearing in NullFields will be sent to the server as
11839	// null. It is an error if a field in this list has a non-empty value.
11840	// This may be used to include null fields in Patch requests.
11841	NullFields []string `json:"-"`
11842}
11843
11844func (s *Status) MarshalJSON() ([]byte, error) {
11845	type NoMethod Status
11846	raw := NoMethod(*s)
11847	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11848}
11849
11850// SubExchangeAssignedTargetingOptionDetails: Details for assigned
11851// sub-exchange targeting option. This will be populated in the details
11852// field of an AssignedTargetingOption when targeting_type is
11853// `TARGETING_TYPE_SUB_EXCHANGE`.
11854type SubExchangeAssignedTargetingOptionDetails struct {
11855	// TargetingOptionId: Required. The targeting_option_id of a
11856	// TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.
11857	TargetingOptionId string `json:"targetingOptionId,omitempty"`
11858
11859	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
11860	// to unconditionally include in API requests. By default, fields with
11861	// empty values are omitted from API requests. However, any non-pointer,
11862	// non-interface field appearing in ForceSendFields will be sent to the
11863	// server regardless of whether the field is empty or not. This may be
11864	// used to include empty fields in Patch requests.
11865	ForceSendFields []string `json:"-"`
11866
11867	// NullFields is a list of field names (e.g. "TargetingOptionId") to
11868	// include in API requests with the JSON null value. By default, fields
11869	// with empty values are omitted from API requests. However, any field
11870	// with an empty value appearing in NullFields will be sent to the
11871	// server as null. It is an error if a field in this list has a
11872	// non-empty value. This may be used to include null fields in Patch
11873	// requests.
11874	NullFields []string `json:"-"`
11875}
11876
11877func (s *SubExchangeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11878	type NoMethod SubExchangeAssignedTargetingOptionDetails
11879	raw := NoMethod(*s)
11880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11881}
11882
11883// SubExchangeTargetingOptionDetails: Represents a targetable
11884// sub-exchange. This will be populated in the sub_exchange_details
11885// field of a TargetingOption when targeting_type is
11886// `TARGETING_TYPE_SUB_EXCHANGE`.
11887type SubExchangeTargetingOptionDetails struct {
11888	// DisplayName: Output only. The display name of the sub-exchange.
11889	DisplayName string `json:"displayName,omitempty"`
11890
11891	// ForceSendFields is a list of field names (e.g. "DisplayName") to
11892	// unconditionally include in API requests. By default, fields with
11893	// empty values are omitted from API requests. However, any non-pointer,
11894	// non-interface field appearing in ForceSendFields will be sent to the
11895	// server regardless of whether the field is empty or not. This may be
11896	// used to include empty fields in Patch requests.
11897	ForceSendFields []string `json:"-"`
11898
11899	// NullFields is a list of field names (e.g. "DisplayName") to include
11900	// in API requests with the JSON null value. By default, fields with
11901	// empty values are omitted from API requests. However, any field with
11902	// an empty value appearing in NullFields will be sent to the server as
11903	// null. It is an error if a field in this list has a non-empty value.
11904	// This may be used to include null fields in Patch requests.
11905	NullFields []string `json:"-"`
11906}
11907
11908func (s *SubExchangeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
11909	type NoMethod SubExchangeTargetingOptionDetails
11910	raw := NoMethod(*s)
11911	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11912}
11913
11914// TargetingExpansionConfig: Settings that control the targeting
11915// expansion of the line item. Targeting expansion allows the line item
11916// to reach a larger audience based on the original audience list and
11917// the targeting expansion level.
11918type TargetingExpansionConfig struct {
11919	// ExcludeFirstPartyAudience: Required. Whether to exclude first party
11920	// audiences from targeting. Similar audiences of the excluded first
11921	// party lists will not be excluded. Only applicable when a first-party
11922	// audience is positively targeted (directly or included in a combined
11923	// audience), otherwise this selection will be ignored.
11924	ExcludeFirstPartyAudience bool `json:"excludeFirstPartyAudience,omitempty"`
11925
11926	// TargetingExpansionLevel: Required. Magnitude of expansion for
11927	// applicable targeting under this line item.
11928	//
11929	// Possible values:
11930	//   "TARGETING_EXPANSION_LEVEL_UNSPECIFIED" - Targeting expansion level
11931	// is not specified or is unknown in this version.
11932	//   "NO_EXPANSION" - Targeting expansion off.
11933	//   "LEAST_EXPANSION" - Conservative targeting expansion, lowest reach.
11934	//   "SOME_EXPANSION" - Moderately conservative targeting expansion,
11935	// lower reach.
11936	//   "BALANCED_EXPANSION" - Moderate targeting expansion, medium reach.
11937	//   "MORE_EXPANSION" - Moderately aggressive targeting expansion,
11938	// higher reach.
11939	//   "MOST_EXPANSION" - Aggressive targeting expansion, highest reach.
11940	TargetingExpansionLevel string `json:"targetingExpansionLevel,omitempty"`
11941
11942	// ForceSendFields is a list of field names (e.g.
11943	// "ExcludeFirstPartyAudience") to unconditionally include in API
11944	// requests. By default, fields with empty values are omitted from API
11945	// requests. However, any non-pointer, non-interface field appearing in
11946	// ForceSendFields will be sent to the server regardless of whether the
11947	// field is empty or not. This may be used to include empty fields in
11948	// Patch requests.
11949	ForceSendFields []string `json:"-"`
11950
11951	// NullFields is a list of field names (e.g.
11952	// "ExcludeFirstPartyAudience") to include in API requests with the JSON
11953	// null value. By default, fields with empty values are omitted from API
11954	// requests. However, any field with an empty value appearing in
11955	// NullFields will be sent to the server as null. It is an error if a
11956	// field in this list has a non-empty value. This may be used to include
11957	// null fields in Patch requests.
11958	NullFields []string `json:"-"`
11959}
11960
11961func (s *TargetingExpansionConfig) MarshalJSON() ([]byte, error) {
11962	type NoMethod TargetingExpansionConfig
11963	raw := NoMethod(*s)
11964	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11965}
11966
11967// TargetingOption: Represents a single targeting option, which is a
11968// targetable concept in DV360.
11969type TargetingOption struct {
11970	// AgeRangeDetails: Age range details.
11971	AgeRangeDetails *AgeRangeTargetingOptionDetails `json:"ageRangeDetails,omitempty"`
11972
11973	// AppCategoryDetails: App category details.
11974	AppCategoryDetails *AppCategoryTargetingOptionDetails `json:"appCategoryDetails,omitempty"`
11975
11976	// AuthorizedSellerStatusDetails: Authorized seller status resource
11977	// details.
11978	AuthorizedSellerStatusDetails *AuthorizedSellerStatusTargetingOptionDetails `json:"authorizedSellerStatusDetails,omitempty"`
11979
11980	// BrowserDetails: Browser details.
11981	BrowserDetails *BrowserTargetingOptionDetails `json:"browserDetails,omitempty"`
11982
11983	// CarrierAndIspDetails: Carrier and ISP details.
11984	CarrierAndIspDetails *CarrierAndIspTargetingOptionDetails `json:"carrierAndIspDetails,omitempty"`
11985
11986	// CategoryDetails: Category resource details.
11987	CategoryDetails *CategoryTargetingOptionDetails `json:"categoryDetails,omitempty"`
11988
11989	// ContentInstreamPositionDetails: Content instream position details.
11990	ContentInstreamPositionDetails *ContentInstreamPositionTargetingOptionDetails `json:"contentInstreamPositionDetails,omitempty"`
11991
11992	// ContentOutstreamPositionDetails: Content outstream position details.
11993	ContentOutstreamPositionDetails *ContentOutstreamPositionTargetingOptionDetails `json:"contentOutstreamPositionDetails,omitempty"`
11994
11995	// DeviceMakeModelDetails: Device make and model resource details.
11996	DeviceMakeModelDetails *DeviceMakeModelTargetingOptionDetails `json:"deviceMakeModelDetails,omitempty"`
11997
11998	// DeviceTypeDetails: Device type details.
11999	DeviceTypeDetails *DeviceTypeTargetingOptionDetails `json:"deviceTypeDetails,omitempty"`
12000
12001	// DigitalContentLabelDetails: Digital content label details.
12002	DigitalContentLabelDetails *DigitalContentLabelTargetingOptionDetails `json:"digitalContentLabelDetails,omitempty"`
12003
12004	// EnvironmentDetails: Environment details.
12005	EnvironmentDetails *EnvironmentTargetingOptionDetails `json:"environmentDetails,omitempty"`
12006
12007	// ExchangeDetails: Exchange details.
12008	ExchangeDetails *ExchangeTargetingOptionDetails `json:"exchangeDetails,omitempty"`
12009
12010	// GenderDetails: Gender details.
12011	GenderDetails *GenderTargetingOptionDetails `json:"genderDetails,omitempty"`
12012
12013	// GeoRegionDetails: Geographic region resource details.
12014	GeoRegionDetails *GeoRegionTargetingOptionDetails `json:"geoRegionDetails,omitempty"`
12015
12016	// HouseholdIncomeDetails: Household income details.
12017	HouseholdIncomeDetails *HouseholdIncomeTargetingOptionDetails `json:"householdIncomeDetails,omitempty"`
12018
12019	// LanguageDetails: Language resource details.
12020	LanguageDetails *LanguageTargetingOptionDetails `json:"languageDetails,omitempty"`
12021
12022	// Name: Output only. The resource name for this targeting option.
12023	Name string `json:"name,omitempty"`
12024
12025	// OnScreenPositionDetails: On screen position details.
12026	OnScreenPositionDetails *OnScreenPositionTargetingOptionDetails `json:"onScreenPositionDetails,omitempty"`
12027
12028	// OperatingSystemDetails: Operating system resources details.
12029	OperatingSystemDetails *OperatingSystemTargetingOptionDetails `json:"operatingSystemDetails,omitempty"`
12030
12031	// ParentalStatusDetails: Parental status details.
12032	ParentalStatusDetails *ParentalStatusTargetingOptionDetails `json:"parentalStatusDetails,omitempty"`
12033
12034	// SensitiveCategoryDetails: Sensitive Category details.
12035	SensitiveCategoryDetails *SensitiveCategoryTargetingOptionDetails `json:"sensitiveCategoryDetails,omitempty"`
12036
12037	// SubExchangeDetails: Sub-exchange details.
12038	SubExchangeDetails *SubExchangeTargetingOptionDetails `json:"subExchangeDetails,omitempty"`
12039
12040	// TargetingOptionId: Output only. A unique identifier for this
12041	// targeting option. The tuple {`targeting_type`, `targeting_option_id`}
12042	// will be unique.
12043	TargetingOptionId string `json:"targetingOptionId,omitempty"`
12044
12045	// TargetingType: Output only. The type of this targeting option.
12046	//
12047	// Possible values:
12048	//   "TARGETING_TYPE_UNSPECIFIED" - Default value when type is not
12049	// specified or is unknown in this version.
12050	//   "TARGETING_TYPE_CHANNEL" - Target a channel (a custom group of
12051	// related websites or apps).
12052	//   "TARGETING_TYPE_APP_CATEGORY" - Target an app category (for
12053	// example, education or puzzle games).
12054	//   "TARGETING_TYPE_APP" - Target a specific app (for example, Angry
12055	// Birds).
12056	//   "TARGETING_TYPE_URL" - Target a specific url (for example,
12057	// quora.com).
12058	//   "TARGETING_TYPE_DAY_AND_TIME" - Target ads during a chosen time
12059	// period on a specific day.
12060	//   "TARGETING_TYPE_AGE_RANGE" - Target ads to a specific age range
12061	// (for example, 18-24).
12062	//   "TARGETING_TYPE_REGIONAL_LOCATION_LIST" - Target ads to the
12063	// specified regions on a regional location list.
12064	//   "TARGETING_TYPE_PROXIMITY_LOCATION_LIST" - Target ads to the
12065	// specified points of interest on a proximity location list.
12066	//   "TARGETING_TYPE_GENDER" - Target ads to a specific gender (for
12067	// example, female or male).
12068	//   "TARGETING_TYPE_VIDEO_PLAYER_SIZE" - Target a specific video player
12069	// size for video ads.
12070	//   "TARGETING_TYPE_USER_REWARDED_CONTENT" - Target user rewarded
12071	// content for video ads.
12072	//   "TARGETING_TYPE_PARENTAL_STATUS" - Target ads to a specific
12073	// parental status (for example, parent or not a parent).
12074	//   "TARGETING_TYPE_CONTENT_INSTREAM_POSITION" - Target video or audio
12075	// ads in a specific content instream position (for example, pre-roll,
12076	// mid-roll, or post-roll).
12077	//   "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION" - Target ads in a
12078	// specific content outstream position.
12079	//   "TARGETING_TYPE_DEVICE_TYPE" - Target ads to a specific device type
12080	// (for example, tablet or connected TV).
12081	//   "TARGETING_TYPE_AUDIENCE_GROUP" - Target ads to an audience or
12082	// groups of audiences. Singleton field, at most one can exist on a
12083	// single Lineitem at a time.
12084	//   "TARGETING_TYPE_BROWSER" - Target ads to specific web browsers (for
12085	// example, Chrome).
12086	//   "TARGETING_TYPE_HOUSEHOLD_INCOME" - Target ads to a specific
12087	// household income range (for example, top 10%).
12088	//   "TARGETING_TYPE_ON_SCREEN_POSITION" - Target ads in a specific on
12089	// screen position.
12090	//   "TARGETING_TYPE_THIRD_PARTY_VERIFIER" - Filter web sites through
12091	// third party verification (for example, IAS or DoubleVerify).
12092	//   "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION" - Filter web sites
12093	// by specific digital content label ratings (for example, DL-MA:
12094	// suitable only for mature audiences).
12095	//   "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION" - Filter website
12096	// content by sensitive categories (for example, adult).
12097	//   "TARGETING_TYPE_ENVIRONMENT" - Target ads to a specific environment
12098	// (for example, web or app).
12099	//   "TARGETING_TYPE_CARRIER_AND_ISP" - Target ads to a specific network
12100	// carrier or internet service provider (ISP) (for example, Comcast or
12101	// Orange).
12102	//   "TARGETING_TYPE_OPERATING_SYSTEM" - Target ads to a specific
12103	// operating system (for example, macOS).
12104	//   "TARGETING_TYPE_DEVICE_MAKE_MODEL" - Target ads to a specific
12105	// device make or model (for example, Roku or Samsung).
12106	//   "TARGETING_TYPE_KEYWORD" - Target ads to a specific keyword (for
12107	// example, dog or retriever).
12108	//   "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST" - Target ads to a specific
12109	// negative keyword list.
12110	//   "TARGETING_TYPE_VIEWABILITY" - Target ads to a specific viewability
12111	// (for example, 80% viewable).
12112	//   "TARGETING_TYPE_CATEGORY" - Target ads to a specific content
12113	// category (for example, arts & entertainment).
12114	//   "TARGETING_TYPE_INVENTORY_SOURCE" - Purchase impressions from
12115	// specific deals and auction packages.
12116	//   "TARGETING_TYPE_LANGUAGE" - Target ads to a specific language (for
12117	// example, English or Japanese).
12118	//   "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS" - Target ads to ads.txt
12119	// authorized sellers.
12120	//   "TARGETING_TYPE_GEO_REGION" - Target ads to a specific regional
12121	// location (for example, a city or state).
12122	//   "TARGETING_TYPE_INVENTORY_SOURCE_GROUP" - Purchase impressions from
12123	// a group of deals and auction packages.
12124	//   "TARGETING_TYPE_EXCHANGE" - Purchase impressions from specific
12125	// exchanges.
12126	//   "TARGETING_TYPE_SUB_EXCHANGE" - Purchase impressions from specific
12127	// sub-exchanges.
12128	TargetingType string `json:"targetingType,omitempty"`
12129
12130	// UserRewardedContentDetails: User rewarded content details.
12131	UserRewardedContentDetails *UserRewardedContentTargetingOptionDetails `json:"userRewardedContentDetails,omitempty"`
12132
12133	// VideoPlayerSizeDetails: Video player size details.
12134	VideoPlayerSizeDetails *VideoPlayerSizeTargetingOptionDetails `json:"videoPlayerSizeDetails,omitempty"`
12135
12136	// ViewabilityDetails: Viewability resource details.
12137	ViewabilityDetails *ViewabilityTargetingOptionDetails `json:"viewabilityDetails,omitempty"`
12138
12139	// ServerResponse contains the HTTP response code and headers from the
12140	// server.
12141	googleapi.ServerResponse `json:"-"`
12142
12143	// ForceSendFields is a list of field names (e.g. "AgeRangeDetails") to
12144	// unconditionally include in API requests. By default, fields with
12145	// empty values are omitted from API requests. However, any non-pointer,
12146	// non-interface field appearing in ForceSendFields will be sent to the
12147	// server regardless of whether the field is empty or not. This may be
12148	// used to include empty fields in Patch requests.
12149	ForceSendFields []string `json:"-"`
12150
12151	// NullFields is a list of field names (e.g. "AgeRangeDetails") to
12152	// include in API requests with the JSON null value. By default, fields
12153	// with empty values are omitted from API requests. However, any field
12154	// with an empty value appearing in NullFields will be sent to the
12155	// server as null. It is an error if a field in this list has a
12156	// non-empty value. This may be used to include null fields in Patch
12157	// requests.
12158	NullFields []string `json:"-"`
12159}
12160
12161func (s *TargetingOption) MarshalJSON() ([]byte, error) {
12162	type NoMethod TargetingOption
12163	raw := NoMethod(*s)
12164	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12165}
12166
12167// ThirdPartyOnlyConfig: Settings for advertisers that use third-party
12168// ad servers only.
12169type ThirdPartyOnlyConfig struct {
12170	// PixelOrderIdReportingEnabled: Whether or not order ID reporting for
12171	// pixels is enabled. This value cannot be changed once set to `true`.
12172	PixelOrderIdReportingEnabled bool `json:"pixelOrderIdReportingEnabled,omitempty"`
12173
12174	// ForceSendFields is a list of field names (e.g.
12175	// "PixelOrderIdReportingEnabled") to unconditionally include in API
12176	// requests. By default, fields with empty values are omitted from API
12177	// requests. However, any non-pointer, non-interface field appearing in
12178	// ForceSendFields will be sent to the server regardless of whether the
12179	// field is empty or not. This may be used to include empty fields in
12180	// Patch requests.
12181	ForceSendFields []string `json:"-"`
12182
12183	// NullFields is a list of field names (e.g.
12184	// "PixelOrderIdReportingEnabled") to include in API requests with the
12185	// JSON null value. By default, fields with empty values are omitted
12186	// from API requests. However, any field with an empty value appearing
12187	// in NullFields will be sent to the server as null. It is an error if a
12188	// field in this list has a non-empty value. This may be used to include
12189	// null fields in Patch requests.
12190	NullFields []string `json:"-"`
12191}
12192
12193func (s *ThirdPartyOnlyConfig) MarshalJSON() ([]byte, error) {
12194	type NoMethod ThirdPartyOnlyConfig
12195	raw := NoMethod(*s)
12196	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12197}
12198
12199// ThirdPartyUrl: Tracking URLs from third parties to track interactions
12200// with an audio or a video creative.
12201type ThirdPartyUrl struct {
12202	// Type: The type of interaction needs to be tracked by the tracking URL
12203	//
12204	// Possible values:
12205	//   "THIRD_PARTY_URL_TYPE_UNSPECIFIED" - The type of third-party URL is
12206	// unspecified or is unknown in this version.
12207	//   "THIRD_PARTY_URL_TYPE_IMPRESSION" - Used to count impressions of
12208	// the creative after the audio or video buffering is complete.
12209	//   "THIRD_PARTY_URL_TYPE_CLICK_TRACKING" - Used to track user clicks
12210	// on the audio or video.
12211	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START" - Used to track the number
12212	// of times a user starts the audio or video.
12213	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE" - Used to track
12214	// the number of times the audio or video plays to 25% of its length.
12215	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT" - Used to track the
12216	// number of times the audio or video plays to 50% of its length.
12217	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE" - Used to track
12218	// the number of times the audio or video plays to 75% of its length.
12219	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE" - Used to track the
12220	// number of times the audio or video plays to the end.
12221	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE" - Used to track the number
12222	// of times a user mutes the audio or video.
12223	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE" - Used to track the number
12224	// of times a user pauses the audio or video.
12225	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND" - Used to track the
12226	// number of times a user replays the audio or video.
12227	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN" - Used to track the
12228	// number of times a user expands the player to full-screen size.
12229	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP" - Used to track the number
12230	// of times a user stops the audio or video.
12231	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM" - Used to track the
12232	// number of times a user performs a custom click, such as clicking on a
12233	// video hot spot.
12234	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP" - Used to track the number
12235	// of times the audio or video was skipped.
12236	//   "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" - Used to track the
12237	// number of times the audio or video plays to an offset determined by
12238	// the progress_offset.
12239	Type string `json:"type,omitempty"`
12240
12241	// Url: Tracking URL used to track the interaction. Provide a URL with
12242	// optional path or query string, beginning with `https:`. For example,
12243	// https://www.example.com/path
12244	Url string `json:"url,omitempty"`
12245
12246	// ForceSendFields is a list of field names (e.g. "Type") to
12247	// unconditionally include in API requests. By default, fields with
12248	// empty values are omitted from API requests. However, any non-pointer,
12249	// non-interface field appearing in ForceSendFields will be sent to the
12250	// server regardless of whether the field is empty or not. This may be
12251	// used to include empty fields in Patch requests.
12252	ForceSendFields []string `json:"-"`
12253
12254	// NullFields is a list of field names (e.g. "Type") to include in API
12255	// requests with the JSON null value. By default, fields with empty
12256	// values are omitted from API requests. However, any field with an
12257	// empty value appearing in NullFields will be sent to the server as
12258	// null. It is an error if a field in this list has a non-empty value.
12259	// This may be used to include null fields in Patch requests.
12260	NullFields []string `json:"-"`
12261}
12262
12263func (s *ThirdPartyUrl) MarshalJSON() ([]byte, error) {
12264	type NoMethod ThirdPartyUrl
12265	raw := NoMethod(*s)
12266	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12267}
12268
12269// ThirdPartyVerifierAssignedTargetingOptionDetails: Assigned third
12270// party verifier targeting option details. This will be populated in
12271// the details field of an AssignedTargetingOption when targeting_type
12272// is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
12273type ThirdPartyVerifierAssignedTargetingOptionDetails struct {
12274	// Adloox: Third party brand verifier -- Adloox.
12275	Adloox *Adloox `json:"adloox,omitempty"`
12276
12277	// DoubleVerify: Third party brand verifier -- DoubleVerify.
12278	DoubleVerify *DoubleVerify `json:"doubleVerify,omitempty"`
12279
12280	// IntegralAdScience: Third party brand verifier -- Integral Ad Science.
12281	IntegralAdScience *IntegralAdScience `json:"integralAdScience,omitempty"`
12282
12283	// ForceSendFields is a list of field names (e.g. "Adloox") to
12284	// unconditionally include in API requests. By default, fields with
12285	// empty values are omitted from API requests. However, any non-pointer,
12286	// non-interface field appearing in ForceSendFields will be sent to the
12287	// server regardless of whether the field is empty or not. This may be
12288	// used to include empty fields in Patch requests.
12289	ForceSendFields []string `json:"-"`
12290
12291	// NullFields is a list of field names (e.g. "Adloox") to include in API
12292	// requests with the JSON null value. By default, fields with empty
12293	// values are omitted from API requests. However, any field with an
12294	// empty value appearing in NullFields will be sent to the server as
12295	// null. It is an error if a field in this list has a non-empty value.
12296	// This may be used to include null fields in Patch requests.
12297	NullFields []string `json:"-"`
12298}
12299
12300func (s *ThirdPartyVerifierAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12301	type NoMethod ThirdPartyVerifierAssignedTargetingOptionDetails
12302	raw := NoMethod(*s)
12303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12304}
12305
12306// TimeRange: A time range.
12307type TimeRange struct {
12308	// EndTime: Required. The upper bound of a time range, inclusive.
12309	EndTime string `json:"endTime,omitempty"`
12310
12311	// StartTime: Required. The lower bound of a time range, inclusive.
12312	StartTime string `json:"startTime,omitempty"`
12313
12314	// ForceSendFields is a list of field names (e.g. "EndTime") to
12315	// unconditionally include in API requests. By default, fields with
12316	// empty values are omitted from API requests. However, any non-pointer,
12317	// non-interface field appearing in ForceSendFields will be sent to the
12318	// server regardless of whether the field is empty or not. This may be
12319	// used to include empty fields in Patch requests.
12320	ForceSendFields []string `json:"-"`
12321
12322	// NullFields is a list of field names (e.g. "EndTime") to include in
12323	// API requests with the JSON null value. By default, fields with empty
12324	// values are omitted from API requests. However, any field with an
12325	// empty value appearing in NullFields will be sent to the server as
12326	// null. It is an error if a field in this list has a non-empty value.
12327	// This may be used to include null fields in Patch requests.
12328	NullFields []string `json:"-"`
12329}
12330
12331func (s *TimeRange) MarshalJSON() ([]byte, error) {
12332	type NoMethod TimeRange
12333	raw := NoMethod(*s)
12334	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12335}
12336
12337// TimerEvent: Timer event of the creative.
12338type TimerEvent struct {
12339	// Name: Required. The name of the timer event.
12340	Name string `json:"name,omitempty"`
12341
12342	// ReportingName: Required. The name used to identify this timer event
12343	// in reports.
12344	ReportingName string `json:"reportingName,omitempty"`
12345
12346	// ForceSendFields is a list of field names (e.g. "Name") to
12347	// unconditionally include in API requests. By default, fields with
12348	// empty values are omitted from API requests. However, any non-pointer,
12349	// non-interface field appearing in ForceSendFields will be sent to the
12350	// server regardless of whether the field is empty or not. This may be
12351	// used to include empty fields in Patch requests.
12352	ForceSendFields []string `json:"-"`
12353
12354	// NullFields is a list of field names (e.g. "Name") to include in API
12355	// requests with the JSON null value. By default, fields with empty
12356	// values are omitted from API requests. However, any field with an
12357	// empty value appearing in NullFields will be sent to the server as
12358	// null. It is an error if a field in this list has a non-empty value.
12359	// This may be used to include null fields in Patch requests.
12360	NullFields []string `json:"-"`
12361}
12362
12363func (s *TimerEvent) MarshalJSON() ([]byte, error) {
12364	type NoMethod TimerEvent
12365	raw := NoMethod(*s)
12366	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12367}
12368
12369// TrackingFloodlightActivityConfig: Settings that control the behavior
12370// of a single Floodlight activity config.
12371type TrackingFloodlightActivityConfig struct {
12372	// FloodlightActivityId: Required. The ID of the Floodlight activity.
12373	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
12374
12375	// PostClickLookbackWindowDays: Required. The number of days after an ad
12376	// has been clicked in which a conversion may be counted. Must be
12377	// between 0 and 90 inclusive.
12378	PostClickLookbackWindowDays int64 `json:"postClickLookbackWindowDays,omitempty"`
12379
12380	// PostViewLookbackWindowDays: Required. The number of days after an ad
12381	// has been viewed in which a conversion may be counted. Must be between
12382	// 0 and 90 inclusive.
12383	PostViewLookbackWindowDays int64 `json:"postViewLookbackWindowDays,omitempty"`
12384
12385	// ForceSendFields is a list of field names (e.g.
12386	// "FloodlightActivityId") to unconditionally include in API requests.
12387	// By default, fields with empty values are omitted from API requests.
12388	// However, any non-pointer, non-interface field appearing in
12389	// ForceSendFields will be sent to the server regardless of whether the
12390	// field is empty or not. This may be used to include empty fields in
12391	// Patch requests.
12392	ForceSendFields []string `json:"-"`
12393
12394	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
12395	// include in API requests with the JSON null value. By default, fields
12396	// with empty values are omitted from API requests. However, any field
12397	// with an empty value appearing in NullFields will be sent to the
12398	// server as null. It is an error if a field in this list has a
12399	// non-empty value. This may be used to include null fields in Patch
12400	// requests.
12401	NullFields []string `json:"-"`
12402}
12403
12404func (s *TrackingFloodlightActivityConfig) MarshalJSON() ([]byte, error) {
12405	type NoMethod TrackingFloodlightActivityConfig
12406	raw := NoMethod(*s)
12407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12408}
12409
12410// Transcode: Represents information about the transcoded audio or video
12411// file.
12412type Transcode struct {
12413	// AudioBitRateKbps: The bit rate for the audio stream of the transcoded
12414	// video, or the bit rate for the transcoded audio, in kilobits per
12415	// second.
12416	AudioBitRateKbps int64 `json:"audioBitRateKbps,omitempty,string"`
12417
12418	// AudioSampleRateHz: The sample rate for the audio stream of the
12419	// transcoded video, or the sample rate for the transcoded audio, in
12420	// hertz.
12421	AudioSampleRateHz int64 `json:"audioSampleRateHz,omitempty,string"`
12422
12423	// BitRateKbps: The transcoding bit rate of the transcoded video, in
12424	// kilobits per second.
12425	BitRateKbps int64 `json:"bitRateKbps,omitempty,string"`
12426
12427	// Dimensions: The dimensions of the transcoded video.
12428	Dimensions *Dimensions `json:"dimensions,omitempty"`
12429
12430	// FileSizeBytes: The size of the transcoded file, in bytes.
12431	FileSizeBytes int64 `json:"fileSizeBytes,omitempty,string"`
12432
12433	// FrameRate: The frame rate of the transcoded video, in frames per
12434	// second.
12435	FrameRate float64 `json:"frameRate,omitempty"`
12436
12437	// MimeType: The MIME type of the transcoded file.
12438	MimeType string `json:"mimeType,omitempty"`
12439
12440	// Name: The name of the transcoded file.
12441	Name string `json:"name,omitempty"`
12442
12443	// Transcoded: Indicates if the transcoding was successful.
12444	Transcoded bool `json:"transcoded,omitempty"`
12445
12446	// ForceSendFields is a list of field names (e.g. "AudioBitRateKbps") to
12447	// unconditionally include in API requests. By default, fields with
12448	// empty values are omitted from API requests. However, any non-pointer,
12449	// non-interface field appearing in ForceSendFields will be sent to the
12450	// server regardless of whether the field is empty or not. This may be
12451	// used to include empty fields in Patch requests.
12452	ForceSendFields []string `json:"-"`
12453
12454	// NullFields is a list of field names (e.g. "AudioBitRateKbps") to
12455	// include in API requests with the JSON null value. By default, fields
12456	// with empty values are omitted from API requests. However, any field
12457	// with an empty value appearing in NullFields will be sent to the
12458	// server as null. It is an error if a field in this list has a
12459	// non-empty value. This may be used to include null fields in Patch
12460	// requests.
12461	NullFields []string `json:"-"`
12462}
12463
12464func (s *Transcode) MarshalJSON() ([]byte, error) {
12465	type NoMethod Transcode
12466	raw := NoMethod(*s)
12467	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12468}
12469
12470func (s *Transcode) UnmarshalJSON(data []byte) error {
12471	type NoMethod Transcode
12472	var s1 struct {
12473		FrameRate gensupport.JSONFloat64 `json:"frameRate"`
12474		*NoMethod
12475	}
12476	s1.NoMethod = (*NoMethod)(s)
12477	if err := json.Unmarshal(data, &s1); err != nil {
12478		return err
12479	}
12480	s.FrameRate = float64(s1.FrameRate)
12481	return nil
12482}
12483
12484// UniversalAdId: A creative identifier provided by a registry that is
12485// unique across all platforms. This is part of the VAST 4.0 standard.
12486type UniversalAdId struct {
12487	// Id: The unique creative identifier.
12488	Id string `json:"id,omitempty"`
12489
12490	// Registry: The registry provides unique creative identifiers.
12491	//
12492	// Possible values:
12493	//   "UNIVERSAL_AD_REGISTRY_UNSPECIFIED" - The Universal Ad registry is
12494	// unspecified or is unknown in this version.
12495	//   "UNIVERSAL_AD_REGISTRY_OTHER" - Use a custom provider to provide
12496	// the Universal Ad ID.
12497	//   "UNIVERSAL_AD_REGISTRY_AD_ID" - Use Ad-ID to provide the Universal
12498	// Ad ID.
12499	//   "UNIVERSAL_AD_REGISTRY_CLEARCAST" - Use clearcast.co.uk to provide
12500	// the Universal Ad ID.
12501	//   "UNIVERSAL_AD_REGISTRY_DV360" - Use Display & Video 360 to provide
12502	// the Universal Ad ID.
12503	//   "UNIVERSAL_AD_REGISTRY_CM" - Use Campaign Manager 360 to provide
12504	// the Universal Ad ID.
12505	Registry string `json:"registry,omitempty"`
12506
12507	// ForceSendFields is a list of field names (e.g. "Id") to
12508	// unconditionally include in API requests. By default, fields with
12509	// empty values are omitted from API requests. However, any non-pointer,
12510	// non-interface field appearing in ForceSendFields will be sent to the
12511	// server regardless of whether the field is empty or not. This may be
12512	// used to include empty fields in Patch requests.
12513	ForceSendFields []string `json:"-"`
12514
12515	// NullFields is a list of field names (e.g. "Id") to include in API
12516	// requests with the JSON null value. By default, fields with empty
12517	// values are omitted from API requests. However, any field with an
12518	// empty value appearing in NullFields will be sent to the server as
12519	// null. It is an error if a field in this list has a non-empty value.
12520	// This may be used to include null fields in Patch requests.
12521	NullFields []string `json:"-"`
12522}
12523
12524func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
12525	type NoMethod UniversalAdId
12526	raw := NoMethod(*s)
12527	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12528}
12529
12530// UrlAssignedTargetingOptionDetails: Details for assigned URL targeting
12531// option. This will be populated in the details field of an
12532// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`.
12533type UrlAssignedTargetingOptionDetails struct {
12534	// Negative: Indicates if this option is being negatively targeted.
12535	Negative bool `json:"negative,omitempty"`
12536
12537	// Url: Required. The URL, for example `example.com`. DV360 supports two
12538	// levels of subdirectory targeting, for example
12539	// `www.example.com/one-subdirectory-level/second-level`, and five
12540	// levels of subdomain targeting, for example
12541	// `five.four.three.two.one.example.com`.
12542	Url string `json:"url,omitempty"`
12543
12544	// ForceSendFields is a list of field names (e.g. "Negative") to
12545	// unconditionally include in API requests. By default, fields with
12546	// empty values are omitted from API requests. However, any non-pointer,
12547	// non-interface field appearing in ForceSendFields will be sent to the
12548	// server regardless of whether the field is empty or not. This may be
12549	// used to include empty fields in Patch requests.
12550	ForceSendFields []string `json:"-"`
12551
12552	// NullFields is a list of field names (e.g. "Negative") to include in
12553	// API requests with the JSON null value. By default, fields with empty
12554	// values are omitted from API requests. However, any field with an
12555	// empty value appearing in NullFields will be sent to the server as
12556	// null. It is an error if a field in this list has a non-empty value.
12557	// This may be used to include null fields in Patch requests.
12558	NullFields []string `json:"-"`
12559}
12560
12561func (s *UrlAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12562	type NoMethod UrlAssignedTargetingOptionDetails
12563	raw := NoMethod(*s)
12564	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12565}
12566
12567// User: A single user in Display & Video 360.
12568type User struct {
12569	// AssignedUserRoles: The assigned user roles. Required in CreateUser.
12570	// Output only in UpdateUser. Can only be updated through
12571	// BulkEditAssignedUserRoles.
12572	AssignedUserRoles []*AssignedUserRole `json:"assignedUserRoles,omitempty"`
12573
12574	// DisplayName: Required. The display name of the user. Must be UTF-8
12575	// encoded with a maximum size of 240 bytes.
12576	DisplayName string `json:"displayName,omitempty"`
12577
12578	// Email: Required. Immutable. The email address used to identify the
12579	// user.
12580	Email string `json:"email,omitempty"`
12581
12582	// Name: Output only. The resource name of the user.
12583	Name string `json:"name,omitempty"`
12584
12585	// UserId: Output only. The unique ID of the user. Assigned by the
12586	// system.
12587	UserId int64 `json:"userId,omitempty,string"`
12588
12589	// ServerResponse contains the HTTP response code and headers from the
12590	// server.
12591	googleapi.ServerResponse `json:"-"`
12592
12593	// ForceSendFields is a list of field names (e.g. "AssignedUserRoles")
12594	// to unconditionally include in API requests. By default, fields with
12595	// empty values are omitted from API requests. However, any non-pointer,
12596	// non-interface field appearing in ForceSendFields will be sent to the
12597	// server regardless of whether the field is empty or not. This may be
12598	// used to include empty fields in Patch requests.
12599	ForceSendFields []string `json:"-"`
12600
12601	// NullFields is a list of field names (e.g. "AssignedUserRoles") to
12602	// include in API requests with the JSON null value. By default, fields
12603	// with empty values are omitted from API requests. However, any field
12604	// with an empty value appearing in NullFields will be sent to the
12605	// server as null. It is an error if a field in this list has a
12606	// non-empty value. This may be used to include null fields in Patch
12607	// requests.
12608	NullFields []string `json:"-"`
12609}
12610
12611func (s *User) MarshalJSON() ([]byte, error) {
12612	type NoMethod User
12613	raw := NoMethod(*s)
12614	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12615}
12616
12617// UserRewardedContentAssignedTargetingOptionDetails: User rewarded
12618// content targeting option details. This will be populated in the
12619// user_rewarded_content_details field when targeting_type is
12620// `TARGETING_TYPE_USER_REWARDED_CONTENT`.
12621type UserRewardedContentAssignedTargetingOptionDetails struct {
12622	// TargetingOptionId: Required. The targeting_option_id field when
12623	// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
12624	TargetingOptionId string `json:"targetingOptionId,omitempty"`
12625
12626	// UserRewardedContent: Output only. User rewarded content status for
12627	// video ads.
12628	//
12629	// Possible values:
12630	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
12631	// specified or is unknown in this version.
12632	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the
12633	// user will see a reward after viewing.
12634	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other
12635	// ads besides user-rewarded.
12636	UserRewardedContent string `json:"userRewardedContent,omitempty"`
12637
12638	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
12639	// to unconditionally include in API requests. By default, fields with
12640	// empty values are omitted from API requests. However, any non-pointer,
12641	// non-interface field appearing in ForceSendFields will be sent to the
12642	// server regardless of whether the field is empty or not. This may be
12643	// used to include empty fields in Patch requests.
12644	ForceSendFields []string `json:"-"`
12645
12646	// NullFields is a list of field names (e.g. "TargetingOptionId") to
12647	// include in API requests with the JSON null value. By default, fields
12648	// with empty values are omitted from API requests. However, any field
12649	// with an empty value appearing in NullFields will be sent to the
12650	// server as null. It is an error if a field in this list has a
12651	// non-empty value. This may be used to include null fields in Patch
12652	// requests.
12653	NullFields []string `json:"-"`
12654}
12655
12656func (s *UserRewardedContentAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12657	type NoMethod UserRewardedContentAssignedTargetingOptionDetails
12658	raw := NoMethod(*s)
12659	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12660}
12661
12662// UserRewardedContentTargetingOptionDetails: Represents a targetable
12663// user rewarded content status for video ads only. This will be
12664// populated in the user_rewarded_content_details field when
12665// targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
12666type UserRewardedContentTargetingOptionDetails struct {
12667	// UserRewardedContent: Output only. User rewarded content status for
12668	// video ads.
12669	//
12670	// Possible values:
12671	//   "USER_REWARDED_CONTENT_UNSPECIFIED" - User rewarded content is not
12672	// specified or is unknown in this version.
12673	//   "USER_REWARDED_CONTENT_USER_REWARDED" - Represents ads where the
12674	// user will see a reward after viewing.
12675	//   "USER_REWARDED_CONTENT_NOT_USER_REWARDED" - Represents all other
12676	// ads besides user-rewarded.
12677	UserRewardedContent string `json:"userRewardedContent,omitempty"`
12678
12679	// ForceSendFields is a list of field names (e.g. "UserRewardedContent")
12680	// to unconditionally include in API requests. By default, fields with
12681	// empty values are omitted from API requests. However, any non-pointer,
12682	// non-interface field appearing in ForceSendFields will be sent to the
12683	// server regardless of whether the field is empty or not. This may be
12684	// used to include empty fields in Patch requests.
12685	ForceSendFields []string `json:"-"`
12686
12687	// NullFields is a list of field names (e.g. "UserRewardedContent") to
12688	// include in API requests with the JSON null value. By default, fields
12689	// with empty values are omitted from API requests. However, any field
12690	// with an empty value appearing in NullFields will be sent to the
12691	// server as null. It is an error if a field in this list has a
12692	// non-empty value. This may be used to include null fields in Patch
12693	// requests.
12694	NullFields []string `json:"-"`
12695}
12696
12697func (s *UserRewardedContentTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12698	type NoMethod UserRewardedContentTargetingOptionDetails
12699	raw := NoMethod(*s)
12700	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12701}
12702
12703// VideoPlayerSizeAssignedTargetingOptionDetails: Video player size
12704// targeting option details. This will be populated in the
12705// video_player_size_details field when targeting_type is
12706// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options
12707// is not supported. Remove all video player size targeting options to
12708// achieve this effect.
12709type VideoPlayerSizeAssignedTargetingOptionDetails struct {
12710	// TargetingOptionId: Required. The targeting_option_id field when
12711	// targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
12712	TargetingOptionId string `json:"targetingOptionId,omitempty"`
12713
12714	// VideoPlayerSize: Output only. The video player size.
12715	//
12716	// Possible values:
12717	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not
12718	// specified in this version. This enum is a place holder for a default
12719	// value and does not represent a real video player size.
12720	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are
12721	// less than 400×300 (desktop), or up to 20% of screen covered
12722	// (mobile).
12723	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are
12724	// between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the
12725	// screen covered (mobile).
12726	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are
12727	// 1280×720 or greater (desktop), or over 90% of the screen covered
12728	// (mobile).
12729	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player
12730	// are unknown.
12731	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
12732
12733	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
12734	// to unconditionally include in API requests. By default, fields with
12735	// empty values are omitted from API requests. However, any non-pointer,
12736	// non-interface field appearing in ForceSendFields will be sent to the
12737	// server regardless of whether the field is empty or not. This may be
12738	// used to include empty fields in Patch requests.
12739	ForceSendFields []string `json:"-"`
12740
12741	// NullFields is a list of field names (e.g. "TargetingOptionId") to
12742	// include in API requests with the JSON null value. By default, fields
12743	// with empty values are omitted from API requests. However, any field
12744	// with an empty value appearing in NullFields will be sent to the
12745	// server as null. It is an error if a field in this list has a
12746	// non-empty value. This may be used to include null fields in Patch
12747	// requests.
12748	NullFields []string `json:"-"`
12749}
12750
12751func (s *VideoPlayerSizeAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12752	type NoMethod VideoPlayerSizeAssignedTargetingOptionDetails
12753	raw := NoMethod(*s)
12754	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12755}
12756
12757// VideoPlayerSizeTargetingOptionDetails: Represents a targetable video
12758// player size. This will be populated in the video_player_size_details
12759// field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
12760type VideoPlayerSizeTargetingOptionDetails struct {
12761	// VideoPlayerSize: Output only. The video player size.
12762	//
12763	// Possible values:
12764	//   "VIDEO_PLAYER_SIZE_UNSPECIFIED" - Video player size is not
12765	// specified in this version. This enum is a place holder for a default
12766	// value and does not represent a real video player size.
12767	//   "VIDEO_PLAYER_SIZE_SMALL" - The dimensions of the video player are
12768	// less than 400×300 (desktop), or up to 20% of screen covered
12769	// (mobile).
12770	//   "VIDEO_PLAYER_SIZE_LARGE" - The dimensions of the video player are
12771	// between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the
12772	// screen covered (mobile).
12773	//   "VIDEO_PLAYER_SIZE_HD" - The dimensions of the video player are
12774	// 1280×720 or greater (desktop), or over 90% of the screen covered
12775	// (mobile).
12776	//   "VIDEO_PLAYER_SIZE_UNKNOWN" - The dimensions of the video player
12777	// are unknown.
12778	VideoPlayerSize string `json:"videoPlayerSize,omitempty"`
12779
12780	// ForceSendFields is a list of field names (e.g. "VideoPlayerSize") to
12781	// unconditionally include in API requests. By default, fields with
12782	// empty values are omitted from API requests. However, any non-pointer,
12783	// non-interface field appearing in ForceSendFields will be sent to the
12784	// server regardless of whether the field is empty or not. This may be
12785	// used to include empty fields in Patch requests.
12786	ForceSendFields []string `json:"-"`
12787
12788	// NullFields is a list of field names (e.g. "VideoPlayerSize") to
12789	// include in API requests with the JSON null value. By default, fields
12790	// with empty values are omitted from API requests. However, any field
12791	// with an empty value appearing in NullFields will be sent to the
12792	// server as null. It is an error if a field in this list has a
12793	// non-empty value. This may be used to include null fields in Patch
12794	// requests.
12795	NullFields []string `json:"-"`
12796}
12797
12798func (s *VideoPlayerSizeTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12799	type NoMethod VideoPlayerSizeTargetingOptionDetails
12800	raw := NoMethod(*s)
12801	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12802}
12803
12804// ViewabilityAssignedTargetingOptionDetails: Assigned viewability
12805// targeting option details. This will be populated in the
12806// viewability_details field of an AssignedTargetingOption when
12807// targeting_type is `TARGETING_TYPE_VIEWABILITY`.
12808type ViewabilityAssignedTargetingOptionDetails struct {
12809	// TargetingOptionId: Required. The targeting_option_id of a
12810	// TargetingOption of type `TARGETING_TYPE_VIEWABILITY` (e.g., "509010"
12811	// for targeting the `VIEWABILITY_10_PERCENT_OR_MORE` option).
12812	TargetingOptionId string `json:"targetingOptionId,omitempty"`
12813
12814	// Viewability: Output only. The predicted viewability percentage.
12815	//
12816	// Possible values:
12817	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
12818	// specified in this version. This enum is a placeholder for default
12819	// value and does not represent a real viewability option.
12820	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are
12821	// at least 10% likely to be viewable.
12822	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are
12823	// at least 20% likely to be viewable.
12824	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are
12825	// at least 30% likely to be viewable.
12826	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are
12827	// at least 40% likely to be viewable.
12828	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are
12829	// at least 50% likely to be viewable.
12830	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are
12831	// at least 60% likely to be viewable.
12832	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are
12833	// at least 70% likely to be viewable.
12834	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are
12835	// at least 80% likely to be viewable.
12836	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are
12837	// at least 90% likely to be viewable.
12838	Viewability string `json:"viewability,omitempty"`
12839
12840	// ForceSendFields is a list of field names (e.g. "TargetingOptionId")
12841	// to unconditionally include in API requests. By default, fields with
12842	// empty values are omitted from API requests. However, any non-pointer,
12843	// non-interface field appearing in ForceSendFields will be sent to the
12844	// server regardless of whether the field is empty or not. This may be
12845	// used to include empty fields in Patch requests.
12846	ForceSendFields []string `json:"-"`
12847
12848	// NullFields is a list of field names (e.g. "TargetingOptionId") to
12849	// include in API requests with the JSON null value. By default, fields
12850	// with empty values are omitted from API requests. However, any field
12851	// with an empty value appearing in NullFields will be sent to the
12852	// server as null. It is an error if a field in this list has a
12853	// non-empty value. This may be used to include null fields in Patch
12854	// requests.
12855	NullFields []string `json:"-"`
12856}
12857
12858func (s *ViewabilityAssignedTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12859	type NoMethod ViewabilityAssignedTargetingOptionDetails
12860	raw := NoMethod(*s)
12861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12862}
12863
12864// ViewabilityTargetingOptionDetails: Represents a targetable
12865// viewability. This will be populated in the viewability_details field
12866// of a TargetingOption when targeting_type is
12867// `TARGETING_TYPE_VIEWABILITY`.
12868type ViewabilityTargetingOptionDetails struct {
12869	// Viewability: Output only. The predicted viewability percentage.
12870	//
12871	// Possible values:
12872	//   "VIEWABILITY_UNSPECIFIED" - Default value when viewability is not
12873	// specified in this version. This enum is a placeholder for default
12874	// value and does not represent a real viewability option.
12875	//   "VIEWABILITY_10_PERCENT_OR_MORE" - Bid only on impressions that are
12876	// at least 10% likely to be viewable.
12877	//   "VIEWABILITY_20_PERCENT_OR_MORE" - Bid only on impressions that are
12878	// at least 20% likely to be viewable.
12879	//   "VIEWABILITY_30_PERCENT_OR_MORE" - Bid only on impressions that are
12880	// at least 30% likely to be viewable.
12881	//   "VIEWABILITY_40_PERCENT_OR_MORE" - Bid only on impressions that are
12882	// at least 40% likely to be viewable.
12883	//   "VIEWABILITY_50_PERCENT_OR_MORE" - Bid only on impressions that are
12884	// at least 50% likely to be viewable.
12885	//   "VIEWABILITY_60_PERCENT_OR_MORE" - Bid only on impressions that are
12886	// at least 60% likely to be viewable.
12887	//   "VIEWABILITY_70_PERCENT_OR_MORE" - Bid only on impressions that are
12888	// at least 70% likely to be viewable.
12889	//   "VIEWABILITY_80_PERCENT_OR_MORE" - Bid only on impressions that are
12890	// at least 80% likely to be viewable.
12891	//   "VIEWABILITY_90_PERCENT_OR_MORE" - Bid only on impressions that are
12892	// at least 90% likely to be viewable.
12893	Viewability string `json:"viewability,omitempty"`
12894
12895	// ForceSendFields is a list of field names (e.g. "Viewability") to
12896	// unconditionally include in API requests. By default, fields with
12897	// empty values are omitted from API requests. However, any non-pointer,
12898	// non-interface field appearing in ForceSendFields will be sent to the
12899	// server regardless of whether the field is empty or not. This may be
12900	// used to include empty fields in Patch requests.
12901	ForceSendFields []string `json:"-"`
12902
12903	// NullFields is a list of field names (e.g. "Viewability") to include
12904	// in API requests with the JSON null value. By default, fields with
12905	// empty values are omitted from API requests. However, any field with
12906	// an empty value appearing in NullFields will be sent to the server as
12907	// null. It is an error if a field in this list has a non-empty value.
12908	// This may be used to include null fields in Patch requests.
12909	NullFields []string `json:"-"`
12910}
12911
12912func (s *ViewabilityTargetingOptionDetails) MarshalJSON() ([]byte, error) {
12913	type NoMethod ViewabilityTargetingOptionDetails
12914	raw := NoMethod(*s)
12915	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12916}
12917
12918// method id "displayvideo.advertisers.audit":
12919
12920type AdvertisersAuditCall struct {
12921	s            *Service
12922	advertiserId int64
12923	urlParams_   gensupport.URLParams
12924	ifNoneMatch_ string
12925	ctx_         context.Context
12926	header_      http.Header
12927}
12928
12929// Audit: Audits an advertiser. Returns the counts of used entities per
12930// resource type under the advertiser provided. Used entities count
12931// towards their respective resource limit. See
12932// https://support.google.com/displayvideo/answer/6071450.
12933func (r *AdvertisersService) Audit(advertiserId int64) *AdvertisersAuditCall {
12934	c := &AdvertisersAuditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
12935	c.advertiserId = advertiserId
12936	return c
12937}
12938
12939// ReadMask sets the optional parameter "readMask": The specific fields
12940// to return. If no mask is specified, all fields in the response proto
12941// will be filled. Valid values are: * usedLineItemsCount *
12942// usedInsertionOrdersCount * usedCampaignsCount * channelsCount *
12943// negativelyTargetedChannelsCount * negativeKeywordListsCount *
12944// adGroupCriteriaCount * campaignCriteriaCount
12945func (c *AdvertisersAuditCall) ReadMask(readMask string) *AdvertisersAuditCall {
12946	c.urlParams_.Set("readMask", readMask)
12947	return c
12948}
12949
12950// Fields allows partial responses to be retrieved. See
12951// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
12952// for more information.
12953func (c *AdvertisersAuditCall) Fields(s ...googleapi.Field) *AdvertisersAuditCall {
12954	c.urlParams_.Set("fields", googleapi.CombineFields(s))
12955	return c
12956}
12957
12958// IfNoneMatch sets the optional parameter which makes the operation
12959// fail if the object's ETag matches the given value. This is useful for
12960// getting updates only after the object has changed since the last
12961// request. Use googleapi.IsNotModified to check whether the response
12962// error from Do is the result of In-None-Match.
12963func (c *AdvertisersAuditCall) IfNoneMatch(entityTag string) *AdvertisersAuditCall {
12964	c.ifNoneMatch_ = entityTag
12965	return c
12966}
12967
12968// Context sets the context to be used in this call's Do method. Any
12969// pending HTTP request will be aborted if the provided context is
12970// canceled.
12971func (c *AdvertisersAuditCall) Context(ctx context.Context) *AdvertisersAuditCall {
12972	c.ctx_ = ctx
12973	return c
12974}
12975
12976// Header returns an http.Header that can be modified by the caller to
12977// add HTTP headers to the request.
12978func (c *AdvertisersAuditCall) Header() http.Header {
12979	if c.header_ == nil {
12980		c.header_ = make(http.Header)
12981	}
12982	return c.header_
12983}
12984
12985func (c *AdvertisersAuditCall) doRequest(alt string) (*http.Response, error) {
12986	reqHeaders := make(http.Header)
12987	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
12988	for k, v := range c.header_ {
12989		reqHeaders[k] = v
12990	}
12991	reqHeaders.Set("User-Agent", c.s.userAgent())
12992	if c.ifNoneMatch_ != "" {
12993		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
12994	}
12995	var body io.Reader = nil
12996	c.urlParams_.Set("alt", alt)
12997	c.urlParams_.Set("prettyPrint", "false")
12998	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:audit")
12999	urls += "?" + c.urlParams_.Encode()
13000	req, err := http.NewRequest("GET", urls, body)
13001	if err != nil {
13002		return nil, err
13003	}
13004	req.Header = reqHeaders
13005	googleapi.Expand(req.URL, map[string]string{
13006		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
13007	})
13008	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13009}
13010
13011// Do executes the "displayvideo.advertisers.audit" call.
13012// Exactly one of *AuditAdvertiserResponse or error will be non-nil. Any
13013// non-2xx status code is an error. Response headers are in either
13014// *AuditAdvertiserResponse.ServerResponse.Header or (if a response was
13015// returned at all) in error.(*googleapi.Error).Header. Use
13016// googleapi.IsNotModified to check whether the returned error was
13017// because http.StatusNotModified was returned.
13018func (c *AdvertisersAuditCall) Do(opts ...googleapi.CallOption) (*AuditAdvertiserResponse, error) {
13019	gensupport.SetOptions(c.urlParams_, opts...)
13020	res, err := c.doRequest("json")
13021	if res != nil && res.StatusCode == http.StatusNotModified {
13022		if res.Body != nil {
13023			res.Body.Close()
13024		}
13025		return nil, &googleapi.Error{
13026			Code:   res.StatusCode,
13027			Header: res.Header,
13028		}
13029	}
13030	if err != nil {
13031		return nil, err
13032	}
13033	defer googleapi.CloseBody(res)
13034	if err := googleapi.CheckResponse(res); err != nil {
13035		return nil, err
13036	}
13037	ret := &AuditAdvertiserResponse{
13038		ServerResponse: googleapi.ServerResponse{
13039			Header:         res.Header,
13040			HTTPStatusCode: res.StatusCode,
13041		},
13042	}
13043	target := &ret
13044	if err := gensupport.DecodeResponse(target, res); err != nil {
13045		return nil, err
13046	}
13047	return ret, nil
13048	// {
13049	//   "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.",
13050	//   "flatPath": "v1/advertisers/{advertisersId}:audit",
13051	//   "httpMethod": "GET",
13052	//   "id": "displayvideo.advertisers.audit",
13053	//   "parameterOrder": [
13054	//     "advertiserId"
13055	//   ],
13056	//   "parameters": {
13057	//     "advertiserId": {
13058	//       "description": "Required. The ID of the advertiser to audit.",
13059	//       "format": "int64",
13060	//       "location": "path",
13061	//       "pattern": "^[^/]+$",
13062	//       "required": true,
13063	//       "type": "string"
13064	//     },
13065	//     "readMask": {
13066	//       "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",
13067	//       "format": "google-fieldmask",
13068	//       "location": "query",
13069	//       "type": "string"
13070	//     }
13071	//   },
13072	//   "path": "v1/advertisers/{+advertiserId}:audit",
13073	//   "response": {
13074	//     "$ref": "AuditAdvertiserResponse"
13075	//   },
13076	//   "scopes": [
13077	//     "https://www.googleapis.com/auth/display-video"
13078	//   ]
13079	// }
13080
13081}
13082
13083// method id "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions":
13084
13085type AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall struct {
13086	s                                                 *Service
13087	advertiserId                                      int64
13088	bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest
13089	urlParams_                                        gensupport.URLParams
13090	ctx_                                              context.Context
13091	header_                                           http.Header
13092}
13093
13094// BulkEditAdvertiserAssignedTargetingOptions: Bulk edits targeting
13095// options under a single advertiser. The operation will delete the
13096// assigned targeting options provided in
13097// BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and
13098// then create the assigned targeting options provided in
13099// BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .
13100func (r *AdvertisersService) BulkEditAdvertiserAssignedTargetingOptions(advertiserId int64, bulkeditadvertiserassignedtargetingoptionsrequest *BulkEditAdvertiserAssignedTargetingOptionsRequest) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
13101	c := &AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13102	c.advertiserId = advertiserId
13103	c.bulkeditadvertiserassignedtargetingoptionsrequest = bulkeditadvertiserassignedtargetingoptionsrequest
13104	return c
13105}
13106
13107// Fields allows partial responses to be retrieved. See
13108// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13109// for more information.
13110func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
13111	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13112	return c
13113}
13114
13115// Context sets the context to be used in this call's Do method. Any
13116// pending HTTP request will be aborted if the provided context is
13117// canceled.
13118func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall {
13119	c.ctx_ = ctx
13120	return c
13121}
13122
13123// Header returns an http.Header that can be modified by the caller to
13124// add HTTP headers to the request.
13125func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Header() http.Header {
13126	if c.header_ == nil {
13127		c.header_ = make(http.Header)
13128	}
13129	return c.header_
13130}
13131
13132func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
13133	reqHeaders := make(http.Header)
13134	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
13135	for k, v := range c.header_ {
13136		reqHeaders[k] = v
13137	}
13138	reqHeaders.Set("User-Agent", c.s.userAgent())
13139	var body io.Reader = nil
13140	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditadvertiserassignedtargetingoptionsrequest)
13141	if err != nil {
13142		return nil, err
13143	}
13144	reqHeaders.Set("Content-Type", "application/json")
13145	c.urlParams_.Set("alt", alt)
13146	c.urlParams_.Set("prettyPrint", "false")
13147	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:bulkEditAdvertiserAssignedTargetingOptions")
13148	urls += "?" + c.urlParams_.Encode()
13149	req, err := http.NewRequest("POST", urls, body)
13150	if err != nil {
13151		return nil, err
13152	}
13153	req.Header = reqHeaders
13154	googleapi.Expand(req.URL, map[string]string{
13155		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
13156	})
13157	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13158}
13159
13160// Do executes the "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions" call.
13161// Exactly one of *BulkEditAdvertiserAssignedTargetingOptionsResponse or
13162// error will be non-nil. Any non-2xx status code is an error. Response
13163// headers are in either
13164// *BulkEditAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Hea
13165// der or (if a response was returned at all) in
13166// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13167// whether the returned error was because http.StatusNotModified was
13168// returned.
13169func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditAdvertiserAssignedTargetingOptionsResponse, error) {
13170	gensupport.SetOptions(c.urlParams_, opts...)
13171	res, err := c.doRequest("json")
13172	if res != nil && res.StatusCode == http.StatusNotModified {
13173		if res.Body != nil {
13174			res.Body.Close()
13175		}
13176		return nil, &googleapi.Error{
13177			Code:   res.StatusCode,
13178			Header: res.Header,
13179		}
13180	}
13181	if err != nil {
13182		return nil, err
13183	}
13184	defer googleapi.CloseBody(res)
13185	if err := googleapi.CheckResponse(res); err != nil {
13186		return nil, err
13187	}
13188	ret := &BulkEditAdvertiserAssignedTargetingOptionsResponse{
13189		ServerResponse: googleapi.ServerResponse{
13190			Header:         res.Header,
13191			HTTPStatusCode: res.StatusCode,
13192		},
13193	}
13194	target := &ret
13195	if err := gensupport.DecodeResponse(target, res); err != nil {
13196		return nil, err
13197	}
13198	return ret, nil
13199	// {
13200	//   "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 .",
13201	//   "flatPath": "v1/advertisers/{advertisersId}:bulkEditAdvertiserAssignedTargetingOptions",
13202	//   "httpMethod": "POST",
13203	//   "id": "displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions",
13204	//   "parameterOrder": [
13205	//     "advertiserId"
13206	//   ],
13207	//   "parameters": {
13208	//     "advertiserId": {
13209	//       "description": "Required. The ID of the advertiser.",
13210	//       "format": "int64",
13211	//       "location": "path",
13212	//       "pattern": "^[^/]+$",
13213	//       "required": true,
13214	//       "type": "string"
13215	//     }
13216	//   },
13217	//   "path": "v1/advertisers/{+advertiserId}:bulkEditAdvertiserAssignedTargetingOptions",
13218	//   "request": {
13219	//     "$ref": "BulkEditAdvertiserAssignedTargetingOptionsRequest"
13220	//   },
13221	//   "response": {
13222	//     "$ref": "BulkEditAdvertiserAssignedTargetingOptionsResponse"
13223	//   },
13224	//   "scopes": [
13225	//     "https://www.googleapis.com/auth/display-video"
13226	//   ]
13227	// }
13228
13229}
13230
13231// method id "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions":
13232
13233type AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall struct {
13234	s            *Service
13235	advertiserId int64
13236	urlParams_   gensupport.URLParams
13237	ifNoneMatch_ string
13238	ctx_         context.Context
13239	header_      http.Header
13240}
13241
13242// BulkListAdvertiserAssignedTargetingOptions: Lists assigned targeting
13243// options of an advertiser across targeting types.
13244func (r *AdvertisersService) BulkListAdvertiserAssignedTargetingOptions(advertiserId int64) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13245	c := &AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13246	c.advertiserId = advertiserId
13247	return c
13248}
13249
13250// Filter sets the optional parameter "filter": Allows filtering by
13251// assigned targeting option properties. Supported syntax: * Filter
13252// expressions are made up of one or more restrictions. * Restrictions
13253// can be combined by the logical operator `OR`.. * A restriction has
13254// the form of `{field} {operator} {value}`. * The operator must be
13255// `EQUALS (=)`. * Supported fields: - `targetingType` Examples: *
13256// targetingType with value TARGETING_TYPE_CHANNEL
13257// `targetingType="TARGETING_TYPE_CHANNEL" The length of this field
13258// should be no more than 500 characters.
13259func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13260	c.urlParams_.Set("filter", filter)
13261	return c
13262}
13263
13264// OrderBy sets the optional parameter "orderBy": Field by which to sort
13265// the list. Acceptable values are: * `targetingType` (default) The
13266// default sorting order is ascending. To specify descending order for a
13267// field, a suffix "desc" should be added to the field name. Example:
13268// `targetingType desc`.
13269func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13270	c.urlParams_.Set("orderBy", orderBy)
13271	return c
13272}
13273
13274// PageSize sets the optional parameter "pageSize": Requested page size.
13275// The size must be an integer between `1` and `5000`. If unspecified,
13276// the default is '5000'. Returns error code `INVALID_ARGUMENT` if an
13277// invalid value is specified.
13278func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13279	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13280	return c
13281}
13282
13283// PageToken sets the optional parameter "pageToken": A token that lets
13284// the client fetch the next page of results. Typically, this is the
13285// value of next_page_token returned from the previous call to
13286// `BulkListAdvertiserAssignedTargetingOptions` method. If not
13287// specified, the first page of results will be returned.
13288func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13289	c.urlParams_.Set("pageToken", pageToken)
13290	return c
13291}
13292
13293// Fields allows partial responses to be retrieved. See
13294// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13295// for more information.
13296func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13297	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13298	return c
13299}
13300
13301// IfNoneMatch sets the optional parameter which makes the operation
13302// fail if the object's ETag matches the given value. This is useful for
13303// getting updates only after the object has changed since the last
13304// request. Use googleapi.IsNotModified to check whether the response
13305// error from Do is the result of In-None-Match.
13306func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13307	c.ifNoneMatch_ = entityTag
13308	return c
13309}
13310
13311// Context sets the context to be used in this call's Do method. Any
13312// pending HTTP request will be aborted if the provided context is
13313// canceled.
13314func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall {
13315	c.ctx_ = ctx
13316	return c
13317}
13318
13319// Header returns an http.Header that can be modified by the caller to
13320// add HTTP headers to the request.
13321func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Header() http.Header {
13322	if c.header_ == nil {
13323		c.header_ = make(http.Header)
13324	}
13325	return c.header_
13326}
13327
13328func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
13329	reqHeaders := make(http.Header)
13330	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
13331	for k, v := range c.header_ {
13332		reqHeaders[k] = v
13333	}
13334	reqHeaders.Set("User-Agent", c.s.userAgent())
13335	if c.ifNoneMatch_ != "" {
13336		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13337	}
13338	var body io.Reader = nil
13339	c.urlParams_.Set("alt", alt)
13340	c.urlParams_.Set("prettyPrint", "false")
13341	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}:bulkListAdvertiserAssignedTargetingOptions")
13342	urls += "?" + c.urlParams_.Encode()
13343	req, err := http.NewRequest("GET", urls, body)
13344	if err != nil {
13345		return nil, err
13346	}
13347	req.Header = reqHeaders
13348	googleapi.Expand(req.URL, map[string]string{
13349		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
13350	})
13351	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13352}
13353
13354// Do executes the "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions" call.
13355// Exactly one of *BulkListAdvertiserAssignedTargetingOptionsResponse or
13356// error will be non-nil. Any non-2xx status code is an error. Response
13357// headers are in either
13358// *BulkListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Hea
13359// der or (if a response was returned at all) in
13360// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
13361// whether the returned error was because http.StatusNotModified was
13362// returned.
13363func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListAdvertiserAssignedTargetingOptionsResponse, error) {
13364	gensupport.SetOptions(c.urlParams_, opts...)
13365	res, err := c.doRequest("json")
13366	if res != nil && res.StatusCode == http.StatusNotModified {
13367		if res.Body != nil {
13368			res.Body.Close()
13369		}
13370		return nil, &googleapi.Error{
13371			Code:   res.StatusCode,
13372			Header: res.Header,
13373		}
13374	}
13375	if err != nil {
13376		return nil, err
13377	}
13378	defer googleapi.CloseBody(res)
13379	if err := googleapi.CheckResponse(res); err != nil {
13380		return nil, err
13381	}
13382	ret := &BulkListAdvertiserAssignedTargetingOptionsResponse{
13383		ServerResponse: googleapi.ServerResponse{
13384			Header:         res.Header,
13385			HTTPStatusCode: res.StatusCode,
13386		},
13387	}
13388	target := &ret
13389	if err := gensupport.DecodeResponse(target, res); err != nil {
13390		return nil, err
13391	}
13392	return ret, nil
13393	// {
13394	//   "description": "Lists assigned targeting options of an advertiser across targeting types.",
13395	//   "flatPath": "v1/advertisers/{advertisersId}:bulkListAdvertiserAssignedTargetingOptions",
13396	//   "httpMethod": "GET",
13397	//   "id": "displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions",
13398	//   "parameterOrder": [
13399	//     "advertiserId"
13400	//   ],
13401	//   "parameters": {
13402	//     "advertiserId": {
13403	//       "description": "Required. The ID of the advertiser the line item belongs to.",
13404	//       "format": "int64",
13405	//       "location": "path",
13406	//       "pattern": "^[^/]+$",
13407	//       "required": true,
13408	//       "type": "string"
13409	//     },
13410	//     "filter": {
13411	//       "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.",
13412	//       "location": "query",
13413	//       "type": "string"
13414	//     },
13415	//     "orderBy": {
13416	//       "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`.",
13417	//       "location": "query",
13418	//       "type": "string"
13419	//     },
13420	//     "pageSize": {
13421	//       "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.",
13422	//       "format": "int32",
13423	//       "location": "query",
13424	//       "type": "integer"
13425	//     },
13426	//     "pageToken": {
13427	//       "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.",
13428	//       "location": "query",
13429	//       "type": "string"
13430	//     }
13431	//   },
13432	//   "path": "v1/advertisers/{+advertiserId}:bulkListAdvertiserAssignedTargetingOptions",
13433	//   "response": {
13434	//     "$ref": "BulkListAdvertiserAssignedTargetingOptionsResponse"
13435	//   },
13436	//   "scopes": [
13437	//     "https://www.googleapis.com/auth/display-video"
13438	//   ]
13439	// }
13440
13441}
13442
13443// Pages invokes f for each page of results.
13444// A non-nil error returned from f will halt the iteration.
13445// The provided context supersedes any context provided to the Context method.
13446func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListAdvertiserAssignedTargetingOptionsResponse) error) error {
13447	c.ctx_ = ctx
13448	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
13449	for {
13450		x, err := c.Do()
13451		if err != nil {
13452			return err
13453		}
13454		if err := f(x); err != nil {
13455			return err
13456		}
13457		if x.NextPageToken == "" {
13458			return nil
13459		}
13460		c.PageToken(x.NextPageToken)
13461	}
13462}
13463
13464// method id "displayvideo.advertisers.create":
13465
13466type AdvertisersCreateCall struct {
13467	s          *Service
13468	advertiser *Advertiser
13469	urlParams_ gensupport.URLParams
13470	ctx_       context.Context
13471	header_    http.Header
13472}
13473
13474// Create: Creates a new advertiser. Returns the newly created
13475// advertiser if successful. This method can take up to 180 seconds to
13476// complete.
13477func (r *AdvertisersService) Create(advertiser *Advertiser) *AdvertisersCreateCall {
13478	c := &AdvertisersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13479	c.advertiser = advertiser
13480	return c
13481}
13482
13483// Fields allows partial responses to be retrieved. See
13484// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13485// for more information.
13486func (c *AdvertisersCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreateCall {
13487	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13488	return c
13489}
13490
13491// Context sets the context to be used in this call's Do method. Any
13492// pending HTTP request will be aborted if the provided context is
13493// canceled.
13494func (c *AdvertisersCreateCall) Context(ctx context.Context) *AdvertisersCreateCall {
13495	c.ctx_ = ctx
13496	return c
13497}
13498
13499// Header returns an http.Header that can be modified by the caller to
13500// add HTTP headers to the request.
13501func (c *AdvertisersCreateCall) Header() http.Header {
13502	if c.header_ == nil {
13503		c.header_ = make(http.Header)
13504	}
13505	return c.header_
13506}
13507
13508func (c *AdvertisersCreateCall) doRequest(alt string) (*http.Response, error) {
13509	reqHeaders := make(http.Header)
13510	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
13511	for k, v := range c.header_ {
13512		reqHeaders[k] = v
13513	}
13514	reqHeaders.Set("User-Agent", c.s.userAgent())
13515	var body io.Reader = nil
13516	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
13517	if err != nil {
13518		return nil, err
13519	}
13520	reqHeaders.Set("Content-Type", "application/json")
13521	c.urlParams_.Set("alt", alt)
13522	c.urlParams_.Set("prettyPrint", "false")
13523	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers")
13524	urls += "?" + c.urlParams_.Encode()
13525	req, err := http.NewRequest("POST", urls, body)
13526	if err != nil {
13527		return nil, err
13528	}
13529	req.Header = reqHeaders
13530	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13531}
13532
13533// Do executes the "displayvideo.advertisers.create" call.
13534// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
13535// status code is an error. Response headers are in either
13536// *Advertiser.ServerResponse.Header or (if a response was returned at
13537// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13538// to check whether the returned error was because
13539// http.StatusNotModified was returned.
13540func (c *AdvertisersCreateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
13541	gensupport.SetOptions(c.urlParams_, opts...)
13542	res, err := c.doRequest("json")
13543	if res != nil && res.StatusCode == http.StatusNotModified {
13544		if res.Body != nil {
13545			res.Body.Close()
13546		}
13547		return nil, &googleapi.Error{
13548			Code:   res.StatusCode,
13549			Header: res.Header,
13550		}
13551	}
13552	if err != nil {
13553		return nil, err
13554	}
13555	defer googleapi.CloseBody(res)
13556	if err := googleapi.CheckResponse(res); err != nil {
13557		return nil, err
13558	}
13559	ret := &Advertiser{
13560		ServerResponse: googleapi.ServerResponse{
13561			Header:         res.Header,
13562			HTTPStatusCode: res.StatusCode,
13563		},
13564	}
13565	target := &ret
13566	if err := gensupport.DecodeResponse(target, res); err != nil {
13567		return nil, err
13568	}
13569	return ret, nil
13570	// {
13571	//   "description": "Creates a new advertiser. Returns the newly created advertiser if successful. This method can take up to 180 seconds to complete.",
13572	//   "flatPath": "v1/advertisers",
13573	//   "httpMethod": "POST",
13574	//   "id": "displayvideo.advertisers.create",
13575	//   "parameterOrder": [],
13576	//   "parameters": {},
13577	//   "path": "v1/advertisers",
13578	//   "request": {
13579	//     "$ref": "Advertiser"
13580	//   },
13581	//   "response": {
13582	//     "$ref": "Advertiser"
13583	//   },
13584	//   "scopes": [
13585	//     "https://www.googleapis.com/auth/display-video"
13586	//   ]
13587	// }
13588
13589}
13590
13591// method id "displayvideo.advertisers.delete":
13592
13593type AdvertisersDeleteCall struct {
13594	s            *Service
13595	advertiserId int64
13596	urlParams_   gensupport.URLParams
13597	ctx_         context.Context
13598	header_      http.Header
13599}
13600
13601// Delete: Deletes an advertiser. Deleting an advertiser will delete all
13602// of its child resources, for example, campaigns, insertion orders and
13603// line items. A deleted advertiser cannot be recovered.
13604func (r *AdvertisersService) Delete(advertiserId int64) *AdvertisersDeleteCall {
13605	c := &AdvertisersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13606	c.advertiserId = advertiserId
13607	return c
13608}
13609
13610// Fields allows partial responses to be retrieved. See
13611// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13612// for more information.
13613func (c *AdvertisersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersDeleteCall {
13614	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13615	return c
13616}
13617
13618// Context sets the context to be used in this call's Do method. Any
13619// pending HTTP request will be aborted if the provided context is
13620// canceled.
13621func (c *AdvertisersDeleteCall) Context(ctx context.Context) *AdvertisersDeleteCall {
13622	c.ctx_ = ctx
13623	return c
13624}
13625
13626// Header returns an http.Header that can be modified by the caller to
13627// add HTTP headers to the request.
13628func (c *AdvertisersDeleteCall) Header() http.Header {
13629	if c.header_ == nil {
13630		c.header_ = make(http.Header)
13631	}
13632	return c.header_
13633}
13634
13635func (c *AdvertisersDeleteCall) doRequest(alt string) (*http.Response, error) {
13636	reqHeaders := make(http.Header)
13637	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
13638	for k, v := range c.header_ {
13639		reqHeaders[k] = v
13640	}
13641	reqHeaders.Set("User-Agent", c.s.userAgent())
13642	var body io.Reader = nil
13643	c.urlParams_.Set("alt", alt)
13644	c.urlParams_.Set("prettyPrint", "false")
13645	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
13646	urls += "?" + c.urlParams_.Encode()
13647	req, err := http.NewRequest("DELETE", urls, body)
13648	if err != nil {
13649		return nil, err
13650	}
13651	req.Header = reqHeaders
13652	googleapi.Expand(req.URL, map[string]string{
13653		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
13654	})
13655	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13656}
13657
13658// Do executes the "displayvideo.advertisers.delete" call.
13659// Exactly one of *Empty or error will be non-nil. Any non-2xx status
13660// code is an error. Response headers are in either
13661// *Empty.ServerResponse.Header or (if a response was returned at all)
13662// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
13663// check whether the returned error was because http.StatusNotModified
13664// was returned.
13665func (c *AdvertisersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
13666	gensupport.SetOptions(c.urlParams_, opts...)
13667	res, err := c.doRequest("json")
13668	if res != nil && res.StatusCode == http.StatusNotModified {
13669		if res.Body != nil {
13670			res.Body.Close()
13671		}
13672		return nil, &googleapi.Error{
13673			Code:   res.StatusCode,
13674			Header: res.Header,
13675		}
13676	}
13677	if err != nil {
13678		return nil, err
13679	}
13680	defer googleapi.CloseBody(res)
13681	if err := googleapi.CheckResponse(res); err != nil {
13682		return nil, err
13683	}
13684	ret := &Empty{
13685		ServerResponse: googleapi.ServerResponse{
13686			Header:         res.Header,
13687			HTTPStatusCode: res.StatusCode,
13688		},
13689	}
13690	target := &ret
13691	if err := gensupport.DecodeResponse(target, res); err != nil {
13692		return nil, err
13693	}
13694	return ret, nil
13695	// {
13696	//   "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.",
13697	//   "flatPath": "v1/advertisers/{advertisersId}",
13698	//   "httpMethod": "DELETE",
13699	//   "id": "displayvideo.advertisers.delete",
13700	//   "parameterOrder": [
13701	//     "advertiserId"
13702	//   ],
13703	//   "parameters": {
13704	//     "advertiserId": {
13705	//       "description": "The ID of the advertiser we need to delete.",
13706	//       "format": "int64",
13707	//       "location": "path",
13708	//       "pattern": "^[^/]+$",
13709	//       "required": true,
13710	//       "type": "string"
13711	//     }
13712	//   },
13713	//   "path": "v1/advertisers/{+advertiserId}",
13714	//   "response": {
13715	//     "$ref": "Empty"
13716	//   },
13717	//   "scopes": [
13718	//     "https://www.googleapis.com/auth/display-video"
13719	//   ]
13720	// }
13721
13722}
13723
13724// method id "displayvideo.advertisers.get":
13725
13726type AdvertisersGetCall struct {
13727	s            *Service
13728	advertiserId int64
13729	urlParams_   gensupport.URLParams
13730	ifNoneMatch_ string
13731	ctx_         context.Context
13732	header_      http.Header
13733}
13734
13735// Get: Gets an advertiser.
13736func (r *AdvertisersService) Get(advertiserId int64) *AdvertisersGetCall {
13737	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13738	c.advertiserId = advertiserId
13739	return c
13740}
13741
13742// Fields allows partial responses to be retrieved. See
13743// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13744// for more information.
13745func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
13746	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13747	return c
13748}
13749
13750// IfNoneMatch sets the optional parameter which makes the operation
13751// fail if the object's ETag matches the given value. This is useful for
13752// getting updates only after the object has changed since the last
13753// request. Use googleapi.IsNotModified to check whether the response
13754// error from Do is the result of In-None-Match.
13755func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
13756	c.ifNoneMatch_ = entityTag
13757	return c
13758}
13759
13760// Context sets the context to be used in this call's Do method. Any
13761// pending HTTP request will be aborted if the provided context is
13762// canceled.
13763func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
13764	c.ctx_ = ctx
13765	return c
13766}
13767
13768// Header returns an http.Header that can be modified by the caller to
13769// add HTTP headers to the request.
13770func (c *AdvertisersGetCall) Header() http.Header {
13771	if c.header_ == nil {
13772		c.header_ = make(http.Header)
13773	}
13774	return c.header_
13775}
13776
13777func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
13778	reqHeaders := make(http.Header)
13779	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
13780	for k, v := range c.header_ {
13781		reqHeaders[k] = v
13782	}
13783	reqHeaders.Set("User-Agent", c.s.userAgent())
13784	if c.ifNoneMatch_ != "" {
13785		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13786	}
13787	var body io.Reader = nil
13788	c.urlParams_.Set("alt", alt)
13789	c.urlParams_.Set("prettyPrint", "false")
13790	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
13791	urls += "?" + c.urlParams_.Encode()
13792	req, err := http.NewRequest("GET", urls, body)
13793	if err != nil {
13794		return nil, err
13795	}
13796	req.Header = reqHeaders
13797	googleapi.Expand(req.URL, map[string]string{
13798		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
13799	})
13800	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13801}
13802
13803// Do executes the "displayvideo.advertisers.get" call.
13804// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
13805// status code is an error. Response headers are in either
13806// *Advertiser.ServerResponse.Header or (if a response was returned at
13807// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
13808// to check whether the returned error was because
13809// http.StatusNotModified was returned.
13810func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
13811	gensupport.SetOptions(c.urlParams_, opts...)
13812	res, err := c.doRequest("json")
13813	if res != nil && res.StatusCode == http.StatusNotModified {
13814		if res.Body != nil {
13815			res.Body.Close()
13816		}
13817		return nil, &googleapi.Error{
13818			Code:   res.StatusCode,
13819			Header: res.Header,
13820		}
13821	}
13822	if err != nil {
13823		return nil, err
13824	}
13825	defer googleapi.CloseBody(res)
13826	if err := googleapi.CheckResponse(res); err != nil {
13827		return nil, err
13828	}
13829	ret := &Advertiser{
13830		ServerResponse: googleapi.ServerResponse{
13831			Header:         res.Header,
13832			HTTPStatusCode: res.StatusCode,
13833		},
13834	}
13835	target := &ret
13836	if err := gensupport.DecodeResponse(target, res); err != nil {
13837		return nil, err
13838	}
13839	return ret, nil
13840	// {
13841	//   "description": "Gets an advertiser.",
13842	//   "flatPath": "v1/advertisers/{advertisersId}",
13843	//   "httpMethod": "GET",
13844	//   "id": "displayvideo.advertisers.get",
13845	//   "parameterOrder": [
13846	//     "advertiserId"
13847	//   ],
13848	//   "parameters": {
13849	//     "advertiserId": {
13850	//       "description": "Required. The ID of the advertiser to fetch.",
13851	//       "format": "int64",
13852	//       "location": "path",
13853	//       "pattern": "^[^/]+$",
13854	//       "required": true,
13855	//       "type": "string"
13856	//     }
13857	//   },
13858	//   "path": "v1/advertisers/{+advertiserId}",
13859	//   "response": {
13860	//     "$ref": "Advertiser"
13861	//   },
13862	//   "scopes": [
13863	//     "https://www.googleapis.com/auth/display-video"
13864	//   ]
13865	// }
13866
13867}
13868
13869// method id "displayvideo.advertisers.list":
13870
13871type AdvertisersListCall struct {
13872	s            *Service
13873	urlParams_   gensupport.URLParams
13874	ifNoneMatch_ string
13875	ctx_         context.Context
13876	header_      http.Header
13877}
13878
13879// List: Lists advertisers that are accessible to the current user. The
13880// order is defined by the order_by parameter. A single partner_id is
13881// required. Cross-partner listing is not supported.
13882func (r *AdvertisersService) List() *AdvertisersListCall {
13883	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
13884	return c
13885}
13886
13887// Filter sets the optional parameter "filter": Allows filtering by
13888// advertiser properties. Supported syntax: * Filter expressions are
13889// made up of one or more restrictions. * Restrictions can be combined
13890// by `AND` or `OR` logical operators. A sequence of restrictions
13891// implicitly uses `AND`. * A restriction has the form of `{field}
13892// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
13893// fields: - `advertiserId` - `displayName` - `entityStatus` Examples: *
13894// All active advertisers under a partner:
13895// `entityStatus="ENTITY_STATUS_ACTIVE" The length of this field should
13896// be no more than 500 characters.
13897func (c *AdvertisersListCall) Filter(filter string) *AdvertisersListCall {
13898	c.urlParams_.Set("filter", filter)
13899	return c
13900}
13901
13902// OrderBy sets the optional parameter "orderBy": Field by which to sort
13903// the list. Acceptable values are: * `displayName` (default) *
13904// `entityStatus` The default sorting order is ascending. To specify
13905// descending order for a field, a suffix "desc" should be added to the
13906// field name. For example, `displayName desc`.
13907func (c *AdvertisersListCall) OrderBy(orderBy string) *AdvertisersListCall {
13908	c.urlParams_.Set("orderBy", orderBy)
13909	return c
13910}
13911
13912// PageSize sets the optional parameter "pageSize": Requested page size.
13913// Must be between `1` and `100`. If unspecified will default to `100`.
13914func (c *AdvertisersListCall) PageSize(pageSize int64) *AdvertisersListCall {
13915	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
13916	return c
13917}
13918
13919// PageToken sets the optional parameter "pageToken": A token
13920// identifying a page of results the server should return. Typically,
13921// this is the value of next_page_token returned from the previous call
13922// to `ListAdvertisers` method. If not specified, the first page of
13923// results will be returned.
13924func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
13925	c.urlParams_.Set("pageToken", pageToken)
13926	return c
13927}
13928
13929// PartnerId sets the optional parameter "partnerId": Required. The ID
13930// of the partner that the fetched advertisers should all belong to. The
13931// system only supports listing advertisers for one partner at a time.
13932func (c *AdvertisersListCall) PartnerId(partnerId int64) *AdvertisersListCall {
13933	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
13934	return c
13935}
13936
13937// Fields allows partial responses to be retrieved. See
13938// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
13939// for more information.
13940func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
13941	c.urlParams_.Set("fields", googleapi.CombineFields(s))
13942	return c
13943}
13944
13945// IfNoneMatch sets the optional parameter which makes the operation
13946// fail if the object's ETag matches the given value. This is useful for
13947// getting updates only after the object has changed since the last
13948// request. Use googleapi.IsNotModified to check whether the response
13949// error from Do is the result of In-None-Match.
13950func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
13951	c.ifNoneMatch_ = entityTag
13952	return c
13953}
13954
13955// Context sets the context to be used in this call's Do method. Any
13956// pending HTTP request will be aborted if the provided context is
13957// canceled.
13958func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
13959	c.ctx_ = ctx
13960	return c
13961}
13962
13963// Header returns an http.Header that can be modified by the caller to
13964// add HTTP headers to the request.
13965func (c *AdvertisersListCall) Header() http.Header {
13966	if c.header_ == nil {
13967		c.header_ = make(http.Header)
13968	}
13969	return c.header_
13970}
13971
13972func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
13973	reqHeaders := make(http.Header)
13974	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
13975	for k, v := range c.header_ {
13976		reqHeaders[k] = v
13977	}
13978	reqHeaders.Set("User-Agent", c.s.userAgent())
13979	if c.ifNoneMatch_ != "" {
13980		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
13981	}
13982	var body io.Reader = nil
13983	c.urlParams_.Set("alt", alt)
13984	c.urlParams_.Set("prettyPrint", "false")
13985	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers")
13986	urls += "?" + c.urlParams_.Encode()
13987	req, err := http.NewRequest("GET", urls, body)
13988	if err != nil {
13989		return nil, err
13990	}
13991	req.Header = reqHeaders
13992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
13993}
13994
13995// Do executes the "displayvideo.advertisers.list" call.
13996// Exactly one of *ListAdvertisersResponse or error will be non-nil. Any
13997// non-2xx status code is an error. Response headers are in either
13998// *ListAdvertisersResponse.ServerResponse.Header or (if a response was
13999// returned at all) in error.(*googleapi.Error).Header. Use
14000// googleapi.IsNotModified to check whether the returned error was
14001// because http.StatusNotModified was returned.
14002func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*ListAdvertisersResponse, error) {
14003	gensupport.SetOptions(c.urlParams_, opts...)
14004	res, err := c.doRequest("json")
14005	if res != nil && res.StatusCode == http.StatusNotModified {
14006		if res.Body != nil {
14007			res.Body.Close()
14008		}
14009		return nil, &googleapi.Error{
14010			Code:   res.StatusCode,
14011			Header: res.Header,
14012		}
14013	}
14014	if err != nil {
14015		return nil, err
14016	}
14017	defer googleapi.CloseBody(res)
14018	if err := googleapi.CheckResponse(res); err != nil {
14019		return nil, err
14020	}
14021	ret := &ListAdvertisersResponse{
14022		ServerResponse: googleapi.ServerResponse{
14023			Header:         res.Header,
14024			HTTPStatusCode: res.StatusCode,
14025		},
14026	}
14027	target := &ret
14028	if err := gensupport.DecodeResponse(target, res); err != nil {
14029		return nil, err
14030	}
14031	return ret, nil
14032	// {
14033	//   "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.",
14034	//   "flatPath": "v1/advertisers",
14035	//   "httpMethod": "GET",
14036	//   "id": "displayvideo.advertisers.list",
14037	//   "parameterOrder": [],
14038	//   "parameters": {
14039	//     "filter": {
14040	//       "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 must be `EQUALS (=)`. * Supported fields: - `advertiserId` - `displayName` - `entityStatus` Examples: * All active advertisers under a partner: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` The length of this field should be no more than 500 characters.",
14041	//       "location": "query",
14042	//       "type": "string"
14043	//     },
14044	//     "orderBy": {
14045	//       "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` 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`.",
14046	//       "location": "query",
14047	//       "type": "string"
14048	//     },
14049	//     "pageSize": {
14050	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
14051	//       "format": "int32",
14052	//       "location": "query",
14053	//       "type": "integer"
14054	//     },
14055	//     "pageToken": {
14056	//       "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.",
14057	//       "location": "query",
14058	//       "type": "string"
14059	//     },
14060	//     "partnerId": {
14061	//       "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.",
14062	//       "format": "int64",
14063	//       "location": "query",
14064	//       "type": "string"
14065	//     }
14066	//   },
14067	//   "path": "v1/advertisers",
14068	//   "response": {
14069	//     "$ref": "ListAdvertisersResponse"
14070	//   },
14071	//   "scopes": [
14072	//     "https://www.googleapis.com/auth/display-video"
14073	//   ]
14074	// }
14075
14076}
14077
14078// Pages invokes f for each page of results.
14079// A non-nil error returned from f will halt the iteration.
14080// The provided context supersedes any context provided to the Context method.
14081func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*ListAdvertisersResponse) error) error {
14082	c.ctx_ = ctx
14083	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
14084	for {
14085		x, err := c.Do()
14086		if err != nil {
14087			return err
14088		}
14089		if err := f(x); err != nil {
14090			return err
14091		}
14092		if x.NextPageToken == "" {
14093			return nil
14094		}
14095		c.PageToken(x.NextPageToken)
14096	}
14097}
14098
14099// method id "displayvideo.advertisers.patch":
14100
14101type AdvertisersPatchCall struct {
14102	s            *Service
14103	advertiserId int64
14104	advertiser   *Advertiser
14105	urlParams_   gensupport.URLParams
14106	ctx_         context.Context
14107	header_      http.Header
14108}
14109
14110// Patch: Updates an existing advertiser. Returns the updated advertiser
14111// if successful.
14112func (r *AdvertisersService) Patch(advertiserId int64, advertiser *Advertiser) *AdvertisersPatchCall {
14113	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14114	c.advertiserId = advertiserId
14115	c.advertiser = advertiser
14116	return c
14117}
14118
14119// UpdateMask sets the optional parameter "updateMask": Required. The
14120// mask to control which fields to update.
14121func (c *AdvertisersPatchCall) UpdateMask(updateMask string) *AdvertisersPatchCall {
14122	c.urlParams_.Set("updateMask", updateMask)
14123	return c
14124}
14125
14126// Fields allows partial responses to be retrieved. See
14127// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14128// for more information.
14129func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
14130	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14131	return c
14132}
14133
14134// Context sets the context to be used in this call's Do method. Any
14135// pending HTTP request will be aborted if the provided context is
14136// canceled.
14137func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
14138	c.ctx_ = ctx
14139	return c
14140}
14141
14142// Header returns an http.Header that can be modified by the caller to
14143// add HTTP headers to the request.
14144func (c *AdvertisersPatchCall) Header() http.Header {
14145	if c.header_ == nil {
14146		c.header_ = make(http.Header)
14147	}
14148	return c.header_
14149}
14150
14151func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
14152	reqHeaders := make(http.Header)
14153	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14154	for k, v := range c.header_ {
14155		reqHeaders[k] = v
14156	}
14157	reqHeaders.Set("User-Agent", c.s.userAgent())
14158	var body io.Reader = nil
14159	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
14160	if err != nil {
14161		return nil, err
14162	}
14163	reqHeaders.Set("Content-Type", "application/json")
14164	c.urlParams_.Set("alt", alt)
14165	c.urlParams_.Set("prettyPrint", "false")
14166	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}")
14167	urls += "?" + c.urlParams_.Encode()
14168	req, err := http.NewRequest("PATCH", urls, body)
14169	if err != nil {
14170		return nil, err
14171	}
14172	req.Header = reqHeaders
14173	googleapi.Expand(req.URL, map[string]string{
14174		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14175	})
14176	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14177}
14178
14179// Do executes the "displayvideo.advertisers.patch" call.
14180// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
14181// status code is an error. Response headers are in either
14182// *Advertiser.ServerResponse.Header or (if a response was returned at
14183// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14184// to check whether the returned error was because
14185// http.StatusNotModified was returned.
14186func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
14187	gensupport.SetOptions(c.urlParams_, opts...)
14188	res, err := c.doRequest("json")
14189	if res != nil && res.StatusCode == http.StatusNotModified {
14190		if res.Body != nil {
14191			res.Body.Close()
14192		}
14193		return nil, &googleapi.Error{
14194			Code:   res.StatusCode,
14195			Header: res.Header,
14196		}
14197	}
14198	if err != nil {
14199		return nil, err
14200	}
14201	defer googleapi.CloseBody(res)
14202	if err := googleapi.CheckResponse(res); err != nil {
14203		return nil, err
14204	}
14205	ret := &Advertiser{
14206		ServerResponse: googleapi.ServerResponse{
14207			Header:         res.Header,
14208			HTTPStatusCode: res.StatusCode,
14209		},
14210	}
14211	target := &ret
14212	if err := gensupport.DecodeResponse(target, res); err != nil {
14213		return nil, err
14214	}
14215	return ret, nil
14216	// {
14217	//   "description": "Updates an existing advertiser. Returns the updated advertiser if successful.",
14218	//   "flatPath": "v1/advertisers/{advertisersId}",
14219	//   "httpMethod": "PATCH",
14220	//   "id": "displayvideo.advertisers.patch",
14221	//   "parameterOrder": [
14222	//     "advertiserId"
14223	//   ],
14224	//   "parameters": {
14225	//     "advertiserId": {
14226	//       "description": "Output only. The unique ID of the advertiser. Assigned by the system.",
14227	//       "format": "int64",
14228	//       "location": "path",
14229	//       "pattern": "^[^/]+$",
14230	//       "required": true,
14231	//       "type": "string"
14232	//     },
14233	//     "updateMask": {
14234	//       "description": "Required. The mask to control which fields to update.",
14235	//       "format": "google-fieldmask",
14236	//       "location": "query",
14237	//       "type": "string"
14238	//     }
14239	//   },
14240	//   "path": "v1/advertisers/{+advertiserId}",
14241	//   "request": {
14242	//     "$ref": "Advertiser"
14243	//   },
14244	//   "response": {
14245	//     "$ref": "Advertiser"
14246	//   },
14247	//   "scopes": [
14248	//     "https://www.googleapis.com/auth/display-video"
14249	//   ]
14250	// }
14251
14252}
14253
14254// method id "displayvideo.advertisers.assets.upload":
14255
14256type AdvertisersAssetsUploadCall struct {
14257	s                  *Service
14258	advertiserId       int64
14259	createassetrequest *CreateAssetRequest
14260	urlParams_         gensupport.URLParams
14261	mediaInfo_         *gensupport.MediaInfo
14262	ctx_               context.Context
14263	header_            http.Header
14264}
14265
14266// Upload: Uploads an asset. Returns the ID of the newly uploaded asset
14267// if successful. The asset file size should be no more than 10 MB for
14268// images, 200 MB for ZIP files, and 1 GB for videos.
14269func (r *AdvertisersAssetsService) Upload(advertiserId int64, createassetrequest *CreateAssetRequest) *AdvertisersAssetsUploadCall {
14270	c := &AdvertisersAssetsUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14271	c.advertiserId = advertiserId
14272	c.createassetrequest = createassetrequest
14273	return c
14274}
14275
14276// Media specifies the media to upload in one or more chunks. The chunk
14277// size may be controlled by supplying a MediaOption generated by
14278// googleapi.ChunkSize. The chunk size defaults to
14279// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
14280// upload request will be determined by sniffing the contents of r,
14281// unless a MediaOption generated by googleapi.ContentType is
14282// supplied.
14283// At most one of Media and ResumableMedia may be set.
14284func (c *AdvertisersAssetsUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *AdvertisersAssetsUploadCall {
14285	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
14286	return c
14287}
14288
14289// ResumableMedia specifies the media to upload in chunks and can be
14290// canceled with ctx.
14291//
14292// Deprecated: use Media instead.
14293//
14294// At most one of Media and ResumableMedia may be set. mediaType
14295// identifies the MIME media type of the upload, such as "image/png". If
14296// mediaType is "", it will be auto-detected. The provided ctx will
14297// supersede any context previously provided to the Context method.
14298func (c *AdvertisersAssetsUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *AdvertisersAssetsUploadCall {
14299	c.ctx_ = ctx
14300	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
14301	return c
14302}
14303
14304// ProgressUpdater provides a callback function that will be called
14305// after every chunk. It should be a low-latency function in order to
14306// not slow down the upload operation. This should only be called when
14307// using ResumableMedia (as opposed to Media).
14308func (c *AdvertisersAssetsUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *AdvertisersAssetsUploadCall {
14309	c.mediaInfo_.SetProgressUpdater(pu)
14310	return c
14311}
14312
14313// Fields allows partial responses to be retrieved. See
14314// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14315// for more information.
14316func (c *AdvertisersAssetsUploadCall) Fields(s ...googleapi.Field) *AdvertisersAssetsUploadCall {
14317	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14318	return c
14319}
14320
14321// Context sets the context to be used in this call's Do method. Any
14322// pending HTTP request will be aborted if the provided context is
14323// canceled.
14324// This context will supersede any context previously provided to the
14325// ResumableMedia method.
14326func (c *AdvertisersAssetsUploadCall) Context(ctx context.Context) *AdvertisersAssetsUploadCall {
14327	c.ctx_ = ctx
14328	return c
14329}
14330
14331// Header returns an http.Header that can be modified by the caller to
14332// add HTTP headers to the request.
14333func (c *AdvertisersAssetsUploadCall) Header() http.Header {
14334	if c.header_ == nil {
14335		c.header_ = make(http.Header)
14336	}
14337	return c.header_
14338}
14339
14340func (c *AdvertisersAssetsUploadCall) doRequest(alt string) (*http.Response, error) {
14341	reqHeaders := make(http.Header)
14342	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14343	for k, v := range c.header_ {
14344		reqHeaders[k] = v
14345	}
14346	reqHeaders.Set("User-Agent", c.s.userAgent())
14347	var body io.Reader = nil
14348	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createassetrequest)
14349	if err != nil {
14350		return nil, err
14351	}
14352	reqHeaders.Set("Content-Type", "application/json")
14353	c.urlParams_.Set("alt", alt)
14354	c.urlParams_.Set("prettyPrint", "false")
14355	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/assets")
14356	if c.mediaInfo_ != nil {
14357		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v1/advertisers/{+advertiserId}/assets")
14358		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
14359	}
14360	if body == nil {
14361		body = new(bytes.Buffer)
14362		reqHeaders.Set("Content-Type", "application/json")
14363	}
14364	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
14365	defer cleanup()
14366	urls += "?" + c.urlParams_.Encode()
14367	req, err := http.NewRequest("POST", urls, body)
14368	if err != nil {
14369		return nil, err
14370	}
14371	req.Header = reqHeaders
14372	req.GetBody = getBody
14373	googleapi.Expand(req.URL, map[string]string{
14374		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14375	})
14376	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14377}
14378
14379// Do executes the "displayvideo.advertisers.assets.upload" call.
14380// Exactly one of *CreateAssetResponse or error will be non-nil. Any
14381// non-2xx status code is an error. Response headers are in either
14382// *CreateAssetResponse.ServerResponse.Header or (if a response was
14383// returned at all) in error.(*googleapi.Error).Header. Use
14384// googleapi.IsNotModified to check whether the returned error was
14385// because http.StatusNotModified was returned.
14386func (c *AdvertisersAssetsUploadCall) Do(opts ...googleapi.CallOption) (*CreateAssetResponse, error) {
14387	gensupport.SetOptions(c.urlParams_, opts...)
14388	res, err := c.doRequest("json")
14389	if res != nil && res.StatusCode == http.StatusNotModified {
14390		if res.Body != nil {
14391			res.Body.Close()
14392		}
14393		return nil, &googleapi.Error{
14394			Code:   res.StatusCode,
14395			Header: res.Header,
14396		}
14397	}
14398	if err != nil {
14399		return nil, err
14400	}
14401	defer googleapi.CloseBody(res)
14402	if err := googleapi.CheckResponse(res); err != nil {
14403		return nil, err
14404	}
14405	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
14406	if rx != nil {
14407		rx.Client = c.s.client
14408		rx.UserAgent = c.s.userAgent()
14409		ctx := c.ctx_
14410		if ctx == nil {
14411			ctx = context.TODO()
14412		}
14413		res, err = rx.Upload(ctx)
14414		if err != nil {
14415			return nil, err
14416		}
14417		defer res.Body.Close()
14418		if err := googleapi.CheckResponse(res); err != nil {
14419			return nil, err
14420		}
14421	}
14422	ret := &CreateAssetResponse{
14423		ServerResponse: googleapi.ServerResponse{
14424			Header:         res.Header,
14425			HTTPStatusCode: res.StatusCode,
14426		},
14427	}
14428	target := &ret
14429	if err := gensupport.DecodeResponse(target, res); err != nil {
14430		return nil, err
14431	}
14432	return ret, nil
14433	// {
14434	//   "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.",
14435	//   "flatPath": "v1/advertisers/{advertisersId}/assets",
14436	//   "httpMethod": "POST",
14437	//   "id": "displayvideo.advertisers.assets.upload",
14438	//   "mediaUpload": {
14439	//     "accept": [
14440	//       "*/*"
14441	//     ],
14442	//     "protocols": {
14443	//       "simple": {
14444	//         "multipart": true,
14445	//         "path": "/upload/v1/advertisers/{+advertiserId}/assets"
14446	//       }
14447	//     }
14448	//   },
14449	//   "parameterOrder": [
14450	//     "advertiserId"
14451	//   ],
14452	//   "parameters": {
14453	//     "advertiserId": {
14454	//       "description": "Required. The ID of the advertiser this asset belongs to.",
14455	//       "format": "int64",
14456	//       "location": "path",
14457	//       "pattern": "^[^/]+$",
14458	//       "required": true,
14459	//       "type": "string"
14460	//     }
14461	//   },
14462	//   "path": "v1/advertisers/{+advertiserId}/assets",
14463	//   "request": {
14464	//     "$ref": "CreateAssetRequest"
14465	//   },
14466	//   "response": {
14467	//     "$ref": "CreateAssetResponse"
14468	//   },
14469	//   "scopes": [
14470	//     "https://www.googleapis.com/auth/display-video"
14471	//   ],
14472	//   "supportsMediaUpload": true
14473	// }
14474
14475}
14476
14477// method id "displayvideo.advertisers.campaigns.create":
14478
14479type AdvertisersCampaignsCreateCall struct {
14480	s            *Service
14481	advertiserId int64
14482	campaign     *Campaign
14483	urlParams_   gensupport.URLParams
14484	ctx_         context.Context
14485	header_      http.Header
14486}
14487
14488// Create: Creates a new campaign. Returns the newly created campaign if
14489// successful.
14490func (r *AdvertisersCampaignsService) Create(advertiserId int64, campaign *Campaign) *AdvertisersCampaignsCreateCall {
14491	c := &AdvertisersCampaignsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14492	c.advertiserId = advertiserId
14493	c.campaign = campaign
14494	return c
14495}
14496
14497// Fields allows partial responses to be retrieved. See
14498// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14499// for more information.
14500func (c *AdvertisersCampaignsCreateCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsCreateCall {
14501	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14502	return c
14503}
14504
14505// Context sets the context to be used in this call's Do method. Any
14506// pending HTTP request will be aborted if the provided context is
14507// canceled.
14508func (c *AdvertisersCampaignsCreateCall) Context(ctx context.Context) *AdvertisersCampaignsCreateCall {
14509	c.ctx_ = ctx
14510	return c
14511}
14512
14513// Header returns an http.Header that can be modified by the caller to
14514// add HTTP headers to the request.
14515func (c *AdvertisersCampaignsCreateCall) Header() http.Header {
14516	if c.header_ == nil {
14517		c.header_ = make(http.Header)
14518	}
14519	return c.header_
14520}
14521
14522func (c *AdvertisersCampaignsCreateCall) doRequest(alt string) (*http.Response, error) {
14523	reqHeaders := make(http.Header)
14524	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14525	for k, v := range c.header_ {
14526		reqHeaders[k] = v
14527	}
14528	reqHeaders.Set("User-Agent", c.s.userAgent())
14529	var body io.Reader = nil
14530	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
14531	if err != nil {
14532		return nil, err
14533	}
14534	reqHeaders.Set("Content-Type", "application/json")
14535	c.urlParams_.Set("alt", alt)
14536	c.urlParams_.Set("prettyPrint", "false")
14537	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns")
14538	urls += "?" + c.urlParams_.Encode()
14539	req, err := http.NewRequest("POST", urls, body)
14540	if err != nil {
14541		return nil, err
14542	}
14543	req.Header = reqHeaders
14544	googleapi.Expand(req.URL, map[string]string{
14545		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14546	})
14547	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14548}
14549
14550// Do executes the "displayvideo.advertisers.campaigns.create" call.
14551// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
14552// code is an error. Response headers are in either
14553// *Campaign.ServerResponse.Header or (if a response was returned at
14554// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14555// to check whether the returned error was because
14556// http.StatusNotModified was returned.
14557func (c *AdvertisersCampaignsCreateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
14558	gensupport.SetOptions(c.urlParams_, opts...)
14559	res, err := c.doRequest("json")
14560	if res != nil && res.StatusCode == http.StatusNotModified {
14561		if res.Body != nil {
14562			res.Body.Close()
14563		}
14564		return nil, &googleapi.Error{
14565			Code:   res.StatusCode,
14566			Header: res.Header,
14567		}
14568	}
14569	if err != nil {
14570		return nil, err
14571	}
14572	defer googleapi.CloseBody(res)
14573	if err := googleapi.CheckResponse(res); err != nil {
14574		return nil, err
14575	}
14576	ret := &Campaign{
14577		ServerResponse: googleapi.ServerResponse{
14578			Header:         res.Header,
14579			HTTPStatusCode: res.StatusCode,
14580		},
14581	}
14582	target := &ret
14583	if err := gensupport.DecodeResponse(target, res); err != nil {
14584		return nil, err
14585	}
14586	return ret, nil
14587	// {
14588	//   "description": "Creates a new campaign. Returns the newly created campaign if successful.",
14589	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns",
14590	//   "httpMethod": "POST",
14591	//   "id": "displayvideo.advertisers.campaigns.create",
14592	//   "parameterOrder": [
14593	//     "advertiserId"
14594	//   ],
14595	//   "parameters": {
14596	//     "advertiserId": {
14597	//       "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
14598	//       "format": "int64",
14599	//       "location": "path",
14600	//       "pattern": "^[^/]+$",
14601	//       "required": true,
14602	//       "type": "string"
14603	//     }
14604	//   },
14605	//   "path": "v1/advertisers/{+advertiserId}/campaigns",
14606	//   "request": {
14607	//     "$ref": "Campaign"
14608	//   },
14609	//   "response": {
14610	//     "$ref": "Campaign"
14611	//   },
14612	//   "scopes": [
14613	//     "https://www.googleapis.com/auth/display-video",
14614	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
14615	//   ]
14616	// }
14617
14618}
14619
14620// method id "displayvideo.advertisers.campaigns.delete":
14621
14622type AdvertisersCampaignsDeleteCall struct {
14623	s            *Service
14624	advertiserId int64
14625	campaignId   int64
14626	urlParams_   gensupport.URLParams
14627	ctx_         context.Context
14628	header_      http.Header
14629}
14630
14631// Delete: Permanently deletes a campaign. A deleted campaign cannot be
14632// recovered. The campaign should be archived first, i.e. set
14633// entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.
14634func (r *AdvertisersCampaignsService) Delete(advertiserId int64, campaignId int64) *AdvertisersCampaignsDeleteCall {
14635	c := &AdvertisersCampaignsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14636	c.advertiserId = advertiserId
14637	c.campaignId = campaignId
14638	return c
14639}
14640
14641// Fields allows partial responses to be retrieved. See
14642// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14643// for more information.
14644func (c *AdvertisersCampaignsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsDeleteCall {
14645	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14646	return c
14647}
14648
14649// Context sets the context to be used in this call's Do method. Any
14650// pending HTTP request will be aborted if the provided context is
14651// canceled.
14652func (c *AdvertisersCampaignsDeleteCall) Context(ctx context.Context) *AdvertisersCampaignsDeleteCall {
14653	c.ctx_ = ctx
14654	return c
14655}
14656
14657// Header returns an http.Header that can be modified by the caller to
14658// add HTTP headers to the request.
14659func (c *AdvertisersCampaignsDeleteCall) Header() http.Header {
14660	if c.header_ == nil {
14661		c.header_ = make(http.Header)
14662	}
14663	return c.header_
14664}
14665
14666func (c *AdvertisersCampaignsDeleteCall) doRequest(alt string) (*http.Response, error) {
14667	reqHeaders := make(http.Header)
14668	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14669	for k, v := range c.header_ {
14670		reqHeaders[k] = v
14671	}
14672	reqHeaders.Set("User-Agent", c.s.userAgent())
14673	var body io.Reader = nil
14674	c.urlParams_.Set("alt", alt)
14675	c.urlParams_.Set("prettyPrint", "false")
14676	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
14677	urls += "?" + c.urlParams_.Encode()
14678	req, err := http.NewRequest("DELETE", urls, body)
14679	if err != nil {
14680		return nil, err
14681	}
14682	req.Header = reqHeaders
14683	googleapi.Expand(req.URL, map[string]string{
14684		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14685		"campaignId":   strconv.FormatInt(c.campaignId, 10),
14686	})
14687	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14688}
14689
14690// Do executes the "displayvideo.advertisers.campaigns.delete" call.
14691// Exactly one of *Empty or error will be non-nil. Any non-2xx status
14692// code is an error. Response headers are in either
14693// *Empty.ServerResponse.Header or (if a response was returned at all)
14694// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
14695// check whether the returned error was because http.StatusNotModified
14696// was returned.
14697func (c *AdvertisersCampaignsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
14698	gensupport.SetOptions(c.urlParams_, opts...)
14699	res, err := c.doRequest("json")
14700	if res != nil && res.StatusCode == http.StatusNotModified {
14701		if res.Body != nil {
14702			res.Body.Close()
14703		}
14704		return nil, &googleapi.Error{
14705			Code:   res.StatusCode,
14706			Header: res.Header,
14707		}
14708	}
14709	if err != nil {
14710		return nil, err
14711	}
14712	defer googleapi.CloseBody(res)
14713	if err := googleapi.CheckResponse(res); err != nil {
14714		return nil, err
14715	}
14716	ret := &Empty{
14717		ServerResponse: googleapi.ServerResponse{
14718			Header:         res.Header,
14719			HTTPStatusCode: res.StatusCode,
14720		},
14721	}
14722	target := &ret
14723	if err := gensupport.DecodeResponse(target, res); err != nil {
14724		return nil, err
14725	}
14726	return ret, nil
14727	// {
14728	//   "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.",
14729	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
14730	//   "httpMethod": "DELETE",
14731	//   "id": "displayvideo.advertisers.campaigns.delete",
14732	//   "parameterOrder": [
14733	//     "advertiserId",
14734	//     "campaignId"
14735	//   ],
14736	//   "parameters": {
14737	//     "advertiserId": {
14738	//       "description": "The ID of the advertiser this campaign belongs to.",
14739	//       "format": "int64",
14740	//       "location": "path",
14741	//       "pattern": "^[^/]+$",
14742	//       "required": true,
14743	//       "type": "string"
14744	//     },
14745	//     "campaignId": {
14746	//       "description": "The ID of the campaign we need to delete.",
14747	//       "format": "int64",
14748	//       "location": "path",
14749	//       "pattern": "^[^/]+$",
14750	//       "required": true,
14751	//       "type": "string"
14752	//     }
14753	//   },
14754	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
14755	//   "response": {
14756	//     "$ref": "Empty"
14757	//   },
14758	//   "scopes": [
14759	//     "https://www.googleapis.com/auth/display-video",
14760	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
14761	//   ]
14762	// }
14763
14764}
14765
14766// method id "displayvideo.advertisers.campaigns.get":
14767
14768type AdvertisersCampaignsGetCall struct {
14769	s            *Service
14770	advertiserId int64
14771	campaignId   int64
14772	urlParams_   gensupport.URLParams
14773	ifNoneMatch_ string
14774	ctx_         context.Context
14775	header_      http.Header
14776}
14777
14778// Get: Gets a campaign.
14779func (r *AdvertisersCampaignsService) Get(advertiserId int64, campaignId int64) *AdvertisersCampaignsGetCall {
14780	c := &AdvertisersCampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14781	c.advertiserId = advertiserId
14782	c.campaignId = campaignId
14783	return c
14784}
14785
14786// Fields allows partial responses to be retrieved. See
14787// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14788// for more information.
14789func (c *AdvertisersCampaignsGetCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsGetCall {
14790	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14791	return c
14792}
14793
14794// IfNoneMatch sets the optional parameter which makes the operation
14795// fail if the object's ETag matches the given value. This is useful for
14796// getting updates only after the object has changed since the last
14797// request. Use googleapi.IsNotModified to check whether the response
14798// error from Do is the result of In-None-Match.
14799func (c *AdvertisersCampaignsGetCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsGetCall {
14800	c.ifNoneMatch_ = entityTag
14801	return c
14802}
14803
14804// Context sets the context to be used in this call's Do method. Any
14805// pending HTTP request will be aborted if the provided context is
14806// canceled.
14807func (c *AdvertisersCampaignsGetCall) Context(ctx context.Context) *AdvertisersCampaignsGetCall {
14808	c.ctx_ = ctx
14809	return c
14810}
14811
14812// Header returns an http.Header that can be modified by the caller to
14813// add HTTP headers to the request.
14814func (c *AdvertisersCampaignsGetCall) Header() http.Header {
14815	if c.header_ == nil {
14816		c.header_ = make(http.Header)
14817	}
14818	return c.header_
14819}
14820
14821func (c *AdvertisersCampaignsGetCall) doRequest(alt string) (*http.Response, error) {
14822	reqHeaders := make(http.Header)
14823	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14824	for k, v := range c.header_ {
14825		reqHeaders[k] = v
14826	}
14827	reqHeaders.Set("User-Agent", c.s.userAgent())
14828	if c.ifNoneMatch_ != "" {
14829		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14830	}
14831	var body io.Reader = nil
14832	c.urlParams_.Set("alt", alt)
14833	c.urlParams_.Set("prettyPrint", "false")
14834	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
14835	urls += "?" + c.urlParams_.Encode()
14836	req, err := http.NewRequest("GET", urls, body)
14837	if err != nil {
14838		return nil, err
14839	}
14840	req.Header = reqHeaders
14841	googleapi.Expand(req.URL, map[string]string{
14842		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
14843		"campaignId":   strconv.FormatInt(c.campaignId, 10),
14844	})
14845	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14846}
14847
14848// Do executes the "displayvideo.advertisers.campaigns.get" call.
14849// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
14850// code is an error. Response headers are in either
14851// *Campaign.ServerResponse.Header or (if a response was returned at
14852// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
14853// to check whether the returned error was because
14854// http.StatusNotModified was returned.
14855func (c *AdvertisersCampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
14856	gensupport.SetOptions(c.urlParams_, opts...)
14857	res, err := c.doRequest("json")
14858	if res != nil && res.StatusCode == http.StatusNotModified {
14859		if res.Body != nil {
14860			res.Body.Close()
14861		}
14862		return nil, &googleapi.Error{
14863			Code:   res.StatusCode,
14864			Header: res.Header,
14865		}
14866	}
14867	if err != nil {
14868		return nil, err
14869	}
14870	defer googleapi.CloseBody(res)
14871	if err := googleapi.CheckResponse(res); err != nil {
14872		return nil, err
14873	}
14874	ret := &Campaign{
14875		ServerResponse: googleapi.ServerResponse{
14876			Header:         res.Header,
14877			HTTPStatusCode: res.StatusCode,
14878		},
14879	}
14880	target := &ret
14881	if err := gensupport.DecodeResponse(target, res); err != nil {
14882		return nil, err
14883	}
14884	return ret, nil
14885	// {
14886	//   "description": "Gets a campaign.",
14887	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
14888	//   "httpMethod": "GET",
14889	//   "id": "displayvideo.advertisers.campaigns.get",
14890	//   "parameterOrder": [
14891	//     "advertiserId",
14892	//     "campaignId"
14893	//   ],
14894	//   "parameters": {
14895	//     "advertiserId": {
14896	//       "description": "Required. The ID of the advertiser this campaign belongs to.",
14897	//       "format": "int64",
14898	//       "location": "path",
14899	//       "pattern": "^[^/]+$",
14900	//       "required": true,
14901	//       "type": "string"
14902	//     },
14903	//     "campaignId": {
14904	//       "description": "Required. The ID of the campaign to fetch.",
14905	//       "format": "int64",
14906	//       "location": "path",
14907	//       "pattern": "^[^/]+$",
14908	//       "required": true,
14909	//       "type": "string"
14910	//     }
14911	//   },
14912	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
14913	//   "response": {
14914	//     "$ref": "Campaign"
14915	//   },
14916	//   "scopes": [
14917	//     "https://www.googleapis.com/auth/display-video",
14918	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
14919	//   ]
14920	// }
14921
14922}
14923
14924// method id "displayvideo.advertisers.campaigns.list":
14925
14926type AdvertisersCampaignsListCall struct {
14927	s            *Service
14928	advertiserId int64
14929	urlParams_   gensupport.URLParams
14930	ifNoneMatch_ string
14931	ctx_         context.Context
14932	header_      http.Header
14933}
14934
14935// List: Lists campaigns in an advertiser. The order is defined by the
14936// order_by parameter. If a filter by entity_status is not specified,
14937// campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the
14938// results.
14939func (r *AdvertisersCampaignsService) List(advertiserId int64) *AdvertisersCampaignsListCall {
14940	c := &AdvertisersCampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14941	c.advertiserId = advertiserId
14942	return c
14943}
14944
14945// Filter sets the optional parameter "filter": Allows filtering by
14946// campaign properties. Supported syntax: * Filter expressions are made
14947// up of one or more restrictions. * Restrictions can be combined by
14948// `AND` or `OR` logical operators. A sequence of restrictions
14949// implicitly uses `AND`. * A restriction has the form of `{field}
14950// {operator} {value}`. * The operator used on `updateTime` must be
14951// `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. *
14952// The operator must be `EQUALS (=)`. * Supported fields: - `campaignId`
14953// - `displayName` - `entityStatus` - `updateTime` (input in ISO 8601
14954// format, or YYYY-MM-DDTHH:MM:SSZ) Examples: * All
14955// `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an
14956// advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
14957// entityStatus="ENTITY_STATUS_PAUSED")` * All campaigns with an update
14958// time less than or equal to `2020-11-04T18:54:47Z (format of ISO
14959// 8601)`: `updateTime<="2020-11-04T18:54:47Z" * All campaigns with an
14960// update time greater than or equal to `2020-11-04T18:54:47Z (format of
14961// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this
14962// field should be no more than 500 characters.
14963func (c *AdvertisersCampaignsListCall) Filter(filter string) *AdvertisersCampaignsListCall {
14964	c.urlParams_.Set("filter", filter)
14965	return c
14966}
14967
14968// OrderBy sets the optional parameter "orderBy": Field by which to sort
14969// the list. Acceptable values are: * `displayName` (default) *
14970// `entityStatus` * `updateTime` The default sorting order is ascending.
14971// To specify descending order for a field, a suffix "desc" should be
14972// added to the field name. Example: `displayName desc`.
14973func (c *AdvertisersCampaignsListCall) OrderBy(orderBy string) *AdvertisersCampaignsListCall {
14974	c.urlParams_.Set("orderBy", orderBy)
14975	return c
14976}
14977
14978// PageSize sets the optional parameter "pageSize": Requested page size.
14979// Must be between `1` and `100`. If unspecified will default to `100`.
14980func (c *AdvertisersCampaignsListCall) PageSize(pageSize int64) *AdvertisersCampaignsListCall {
14981	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
14982	return c
14983}
14984
14985// PageToken sets the optional parameter "pageToken": A token
14986// identifying a page of results the server should return. Typically,
14987// this is the value of next_page_token returned from the previous call
14988// to `ListCampaigns` method. If not specified, the first page of
14989// results will be returned.
14990func (c *AdvertisersCampaignsListCall) PageToken(pageToken string) *AdvertisersCampaignsListCall {
14991	c.urlParams_.Set("pageToken", pageToken)
14992	return c
14993}
14994
14995// Fields allows partial responses to be retrieved. See
14996// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14997// for more information.
14998func (c *AdvertisersCampaignsListCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsListCall {
14999	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15000	return c
15001}
15002
15003// IfNoneMatch sets the optional parameter which makes the operation
15004// fail if the object's ETag matches the given value. This is useful for
15005// getting updates only after the object has changed since the last
15006// request. Use googleapi.IsNotModified to check whether the response
15007// error from Do is the result of In-None-Match.
15008func (c *AdvertisersCampaignsListCall) IfNoneMatch(entityTag string) *AdvertisersCampaignsListCall {
15009	c.ifNoneMatch_ = entityTag
15010	return c
15011}
15012
15013// Context sets the context to be used in this call's Do method. Any
15014// pending HTTP request will be aborted if the provided context is
15015// canceled.
15016func (c *AdvertisersCampaignsListCall) Context(ctx context.Context) *AdvertisersCampaignsListCall {
15017	c.ctx_ = ctx
15018	return c
15019}
15020
15021// Header returns an http.Header that can be modified by the caller to
15022// add HTTP headers to the request.
15023func (c *AdvertisersCampaignsListCall) Header() http.Header {
15024	if c.header_ == nil {
15025		c.header_ = make(http.Header)
15026	}
15027	return c.header_
15028}
15029
15030func (c *AdvertisersCampaignsListCall) doRequest(alt string) (*http.Response, error) {
15031	reqHeaders := make(http.Header)
15032	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15033	for k, v := range c.header_ {
15034		reqHeaders[k] = v
15035	}
15036	reqHeaders.Set("User-Agent", c.s.userAgent())
15037	if c.ifNoneMatch_ != "" {
15038		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15039	}
15040	var body io.Reader = nil
15041	c.urlParams_.Set("alt", alt)
15042	c.urlParams_.Set("prettyPrint", "false")
15043	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns")
15044	urls += "?" + c.urlParams_.Encode()
15045	req, err := http.NewRequest("GET", urls, body)
15046	if err != nil {
15047		return nil, err
15048	}
15049	req.Header = reqHeaders
15050	googleapi.Expand(req.URL, map[string]string{
15051		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15052	})
15053	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15054}
15055
15056// Do executes the "displayvideo.advertisers.campaigns.list" call.
15057// Exactly one of *ListCampaignsResponse or error will be non-nil. Any
15058// non-2xx status code is an error. Response headers are in either
15059// *ListCampaignsResponse.ServerResponse.Header or (if a response was
15060// returned at all) in error.(*googleapi.Error).Header. Use
15061// googleapi.IsNotModified to check whether the returned error was
15062// because http.StatusNotModified was returned.
15063func (c *AdvertisersCampaignsListCall) Do(opts ...googleapi.CallOption) (*ListCampaignsResponse, error) {
15064	gensupport.SetOptions(c.urlParams_, opts...)
15065	res, err := c.doRequest("json")
15066	if res != nil && res.StatusCode == http.StatusNotModified {
15067		if res.Body != nil {
15068			res.Body.Close()
15069		}
15070		return nil, &googleapi.Error{
15071			Code:   res.StatusCode,
15072			Header: res.Header,
15073		}
15074	}
15075	if err != nil {
15076		return nil, err
15077	}
15078	defer googleapi.CloseBody(res)
15079	if err := googleapi.CheckResponse(res); err != nil {
15080		return nil, err
15081	}
15082	ret := &ListCampaignsResponse{
15083		ServerResponse: googleapi.ServerResponse{
15084			Header:         res.Header,
15085			HTTPStatusCode: res.StatusCode,
15086		},
15087	}
15088	target := &ret
15089	if err := gensupport.DecodeResponse(target, res); err != nil {
15090		return nil, err
15091	}
15092	return ret, nil
15093	// {
15094	//   "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.",
15095	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns",
15096	//   "httpMethod": "GET",
15097	//   "id": "displayvideo.advertisers.campaigns.list",
15098	//   "parameterOrder": [
15099	//     "advertiserId"
15100	//   ],
15101	//   "parameters": {
15102	//     "advertiserId": {
15103	//       "description": "The ID of the advertiser to list campaigns for.",
15104	//       "format": "int64",
15105	//       "location": "path",
15106	//       "pattern": "^[^/]+$",
15107	//       "required": true,
15108	//       "type": "string"
15109	//     },
15110	//     "filter": {
15111	//       "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.",
15112	//       "location": "query",
15113	//       "type": "string"
15114	//     },
15115	//     "orderBy": {
15116	//       "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`.",
15117	//       "location": "query",
15118	//       "type": "string"
15119	//     },
15120	//     "pageSize": {
15121	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
15122	//       "format": "int32",
15123	//       "location": "query",
15124	//       "type": "integer"
15125	//     },
15126	//     "pageToken": {
15127	//       "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.",
15128	//       "location": "query",
15129	//       "type": "string"
15130	//     }
15131	//   },
15132	//   "path": "v1/advertisers/{+advertiserId}/campaigns",
15133	//   "response": {
15134	//     "$ref": "ListCampaignsResponse"
15135	//   },
15136	//   "scopes": [
15137	//     "https://www.googleapis.com/auth/display-video",
15138	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
15139	//   ]
15140	// }
15141
15142}
15143
15144// Pages invokes f for each page of results.
15145// A non-nil error returned from f will halt the iteration.
15146// The provided context supersedes any context provided to the Context method.
15147func (c *AdvertisersCampaignsListCall) Pages(ctx context.Context, f func(*ListCampaignsResponse) error) error {
15148	c.ctx_ = ctx
15149	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15150	for {
15151		x, err := c.Do()
15152		if err != nil {
15153			return err
15154		}
15155		if err := f(x); err != nil {
15156			return err
15157		}
15158		if x.NextPageToken == "" {
15159			return nil
15160		}
15161		c.PageToken(x.NextPageToken)
15162	}
15163}
15164
15165// method id "displayvideo.advertisers.campaigns.patch":
15166
15167type AdvertisersCampaignsPatchCall struct {
15168	s            *Service
15169	advertiserId int64
15170	campaignId   int64
15171	campaign     *Campaign
15172	urlParams_   gensupport.URLParams
15173	ctx_         context.Context
15174	header_      http.Header
15175}
15176
15177// Patch: Updates an existing campaign. Returns the updated campaign if
15178// successful.
15179func (r *AdvertisersCampaignsService) Patch(advertiserId int64, campaignId int64, campaign *Campaign) *AdvertisersCampaignsPatchCall {
15180	c := &AdvertisersCampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15181	c.advertiserId = advertiserId
15182	c.campaignId = campaignId
15183	c.campaign = campaign
15184	return c
15185}
15186
15187// UpdateMask sets the optional parameter "updateMask": Required. The
15188// mask to control which fields to update.
15189func (c *AdvertisersCampaignsPatchCall) UpdateMask(updateMask string) *AdvertisersCampaignsPatchCall {
15190	c.urlParams_.Set("updateMask", updateMask)
15191	return c
15192}
15193
15194// Fields allows partial responses to be retrieved. See
15195// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15196// for more information.
15197func (c *AdvertisersCampaignsPatchCall) Fields(s ...googleapi.Field) *AdvertisersCampaignsPatchCall {
15198	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15199	return c
15200}
15201
15202// Context sets the context to be used in this call's Do method. Any
15203// pending HTTP request will be aborted if the provided context is
15204// canceled.
15205func (c *AdvertisersCampaignsPatchCall) Context(ctx context.Context) *AdvertisersCampaignsPatchCall {
15206	c.ctx_ = ctx
15207	return c
15208}
15209
15210// Header returns an http.Header that can be modified by the caller to
15211// add HTTP headers to the request.
15212func (c *AdvertisersCampaignsPatchCall) Header() http.Header {
15213	if c.header_ == nil {
15214		c.header_ = make(http.Header)
15215	}
15216	return c.header_
15217}
15218
15219func (c *AdvertisersCampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
15220	reqHeaders := make(http.Header)
15221	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15222	for k, v := range c.header_ {
15223		reqHeaders[k] = v
15224	}
15225	reqHeaders.Set("User-Agent", c.s.userAgent())
15226	var body io.Reader = nil
15227	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
15228	if err != nil {
15229		return nil, err
15230	}
15231	reqHeaders.Set("Content-Type", "application/json")
15232	c.urlParams_.Set("alt", alt)
15233	c.urlParams_.Set("prettyPrint", "false")
15234	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}")
15235	urls += "?" + c.urlParams_.Encode()
15236	req, err := http.NewRequest("PATCH", urls, body)
15237	if err != nil {
15238		return nil, err
15239	}
15240	req.Header = reqHeaders
15241	googleapi.Expand(req.URL, map[string]string{
15242		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15243		"campaignId":   strconv.FormatInt(c.campaignId, 10),
15244	})
15245	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15246}
15247
15248// Do executes the "displayvideo.advertisers.campaigns.patch" call.
15249// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
15250// code is an error. Response headers are in either
15251// *Campaign.ServerResponse.Header or (if a response was returned at
15252// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
15253// to check whether the returned error was because
15254// http.StatusNotModified was returned.
15255func (c *AdvertisersCampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
15256	gensupport.SetOptions(c.urlParams_, opts...)
15257	res, err := c.doRequest("json")
15258	if res != nil && res.StatusCode == http.StatusNotModified {
15259		if res.Body != nil {
15260			res.Body.Close()
15261		}
15262		return nil, &googleapi.Error{
15263			Code:   res.StatusCode,
15264			Header: res.Header,
15265		}
15266	}
15267	if err != nil {
15268		return nil, err
15269	}
15270	defer googleapi.CloseBody(res)
15271	if err := googleapi.CheckResponse(res); err != nil {
15272		return nil, err
15273	}
15274	ret := &Campaign{
15275		ServerResponse: googleapi.ServerResponse{
15276			Header:         res.Header,
15277			HTTPStatusCode: res.StatusCode,
15278		},
15279	}
15280	target := &ret
15281	if err := gensupport.DecodeResponse(target, res); err != nil {
15282		return nil, err
15283	}
15284	return ret, nil
15285	// {
15286	//   "description": "Updates an existing campaign. Returns the updated campaign if successful.",
15287	//   "flatPath": "v1/advertisers/{advertisersId}/campaigns/{campaignsId}",
15288	//   "httpMethod": "PATCH",
15289	//   "id": "displayvideo.advertisers.campaigns.patch",
15290	//   "parameterOrder": [
15291	//     "advertiserId",
15292	//     "campaignId"
15293	//   ],
15294	//   "parameters": {
15295	//     "advertiserId": {
15296	//       "description": "Output only. The unique ID of the advertiser the campaign belongs to.",
15297	//       "format": "int64",
15298	//       "location": "path",
15299	//       "pattern": "^[^/]+$",
15300	//       "required": true,
15301	//       "type": "string"
15302	//     },
15303	//     "campaignId": {
15304	//       "description": "Output only. The unique ID of the campaign. Assigned by the system.",
15305	//       "format": "int64",
15306	//       "location": "path",
15307	//       "pattern": "^[^/]+$",
15308	//       "required": true,
15309	//       "type": "string"
15310	//     },
15311	//     "updateMask": {
15312	//       "description": "Required. The mask to control which fields to update.",
15313	//       "format": "google-fieldmask",
15314	//       "location": "query",
15315	//       "type": "string"
15316	//     }
15317	//   },
15318	//   "path": "v1/advertisers/{+advertiserId}/campaigns/{+campaignId}",
15319	//   "request": {
15320	//     "$ref": "Campaign"
15321	//   },
15322	//   "response": {
15323	//     "$ref": "Campaign"
15324	//   },
15325	//   "scopes": [
15326	//     "https://www.googleapis.com/auth/display-video",
15327	//     "https://www.googleapis.com/auth/display-video-mediaplanning"
15328	//   ]
15329	// }
15330
15331}
15332
15333// method id "displayvideo.advertisers.channels.create":
15334
15335type AdvertisersChannelsCreateCall struct {
15336	s            *Service
15337	advertiserId int64
15338	channel      *Channel
15339	urlParams_   gensupport.URLParams
15340	ctx_         context.Context
15341	header_      http.Header
15342}
15343
15344// Create: Creates a new channel. Returns the newly created channel if
15345// successful.
15346func (r *AdvertisersChannelsService) Create(advertiserId int64, channel *Channel) *AdvertisersChannelsCreateCall {
15347	c := &AdvertisersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15348	c.advertiserId = advertiserId
15349	c.channel = channel
15350	return c
15351}
15352
15353// PartnerId sets the optional parameter "partnerId": The ID of the
15354// partner that owns the created channel.
15355func (c *AdvertisersChannelsCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsCreateCall {
15356	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
15357	return c
15358}
15359
15360// Fields allows partial responses to be retrieved. See
15361// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15362// for more information.
15363func (c *AdvertisersChannelsCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsCreateCall {
15364	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15365	return c
15366}
15367
15368// Context sets the context to be used in this call's Do method. Any
15369// pending HTTP request will be aborted if the provided context is
15370// canceled.
15371func (c *AdvertisersChannelsCreateCall) Context(ctx context.Context) *AdvertisersChannelsCreateCall {
15372	c.ctx_ = ctx
15373	return c
15374}
15375
15376// Header returns an http.Header that can be modified by the caller to
15377// add HTTP headers to the request.
15378func (c *AdvertisersChannelsCreateCall) Header() http.Header {
15379	if c.header_ == nil {
15380		c.header_ = make(http.Header)
15381	}
15382	return c.header_
15383}
15384
15385func (c *AdvertisersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
15386	reqHeaders := make(http.Header)
15387	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15388	for k, v := range c.header_ {
15389		reqHeaders[k] = v
15390	}
15391	reqHeaders.Set("User-Agent", c.s.userAgent())
15392	var body io.Reader = nil
15393	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
15394	if err != nil {
15395		return nil, err
15396	}
15397	reqHeaders.Set("Content-Type", "application/json")
15398	c.urlParams_.Set("alt", alt)
15399	c.urlParams_.Set("prettyPrint", "false")
15400	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels")
15401	urls += "?" + c.urlParams_.Encode()
15402	req, err := http.NewRequest("POST", urls, body)
15403	if err != nil {
15404		return nil, err
15405	}
15406	req.Header = reqHeaders
15407	googleapi.Expand(req.URL, map[string]string{
15408		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15409	})
15410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15411}
15412
15413// Do executes the "displayvideo.advertisers.channels.create" call.
15414// Exactly one of *Channel or error will be non-nil. Any non-2xx status
15415// code is an error. Response headers are in either
15416// *Channel.ServerResponse.Header or (if a response was returned at all)
15417// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15418// check whether the returned error was because http.StatusNotModified
15419// was returned.
15420func (c *AdvertisersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
15421	gensupport.SetOptions(c.urlParams_, opts...)
15422	res, err := c.doRequest("json")
15423	if res != nil && res.StatusCode == http.StatusNotModified {
15424		if res.Body != nil {
15425			res.Body.Close()
15426		}
15427		return nil, &googleapi.Error{
15428			Code:   res.StatusCode,
15429			Header: res.Header,
15430		}
15431	}
15432	if err != nil {
15433		return nil, err
15434	}
15435	defer googleapi.CloseBody(res)
15436	if err := googleapi.CheckResponse(res); err != nil {
15437		return nil, err
15438	}
15439	ret := &Channel{
15440		ServerResponse: googleapi.ServerResponse{
15441			Header:         res.Header,
15442			HTTPStatusCode: res.StatusCode,
15443		},
15444	}
15445	target := &ret
15446	if err := gensupport.DecodeResponse(target, res); err != nil {
15447		return nil, err
15448	}
15449	return ret, nil
15450	// {
15451	//   "description": "Creates a new channel. Returns the newly created channel if successful.",
15452	//   "flatPath": "v1/advertisers/{advertisersId}/channels",
15453	//   "httpMethod": "POST",
15454	//   "id": "displayvideo.advertisers.channels.create",
15455	//   "parameterOrder": [
15456	//     "advertiserId"
15457	//   ],
15458	//   "parameters": {
15459	//     "advertiserId": {
15460	//       "description": "The ID of the advertiser that owns the created channel.",
15461	//       "format": "int64",
15462	//       "location": "path",
15463	//       "pattern": "^[^/]+$",
15464	//       "required": true,
15465	//       "type": "string"
15466	//     },
15467	//     "partnerId": {
15468	//       "description": "The ID of the partner that owns the created channel.",
15469	//       "format": "int64",
15470	//       "location": "query",
15471	//       "type": "string"
15472	//     }
15473	//   },
15474	//   "path": "v1/advertisers/{+advertiserId}/channels",
15475	//   "request": {
15476	//     "$ref": "Channel"
15477	//   },
15478	//   "response": {
15479	//     "$ref": "Channel"
15480	//   },
15481	//   "scopes": [
15482	//     "https://www.googleapis.com/auth/display-video"
15483	//   ]
15484	// }
15485
15486}
15487
15488// method id "displayvideo.advertisers.channels.get":
15489
15490type AdvertisersChannelsGetCall struct {
15491	s            *Service
15492	advertiserId int64
15493	channelId    int64
15494	urlParams_   gensupport.URLParams
15495	ifNoneMatch_ string
15496	ctx_         context.Context
15497	header_      http.Header
15498}
15499
15500// Get: Gets a channel for a partner or advertiser.
15501func (r *AdvertisersChannelsService) Get(advertiserId int64, channelId int64) *AdvertisersChannelsGetCall {
15502	c := &AdvertisersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15503	c.advertiserId = advertiserId
15504	c.channelId = channelId
15505	return c
15506}
15507
15508// PartnerId sets the optional parameter "partnerId": The ID of the
15509// partner that owns the fetched channel.
15510func (c *AdvertisersChannelsGetCall) PartnerId(partnerId int64) *AdvertisersChannelsGetCall {
15511	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
15512	return c
15513}
15514
15515// Fields allows partial responses to be retrieved. See
15516// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15517// for more information.
15518func (c *AdvertisersChannelsGetCall) Fields(s ...googleapi.Field) *AdvertisersChannelsGetCall {
15519	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15520	return c
15521}
15522
15523// IfNoneMatch sets the optional parameter which makes the operation
15524// fail if the object's ETag matches the given value. This is useful for
15525// getting updates only after the object has changed since the last
15526// request. Use googleapi.IsNotModified to check whether the response
15527// error from Do is the result of In-None-Match.
15528func (c *AdvertisersChannelsGetCall) IfNoneMatch(entityTag string) *AdvertisersChannelsGetCall {
15529	c.ifNoneMatch_ = entityTag
15530	return c
15531}
15532
15533// Context sets the context to be used in this call's Do method. Any
15534// pending HTTP request will be aborted if the provided context is
15535// canceled.
15536func (c *AdvertisersChannelsGetCall) Context(ctx context.Context) *AdvertisersChannelsGetCall {
15537	c.ctx_ = ctx
15538	return c
15539}
15540
15541// Header returns an http.Header that can be modified by the caller to
15542// add HTTP headers to the request.
15543func (c *AdvertisersChannelsGetCall) Header() http.Header {
15544	if c.header_ == nil {
15545		c.header_ = make(http.Header)
15546	}
15547	return c.header_
15548}
15549
15550func (c *AdvertisersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
15551	reqHeaders := make(http.Header)
15552	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15553	for k, v := range c.header_ {
15554		reqHeaders[k] = v
15555	}
15556	reqHeaders.Set("User-Agent", c.s.userAgent())
15557	if c.ifNoneMatch_ != "" {
15558		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15559	}
15560	var body io.Reader = nil
15561	c.urlParams_.Set("alt", alt)
15562	c.urlParams_.Set("prettyPrint", "false")
15563	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{+channelId}")
15564	urls += "?" + c.urlParams_.Encode()
15565	req, err := http.NewRequest("GET", urls, body)
15566	if err != nil {
15567		return nil, err
15568	}
15569	req.Header = reqHeaders
15570	googleapi.Expand(req.URL, map[string]string{
15571		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15572		"channelId":    strconv.FormatInt(c.channelId, 10),
15573	})
15574	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15575}
15576
15577// Do executes the "displayvideo.advertisers.channels.get" call.
15578// Exactly one of *Channel or error will be non-nil. Any non-2xx status
15579// code is an error. Response headers are in either
15580// *Channel.ServerResponse.Header or (if a response was returned at all)
15581// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15582// check whether the returned error was because http.StatusNotModified
15583// was returned.
15584func (c *AdvertisersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
15585	gensupport.SetOptions(c.urlParams_, opts...)
15586	res, err := c.doRequest("json")
15587	if res != nil && res.StatusCode == http.StatusNotModified {
15588		if res.Body != nil {
15589			res.Body.Close()
15590		}
15591		return nil, &googleapi.Error{
15592			Code:   res.StatusCode,
15593			Header: res.Header,
15594		}
15595	}
15596	if err != nil {
15597		return nil, err
15598	}
15599	defer googleapi.CloseBody(res)
15600	if err := googleapi.CheckResponse(res); err != nil {
15601		return nil, err
15602	}
15603	ret := &Channel{
15604		ServerResponse: googleapi.ServerResponse{
15605			Header:         res.Header,
15606			HTTPStatusCode: res.StatusCode,
15607		},
15608	}
15609	target := &ret
15610	if err := gensupport.DecodeResponse(target, res); err != nil {
15611		return nil, err
15612	}
15613	return ret, nil
15614	// {
15615	//   "description": "Gets a channel for a partner or advertiser.",
15616	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}",
15617	//   "httpMethod": "GET",
15618	//   "id": "displayvideo.advertisers.channels.get",
15619	//   "parameterOrder": [
15620	//     "advertiserId",
15621	//     "channelId"
15622	//   ],
15623	//   "parameters": {
15624	//     "advertiserId": {
15625	//       "description": "The ID of the advertiser that owns the fetched channel.",
15626	//       "format": "int64",
15627	//       "location": "path",
15628	//       "pattern": "^[^/]+$",
15629	//       "required": true,
15630	//       "type": "string"
15631	//     },
15632	//     "channelId": {
15633	//       "description": "Required. The ID of the channel to fetch.",
15634	//       "format": "int64",
15635	//       "location": "path",
15636	//       "pattern": "^[^/]+$",
15637	//       "required": true,
15638	//       "type": "string"
15639	//     },
15640	//     "partnerId": {
15641	//       "description": "The ID of the partner that owns the fetched channel.",
15642	//       "format": "int64",
15643	//       "location": "query",
15644	//       "type": "string"
15645	//     }
15646	//   },
15647	//   "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}",
15648	//   "response": {
15649	//     "$ref": "Channel"
15650	//   },
15651	//   "scopes": [
15652	//     "https://www.googleapis.com/auth/display-video"
15653	//   ]
15654	// }
15655
15656}
15657
15658// method id "displayvideo.advertisers.channels.list":
15659
15660type AdvertisersChannelsListCall struct {
15661	s            *Service
15662	advertiserId int64
15663	urlParams_   gensupport.URLParams
15664	ifNoneMatch_ string
15665	ctx_         context.Context
15666	header_      http.Header
15667}
15668
15669// List: Lists channels for a partner or advertiser.
15670func (r *AdvertisersChannelsService) List(advertiserId int64) *AdvertisersChannelsListCall {
15671	c := &AdvertisersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15672	c.advertiserId = advertiserId
15673	return c
15674}
15675
15676// Filter sets the optional parameter "filter": Allows filtering by
15677// channel fields. Supported syntax: * Filter expressions for channel
15678// currently can only contain at most one * restriction. * A restriction
15679// has the form of `{field} {operator} {value}`. * The operator must be
15680// `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All
15681// channels for which the display name contains "google": `displayName :
15682// "google". The length of this field should be no more than 500
15683// characters.
15684func (c *AdvertisersChannelsListCall) Filter(filter string) *AdvertisersChannelsListCall {
15685	c.urlParams_.Set("filter", filter)
15686	return c
15687}
15688
15689// OrderBy sets the optional parameter "orderBy": Field by which to sort
15690// the list. Acceptable values are: * `displayName` (default) *
15691// `channelId` The default sorting order is ascending. To specify
15692// descending order for a field, a suffix " desc" should be added to the
15693// field name. Example: `displayName desc`.
15694func (c *AdvertisersChannelsListCall) OrderBy(orderBy string) *AdvertisersChannelsListCall {
15695	c.urlParams_.Set("orderBy", orderBy)
15696	return c
15697}
15698
15699// PageSize sets the optional parameter "pageSize": Requested page size.
15700// Must be between `1` and `100`. If unspecified will default to `100`.
15701// Returns error code `INVALID_ARGUMENT` if an invalid value is
15702// specified.
15703func (c *AdvertisersChannelsListCall) PageSize(pageSize int64) *AdvertisersChannelsListCall {
15704	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
15705	return c
15706}
15707
15708// PageToken sets the optional parameter "pageToken": A token
15709// identifying a page of results the server should return. Typically,
15710// this is the value of next_page_token returned from the previous call
15711// to `ListChannels` method. If not specified, the first page of results
15712// will be returned.
15713func (c *AdvertisersChannelsListCall) PageToken(pageToken string) *AdvertisersChannelsListCall {
15714	c.urlParams_.Set("pageToken", pageToken)
15715	return c
15716}
15717
15718// PartnerId sets the optional parameter "partnerId": The ID of the
15719// partner that owns the channels.
15720func (c *AdvertisersChannelsListCall) PartnerId(partnerId int64) *AdvertisersChannelsListCall {
15721	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
15722	return c
15723}
15724
15725// Fields allows partial responses to be retrieved. See
15726// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15727// for more information.
15728func (c *AdvertisersChannelsListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsListCall {
15729	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15730	return c
15731}
15732
15733// IfNoneMatch sets the optional parameter which makes the operation
15734// fail if the object's ETag matches the given value. This is useful for
15735// getting updates only after the object has changed since the last
15736// request. Use googleapi.IsNotModified to check whether the response
15737// error from Do is the result of In-None-Match.
15738func (c *AdvertisersChannelsListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsListCall {
15739	c.ifNoneMatch_ = entityTag
15740	return c
15741}
15742
15743// Context sets the context to be used in this call's Do method. Any
15744// pending HTTP request will be aborted if the provided context is
15745// canceled.
15746func (c *AdvertisersChannelsListCall) Context(ctx context.Context) *AdvertisersChannelsListCall {
15747	c.ctx_ = ctx
15748	return c
15749}
15750
15751// Header returns an http.Header that can be modified by the caller to
15752// add HTTP headers to the request.
15753func (c *AdvertisersChannelsListCall) Header() http.Header {
15754	if c.header_ == nil {
15755		c.header_ = make(http.Header)
15756	}
15757	return c.header_
15758}
15759
15760func (c *AdvertisersChannelsListCall) doRequest(alt string) (*http.Response, error) {
15761	reqHeaders := make(http.Header)
15762	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15763	for k, v := range c.header_ {
15764		reqHeaders[k] = v
15765	}
15766	reqHeaders.Set("User-Agent", c.s.userAgent())
15767	if c.ifNoneMatch_ != "" {
15768		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15769	}
15770	var body io.Reader = nil
15771	c.urlParams_.Set("alt", alt)
15772	c.urlParams_.Set("prettyPrint", "false")
15773	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels")
15774	urls += "?" + c.urlParams_.Encode()
15775	req, err := http.NewRequest("GET", urls, body)
15776	if err != nil {
15777		return nil, err
15778	}
15779	req.Header = reqHeaders
15780	googleapi.Expand(req.URL, map[string]string{
15781		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15782	})
15783	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15784}
15785
15786// Do executes the "displayvideo.advertisers.channels.list" call.
15787// Exactly one of *ListChannelsResponse or error will be non-nil. Any
15788// non-2xx status code is an error. Response headers are in either
15789// *ListChannelsResponse.ServerResponse.Header or (if a response was
15790// returned at all) in error.(*googleapi.Error).Header. Use
15791// googleapi.IsNotModified to check whether the returned error was
15792// because http.StatusNotModified was returned.
15793func (c *AdvertisersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
15794	gensupport.SetOptions(c.urlParams_, opts...)
15795	res, err := c.doRequest("json")
15796	if res != nil && res.StatusCode == http.StatusNotModified {
15797		if res.Body != nil {
15798			res.Body.Close()
15799		}
15800		return nil, &googleapi.Error{
15801			Code:   res.StatusCode,
15802			Header: res.Header,
15803		}
15804	}
15805	if err != nil {
15806		return nil, err
15807	}
15808	defer googleapi.CloseBody(res)
15809	if err := googleapi.CheckResponse(res); err != nil {
15810		return nil, err
15811	}
15812	ret := &ListChannelsResponse{
15813		ServerResponse: googleapi.ServerResponse{
15814			Header:         res.Header,
15815			HTTPStatusCode: res.StatusCode,
15816		},
15817	}
15818	target := &ret
15819	if err := gensupport.DecodeResponse(target, res); err != nil {
15820		return nil, err
15821	}
15822	return ret, nil
15823	// {
15824	//   "description": "Lists channels for a partner or advertiser.",
15825	//   "flatPath": "v1/advertisers/{advertisersId}/channels",
15826	//   "httpMethod": "GET",
15827	//   "id": "displayvideo.advertisers.channels.list",
15828	//   "parameterOrder": [
15829	//     "advertiserId"
15830	//   ],
15831	//   "parameters": {
15832	//     "advertiserId": {
15833	//       "description": "The ID of the advertiser that owns the channels.",
15834	//       "format": "int64",
15835	//       "location": "path",
15836	//       "pattern": "^[^/]+$",
15837	//       "required": true,
15838	//       "type": "string"
15839	//     },
15840	//     "filter": {
15841	//       "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.",
15842	//       "location": "query",
15843	//       "type": "string"
15844	//     },
15845	//     "orderBy": {
15846	//       "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`.",
15847	//       "location": "query",
15848	//       "type": "string"
15849	//     },
15850	//     "pageSize": {
15851	//       "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.",
15852	//       "format": "int32",
15853	//       "location": "query",
15854	//       "type": "integer"
15855	//     },
15856	//     "pageToken": {
15857	//       "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.",
15858	//       "location": "query",
15859	//       "type": "string"
15860	//     },
15861	//     "partnerId": {
15862	//       "description": "The ID of the partner that owns the channels.",
15863	//       "format": "int64",
15864	//       "location": "query",
15865	//       "type": "string"
15866	//     }
15867	//   },
15868	//   "path": "v1/advertisers/{+advertiserId}/channels",
15869	//   "response": {
15870	//     "$ref": "ListChannelsResponse"
15871	//   },
15872	//   "scopes": [
15873	//     "https://www.googleapis.com/auth/display-video"
15874	//   ]
15875	// }
15876
15877}
15878
15879// Pages invokes f for each page of results.
15880// A non-nil error returned from f will halt the iteration.
15881// The provided context supersedes any context provided to the Context method.
15882func (c *AdvertisersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
15883	c.ctx_ = ctx
15884	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15885	for {
15886		x, err := c.Do()
15887		if err != nil {
15888			return err
15889		}
15890		if err := f(x); err != nil {
15891			return err
15892		}
15893		if x.NextPageToken == "" {
15894			return nil
15895		}
15896		c.PageToken(x.NextPageToken)
15897	}
15898}
15899
15900// method id "displayvideo.advertisers.channels.patch":
15901
15902type AdvertisersChannelsPatchCall struct {
15903	s            *Service
15904	advertiserId int64
15905	channelId    int64
15906	channel      *Channel
15907	urlParams_   gensupport.URLParams
15908	ctx_         context.Context
15909	header_      http.Header
15910}
15911
15912// Patch: Updates a channel. Returns the updated channel if successful.
15913func (r *AdvertisersChannelsService) Patch(advertiserId int64, channelId int64, channel *Channel) *AdvertisersChannelsPatchCall {
15914	c := &AdvertisersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15915	c.advertiserId = advertiserId
15916	c.channelId = channelId
15917	c.channel = channel
15918	return c
15919}
15920
15921// PartnerId sets the optional parameter "partnerId": The ID of the
15922// partner that owns the created channel.
15923func (c *AdvertisersChannelsPatchCall) PartnerId(partnerId int64) *AdvertisersChannelsPatchCall {
15924	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
15925	return c
15926}
15927
15928// UpdateMask sets the optional parameter "updateMask": Required. The
15929// mask to control which fields to update.
15930func (c *AdvertisersChannelsPatchCall) UpdateMask(updateMask string) *AdvertisersChannelsPatchCall {
15931	c.urlParams_.Set("updateMask", updateMask)
15932	return c
15933}
15934
15935// Fields allows partial responses to be retrieved. See
15936// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15937// for more information.
15938func (c *AdvertisersChannelsPatchCall) Fields(s ...googleapi.Field) *AdvertisersChannelsPatchCall {
15939	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15940	return c
15941}
15942
15943// Context sets the context to be used in this call's Do method. Any
15944// pending HTTP request will be aborted if the provided context is
15945// canceled.
15946func (c *AdvertisersChannelsPatchCall) Context(ctx context.Context) *AdvertisersChannelsPatchCall {
15947	c.ctx_ = ctx
15948	return c
15949}
15950
15951// Header returns an http.Header that can be modified by the caller to
15952// add HTTP headers to the request.
15953func (c *AdvertisersChannelsPatchCall) Header() http.Header {
15954	if c.header_ == nil {
15955		c.header_ = make(http.Header)
15956	}
15957	return c.header_
15958}
15959
15960func (c *AdvertisersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
15961	reqHeaders := make(http.Header)
15962	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15963	for k, v := range c.header_ {
15964		reqHeaders[k] = v
15965	}
15966	reqHeaders.Set("User-Agent", c.s.userAgent())
15967	var body io.Reader = nil
15968	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
15969	if err != nil {
15970		return nil, err
15971	}
15972	reqHeaders.Set("Content-Type", "application/json")
15973	c.urlParams_.Set("alt", alt)
15974	c.urlParams_.Set("prettyPrint", "false")
15975	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{channelId}")
15976	urls += "?" + c.urlParams_.Encode()
15977	req, err := http.NewRequest("PATCH", urls, body)
15978	if err != nil {
15979		return nil, err
15980	}
15981	req.Header = reqHeaders
15982	googleapi.Expand(req.URL, map[string]string{
15983		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
15984		"channelId":    strconv.FormatInt(c.channelId, 10),
15985	})
15986	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15987}
15988
15989// Do executes the "displayvideo.advertisers.channels.patch" call.
15990// Exactly one of *Channel or error will be non-nil. Any non-2xx status
15991// code is an error. Response headers are in either
15992// *Channel.ServerResponse.Header or (if a response was returned at all)
15993// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15994// check whether the returned error was because http.StatusNotModified
15995// was returned.
15996func (c *AdvertisersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
15997	gensupport.SetOptions(c.urlParams_, opts...)
15998	res, err := c.doRequest("json")
15999	if res != nil && res.StatusCode == http.StatusNotModified {
16000		if res.Body != nil {
16001			res.Body.Close()
16002		}
16003		return nil, &googleapi.Error{
16004			Code:   res.StatusCode,
16005			Header: res.Header,
16006		}
16007	}
16008	if err != nil {
16009		return nil, err
16010	}
16011	defer googleapi.CloseBody(res)
16012	if err := googleapi.CheckResponse(res); err != nil {
16013		return nil, err
16014	}
16015	ret := &Channel{
16016		ServerResponse: googleapi.ServerResponse{
16017			Header:         res.Header,
16018			HTTPStatusCode: res.StatusCode,
16019		},
16020	}
16021	target := &ret
16022	if err := gensupport.DecodeResponse(target, res); err != nil {
16023		return nil, err
16024	}
16025	return ret, nil
16026	// {
16027	//   "description": "Updates a channel. Returns the updated channel if successful.",
16028	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelId}",
16029	//   "httpMethod": "PATCH",
16030	//   "id": "displayvideo.advertisers.channels.patch",
16031	//   "parameterOrder": [
16032	//     "advertiserId",
16033	//     "channelId"
16034	//   ],
16035	//   "parameters": {
16036	//     "advertiserId": {
16037	//       "description": "The ID of the advertiser that owns the created channel.",
16038	//       "format": "int64",
16039	//       "location": "path",
16040	//       "pattern": "^[^/]+$",
16041	//       "required": true,
16042	//       "type": "string"
16043	//     },
16044	//     "channelId": {
16045	//       "description": "Output only. The unique ID of the channel. Assigned by the system.",
16046	//       "format": "int64",
16047	//       "location": "path",
16048	//       "required": true,
16049	//       "type": "string"
16050	//     },
16051	//     "partnerId": {
16052	//       "description": "The ID of the partner that owns the created channel.",
16053	//       "format": "int64",
16054	//       "location": "query",
16055	//       "type": "string"
16056	//     },
16057	//     "updateMask": {
16058	//       "description": "Required. The mask to control which fields to update.",
16059	//       "format": "google-fieldmask",
16060	//       "location": "query",
16061	//       "type": "string"
16062	//     }
16063	//   },
16064	//   "path": "v1/advertisers/{+advertiserId}/channels/{channelId}",
16065	//   "request": {
16066	//     "$ref": "Channel"
16067	//   },
16068	//   "response": {
16069	//     "$ref": "Channel"
16070	//   },
16071	//   "scopes": [
16072	//     "https://www.googleapis.com/auth/display-video"
16073	//   ]
16074	// }
16075
16076}
16077
16078// method id "displayvideo.advertisers.channels.sites.bulkEdit":
16079
16080type AdvertisersChannelsSitesBulkEditCall struct {
16081	s                    *Service
16082	advertiserId         int64
16083	channelId            int64
16084	bulkeditsitesrequest *BulkEditSitesRequest
16085	urlParams_           gensupport.URLParams
16086	ctx_                 context.Context
16087	header_              http.Header
16088}
16089
16090// BulkEdit: Bulk edits sites under a single channel. The operation will
16091// delete the sites provided in BulkEditSitesRequest.deleted_sites and
16092// then create the sites provided in BulkEditSitesRequest.created_sites.
16093func (r *AdvertisersChannelsSitesService) BulkEdit(advertiserId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *AdvertisersChannelsSitesBulkEditCall {
16094	c := &AdvertisersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16095	c.advertiserId = advertiserId
16096	c.channelId = channelId
16097	c.bulkeditsitesrequest = bulkeditsitesrequest
16098	return c
16099}
16100
16101// Fields allows partial responses to be retrieved. See
16102// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16103// for more information.
16104func (c *AdvertisersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesBulkEditCall {
16105	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16106	return c
16107}
16108
16109// Context sets the context to be used in this call's Do method. Any
16110// pending HTTP request will be aborted if the provided context is
16111// canceled.
16112func (c *AdvertisersChannelsSitesBulkEditCall) Context(ctx context.Context) *AdvertisersChannelsSitesBulkEditCall {
16113	c.ctx_ = ctx
16114	return c
16115}
16116
16117// Header returns an http.Header that can be modified by the caller to
16118// add HTTP headers to the request.
16119func (c *AdvertisersChannelsSitesBulkEditCall) Header() http.Header {
16120	if c.header_ == nil {
16121		c.header_ = make(http.Header)
16122	}
16123	return c.header_
16124}
16125
16126func (c *AdvertisersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
16127	reqHeaders := make(http.Header)
16128	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16129	for k, v := range c.header_ {
16130		reqHeaders[k] = v
16131	}
16132	reqHeaders.Set("User-Agent", c.s.userAgent())
16133	var body io.Reader = nil
16134	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
16135	if err != nil {
16136		return nil, err
16137	}
16138	reqHeaders.Set("Content-Type", "application/json")
16139	c.urlParams_.Set("alt", alt)
16140	c.urlParams_.Set("prettyPrint", "false")
16141	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit")
16142	urls += "?" + c.urlParams_.Encode()
16143	req, err := http.NewRequest("POST", urls, body)
16144	if err != nil {
16145		return nil, err
16146	}
16147	req.Header = reqHeaders
16148	googleapi.Expand(req.URL, map[string]string{
16149		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16150		"channelId":    strconv.FormatInt(c.channelId, 10),
16151	})
16152	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16153}
16154
16155// Do executes the "displayvideo.advertisers.channels.sites.bulkEdit" call.
16156// Exactly one of *BulkEditSitesResponse or error will be non-nil. Any
16157// non-2xx status code is an error. Response headers are in either
16158// *BulkEditSitesResponse.ServerResponse.Header or (if a response was
16159// returned at all) in error.(*googleapi.Error).Header. Use
16160// googleapi.IsNotModified to check whether the returned error was
16161// because http.StatusNotModified was returned.
16162func (c *AdvertisersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
16163	gensupport.SetOptions(c.urlParams_, opts...)
16164	res, err := c.doRequest("json")
16165	if res != nil && res.StatusCode == http.StatusNotModified {
16166		if res.Body != nil {
16167			res.Body.Close()
16168		}
16169		return nil, &googleapi.Error{
16170			Code:   res.StatusCode,
16171			Header: res.Header,
16172		}
16173	}
16174	if err != nil {
16175		return nil, err
16176	}
16177	defer googleapi.CloseBody(res)
16178	if err := googleapi.CheckResponse(res); err != nil {
16179		return nil, err
16180	}
16181	ret := &BulkEditSitesResponse{
16182		ServerResponse: googleapi.ServerResponse{
16183			Header:         res.Header,
16184			HTTPStatusCode: res.StatusCode,
16185		},
16186	}
16187	target := &ret
16188	if err := gensupport.DecodeResponse(target, res); err != nil {
16189		return nil, err
16190	}
16191	return ret, nil
16192	// {
16193	//   "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.",
16194	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit",
16195	//   "httpMethod": "POST",
16196	//   "id": "displayvideo.advertisers.channels.sites.bulkEdit",
16197	//   "parameterOrder": [
16198	//     "advertiserId",
16199	//     "channelId"
16200	//   ],
16201	//   "parameters": {
16202	//     "advertiserId": {
16203	//       "description": "The ID of the advertiser that owns the parent channel.",
16204	//       "format": "int64",
16205	//       "location": "path",
16206	//       "required": true,
16207	//       "type": "string"
16208	//     },
16209	//     "channelId": {
16210	//       "description": "Required. The ID of the parent channel to which the sites belong.",
16211	//       "format": "int64",
16212	//       "location": "path",
16213	//       "pattern": "^[^/]+$",
16214	//       "required": true,
16215	//       "type": "string"
16216	//     }
16217	//   },
16218	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit",
16219	//   "request": {
16220	//     "$ref": "BulkEditSitesRequest"
16221	//   },
16222	//   "response": {
16223	//     "$ref": "BulkEditSitesResponse"
16224	//   },
16225	//   "scopes": [
16226	//     "https://www.googleapis.com/auth/display-video"
16227	//   ]
16228	// }
16229
16230}
16231
16232// method id "displayvideo.advertisers.channels.sites.create":
16233
16234type AdvertisersChannelsSitesCreateCall struct {
16235	s            *Service
16236	advertiserId int64
16237	channelId    int64
16238	site         *Site
16239	urlParams_   gensupport.URLParams
16240	ctx_         context.Context
16241	header_      http.Header
16242}
16243
16244// Create: Creates a site in a channel.
16245func (r *AdvertisersChannelsSitesService) Create(advertiserId int64, channelId int64, site *Site) *AdvertisersChannelsSitesCreateCall {
16246	c := &AdvertisersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16247	c.advertiserId = advertiserId
16248	c.channelId = channelId
16249	c.site = site
16250	return c
16251}
16252
16253// PartnerId sets the optional parameter "partnerId": The ID of the
16254// partner that owns the parent channel.
16255func (c *AdvertisersChannelsSitesCreateCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesCreateCall {
16256	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
16257	return c
16258}
16259
16260// Fields allows partial responses to be retrieved. See
16261// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16262// for more information.
16263func (c *AdvertisersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesCreateCall {
16264	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16265	return c
16266}
16267
16268// Context sets the context to be used in this call's Do method. Any
16269// pending HTTP request will be aborted if the provided context is
16270// canceled.
16271func (c *AdvertisersChannelsSitesCreateCall) Context(ctx context.Context) *AdvertisersChannelsSitesCreateCall {
16272	c.ctx_ = ctx
16273	return c
16274}
16275
16276// Header returns an http.Header that can be modified by the caller to
16277// add HTTP headers to the request.
16278func (c *AdvertisersChannelsSitesCreateCall) Header() http.Header {
16279	if c.header_ == nil {
16280		c.header_ = make(http.Header)
16281	}
16282	return c.header_
16283}
16284
16285func (c *AdvertisersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
16286	reqHeaders := make(http.Header)
16287	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16288	for k, v := range c.header_ {
16289		reqHeaders[k] = v
16290	}
16291	reqHeaders.Set("User-Agent", c.s.userAgent())
16292	var body io.Reader = nil
16293	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
16294	if err != nil {
16295		return nil, err
16296	}
16297	reqHeaders.Set("Content-Type", "application/json")
16298	c.urlParams_.Set("alt", alt)
16299	c.urlParams_.Set("prettyPrint", "false")
16300	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites")
16301	urls += "?" + c.urlParams_.Encode()
16302	req, err := http.NewRequest("POST", urls, body)
16303	if err != nil {
16304		return nil, err
16305	}
16306	req.Header = reqHeaders
16307	googleapi.Expand(req.URL, map[string]string{
16308		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16309		"channelId":    strconv.FormatInt(c.channelId, 10),
16310	})
16311	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16312}
16313
16314// Do executes the "displayvideo.advertisers.channels.sites.create" call.
16315// Exactly one of *Site or error will be non-nil. Any non-2xx status
16316// code is an error. Response headers are in either
16317// *Site.ServerResponse.Header or (if a response was returned at all) in
16318// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16319// whether the returned error was because http.StatusNotModified was
16320// returned.
16321func (c *AdvertisersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
16322	gensupport.SetOptions(c.urlParams_, opts...)
16323	res, err := c.doRequest("json")
16324	if res != nil && res.StatusCode == http.StatusNotModified {
16325		if res.Body != nil {
16326			res.Body.Close()
16327		}
16328		return nil, &googleapi.Error{
16329			Code:   res.StatusCode,
16330			Header: res.Header,
16331		}
16332	}
16333	if err != nil {
16334		return nil, err
16335	}
16336	defer googleapi.CloseBody(res)
16337	if err := googleapi.CheckResponse(res); err != nil {
16338		return nil, err
16339	}
16340	ret := &Site{
16341		ServerResponse: googleapi.ServerResponse{
16342			Header:         res.Header,
16343			HTTPStatusCode: res.StatusCode,
16344		},
16345	}
16346	target := &ret
16347	if err := gensupport.DecodeResponse(target, res); err != nil {
16348		return nil, err
16349	}
16350	return ret, nil
16351	// {
16352	//   "description": "Creates a site in a channel.",
16353	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites",
16354	//   "httpMethod": "POST",
16355	//   "id": "displayvideo.advertisers.channels.sites.create",
16356	//   "parameterOrder": [
16357	//     "advertiserId",
16358	//     "channelId"
16359	//   ],
16360	//   "parameters": {
16361	//     "advertiserId": {
16362	//       "description": "The ID of the advertiser that owns the parent channel.",
16363	//       "format": "int64",
16364	//       "location": "path",
16365	//       "required": true,
16366	//       "type": "string"
16367	//     },
16368	//     "channelId": {
16369	//       "description": "Required. The ID of the parent channel in which the site will be created.",
16370	//       "format": "int64",
16371	//       "location": "path",
16372	//       "pattern": "^[^/]+$",
16373	//       "required": true,
16374	//       "type": "string"
16375	//     },
16376	//     "partnerId": {
16377	//       "description": "The ID of the partner that owns the parent channel.",
16378	//       "format": "int64",
16379	//       "location": "query",
16380	//       "type": "string"
16381	//     }
16382	//   },
16383	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites",
16384	//   "request": {
16385	//     "$ref": "Site"
16386	//   },
16387	//   "response": {
16388	//     "$ref": "Site"
16389	//   },
16390	//   "scopes": [
16391	//     "https://www.googleapis.com/auth/display-video"
16392	//   ]
16393	// }
16394
16395}
16396
16397// method id "displayvideo.advertisers.channels.sites.delete":
16398
16399type AdvertisersChannelsSitesDeleteCall struct {
16400	s            *Service
16401	advertiserId int64
16402	channelId    int64
16403	urlOrAppId   string
16404	urlParams_   gensupport.URLParams
16405	ctx_         context.Context
16406	header_      http.Header
16407}
16408
16409// Delete: Deletes a site from a channel.
16410func (r *AdvertisersChannelsSitesService) Delete(advertiserId int64, channelId int64, urlOrAppId string) *AdvertisersChannelsSitesDeleteCall {
16411	c := &AdvertisersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16412	c.advertiserId = advertiserId
16413	c.channelId = channelId
16414	c.urlOrAppId = urlOrAppId
16415	return c
16416}
16417
16418// PartnerId sets the optional parameter "partnerId": The ID of the
16419// partner that owns the parent channel.
16420func (c *AdvertisersChannelsSitesDeleteCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesDeleteCall {
16421	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
16422	return c
16423}
16424
16425// Fields allows partial responses to be retrieved. See
16426// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16427// for more information.
16428func (c *AdvertisersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesDeleteCall {
16429	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16430	return c
16431}
16432
16433// Context sets the context to be used in this call's Do method. Any
16434// pending HTTP request will be aborted if the provided context is
16435// canceled.
16436func (c *AdvertisersChannelsSitesDeleteCall) Context(ctx context.Context) *AdvertisersChannelsSitesDeleteCall {
16437	c.ctx_ = ctx
16438	return c
16439}
16440
16441// Header returns an http.Header that can be modified by the caller to
16442// add HTTP headers to the request.
16443func (c *AdvertisersChannelsSitesDeleteCall) Header() http.Header {
16444	if c.header_ == nil {
16445		c.header_ = make(http.Header)
16446	}
16447	return c.header_
16448}
16449
16450func (c *AdvertisersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
16451	reqHeaders := make(http.Header)
16452	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16453	for k, v := range c.header_ {
16454		reqHeaders[k] = v
16455	}
16456	reqHeaders.Set("User-Agent", c.s.userAgent())
16457	var body io.Reader = nil
16458	c.urlParams_.Set("alt", alt)
16459	c.urlParams_.Set("prettyPrint", "false")
16460	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}")
16461	urls += "?" + c.urlParams_.Encode()
16462	req, err := http.NewRequest("DELETE", urls, body)
16463	if err != nil {
16464		return nil, err
16465	}
16466	req.Header = reqHeaders
16467	googleapi.Expand(req.URL, map[string]string{
16468		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16469		"channelId":    strconv.FormatInt(c.channelId, 10),
16470		"urlOrAppId":   c.urlOrAppId,
16471	})
16472	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16473}
16474
16475// Do executes the "displayvideo.advertisers.channels.sites.delete" call.
16476// Exactly one of *Empty or error will be non-nil. Any non-2xx status
16477// code is an error. Response headers are in either
16478// *Empty.ServerResponse.Header or (if a response was returned at all)
16479// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16480// check whether the returned error was because http.StatusNotModified
16481// was returned.
16482func (c *AdvertisersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
16483	gensupport.SetOptions(c.urlParams_, opts...)
16484	res, err := c.doRequest("json")
16485	if res != nil && res.StatusCode == http.StatusNotModified {
16486		if res.Body != nil {
16487			res.Body.Close()
16488		}
16489		return nil, &googleapi.Error{
16490			Code:   res.StatusCode,
16491			Header: res.Header,
16492		}
16493	}
16494	if err != nil {
16495		return nil, err
16496	}
16497	defer googleapi.CloseBody(res)
16498	if err := googleapi.CheckResponse(res); err != nil {
16499		return nil, err
16500	}
16501	ret := &Empty{
16502		ServerResponse: googleapi.ServerResponse{
16503			Header:         res.Header,
16504			HTTPStatusCode: res.StatusCode,
16505		},
16506	}
16507	target := &ret
16508	if err := gensupport.DecodeResponse(target, res); err != nil {
16509		return nil, err
16510	}
16511	return ret, nil
16512	// {
16513	//   "description": "Deletes a site from a channel.",
16514	//   "flatPath": "v1/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}",
16515	//   "httpMethod": "DELETE",
16516	//   "id": "displayvideo.advertisers.channels.sites.delete",
16517	//   "parameterOrder": [
16518	//     "advertiserId",
16519	//     "channelId",
16520	//     "urlOrAppId"
16521	//   ],
16522	//   "parameters": {
16523	//     "advertiserId": {
16524	//       "description": "The ID of the advertiser that owns the parent channel.",
16525	//       "format": "int64",
16526	//       "location": "path",
16527	//       "required": true,
16528	//       "type": "string"
16529	//     },
16530	//     "channelId": {
16531	//       "description": "Required. The ID of the parent channel to which the site belongs.",
16532	//       "format": "int64",
16533	//       "location": "path",
16534	//       "pattern": "^[^/]+$",
16535	//       "required": true,
16536	//       "type": "string"
16537	//     },
16538	//     "partnerId": {
16539	//       "description": "The ID of the partner that owns the parent channel.",
16540	//       "format": "int64",
16541	//       "location": "query",
16542	//       "type": "string"
16543	//     },
16544	//     "urlOrAppId": {
16545	//       "description": "Required. The URL or app ID of the site to delete.",
16546	//       "location": "path",
16547	//       "pattern": "^[^/]+$",
16548	//       "required": true,
16549	//       "type": "string"
16550	//     }
16551	//   },
16552	//   "path": "v1/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}",
16553	//   "response": {
16554	//     "$ref": "Empty"
16555	//   },
16556	//   "scopes": [
16557	//     "https://www.googleapis.com/auth/display-video"
16558	//   ]
16559	// }
16560
16561}
16562
16563// method id "displayvideo.advertisers.channels.sites.list":
16564
16565type AdvertisersChannelsSitesListCall struct {
16566	s            *Service
16567	advertiserId int64
16568	channelId    int64
16569	urlParams_   gensupport.URLParams
16570	ifNoneMatch_ string
16571	ctx_         context.Context
16572	header_      http.Header
16573}
16574
16575// List: Lists sites in a channel.
16576func (r *AdvertisersChannelsSitesService) List(advertiserId int64, channelId int64) *AdvertisersChannelsSitesListCall {
16577	c := &AdvertisersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16578	c.advertiserId = advertiserId
16579	c.channelId = channelId
16580	return c
16581}
16582
16583// Filter sets the optional parameter "filter": Allows filtering by site
16584// fields. Supported syntax: * Filter expressions for site currently can
16585// only contain at most one * restriction. * A restriction has the form
16586// of `{field} {operator} {value}`. * The operator must be `CONTAINS
16587// (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for
16588// which the URL or app ID contains "google": `urlOrAppId : "google"
16589func (c *AdvertisersChannelsSitesListCall) Filter(filter string) *AdvertisersChannelsSitesListCall {
16590	c.urlParams_.Set("filter", filter)
16591	return c
16592}
16593
16594// OrderBy sets the optional parameter "orderBy": Field by which to sort
16595// the list. Acceptable values are: * `urlOrAppId` (default) The default
16596// sorting order is ascending. To specify descending order for a field,
16597// a suffix " desc" should be added to the field name. Example:
16598// `urlOrAppId desc`.
16599func (c *AdvertisersChannelsSitesListCall) OrderBy(orderBy string) *AdvertisersChannelsSitesListCall {
16600	c.urlParams_.Set("orderBy", orderBy)
16601	return c
16602}
16603
16604// PageSize sets the optional parameter "pageSize": Requested page size.
16605// Must be between `1` and `100`. If unspecified will default to `100`.
16606// Returns error code `INVALID_ARGUMENT` if an invalid value is
16607// specified.
16608func (c *AdvertisersChannelsSitesListCall) PageSize(pageSize int64) *AdvertisersChannelsSitesListCall {
16609	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
16610	return c
16611}
16612
16613// PageToken sets the optional parameter "pageToken": A token
16614// identifying a page of results the server should return. Typically,
16615// this is the value of next_page_token returned from the previous call
16616// to `ListSites` method. If not specified, the first page of results
16617// will be returned.
16618func (c *AdvertisersChannelsSitesListCall) PageToken(pageToken string) *AdvertisersChannelsSitesListCall {
16619	c.urlParams_.Set("pageToken", pageToken)
16620	return c
16621}
16622
16623// PartnerId sets the optional parameter "partnerId": The ID of the
16624// partner that owns the parent channel.
16625func (c *AdvertisersChannelsSitesListCall) PartnerId(partnerId int64) *AdvertisersChannelsSitesListCall {
16626	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
16627	return c
16628}
16629
16630// Fields allows partial responses to be retrieved. See
16631// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16632// for more information.
16633func (c *AdvertisersChannelsSitesListCall) Fields(s ...googleapi.Field) *AdvertisersChannelsSitesListCall {
16634	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16635	return c
16636}
16637
16638// IfNoneMatch sets the optional parameter which makes the operation
16639// fail if the object's ETag matches the given value. This is useful for
16640// getting updates only after the object has changed since the last
16641// request. Use googleapi.IsNotModified to check whether the response
16642// error from Do is the result of In-None-Match.
16643func (c *AdvertisersChannelsSitesListCall) IfNoneMatch(entityTag string) *AdvertisersChannelsSitesListCall {
16644	c.ifNoneMatch_ = entityTag
16645	return c
16646}
16647
16648// Context sets the context to be used in this call's Do method. Any
16649// pending HTTP request will be aborted if the provided context is
16650// canceled.
16651func (c *AdvertisersChannelsSitesListCall) Context(ctx context.Context) *AdvertisersChannelsSitesListCall {
16652	c.ctx_ = ctx
16653	return c
16654}
16655
16656// Header returns an http.Header that can be modified by the caller to
16657// add HTTP headers to the request.
16658func (c *AdvertisersChannelsSitesListCall) Header() http.Header {
16659	if c.header_ == nil {
16660		c.header_ = make(http.Header)
16661	}
16662	return c.header_
16663}
16664
16665func (c *AdvertisersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
16666	reqHeaders := make(http.Header)
16667	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16668	for k, v := range c.header_ {
16669		reqHeaders[k] = v
16670	}
16671	reqHeaders.Set("User-Agent", c.s.userAgent())
16672	if c.ifNoneMatch_ != "" {
16673		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16674	}
16675	var body io.Reader = nil
16676	c.urlParams_.Set("alt", alt)
16677	c.urlParams_.Set("prettyPrint", "false")
16678	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/channels/{+channelId}/sites")
16679	urls += "?" + c.urlParams_.Encode()
16680	req, err := http.NewRequest("GET", urls, body)
16681	if err != nil {
16682		return nil, err
16683	}
16684	req.Header = reqHeaders
16685	googleapi.Expand(req.URL, map[string]string{
16686		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16687		"channelId":    strconv.FormatInt(c.channelId, 10),
16688	})
16689	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16690}
16691
16692// Do executes the "displayvideo.advertisers.channels.sites.list" call.
16693// Exactly one of *ListSitesResponse or error will be non-nil. Any
16694// non-2xx status code is an error. Response headers are in either
16695// *ListSitesResponse.ServerResponse.Header or (if a response was
16696// returned at all) in error.(*googleapi.Error).Header. Use
16697// googleapi.IsNotModified to check whether the returned error was
16698// because http.StatusNotModified was returned.
16699func (c *AdvertisersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
16700	gensupport.SetOptions(c.urlParams_, opts...)
16701	res, err := c.doRequest("json")
16702	if res != nil && res.StatusCode == http.StatusNotModified {
16703		if res.Body != nil {
16704			res.Body.Close()
16705		}
16706		return nil, &googleapi.Error{
16707			Code:   res.StatusCode,
16708			Header: res.Header,
16709		}
16710	}
16711	if err != nil {
16712		return nil, err
16713	}
16714	defer googleapi.CloseBody(res)
16715	if err := googleapi.CheckResponse(res); err != nil {
16716		return nil, err
16717	}
16718	ret := &ListSitesResponse{
16719		ServerResponse: googleapi.ServerResponse{
16720			Header:         res.Header,
16721			HTTPStatusCode: res.StatusCode,
16722		},
16723	}
16724	target := &ret
16725	if err := gensupport.DecodeResponse(target, res); err != nil {
16726		return nil, err
16727	}
16728	return ret, nil
16729	// {
16730	//   "description": "Lists sites in a channel.",
16731	//   "flatPath": "v1/advertisers/{advertisersId}/channels/{channelsId}/sites",
16732	//   "httpMethod": "GET",
16733	//   "id": "displayvideo.advertisers.channels.sites.list",
16734	//   "parameterOrder": [
16735	//     "advertiserId",
16736	//     "channelId"
16737	//   ],
16738	//   "parameters": {
16739	//     "advertiserId": {
16740	//       "description": "The ID of the advertiser that owns the parent channel.",
16741	//       "format": "int64",
16742	//       "location": "path",
16743	//       "pattern": "^[^/]+$",
16744	//       "required": true,
16745	//       "type": "string"
16746	//     },
16747	//     "channelId": {
16748	//       "description": "Required. The ID of the parent channel to which the requested sites belong.",
16749	//       "format": "int64",
16750	//       "location": "path",
16751	//       "pattern": "^[^/]+$",
16752	//       "required": true,
16753	//       "type": "string"
16754	//     },
16755	//     "filter": {
16756	//       "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\"`",
16757	//       "location": "query",
16758	//       "type": "string"
16759	//     },
16760	//     "orderBy": {
16761	//       "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`.",
16762	//       "location": "query",
16763	//       "type": "string"
16764	//     },
16765	//     "pageSize": {
16766	//       "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.",
16767	//       "format": "int32",
16768	//       "location": "query",
16769	//       "type": "integer"
16770	//     },
16771	//     "pageToken": {
16772	//       "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.",
16773	//       "location": "query",
16774	//       "type": "string"
16775	//     },
16776	//     "partnerId": {
16777	//       "description": "The ID of the partner that owns the parent channel.",
16778	//       "format": "int64",
16779	//       "location": "query",
16780	//       "type": "string"
16781	//     }
16782	//   },
16783	//   "path": "v1/advertisers/{+advertiserId}/channels/{+channelId}/sites",
16784	//   "response": {
16785	//     "$ref": "ListSitesResponse"
16786	//   },
16787	//   "scopes": [
16788	//     "https://www.googleapis.com/auth/display-video"
16789	//   ]
16790	// }
16791
16792}
16793
16794// Pages invokes f for each page of results.
16795// A non-nil error returned from f will halt the iteration.
16796// The provided context supersedes any context provided to the Context method.
16797func (c *AdvertisersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
16798	c.ctx_ = ctx
16799	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16800	for {
16801		x, err := c.Do()
16802		if err != nil {
16803			return err
16804		}
16805		if err := f(x); err != nil {
16806			return err
16807		}
16808		if x.NextPageToken == "" {
16809			return nil
16810		}
16811		c.PageToken(x.NextPageToken)
16812	}
16813}
16814
16815// method id "displayvideo.advertisers.creatives.create":
16816
16817type AdvertisersCreativesCreateCall struct {
16818	s            *Service
16819	advertiserId int64
16820	creative     *Creative
16821	urlParams_   gensupport.URLParams
16822	ctx_         context.Context
16823	header_      http.Header
16824}
16825
16826// Create: Creates a new creative. Returns the newly created creative if
16827// successful.
16828func (r *AdvertisersCreativesService) Create(advertiserId int64, creative *Creative) *AdvertisersCreativesCreateCall {
16829	c := &AdvertisersCreativesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16830	c.advertiserId = advertiserId
16831	c.creative = creative
16832	return c
16833}
16834
16835// Fields allows partial responses to be retrieved. See
16836// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16837// for more information.
16838func (c *AdvertisersCreativesCreateCall) Fields(s ...googleapi.Field) *AdvertisersCreativesCreateCall {
16839	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16840	return c
16841}
16842
16843// Context sets the context to be used in this call's Do method. Any
16844// pending HTTP request will be aborted if the provided context is
16845// canceled.
16846func (c *AdvertisersCreativesCreateCall) Context(ctx context.Context) *AdvertisersCreativesCreateCall {
16847	c.ctx_ = ctx
16848	return c
16849}
16850
16851// Header returns an http.Header that can be modified by the caller to
16852// add HTTP headers to the request.
16853func (c *AdvertisersCreativesCreateCall) Header() http.Header {
16854	if c.header_ == nil {
16855		c.header_ = make(http.Header)
16856	}
16857	return c.header_
16858}
16859
16860func (c *AdvertisersCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
16861	reqHeaders := make(http.Header)
16862	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16863	for k, v := range c.header_ {
16864		reqHeaders[k] = v
16865	}
16866	reqHeaders.Set("User-Agent", c.s.userAgent())
16867	var body io.Reader = nil
16868	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
16869	if err != nil {
16870		return nil, err
16871	}
16872	reqHeaders.Set("Content-Type", "application/json")
16873	c.urlParams_.Set("alt", alt)
16874	c.urlParams_.Set("prettyPrint", "false")
16875	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives")
16876	urls += "?" + c.urlParams_.Encode()
16877	req, err := http.NewRequest("POST", urls, body)
16878	if err != nil {
16879		return nil, err
16880	}
16881	req.Header = reqHeaders
16882	googleapi.Expand(req.URL, map[string]string{
16883		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
16884	})
16885	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16886}
16887
16888// Do executes the "displayvideo.advertisers.creatives.create" call.
16889// Exactly one of *Creative or error will be non-nil. Any non-2xx status
16890// code is an error. Response headers are in either
16891// *Creative.ServerResponse.Header or (if a response was returned at
16892// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
16893// to check whether the returned error was because
16894// http.StatusNotModified was returned.
16895func (c *AdvertisersCreativesCreateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
16896	gensupport.SetOptions(c.urlParams_, opts...)
16897	res, err := c.doRequest("json")
16898	if res != nil && res.StatusCode == http.StatusNotModified {
16899		if res.Body != nil {
16900			res.Body.Close()
16901		}
16902		return nil, &googleapi.Error{
16903			Code:   res.StatusCode,
16904			Header: res.Header,
16905		}
16906	}
16907	if err != nil {
16908		return nil, err
16909	}
16910	defer googleapi.CloseBody(res)
16911	if err := googleapi.CheckResponse(res); err != nil {
16912		return nil, err
16913	}
16914	ret := &Creative{
16915		ServerResponse: googleapi.ServerResponse{
16916			Header:         res.Header,
16917			HTTPStatusCode: res.StatusCode,
16918		},
16919	}
16920	target := &ret
16921	if err := gensupport.DecodeResponse(target, res); err != nil {
16922		return nil, err
16923	}
16924	return ret, nil
16925	// {
16926	//   "description": "Creates a new creative. Returns the newly created creative if successful.",
16927	//   "flatPath": "v1/advertisers/{advertisersId}/creatives",
16928	//   "httpMethod": "POST",
16929	//   "id": "displayvideo.advertisers.creatives.create",
16930	//   "parameterOrder": [
16931	//     "advertiserId"
16932	//   ],
16933	//   "parameters": {
16934	//     "advertiserId": {
16935	//       "description": "Output only. The unique ID of the advertiser the creative belongs to.",
16936	//       "format": "int64",
16937	//       "location": "path",
16938	//       "pattern": "^[^/]+$",
16939	//       "required": true,
16940	//       "type": "string"
16941	//     }
16942	//   },
16943	//   "path": "v1/advertisers/{+advertiserId}/creatives",
16944	//   "request": {
16945	//     "$ref": "Creative"
16946	//   },
16947	//   "response": {
16948	//     "$ref": "Creative"
16949	//   },
16950	//   "scopes": [
16951	//     "https://www.googleapis.com/auth/display-video"
16952	//   ]
16953	// }
16954
16955}
16956
16957// method id "displayvideo.advertisers.creatives.delete":
16958
16959type AdvertisersCreativesDeleteCall struct {
16960	s            *Service
16961	advertiserId int64
16962	creativeId   int64
16963	urlParams_   gensupport.URLParams
16964	ctx_         context.Context
16965	header_      http.Header
16966}
16967
16968// Delete: Deletes a creative. Returns error code `NOT_FOUND` if the
16969// creative does not exist. The creative should be archived first, i.e.
16970// set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be
16971// deleted.
16972func (r *AdvertisersCreativesService) Delete(advertiserId int64, creativeId int64) *AdvertisersCreativesDeleteCall {
16973	c := &AdvertisersCreativesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16974	c.advertiserId = advertiserId
16975	c.creativeId = creativeId
16976	return c
16977}
16978
16979// Fields allows partial responses to be retrieved. See
16980// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16981// for more information.
16982func (c *AdvertisersCreativesDeleteCall) Fields(s ...googleapi.Field) *AdvertisersCreativesDeleteCall {
16983	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16984	return c
16985}
16986
16987// Context sets the context to be used in this call's Do method. Any
16988// pending HTTP request will be aborted if the provided context is
16989// canceled.
16990func (c *AdvertisersCreativesDeleteCall) Context(ctx context.Context) *AdvertisersCreativesDeleteCall {
16991	c.ctx_ = ctx
16992	return c
16993}
16994
16995// Header returns an http.Header that can be modified by the caller to
16996// add HTTP headers to the request.
16997func (c *AdvertisersCreativesDeleteCall) Header() http.Header {
16998	if c.header_ == nil {
16999		c.header_ = make(http.Header)
17000	}
17001	return c.header_
17002}
17003
17004func (c *AdvertisersCreativesDeleteCall) doRequest(alt string) (*http.Response, error) {
17005	reqHeaders := make(http.Header)
17006	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17007	for k, v := range c.header_ {
17008		reqHeaders[k] = v
17009	}
17010	reqHeaders.Set("User-Agent", c.s.userAgent())
17011	var body io.Reader = nil
17012	c.urlParams_.Set("alt", alt)
17013	c.urlParams_.Set("prettyPrint", "false")
17014	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
17015	urls += "?" + c.urlParams_.Encode()
17016	req, err := http.NewRequest("DELETE", urls, body)
17017	if err != nil {
17018		return nil, err
17019	}
17020	req.Header = reqHeaders
17021	googleapi.Expand(req.URL, map[string]string{
17022		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17023		"creativeId":   strconv.FormatInt(c.creativeId, 10),
17024	})
17025	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17026}
17027
17028// Do executes the "displayvideo.advertisers.creatives.delete" call.
17029// Exactly one of *Empty or error will be non-nil. Any non-2xx status
17030// code is an error. Response headers are in either
17031// *Empty.ServerResponse.Header or (if a response was returned at all)
17032// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17033// check whether the returned error was because http.StatusNotModified
17034// was returned.
17035func (c *AdvertisersCreativesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
17036	gensupport.SetOptions(c.urlParams_, opts...)
17037	res, err := c.doRequest("json")
17038	if res != nil && res.StatusCode == http.StatusNotModified {
17039		if res.Body != nil {
17040			res.Body.Close()
17041		}
17042		return nil, &googleapi.Error{
17043			Code:   res.StatusCode,
17044			Header: res.Header,
17045		}
17046	}
17047	if err != nil {
17048		return nil, err
17049	}
17050	defer googleapi.CloseBody(res)
17051	if err := googleapi.CheckResponse(res); err != nil {
17052		return nil, err
17053	}
17054	ret := &Empty{
17055		ServerResponse: googleapi.ServerResponse{
17056			Header:         res.Header,
17057			HTTPStatusCode: res.StatusCode,
17058		},
17059	}
17060	target := &ret
17061	if err := gensupport.DecodeResponse(target, res); err != nil {
17062		return nil, err
17063	}
17064	return ret, nil
17065	// {
17066	//   "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.",
17067	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
17068	//   "httpMethod": "DELETE",
17069	//   "id": "displayvideo.advertisers.creatives.delete",
17070	//   "parameterOrder": [
17071	//     "advertiserId",
17072	//     "creativeId"
17073	//   ],
17074	//   "parameters": {
17075	//     "advertiserId": {
17076	//       "description": "The ID of the advertiser this creative belongs to.",
17077	//       "format": "int64",
17078	//       "location": "path",
17079	//       "pattern": "^[^/]+$",
17080	//       "required": true,
17081	//       "type": "string"
17082	//     },
17083	//     "creativeId": {
17084	//       "description": "The ID of the creative to be deleted.",
17085	//       "format": "int64",
17086	//       "location": "path",
17087	//       "pattern": "^[^/]+$",
17088	//       "required": true,
17089	//       "type": "string"
17090	//     }
17091	//   },
17092	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
17093	//   "response": {
17094	//     "$ref": "Empty"
17095	//   },
17096	//   "scopes": [
17097	//     "https://www.googleapis.com/auth/display-video"
17098	//   ]
17099	// }
17100
17101}
17102
17103// method id "displayvideo.advertisers.creatives.get":
17104
17105type AdvertisersCreativesGetCall struct {
17106	s            *Service
17107	advertiserId int64
17108	creativeId   int64
17109	urlParams_   gensupport.URLParams
17110	ifNoneMatch_ string
17111	ctx_         context.Context
17112	header_      http.Header
17113}
17114
17115// Get: Gets a creative.
17116func (r *AdvertisersCreativesService) Get(advertiserId int64, creativeId int64) *AdvertisersCreativesGetCall {
17117	c := &AdvertisersCreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17118	c.advertiserId = advertiserId
17119	c.creativeId = creativeId
17120	return c
17121}
17122
17123// Fields allows partial responses to be retrieved. See
17124// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17125// for more information.
17126func (c *AdvertisersCreativesGetCall) Fields(s ...googleapi.Field) *AdvertisersCreativesGetCall {
17127	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17128	return c
17129}
17130
17131// IfNoneMatch sets the optional parameter which makes the operation
17132// fail if the object's ETag matches the given value. This is useful for
17133// getting updates only after the object has changed since the last
17134// request. Use googleapi.IsNotModified to check whether the response
17135// error from Do is the result of In-None-Match.
17136func (c *AdvertisersCreativesGetCall) IfNoneMatch(entityTag string) *AdvertisersCreativesGetCall {
17137	c.ifNoneMatch_ = entityTag
17138	return c
17139}
17140
17141// Context sets the context to be used in this call's Do method. Any
17142// pending HTTP request will be aborted if the provided context is
17143// canceled.
17144func (c *AdvertisersCreativesGetCall) Context(ctx context.Context) *AdvertisersCreativesGetCall {
17145	c.ctx_ = ctx
17146	return c
17147}
17148
17149// Header returns an http.Header that can be modified by the caller to
17150// add HTTP headers to the request.
17151func (c *AdvertisersCreativesGetCall) Header() http.Header {
17152	if c.header_ == nil {
17153		c.header_ = make(http.Header)
17154	}
17155	return c.header_
17156}
17157
17158func (c *AdvertisersCreativesGetCall) doRequest(alt string) (*http.Response, error) {
17159	reqHeaders := make(http.Header)
17160	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17161	for k, v := range c.header_ {
17162		reqHeaders[k] = v
17163	}
17164	reqHeaders.Set("User-Agent", c.s.userAgent())
17165	if c.ifNoneMatch_ != "" {
17166		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17167	}
17168	var body io.Reader = nil
17169	c.urlParams_.Set("alt", alt)
17170	c.urlParams_.Set("prettyPrint", "false")
17171	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
17172	urls += "?" + c.urlParams_.Encode()
17173	req, err := http.NewRequest("GET", urls, body)
17174	if err != nil {
17175		return nil, err
17176	}
17177	req.Header = reqHeaders
17178	googleapi.Expand(req.URL, map[string]string{
17179		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17180		"creativeId":   strconv.FormatInt(c.creativeId, 10),
17181	})
17182	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17183}
17184
17185// Do executes the "displayvideo.advertisers.creatives.get" call.
17186// Exactly one of *Creative or error will be non-nil. Any non-2xx status
17187// code is an error. Response headers are in either
17188// *Creative.ServerResponse.Header or (if a response was returned at
17189// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17190// to check whether the returned error was because
17191// http.StatusNotModified was returned.
17192func (c *AdvertisersCreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
17193	gensupport.SetOptions(c.urlParams_, opts...)
17194	res, err := c.doRequest("json")
17195	if res != nil && res.StatusCode == http.StatusNotModified {
17196		if res.Body != nil {
17197			res.Body.Close()
17198		}
17199		return nil, &googleapi.Error{
17200			Code:   res.StatusCode,
17201			Header: res.Header,
17202		}
17203	}
17204	if err != nil {
17205		return nil, err
17206	}
17207	defer googleapi.CloseBody(res)
17208	if err := googleapi.CheckResponse(res); err != nil {
17209		return nil, err
17210	}
17211	ret := &Creative{
17212		ServerResponse: googleapi.ServerResponse{
17213			Header:         res.Header,
17214			HTTPStatusCode: res.StatusCode,
17215		},
17216	}
17217	target := &ret
17218	if err := gensupport.DecodeResponse(target, res); err != nil {
17219		return nil, err
17220	}
17221	return ret, nil
17222	// {
17223	//   "description": "Gets a creative.",
17224	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
17225	//   "httpMethod": "GET",
17226	//   "id": "displayvideo.advertisers.creatives.get",
17227	//   "parameterOrder": [
17228	//     "advertiserId",
17229	//     "creativeId"
17230	//   ],
17231	//   "parameters": {
17232	//     "advertiserId": {
17233	//       "description": "Required. The ID of the advertiser this creative belongs to.",
17234	//       "format": "int64",
17235	//       "location": "path",
17236	//       "pattern": "^[^/]+$",
17237	//       "required": true,
17238	//       "type": "string"
17239	//     },
17240	//     "creativeId": {
17241	//       "description": "Required. The ID of the creative to fetch.",
17242	//       "format": "int64",
17243	//       "location": "path",
17244	//       "pattern": "^[^/]+$",
17245	//       "required": true,
17246	//       "type": "string"
17247	//     }
17248	//   },
17249	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
17250	//   "response": {
17251	//     "$ref": "Creative"
17252	//   },
17253	//   "scopes": [
17254	//     "https://www.googleapis.com/auth/display-video"
17255	//   ]
17256	// }
17257
17258}
17259
17260// method id "displayvideo.advertisers.creatives.list":
17261
17262type AdvertisersCreativesListCall struct {
17263	s            *Service
17264	advertiserId int64
17265	urlParams_   gensupport.URLParams
17266	ifNoneMatch_ string
17267	ctx_         context.Context
17268	header_      http.Header
17269}
17270
17271// List: Lists creatives in an advertiser. The order is defined by the
17272// order_by parameter. If a filter by entity_status is not specified,
17273// creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the
17274// results.
17275func (r *AdvertisersCreativesService) List(advertiserId int64) *AdvertisersCreativesListCall {
17276	c := &AdvertisersCreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17277	c.advertiserId = advertiserId
17278	return c
17279}
17280
17281// Filter sets the optional parameter "filter": Allows filtering by
17282// creative properties. Supported syntax: * Filter expressions are made
17283// up of one or more restrictions. * Restriction for the same field must
17284// be combined by `OR`. * Restriction for different fields must be
17285// combined by `AND`. * Between `(` and `)` there can only be
17286// restrictions combined by `OR` for the same field. * A restriction has
17287// the form of `{field} {operator} {value}`. * The operator must be
17288// `EQUALS (=)` for the following fields: - `entityStatus` -
17289// `creativeType`. - `dimensions` - `minDuration` - `maxDuration` -
17290// `approvalStatus` - `exchangeReviewStatus` - `dynamic` - `creativeId`
17291// * The operator must be `HAS (:)` for the following fields: -
17292// `lineItemIds` * For `entityStatus`, `minDuration`, `maxDuration`, and
17293// `dynamic` there may be at most one restriction. * For `dimensions`,
17294// the value is in the form of "{width}x{height}". * For
17295// `exchangeReviewStatus`, the value is in the form of
17296// `{exchange}-{reviewStatus}`. * For `minDuration` and `maxDuration`,
17297// the value is in the form of "{duration}s". Only seconds are
17298// supported with millisecond granularity. * There may be multiple
17299// `lineItemIds` restrictions in order to search against multiple
17300// possible line item IDs. * There may be multiple `creativeId`
17301// restrictions in order to search against multiple possible creative
17302// IDs. Examples: * All native creatives:
17303// `creativeType="CREATIVE_TYPE_NATIVE" * All active creatives with
17304// 300x400 or 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE"
17305// AND (dimensions="300x400" OR dimensions="50x100")` * All dynamic
17306// creatives that are approved by AdX or AppNexus, with a minimum
17307// duration of 5 seconds and 200ms. `dynamic="true" AND
17308// minDuration="5.2s" AND
17309// (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROV
17310// ED" OR
17311// exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` *
17312// All video creatives that are associated with line item ID 1 or 2:
17313// `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR
17314// lineItemIds:2)` * Find creatives by multiple creative IDs:
17315// `creativeId=1 OR creativeId=2` The length of this field should be no
17316// more than 500 characters.
17317func (c *AdvertisersCreativesListCall) Filter(filter string) *AdvertisersCreativesListCall {
17318	c.urlParams_.Set("filter", filter)
17319	return c
17320}
17321
17322// OrderBy sets the optional parameter "orderBy": Field by which to sort
17323// the list. Acceptable values are: * `creativeId` (default) *
17324// `createTime` * `mediaDuration` * `dimensions` (sorts by width first,
17325// then by height) The default sorting order is ascending. To specify
17326// descending order for a field, a suffix "desc" should be added to the
17327// field name. Example: `createTime desc`.
17328func (c *AdvertisersCreativesListCall) OrderBy(orderBy string) *AdvertisersCreativesListCall {
17329	c.urlParams_.Set("orderBy", orderBy)
17330	return c
17331}
17332
17333// PageSize sets the optional parameter "pageSize": Requested page size.
17334// Must be between `1` and `100`. If unspecified will default to `100`.
17335// Returns error code `INVALID_ARGUMENT` if an invalid value is
17336// specified.
17337func (c *AdvertisersCreativesListCall) PageSize(pageSize int64) *AdvertisersCreativesListCall {
17338	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
17339	return c
17340}
17341
17342// PageToken sets the optional parameter "pageToken": A token
17343// identifying a page of results the server should return. Typically,
17344// this is the value of next_page_token returned from the previous call
17345// to `ListCreatives` method. If not specified, the first page of
17346// results will be returned.
17347func (c *AdvertisersCreativesListCall) PageToken(pageToken string) *AdvertisersCreativesListCall {
17348	c.urlParams_.Set("pageToken", pageToken)
17349	return c
17350}
17351
17352// Fields allows partial responses to be retrieved. See
17353// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17354// for more information.
17355func (c *AdvertisersCreativesListCall) Fields(s ...googleapi.Field) *AdvertisersCreativesListCall {
17356	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17357	return c
17358}
17359
17360// IfNoneMatch sets the optional parameter which makes the operation
17361// fail if the object's ETag matches the given value. This is useful for
17362// getting updates only after the object has changed since the last
17363// request. Use googleapi.IsNotModified to check whether the response
17364// error from Do is the result of In-None-Match.
17365func (c *AdvertisersCreativesListCall) IfNoneMatch(entityTag string) *AdvertisersCreativesListCall {
17366	c.ifNoneMatch_ = entityTag
17367	return c
17368}
17369
17370// Context sets the context to be used in this call's Do method. Any
17371// pending HTTP request will be aborted if the provided context is
17372// canceled.
17373func (c *AdvertisersCreativesListCall) Context(ctx context.Context) *AdvertisersCreativesListCall {
17374	c.ctx_ = ctx
17375	return c
17376}
17377
17378// Header returns an http.Header that can be modified by the caller to
17379// add HTTP headers to the request.
17380func (c *AdvertisersCreativesListCall) Header() http.Header {
17381	if c.header_ == nil {
17382		c.header_ = make(http.Header)
17383	}
17384	return c.header_
17385}
17386
17387func (c *AdvertisersCreativesListCall) doRequest(alt string) (*http.Response, error) {
17388	reqHeaders := make(http.Header)
17389	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17390	for k, v := range c.header_ {
17391		reqHeaders[k] = v
17392	}
17393	reqHeaders.Set("User-Agent", c.s.userAgent())
17394	if c.ifNoneMatch_ != "" {
17395		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17396	}
17397	var body io.Reader = nil
17398	c.urlParams_.Set("alt", alt)
17399	c.urlParams_.Set("prettyPrint", "false")
17400	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives")
17401	urls += "?" + c.urlParams_.Encode()
17402	req, err := http.NewRequest("GET", urls, body)
17403	if err != nil {
17404		return nil, err
17405	}
17406	req.Header = reqHeaders
17407	googleapi.Expand(req.URL, map[string]string{
17408		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17409	})
17410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17411}
17412
17413// Do executes the "displayvideo.advertisers.creatives.list" call.
17414// Exactly one of *ListCreativesResponse or error will be non-nil. Any
17415// non-2xx status code is an error. Response headers are in either
17416// *ListCreativesResponse.ServerResponse.Header or (if a response was
17417// returned at all) in error.(*googleapi.Error).Header. Use
17418// googleapi.IsNotModified to check whether the returned error was
17419// because http.StatusNotModified was returned.
17420func (c *AdvertisersCreativesListCall) Do(opts ...googleapi.CallOption) (*ListCreativesResponse, error) {
17421	gensupport.SetOptions(c.urlParams_, opts...)
17422	res, err := c.doRequest("json")
17423	if res != nil && res.StatusCode == http.StatusNotModified {
17424		if res.Body != nil {
17425			res.Body.Close()
17426		}
17427		return nil, &googleapi.Error{
17428			Code:   res.StatusCode,
17429			Header: res.Header,
17430		}
17431	}
17432	if err != nil {
17433		return nil, err
17434	}
17435	defer googleapi.CloseBody(res)
17436	if err := googleapi.CheckResponse(res); err != nil {
17437		return nil, err
17438	}
17439	ret := &ListCreativesResponse{
17440		ServerResponse: googleapi.ServerResponse{
17441			Header:         res.Header,
17442			HTTPStatusCode: res.StatusCode,
17443		},
17444	}
17445	target := &ret
17446	if err := gensupport.DecodeResponse(target, res); err != nil {
17447		return nil, err
17448	}
17449	return ret, nil
17450	// {
17451	//   "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.",
17452	//   "flatPath": "v1/advertisers/{advertisersId}/creatives",
17453	//   "httpMethod": "GET",
17454	//   "id": "displayvideo.advertisers.creatives.list",
17455	//   "parameterOrder": [
17456	//     "advertiserId"
17457	//   ],
17458	//   "parameters": {
17459	//     "advertiserId": {
17460	//       "description": "Required. The ID of the advertiser to list creatives for.",
17461	//       "format": "int64",
17462	//       "location": "path",
17463	//       "pattern": "^[^/]+$",
17464	//       "required": true,
17465	//       "type": "string"
17466	//     },
17467	//     "filter": {
17468	//       "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.",
17469	//       "location": "query",
17470	//       "type": "string"
17471	//     },
17472	//     "orderBy": {
17473	//       "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`.",
17474	//       "location": "query",
17475	//       "type": "string"
17476	//     },
17477	//     "pageSize": {
17478	//       "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.",
17479	//       "format": "int32",
17480	//       "location": "query",
17481	//       "type": "integer"
17482	//     },
17483	//     "pageToken": {
17484	//       "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.",
17485	//       "location": "query",
17486	//       "type": "string"
17487	//     }
17488	//   },
17489	//   "path": "v1/advertisers/{+advertiserId}/creatives",
17490	//   "response": {
17491	//     "$ref": "ListCreativesResponse"
17492	//   },
17493	//   "scopes": [
17494	//     "https://www.googleapis.com/auth/display-video"
17495	//   ]
17496	// }
17497
17498}
17499
17500// Pages invokes f for each page of results.
17501// A non-nil error returned from f will halt the iteration.
17502// The provided context supersedes any context provided to the Context method.
17503func (c *AdvertisersCreativesListCall) Pages(ctx context.Context, f func(*ListCreativesResponse) error) error {
17504	c.ctx_ = ctx
17505	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17506	for {
17507		x, err := c.Do()
17508		if err != nil {
17509			return err
17510		}
17511		if err := f(x); err != nil {
17512			return err
17513		}
17514		if x.NextPageToken == "" {
17515			return nil
17516		}
17517		c.PageToken(x.NextPageToken)
17518	}
17519}
17520
17521// method id "displayvideo.advertisers.creatives.patch":
17522
17523type AdvertisersCreativesPatchCall struct {
17524	s            *Service
17525	advertiserId int64
17526	creativeId   int64
17527	creative     *Creative
17528	urlParams_   gensupport.URLParams
17529	ctx_         context.Context
17530	header_      http.Header
17531}
17532
17533// Patch: Updates an existing creative. Returns the updated creative if
17534// successful.
17535func (r *AdvertisersCreativesService) Patch(advertiserId int64, creativeId int64, creative *Creative) *AdvertisersCreativesPatchCall {
17536	c := &AdvertisersCreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17537	c.advertiserId = advertiserId
17538	c.creativeId = creativeId
17539	c.creative = creative
17540	return c
17541}
17542
17543// UpdateMask sets the optional parameter "updateMask": Required. The
17544// mask to control which fields to update.
17545func (c *AdvertisersCreativesPatchCall) UpdateMask(updateMask string) *AdvertisersCreativesPatchCall {
17546	c.urlParams_.Set("updateMask", updateMask)
17547	return c
17548}
17549
17550// Fields allows partial responses to be retrieved. See
17551// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17552// for more information.
17553func (c *AdvertisersCreativesPatchCall) Fields(s ...googleapi.Field) *AdvertisersCreativesPatchCall {
17554	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17555	return c
17556}
17557
17558// Context sets the context to be used in this call's Do method. Any
17559// pending HTTP request will be aborted if the provided context is
17560// canceled.
17561func (c *AdvertisersCreativesPatchCall) Context(ctx context.Context) *AdvertisersCreativesPatchCall {
17562	c.ctx_ = ctx
17563	return c
17564}
17565
17566// Header returns an http.Header that can be modified by the caller to
17567// add HTTP headers to the request.
17568func (c *AdvertisersCreativesPatchCall) Header() http.Header {
17569	if c.header_ == nil {
17570		c.header_ = make(http.Header)
17571	}
17572	return c.header_
17573}
17574
17575func (c *AdvertisersCreativesPatchCall) doRequest(alt string) (*http.Response, error) {
17576	reqHeaders := make(http.Header)
17577	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17578	for k, v := range c.header_ {
17579		reqHeaders[k] = v
17580	}
17581	reqHeaders.Set("User-Agent", c.s.userAgent())
17582	var body io.Reader = nil
17583	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
17584	if err != nil {
17585		return nil, err
17586	}
17587	reqHeaders.Set("Content-Type", "application/json")
17588	c.urlParams_.Set("alt", alt)
17589	c.urlParams_.Set("prettyPrint", "false")
17590	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/creatives/{+creativeId}")
17591	urls += "?" + c.urlParams_.Encode()
17592	req, err := http.NewRequest("PATCH", urls, body)
17593	if err != nil {
17594		return nil, err
17595	}
17596	req.Header = reqHeaders
17597	googleapi.Expand(req.URL, map[string]string{
17598		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17599		"creativeId":   strconv.FormatInt(c.creativeId, 10),
17600	})
17601	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17602}
17603
17604// Do executes the "displayvideo.advertisers.creatives.patch" call.
17605// Exactly one of *Creative or error will be non-nil. Any non-2xx status
17606// code is an error. Response headers are in either
17607// *Creative.ServerResponse.Header or (if a response was returned at
17608// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
17609// to check whether the returned error was because
17610// http.StatusNotModified was returned.
17611func (c *AdvertisersCreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
17612	gensupport.SetOptions(c.urlParams_, opts...)
17613	res, err := c.doRequest("json")
17614	if res != nil && res.StatusCode == http.StatusNotModified {
17615		if res.Body != nil {
17616			res.Body.Close()
17617		}
17618		return nil, &googleapi.Error{
17619			Code:   res.StatusCode,
17620			Header: res.Header,
17621		}
17622	}
17623	if err != nil {
17624		return nil, err
17625	}
17626	defer googleapi.CloseBody(res)
17627	if err := googleapi.CheckResponse(res); err != nil {
17628		return nil, err
17629	}
17630	ret := &Creative{
17631		ServerResponse: googleapi.ServerResponse{
17632			Header:         res.Header,
17633			HTTPStatusCode: res.StatusCode,
17634		},
17635	}
17636	target := &ret
17637	if err := gensupport.DecodeResponse(target, res); err != nil {
17638		return nil, err
17639	}
17640	return ret, nil
17641	// {
17642	//   "description": "Updates an existing creative. Returns the updated creative if successful.",
17643	//   "flatPath": "v1/advertisers/{advertisersId}/creatives/{creativesId}",
17644	//   "httpMethod": "PATCH",
17645	//   "id": "displayvideo.advertisers.creatives.patch",
17646	//   "parameterOrder": [
17647	//     "advertiserId",
17648	//     "creativeId"
17649	//   ],
17650	//   "parameters": {
17651	//     "advertiserId": {
17652	//       "description": "Output only. The unique ID of the advertiser the creative belongs to.",
17653	//       "format": "int64",
17654	//       "location": "path",
17655	//       "pattern": "^[^/]+$",
17656	//       "required": true,
17657	//       "type": "string"
17658	//     },
17659	//     "creativeId": {
17660	//       "description": "Output only. The unique ID of the creative. Assigned by the system.",
17661	//       "format": "int64",
17662	//       "location": "path",
17663	//       "pattern": "^[^/]+$",
17664	//       "required": true,
17665	//       "type": "string"
17666	//     },
17667	//     "updateMask": {
17668	//       "description": "Required. The mask to control which fields to update.",
17669	//       "format": "google-fieldmask",
17670	//       "location": "query",
17671	//       "type": "string"
17672	//     }
17673	//   },
17674	//   "path": "v1/advertisers/{+advertiserId}/creatives/{+creativeId}",
17675	//   "request": {
17676	//     "$ref": "Creative"
17677	//   },
17678	//   "response": {
17679	//     "$ref": "Creative"
17680	//   },
17681	//   "scopes": [
17682	//     "https://www.googleapis.com/auth/display-video"
17683	//   ]
17684	// }
17685
17686}
17687
17688// method id "displayvideo.advertisers.insertionOrders.create":
17689
17690type AdvertisersInsertionOrdersCreateCall struct {
17691	s              *Service
17692	advertiserId   int64
17693	insertionorder *InsertionOrder
17694	urlParams_     gensupport.URLParams
17695	ctx_           context.Context
17696	header_        http.Header
17697}
17698
17699// Create: Creates a new insertion order. Returns the newly created
17700// insertion order if successful.
17701func (r *AdvertisersInsertionOrdersService) Create(advertiserId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersCreateCall {
17702	c := &AdvertisersInsertionOrdersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17703	c.advertiserId = advertiserId
17704	c.insertionorder = insertionorder
17705	return c
17706}
17707
17708// Fields allows partial responses to be retrieved. See
17709// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17710// for more information.
17711func (c *AdvertisersInsertionOrdersCreateCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersCreateCall {
17712	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17713	return c
17714}
17715
17716// Context sets the context to be used in this call's Do method. Any
17717// pending HTTP request will be aborted if the provided context is
17718// canceled.
17719func (c *AdvertisersInsertionOrdersCreateCall) Context(ctx context.Context) *AdvertisersInsertionOrdersCreateCall {
17720	c.ctx_ = ctx
17721	return c
17722}
17723
17724// Header returns an http.Header that can be modified by the caller to
17725// add HTTP headers to the request.
17726func (c *AdvertisersInsertionOrdersCreateCall) Header() http.Header {
17727	if c.header_ == nil {
17728		c.header_ = make(http.Header)
17729	}
17730	return c.header_
17731}
17732
17733func (c *AdvertisersInsertionOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
17734	reqHeaders := make(http.Header)
17735	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17736	for k, v := range c.header_ {
17737		reqHeaders[k] = v
17738	}
17739	reqHeaders.Set("User-Agent", c.s.userAgent())
17740	var body io.Reader = nil
17741	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
17742	if err != nil {
17743		return nil, err
17744	}
17745	reqHeaders.Set("Content-Type", "application/json")
17746	c.urlParams_.Set("alt", alt)
17747	c.urlParams_.Set("prettyPrint", "false")
17748	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders")
17749	urls += "?" + c.urlParams_.Encode()
17750	req, err := http.NewRequest("POST", urls, body)
17751	if err != nil {
17752		return nil, err
17753	}
17754	req.Header = reqHeaders
17755	googleapi.Expand(req.URL, map[string]string{
17756		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
17757	})
17758	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17759}
17760
17761// Do executes the "displayvideo.advertisers.insertionOrders.create" call.
17762// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
17763// status code is an error. Response headers are in either
17764// *InsertionOrder.ServerResponse.Header or (if a response was returned
17765// at all) in error.(*googleapi.Error).Header. Use
17766// googleapi.IsNotModified to check whether the returned error was
17767// because http.StatusNotModified was returned.
17768func (c *AdvertisersInsertionOrdersCreateCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
17769	gensupport.SetOptions(c.urlParams_, opts...)
17770	res, err := c.doRequest("json")
17771	if res != nil && res.StatusCode == http.StatusNotModified {
17772		if res.Body != nil {
17773			res.Body.Close()
17774		}
17775		return nil, &googleapi.Error{
17776			Code:   res.StatusCode,
17777			Header: res.Header,
17778		}
17779	}
17780	if err != nil {
17781		return nil, err
17782	}
17783	defer googleapi.CloseBody(res)
17784	if err := googleapi.CheckResponse(res); err != nil {
17785		return nil, err
17786	}
17787	ret := &InsertionOrder{
17788		ServerResponse: googleapi.ServerResponse{
17789			Header:         res.Header,
17790			HTTPStatusCode: res.StatusCode,
17791		},
17792	}
17793	target := &ret
17794	if err := gensupport.DecodeResponse(target, res); err != nil {
17795		return nil, err
17796	}
17797	return ret, nil
17798	// {
17799	//   "description": "Creates a new insertion order. Returns the newly created insertion order if successful.",
17800	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders",
17801	//   "httpMethod": "POST",
17802	//   "id": "displayvideo.advertisers.insertionOrders.create",
17803	//   "parameterOrder": [
17804	//     "advertiserId"
17805	//   ],
17806	//   "parameters": {
17807	//     "advertiserId": {
17808	//       "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
17809	//       "format": "int64",
17810	//       "location": "path",
17811	//       "pattern": "^[^/]+$",
17812	//       "required": true,
17813	//       "type": "string"
17814	//     }
17815	//   },
17816	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders",
17817	//   "request": {
17818	//     "$ref": "InsertionOrder"
17819	//   },
17820	//   "response": {
17821	//     "$ref": "InsertionOrder"
17822	//   },
17823	//   "scopes": [
17824	//     "https://www.googleapis.com/auth/display-video"
17825	//   ]
17826	// }
17827
17828}
17829
17830// method id "displayvideo.advertisers.insertionOrders.delete":
17831
17832type AdvertisersInsertionOrdersDeleteCall struct {
17833	s                *Service
17834	advertiserId     int64
17835	insertionOrderId int64
17836	urlParams_       gensupport.URLParams
17837	ctx_             context.Context
17838	header_          http.Header
17839}
17840
17841// Delete: Deletes an insertion order. Returns error code `NOT_FOUND` if
17842// the insertion order does not exist. The insertion order should be
17843// archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`,
17844// to be able to delete it.
17845func (r *AdvertisersInsertionOrdersService) Delete(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersDeleteCall {
17846	c := &AdvertisersInsertionOrdersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17847	c.advertiserId = advertiserId
17848	c.insertionOrderId = insertionOrderId
17849	return c
17850}
17851
17852// Fields allows partial responses to be retrieved. See
17853// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17854// for more information.
17855func (c *AdvertisersInsertionOrdersDeleteCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersDeleteCall {
17856	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17857	return c
17858}
17859
17860// Context sets the context to be used in this call's Do method. Any
17861// pending HTTP request will be aborted if the provided context is
17862// canceled.
17863func (c *AdvertisersInsertionOrdersDeleteCall) Context(ctx context.Context) *AdvertisersInsertionOrdersDeleteCall {
17864	c.ctx_ = ctx
17865	return c
17866}
17867
17868// Header returns an http.Header that can be modified by the caller to
17869// add HTTP headers to the request.
17870func (c *AdvertisersInsertionOrdersDeleteCall) Header() http.Header {
17871	if c.header_ == nil {
17872		c.header_ = make(http.Header)
17873	}
17874	return c.header_
17875}
17876
17877func (c *AdvertisersInsertionOrdersDeleteCall) doRequest(alt string) (*http.Response, error) {
17878	reqHeaders := make(http.Header)
17879	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17880	for k, v := range c.header_ {
17881		reqHeaders[k] = v
17882	}
17883	reqHeaders.Set("User-Agent", c.s.userAgent())
17884	var body io.Reader = nil
17885	c.urlParams_.Set("alt", alt)
17886	c.urlParams_.Set("prettyPrint", "false")
17887	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
17888	urls += "?" + c.urlParams_.Encode()
17889	req, err := http.NewRequest("DELETE", urls, body)
17890	if err != nil {
17891		return nil, err
17892	}
17893	req.Header = reqHeaders
17894	googleapi.Expand(req.URL, map[string]string{
17895		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
17896		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
17897	})
17898	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17899}
17900
17901// Do executes the "displayvideo.advertisers.insertionOrders.delete" call.
17902// Exactly one of *Empty or error will be non-nil. Any non-2xx status
17903// code is an error. Response headers are in either
17904// *Empty.ServerResponse.Header or (if a response was returned at all)
17905// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
17906// check whether the returned error was because http.StatusNotModified
17907// was returned.
17908func (c *AdvertisersInsertionOrdersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
17909	gensupport.SetOptions(c.urlParams_, opts...)
17910	res, err := c.doRequest("json")
17911	if res != nil && res.StatusCode == http.StatusNotModified {
17912		if res.Body != nil {
17913			res.Body.Close()
17914		}
17915		return nil, &googleapi.Error{
17916			Code:   res.StatusCode,
17917			Header: res.Header,
17918		}
17919	}
17920	if err != nil {
17921		return nil, err
17922	}
17923	defer googleapi.CloseBody(res)
17924	if err := googleapi.CheckResponse(res); err != nil {
17925		return nil, err
17926	}
17927	ret := &Empty{
17928		ServerResponse: googleapi.ServerResponse{
17929			Header:         res.Header,
17930			HTTPStatusCode: res.StatusCode,
17931		},
17932	}
17933	target := &ret
17934	if err := gensupport.DecodeResponse(target, res); err != nil {
17935		return nil, err
17936	}
17937	return ret, nil
17938	// {
17939	//   "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.",
17940	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
17941	//   "httpMethod": "DELETE",
17942	//   "id": "displayvideo.advertisers.insertionOrders.delete",
17943	//   "parameterOrder": [
17944	//     "advertiserId",
17945	//     "insertionOrderId"
17946	//   ],
17947	//   "parameters": {
17948	//     "advertiserId": {
17949	//       "description": "The ID of the advertiser this insertion order belongs to.",
17950	//       "format": "int64",
17951	//       "location": "path",
17952	//       "pattern": "^[^/]+$",
17953	//       "required": true,
17954	//       "type": "string"
17955	//     },
17956	//     "insertionOrderId": {
17957	//       "description": "The ID of the insertion order we need to delete.",
17958	//       "format": "int64",
17959	//       "location": "path",
17960	//       "pattern": "^[^/]+$",
17961	//       "required": true,
17962	//       "type": "string"
17963	//     }
17964	//   },
17965	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
17966	//   "response": {
17967	//     "$ref": "Empty"
17968	//   },
17969	//   "scopes": [
17970	//     "https://www.googleapis.com/auth/display-video"
17971	//   ]
17972	// }
17973
17974}
17975
17976// method id "displayvideo.advertisers.insertionOrders.get":
17977
17978type AdvertisersInsertionOrdersGetCall struct {
17979	s                *Service
17980	advertiserId     int64
17981	insertionOrderId int64
17982	urlParams_       gensupport.URLParams
17983	ifNoneMatch_     string
17984	ctx_             context.Context
17985	header_          http.Header
17986}
17987
17988// Get: Gets an insertion order. Returns error code `NOT_FOUND` if the
17989// insertion order does not exist.
17990func (r *AdvertisersInsertionOrdersService) Get(advertiserId int64, insertionOrderId int64) *AdvertisersInsertionOrdersGetCall {
17991	c := &AdvertisersInsertionOrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17992	c.advertiserId = advertiserId
17993	c.insertionOrderId = insertionOrderId
17994	return c
17995}
17996
17997// Fields allows partial responses to be retrieved. See
17998// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17999// for more information.
18000func (c *AdvertisersInsertionOrdersGetCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersGetCall {
18001	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18002	return c
18003}
18004
18005// IfNoneMatch sets the optional parameter which makes the operation
18006// fail if the object's ETag matches the given value. This is useful for
18007// getting updates only after the object has changed since the last
18008// request. Use googleapi.IsNotModified to check whether the response
18009// error from Do is the result of In-None-Match.
18010func (c *AdvertisersInsertionOrdersGetCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersGetCall {
18011	c.ifNoneMatch_ = entityTag
18012	return c
18013}
18014
18015// Context sets the context to be used in this call's Do method. Any
18016// pending HTTP request will be aborted if the provided context is
18017// canceled.
18018func (c *AdvertisersInsertionOrdersGetCall) Context(ctx context.Context) *AdvertisersInsertionOrdersGetCall {
18019	c.ctx_ = ctx
18020	return c
18021}
18022
18023// Header returns an http.Header that can be modified by the caller to
18024// add HTTP headers to the request.
18025func (c *AdvertisersInsertionOrdersGetCall) Header() http.Header {
18026	if c.header_ == nil {
18027		c.header_ = make(http.Header)
18028	}
18029	return c.header_
18030}
18031
18032func (c *AdvertisersInsertionOrdersGetCall) doRequest(alt string) (*http.Response, error) {
18033	reqHeaders := make(http.Header)
18034	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18035	for k, v := range c.header_ {
18036		reqHeaders[k] = v
18037	}
18038	reqHeaders.Set("User-Agent", c.s.userAgent())
18039	if c.ifNoneMatch_ != "" {
18040		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18041	}
18042	var body io.Reader = nil
18043	c.urlParams_.Set("alt", alt)
18044	c.urlParams_.Set("prettyPrint", "false")
18045	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
18046	urls += "?" + c.urlParams_.Encode()
18047	req, err := http.NewRequest("GET", 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		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
18055	})
18056	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18057}
18058
18059// Do executes the "displayvideo.advertisers.insertionOrders.get" call.
18060// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
18061// status code is an error. Response headers are in either
18062// *InsertionOrder.ServerResponse.Header or (if a response was returned
18063// at all) in error.(*googleapi.Error).Header. Use
18064// googleapi.IsNotModified to check whether the returned error was
18065// because http.StatusNotModified was returned.
18066func (c *AdvertisersInsertionOrdersGetCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
18067	gensupport.SetOptions(c.urlParams_, opts...)
18068	res, err := c.doRequest("json")
18069	if res != nil && res.StatusCode == http.StatusNotModified {
18070		if res.Body != nil {
18071			res.Body.Close()
18072		}
18073		return nil, &googleapi.Error{
18074			Code:   res.StatusCode,
18075			Header: res.Header,
18076		}
18077	}
18078	if err != nil {
18079		return nil, err
18080	}
18081	defer googleapi.CloseBody(res)
18082	if err := googleapi.CheckResponse(res); err != nil {
18083		return nil, err
18084	}
18085	ret := &InsertionOrder{
18086		ServerResponse: googleapi.ServerResponse{
18087			Header:         res.Header,
18088			HTTPStatusCode: res.StatusCode,
18089		},
18090	}
18091	target := &ret
18092	if err := gensupport.DecodeResponse(target, res); err != nil {
18093		return nil, err
18094	}
18095	return ret, nil
18096	// {
18097	//   "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.",
18098	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
18099	//   "httpMethod": "GET",
18100	//   "id": "displayvideo.advertisers.insertionOrders.get",
18101	//   "parameterOrder": [
18102	//     "advertiserId",
18103	//     "insertionOrderId"
18104	//   ],
18105	//   "parameters": {
18106	//     "advertiserId": {
18107	//       "description": "Required. The ID of the advertiser this insertion order belongs to.",
18108	//       "format": "int64",
18109	//       "location": "path",
18110	//       "pattern": "^[^/]+$",
18111	//       "required": true,
18112	//       "type": "string"
18113	//     },
18114	//     "insertionOrderId": {
18115	//       "description": "Required. The ID of the insertion order to fetch.",
18116	//       "format": "int64",
18117	//       "location": "path",
18118	//       "pattern": "^[^/]+$",
18119	//       "required": true,
18120	//       "type": "string"
18121	//     }
18122	//   },
18123	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
18124	//   "response": {
18125	//     "$ref": "InsertionOrder"
18126	//   },
18127	//   "scopes": [
18128	//     "https://www.googleapis.com/auth/display-video"
18129	//   ]
18130	// }
18131
18132}
18133
18134// method id "displayvideo.advertisers.insertionOrders.list":
18135
18136type AdvertisersInsertionOrdersListCall struct {
18137	s            *Service
18138	advertiserId int64
18139	urlParams_   gensupport.URLParams
18140	ifNoneMatch_ string
18141	ctx_         context.Context
18142	header_      http.Header
18143}
18144
18145// List: Lists insertion orders in an advertiser. The order is defined
18146// by the order_by parameter. If a filter by entity_status is not
18147// specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be
18148// included in the results.
18149func (r *AdvertisersInsertionOrdersService) List(advertiserId int64) *AdvertisersInsertionOrdersListCall {
18150	c := &AdvertisersInsertionOrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18151	c.advertiserId = advertiserId
18152	return c
18153}
18154
18155// Filter sets the optional parameter "filter": Allows filtering by
18156// insertion order properties. Supported syntax: * Filter expressions
18157// are made up of one or more restrictions. * Restrictions can be
18158// combined by `AND` or `OR` logical operators. A sequence of
18159// restrictions implicitly uses `AND`. * A restriction has the form of
18160// `{field} {operator} {value}`. * The operator used on
18161// `budget.budget_segments.date_range.end_date` must be LESS THAN (<). *
18162// The operator used on `updateTime` must be `GREATER THAN OR EQUAL TO
18163// (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operators used on all
18164// other fields must be `EQUALS (=)`. * Supported fields: - `campaignId`
18165// - `displayName` - `entityStatus` -
18166// `budget.budget_segments.date_range.end_date` (input as YYYY-MM-DD) -
18167// `updateTime` (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ)
18168// Examples: * All insertion orders under a campaign:
18169// `campaignId="1234" * All `ENTITY_STATUS_ACTIVE` or
18170// `ENTITY_STATUS_PAUSED` insertion orders under an advertiser:
18171// `(entityStatus="ENTITY_STATUS_ACTIVE" OR
18172// entityStatus="ENTITY_STATUS_PAUSED")` * All insertion orders whose
18173// budget segments' dates end before March 28, 2019:
18174// `budget.budget_segments.date_range.end_date<"2019-03-28" * All
18175// insertion orders with an update time less than or equal to
18176// `2020-11-04T18:54:47Z (format of ISO 8601)`:
18177// `updateTime<="2020-11-04T18:54:47Z" * All insertion orders with an
18178// update time greater than or equal to `2020-11-04T18:54:47Z (format of
18179// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this
18180// field should be no more than 500 characters.
18181func (c *AdvertisersInsertionOrdersListCall) Filter(filter string) *AdvertisersInsertionOrdersListCall {
18182	c.urlParams_.Set("filter", filter)
18183	return c
18184}
18185
18186// OrderBy sets the optional parameter "orderBy": Field by which to sort
18187// the list. Acceptable values are: * "displayName" (default) *
18188// "entityStatus" * "updateTime" The default sorting order is ascending.
18189// To specify descending order for a field, a suffix "desc" should be
18190// added to the field name. Example: `displayName desc`.
18191func (c *AdvertisersInsertionOrdersListCall) OrderBy(orderBy string) *AdvertisersInsertionOrdersListCall {
18192	c.urlParams_.Set("orderBy", orderBy)
18193	return c
18194}
18195
18196// PageSize sets the optional parameter "pageSize": Requested page size.
18197// Must be between `1` and `100`. If unspecified will default to `100`.
18198// Returns error code `INVALID_ARGUMENT` if an invalid value is
18199// specified.
18200func (c *AdvertisersInsertionOrdersListCall) PageSize(pageSize int64) *AdvertisersInsertionOrdersListCall {
18201	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18202	return c
18203}
18204
18205// PageToken sets the optional parameter "pageToken": A token
18206// identifying a page of results the server should return. Typically,
18207// this is the value of next_page_token returned from the previous call
18208// to `ListInsertionOrders` method. If not specified, the first page of
18209// results will be returned.
18210func (c *AdvertisersInsertionOrdersListCall) PageToken(pageToken string) *AdvertisersInsertionOrdersListCall {
18211	c.urlParams_.Set("pageToken", pageToken)
18212	return c
18213}
18214
18215// Fields allows partial responses to be retrieved. See
18216// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18217// for more information.
18218func (c *AdvertisersInsertionOrdersListCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersListCall {
18219	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18220	return c
18221}
18222
18223// IfNoneMatch sets the optional parameter which makes the operation
18224// fail if the object's ETag matches the given value. This is useful for
18225// getting updates only after the object has changed since the last
18226// request. Use googleapi.IsNotModified to check whether the response
18227// error from Do is the result of In-None-Match.
18228func (c *AdvertisersInsertionOrdersListCall) IfNoneMatch(entityTag string) *AdvertisersInsertionOrdersListCall {
18229	c.ifNoneMatch_ = entityTag
18230	return c
18231}
18232
18233// Context sets the context to be used in this call's Do method. Any
18234// pending HTTP request will be aborted if the provided context is
18235// canceled.
18236func (c *AdvertisersInsertionOrdersListCall) Context(ctx context.Context) *AdvertisersInsertionOrdersListCall {
18237	c.ctx_ = ctx
18238	return c
18239}
18240
18241// Header returns an http.Header that can be modified by the caller to
18242// add HTTP headers to the request.
18243func (c *AdvertisersInsertionOrdersListCall) Header() http.Header {
18244	if c.header_ == nil {
18245		c.header_ = make(http.Header)
18246	}
18247	return c.header_
18248}
18249
18250func (c *AdvertisersInsertionOrdersListCall) doRequest(alt string) (*http.Response, error) {
18251	reqHeaders := make(http.Header)
18252	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18253	for k, v := range c.header_ {
18254		reqHeaders[k] = v
18255	}
18256	reqHeaders.Set("User-Agent", c.s.userAgent())
18257	if c.ifNoneMatch_ != "" {
18258		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18259	}
18260	var body io.Reader = nil
18261	c.urlParams_.Set("alt", alt)
18262	c.urlParams_.Set("prettyPrint", "false")
18263	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders")
18264	urls += "?" + c.urlParams_.Encode()
18265	req, err := http.NewRequest("GET", urls, body)
18266	if err != nil {
18267		return nil, err
18268	}
18269	req.Header = reqHeaders
18270	googleapi.Expand(req.URL, map[string]string{
18271		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18272	})
18273	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18274}
18275
18276// Do executes the "displayvideo.advertisers.insertionOrders.list" call.
18277// Exactly one of *ListInsertionOrdersResponse or error will be non-nil.
18278// Any non-2xx status code is an error. Response headers are in either
18279// *ListInsertionOrdersResponse.ServerResponse.Header or (if a response
18280// was returned at all) in error.(*googleapi.Error).Header. Use
18281// googleapi.IsNotModified to check whether the returned error was
18282// because http.StatusNotModified was returned.
18283func (c *AdvertisersInsertionOrdersListCall) Do(opts ...googleapi.CallOption) (*ListInsertionOrdersResponse, error) {
18284	gensupport.SetOptions(c.urlParams_, opts...)
18285	res, err := c.doRequest("json")
18286	if res != nil && res.StatusCode == http.StatusNotModified {
18287		if res.Body != nil {
18288			res.Body.Close()
18289		}
18290		return nil, &googleapi.Error{
18291			Code:   res.StatusCode,
18292			Header: res.Header,
18293		}
18294	}
18295	if err != nil {
18296		return nil, err
18297	}
18298	defer googleapi.CloseBody(res)
18299	if err := googleapi.CheckResponse(res); err != nil {
18300		return nil, err
18301	}
18302	ret := &ListInsertionOrdersResponse{
18303		ServerResponse: googleapi.ServerResponse{
18304			Header:         res.Header,
18305			HTTPStatusCode: res.StatusCode,
18306		},
18307	}
18308	target := &ret
18309	if err := gensupport.DecodeResponse(target, res); err != nil {
18310		return nil, err
18311	}
18312	return ret, nil
18313	// {
18314	//   "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.",
18315	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders",
18316	//   "httpMethod": "GET",
18317	//   "id": "displayvideo.advertisers.insertionOrders.list",
18318	//   "parameterOrder": [
18319	//     "advertiserId"
18320	//   ],
18321	//   "parameters": {
18322	//     "advertiserId": {
18323	//       "description": "Required. The ID of the advertiser to list insertion orders for.",
18324	//       "format": "int64",
18325	//       "location": "path",
18326	//       "pattern": "^[^/]+$",
18327	//       "required": true,
18328	//       "type": "string"
18329	//     },
18330	//     "filter": {
18331	//       "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.",
18332	//       "location": "query",
18333	//       "type": "string"
18334	//     },
18335	//     "orderBy": {
18336	//       "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`.",
18337	//       "location": "query",
18338	//       "type": "string"
18339	//     },
18340	//     "pageSize": {
18341	//       "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.",
18342	//       "format": "int32",
18343	//       "location": "query",
18344	//       "type": "integer"
18345	//     },
18346	//     "pageToken": {
18347	//       "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.",
18348	//       "location": "query",
18349	//       "type": "string"
18350	//     }
18351	//   },
18352	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders",
18353	//   "response": {
18354	//     "$ref": "ListInsertionOrdersResponse"
18355	//   },
18356	//   "scopes": [
18357	//     "https://www.googleapis.com/auth/display-video"
18358	//   ]
18359	// }
18360
18361}
18362
18363// Pages invokes f for each page of results.
18364// A non-nil error returned from f will halt the iteration.
18365// The provided context supersedes any context provided to the Context method.
18366func (c *AdvertisersInsertionOrdersListCall) Pages(ctx context.Context, f func(*ListInsertionOrdersResponse) error) error {
18367	c.ctx_ = ctx
18368	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18369	for {
18370		x, err := c.Do()
18371		if err != nil {
18372			return err
18373		}
18374		if err := f(x); err != nil {
18375			return err
18376		}
18377		if x.NextPageToken == "" {
18378			return nil
18379		}
18380		c.PageToken(x.NextPageToken)
18381	}
18382}
18383
18384// method id "displayvideo.advertisers.insertionOrders.patch":
18385
18386type AdvertisersInsertionOrdersPatchCall struct {
18387	s                *Service
18388	advertiserId     int64
18389	insertionOrderId int64
18390	insertionorder   *InsertionOrder
18391	urlParams_       gensupport.URLParams
18392	ctx_             context.Context
18393	header_          http.Header
18394}
18395
18396// Patch: Updates an existing insertion order. Returns the updated
18397// insertion order if successful.
18398func (r *AdvertisersInsertionOrdersService) Patch(advertiserId int64, insertionOrderId int64, insertionorder *InsertionOrder) *AdvertisersInsertionOrdersPatchCall {
18399	c := &AdvertisersInsertionOrdersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18400	c.advertiserId = advertiserId
18401	c.insertionOrderId = insertionOrderId
18402	c.insertionorder = insertionorder
18403	return c
18404}
18405
18406// UpdateMask sets the optional parameter "updateMask": Required. The
18407// mask to control which fields to update.
18408func (c *AdvertisersInsertionOrdersPatchCall) UpdateMask(updateMask string) *AdvertisersInsertionOrdersPatchCall {
18409	c.urlParams_.Set("updateMask", updateMask)
18410	return c
18411}
18412
18413// Fields allows partial responses to be retrieved. See
18414// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18415// for more information.
18416func (c *AdvertisersInsertionOrdersPatchCall) Fields(s ...googleapi.Field) *AdvertisersInsertionOrdersPatchCall {
18417	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18418	return c
18419}
18420
18421// Context sets the context to be used in this call's Do method. Any
18422// pending HTTP request will be aborted if the provided context is
18423// canceled.
18424func (c *AdvertisersInsertionOrdersPatchCall) Context(ctx context.Context) *AdvertisersInsertionOrdersPatchCall {
18425	c.ctx_ = ctx
18426	return c
18427}
18428
18429// Header returns an http.Header that can be modified by the caller to
18430// add HTTP headers to the request.
18431func (c *AdvertisersInsertionOrdersPatchCall) Header() http.Header {
18432	if c.header_ == nil {
18433		c.header_ = make(http.Header)
18434	}
18435	return c.header_
18436}
18437
18438func (c *AdvertisersInsertionOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
18439	reqHeaders := make(http.Header)
18440	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18441	for k, v := range c.header_ {
18442		reqHeaders[k] = v
18443	}
18444	reqHeaders.Set("User-Agent", c.s.userAgent())
18445	var body io.Reader = nil
18446	body, err := googleapi.WithoutDataWrapper.JSONReader(c.insertionorder)
18447	if err != nil {
18448		return nil, err
18449	}
18450	reqHeaders.Set("Content-Type", "application/json")
18451	c.urlParams_.Set("alt", alt)
18452	c.urlParams_.Set("prettyPrint", "false")
18453	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}")
18454	urls += "?" + c.urlParams_.Encode()
18455	req, err := http.NewRequest("PATCH", urls, body)
18456	if err != nil {
18457		return nil, err
18458	}
18459	req.Header = reqHeaders
18460	googleapi.Expand(req.URL, map[string]string{
18461		"advertiserId":     strconv.FormatInt(c.advertiserId, 10),
18462		"insertionOrderId": strconv.FormatInt(c.insertionOrderId, 10),
18463	})
18464	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18465}
18466
18467// Do executes the "displayvideo.advertisers.insertionOrders.patch" call.
18468// Exactly one of *InsertionOrder or error will be non-nil. Any non-2xx
18469// status code is an error. Response headers are in either
18470// *InsertionOrder.ServerResponse.Header or (if a response was returned
18471// at all) in error.(*googleapi.Error).Header. Use
18472// googleapi.IsNotModified to check whether the returned error was
18473// because http.StatusNotModified was returned.
18474func (c *AdvertisersInsertionOrdersPatchCall) Do(opts ...googleapi.CallOption) (*InsertionOrder, error) {
18475	gensupport.SetOptions(c.urlParams_, opts...)
18476	res, err := c.doRequest("json")
18477	if res != nil && res.StatusCode == http.StatusNotModified {
18478		if res.Body != nil {
18479			res.Body.Close()
18480		}
18481		return nil, &googleapi.Error{
18482			Code:   res.StatusCode,
18483			Header: res.Header,
18484		}
18485	}
18486	if err != nil {
18487		return nil, err
18488	}
18489	defer googleapi.CloseBody(res)
18490	if err := googleapi.CheckResponse(res); err != nil {
18491		return nil, err
18492	}
18493	ret := &InsertionOrder{
18494		ServerResponse: googleapi.ServerResponse{
18495			Header:         res.Header,
18496			HTTPStatusCode: res.StatusCode,
18497		},
18498	}
18499	target := &ret
18500	if err := gensupport.DecodeResponse(target, res); err != nil {
18501		return nil, err
18502	}
18503	return ret, nil
18504	// {
18505	//   "description": "Updates an existing insertion order. Returns the updated insertion order if successful.",
18506	//   "flatPath": "v1/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}",
18507	//   "httpMethod": "PATCH",
18508	//   "id": "displayvideo.advertisers.insertionOrders.patch",
18509	//   "parameterOrder": [
18510	//     "advertiserId",
18511	//     "insertionOrderId"
18512	//   ],
18513	//   "parameters": {
18514	//     "advertiserId": {
18515	//       "description": "Output only. The unique ID of the advertiser the insertion order belongs to.",
18516	//       "format": "int64",
18517	//       "location": "path",
18518	//       "pattern": "^[^/]+$",
18519	//       "required": true,
18520	//       "type": "string"
18521	//     },
18522	//     "insertionOrderId": {
18523	//       "description": "Output only. The unique ID of the insertion order. Assigned by the system.",
18524	//       "format": "int64",
18525	//       "location": "path",
18526	//       "pattern": "^[^/]+$",
18527	//       "required": true,
18528	//       "type": "string"
18529	//     },
18530	//     "updateMask": {
18531	//       "description": "Required. The mask to control which fields to update.",
18532	//       "format": "google-fieldmask",
18533	//       "location": "query",
18534	//       "type": "string"
18535	//     }
18536	//   },
18537	//   "path": "v1/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}",
18538	//   "request": {
18539	//     "$ref": "InsertionOrder"
18540	//   },
18541	//   "response": {
18542	//     "$ref": "InsertionOrder"
18543	//   },
18544	//   "scopes": [
18545	//     "https://www.googleapis.com/auth/display-video"
18546	//   ]
18547	// }
18548
18549}
18550
18551// method id "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions":
18552
18553type AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall struct {
18554	s                                               *Service
18555	advertiserId                                    int64
18556	lineItemId                                      int64
18557	bulkeditlineitemassignedtargetingoptionsrequest *BulkEditLineItemAssignedTargetingOptionsRequest
18558	urlParams_                                      gensupport.URLParams
18559	ctx_                                            context.Context
18560	header_                                         http.Header
18561}
18562
18563// BulkEditLineItemAssignedTargetingOptions: Bulk edits targeting
18564// options under a single line item. The operation will delete the
18565// assigned targeting options provided in
18566// BulkEditLineItemAssignedTargetingOptionsRequest.delete_requests and
18567// then create the assigned targeting options provided in
18568// BulkEditLineItemAssignedTargetingOptionsRequest.create_requests .
18569func (r *AdvertisersLineItemsService) BulkEditLineItemAssignedTargetingOptions(advertiserId int64, lineItemId int64, bulkeditlineitemassignedtargetingoptionsrequest *BulkEditLineItemAssignedTargetingOptionsRequest) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
18570	c := &AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18571	c.advertiserId = advertiserId
18572	c.lineItemId = lineItemId
18573	c.bulkeditlineitemassignedtargetingoptionsrequest = bulkeditlineitemassignedtargetingoptionsrequest
18574	return c
18575}
18576
18577// Fields allows partial responses to be retrieved. See
18578// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18579// for more information.
18580func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
18581	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18582	return c
18583}
18584
18585// Context sets the context to be used in this call's Do method. Any
18586// pending HTTP request will be aborted if the provided context is
18587// canceled.
18588func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall {
18589	c.ctx_ = ctx
18590	return c
18591}
18592
18593// Header returns an http.Header that can be modified by the caller to
18594// add HTTP headers to the request.
18595func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Header() http.Header {
18596	if c.header_ == nil {
18597		c.header_ = make(http.Header)
18598	}
18599	return c.header_
18600}
18601
18602func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
18603	reqHeaders := make(http.Header)
18604	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18605	for k, v := range c.header_ {
18606		reqHeaders[k] = v
18607	}
18608	reqHeaders.Set("User-Agent", c.s.userAgent())
18609	var body io.Reader = nil
18610	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditlineitemassignedtargetingoptionsrequest)
18611	if err != nil {
18612		return nil, err
18613	}
18614	reqHeaders.Set("Content-Type", "application/json")
18615	c.urlParams_.Set("alt", alt)
18616	c.urlParams_.Set("prettyPrint", "false")
18617	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkEditLineItemAssignedTargetingOptions")
18618	urls += "?" + c.urlParams_.Encode()
18619	req, err := http.NewRequest("POST", urls, body)
18620	if err != nil {
18621		return nil, err
18622	}
18623	req.Header = reqHeaders
18624	googleapi.Expand(req.URL, map[string]string{
18625		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18626		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
18627	})
18628	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18629}
18630
18631// Do executes the "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions" call.
18632// Exactly one of *BulkEditLineItemAssignedTargetingOptionsResponse or
18633// error will be non-nil. Any non-2xx status code is an error. Response
18634// headers are in either
18635// *BulkEditLineItemAssignedTargetingOptionsResponse.ServerResponse.Heade
18636// r or (if a response was returned at all) in
18637// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18638// whether the returned error was because http.StatusNotModified was
18639// returned.
18640func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditLineItemAssignedTargetingOptionsResponse, error) {
18641	gensupport.SetOptions(c.urlParams_, opts...)
18642	res, err := c.doRequest("json")
18643	if res != nil && res.StatusCode == http.StatusNotModified {
18644		if res.Body != nil {
18645			res.Body.Close()
18646		}
18647		return nil, &googleapi.Error{
18648			Code:   res.StatusCode,
18649			Header: res.Header,
18650		}
18651	}
18652	if err != nil {
18653		return nil, err
18654	}
18655	defer googleapi.CloseBody(res)
18656	if err := googleapi.CheckResponse(res); err != nil {
18657		return nil, err
18658	}
18659	ret := &BulkEditLineItemAssignedTargetingOptionsResponse{
18660		ServerResponse: googleapi.ServerResponse{
18661			Header:         res.Header,
18662			HTTPStatusCode: res.StatusCode,
18663		},
18664	}
18665	target := &ret
18666	if err := gensupport.DecodeResponse(target, res); err != nil {
18667		return nil, err
18668	}
18669	return ret, nil
18670	// {
18671	//   "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 .",
18672	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkEditLineItemAssignedTargetingOptions",
18673	//   "httpMethod": "POST",
18674	//   "id": "displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions",
18675	//   "parameterOrder": [
18676	//     "advertiserId",
18677	//     "lineItemId"
18678	//   ],
18679	//   "parameters": {
18680	//     "advertiserId": {
18681	//       "description": "Required. The ID of the advertiser the line item belongs to.",
18682	//       "format": "int64",
18683	//       "location": "path",
18684	//       "pattern": "^[^/]+$",
18685	//       "required": true,
18686	//       "type": "string"
18687	//     },
18688	//     "lineItemId": {
18689	//       "description": "Required. The ID of the line item the assigned targeting option will belong to.",
18690	//       "format": "int64",
18691	//       "location": "path",
18692	//       "pattern": "^[^/]+$",
18693	//       "required": true,
18694	//       "type": "string"
18695	//     }
18696	//   },
18697	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkEditLineItemAssignedTargetingOptions",
18698	//   "request": {
18699	//     "$ref": "BulkEditLineItemAssignedTargetingOptionsRequest"
18700	//   },
18701	//   "response": {
18702	//     "$ref": "BulkEditLineItemAssignedTargetingOptionsResponse"
18703	//   },
18704	//   "scopes": [
18705	//     "https://www.googleapis.com/auth/display-video"
18706	//   ]
18707	// }
18708
18709}
18710
18711// method id "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions":
18712
18713type AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall struct {
18714	s            *Service
18715	advertiserId int64
18716	lineItemId   int64
18717	urlParams_   gensupport.URLParams
18718	ifNoneMatch_ string
18719	ctx_         context.Context
18720	header_      http.Header
18721}
18722
18723// BulkListLineItemAssignedTargetingOptions: Lists assigned targeting
18724// options of a line item across targeting types.
18725func (r *AdvertisersLineItemsService) BulkListLineItemAssignedTargetingOptions(advertiserId int64, lineItemId int64) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18726	c := &AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18727	c.advertiserId = advertiserId
18728	c.lineItemId = lineItemId
18729	return c
18730}
18731
18732// Filter sets the optional parameter "filter": Allows filtering by
18733// assigned targeting option properties. Supported syntax: * Filter
18734// expressions are made up of one or more restrictions. * Restrictions
18735// can be combined by the logical operator `OR` on the same field. * A
18736// restriction has the form of `{field} {operator} {value}`. * The
18737// operator must be `EQUALS (=)`. * Supported fields: - `targetingType`
18738// - `inheritance` Examples: * AssignedTargetingOptions of targeting
18739// type TARGETING_TYPE_PROXIMITY_LOCATION_LIST or TARGETING_TYPE_CHANNEL
18740// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR
18741// targetingType="TARGETING_TYPE_CHANNEL" * AssignedTargetingOptions
18742// with inheritance status of NOT_INHERITED or INHERITED_FROM_PARTNER
18743// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"
18744// The length of this field should be no more than 500 characters.
18745func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Filter(filter string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18746	c.urlParams_.Set("filter", filter)
18747	return c
18748}
18749
18750// OrderBy sets the optional parameter "orderBy": Field by which to sort
18751// the list. Acceptable values are: * `targetingType` (default) The
18752// default sorting order is ascending. To specify descending order for a
18753// field, a suffix "desc" should be added to the field name. Example:
18754// `targetingType desc`.
18755func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) OrderBy(orderBy string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18756	c.urlParams_.Set("orderBy", orderBy)
18757	return c
18758}
18759
18760// PageSize sets the optional parameter "pageSize": Requested page size.
18761// The size must be an integer between `1` and `5000`. If unspecified,
18762// the default is '5000'. Returns error code `INVALID_ARGUMENT` if an
18763// invalid value is specified.
18764func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) PageSize(pageSize int64) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18765	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
18766	return c
18767}
18768
18769// PageToken sets the optional parameter "pageToken": A token that lets
18770// the client fetch the next page of results. Typically, this is the
18771// value of next_page_token returned from the previous call to
18772// `BulkListLineItemAssignedTargetingOptions` method. If not specified,
18773// the first page of results will be returned.
18774func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) PageToken(pageToken string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18775	c.urlParams_.Set("pageToken", pageToken)
18776	return c
18777}
18778
18779// Fields allows partial responses to be retrieved. See
18780// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18781// for more information.
18782func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18783	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18784	return c
18785}
18786
18787// IfNoneMatch sets the optional parameter which makes the operation
18788// fail if the object's ETag matches the given value. This is useful for
18789// getting updates only after the object has changed since the last
18790// request. Use googleapi.IsNotModified to check whether the response
18791// error from Do is the result of In-None-Match.
18792func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18793	c.ifNoneMatch_ = entityTag
18794	return c
18795}
18796
18797// Context sets the context to be used in this call's Do method. Any
18798// pending HTTP request will be aborted if the provided context is
18799// canceled.
18800func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Context(ctx context.Context) *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall {
18801	c.ctx_ = ctx
18802	return c
18803}
18804
18805// Header returns an http.Header that can be modified by the caller to
18806// add HTTP headers to the request.
18807func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Header() http.Header {
18808	if c.header_ == nil {
18809		c.header_ = make(http.Header)
18810	}
18811	return c.header_
18812}
18813
18814func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
18815	reqHeaders := make(http.Header)
18816	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18817	for k, v := range c.header_ {
18818		reqHeaders[k] = v
18819	}
18820	reqHeaders.Set("User-Agent", c.s.userAgent())
18821	if c.ifNoneMatch_ != "" {
18822		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18823	}
18824	var body io.Reader = nil
18825	c.urlParams_.Set("alt", alt)
18826	c.urlParams_.Set("prettyPrint", "false")
18827	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkListLineItemAssignedTargetingOptions")
18828	urls += "?" + c.urlParams_.Encode()
18829	req, err := http.NewRequest("GET", urls, body)
18830	if err != nil {
18831		return nil, err
18832	}
18833	req.Header = reqHeaders
18834	googleapi.Expand(req.URL, map[string]string{
18835		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
18836		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
18837	})
18838	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18839}
18840
18841// Do executes the "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions" call.
18842// Exactly one of *BulkListLineItemAssignedTargetingOptionsResponse or
18843// error will be non-nil. Any non-2xx status code is an error. Response
18844// headers are in either
18845// *BulkListLineItemAssignedTargetingOptionsResponse.ServerResponse.Heade
18846// r or (if a response was returned at all) in
18847// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
18848// whether the returned error was because http.StatusNotModified was
18849// returned.
18850func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkListLineItemAssignedTargetingOptionsResponse, error) {
18851	gensupport.SetOptions(c.urlParams_, opts...)
18852	res, err := c.doRequest("json")
18853	if res != nil && res.StatusCode == http.StatusNotModified {
18854		if res.Body != nil {
18855			res.Body.Close()
18856		}
18857		return nil, &googleapi.Error{
18858			Code:   res.StatusCode,
18859			Header: res.Header,
18860		}
18861	}
18862	if err != nil {
18863		return nil, err
18864	}
18865	defer googleapi.CloseBody(res)
18866	if err := googleapi.CheckResponse(res); err != nil {
18867		return nil, err
18868	}
18869	ret := &BulkListLineItemAssignedTargetingOptionsResponse{
18870		ServerResponse: googleapi.ServerResponse{
18871			Header:         res.Header,
18872			HTTPStatusCode: res.StatusCode,
18873		},
18874	}
18875	target := &ret
18876	if err := gensupport.DecodeResponse(target, res); err != nil {
18877		return nil, err
18878	}
18879	return ret, nil
18880	// {
18881	//   "description": "Lists assigned targeting options of a line item across targeting types.",
18882	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}:bulkListLineItemAssignedTargetingOptions",
18883	//   "httpMethod": "GET",
18884	//   "id": "displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions",
18885	//   "parameterOrder": [
18886	//     "advertiserId",
18887	//     "lineItemId"
18888	//   ],
18889	//   "parameters": {
18890	//     "advertiserId": {
18891	//       "description": "Required. The ID of the advertiser the line item belongs to.",
18892	//       "format": "int64",
18893	//       "location": "path",
18894	//       "pattern": "^[^/]+$",
18895	//       "required": true,
18896	//       "type": "string"
18897	//     },
18898	//     "filter": {
18899	//       "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.",
18900	//       "location": "query",
18901	//       "type": "string"
18902	//     },
18903	//     "lineItemId": {
18904	//       "description": "Required. The ID of the line item to list assigned targeting options for.",
18905	//       "format": "int64",
18906	//       "location": "path",
18907	//       "pattern": "^[^/]+$",
18908	//       "required": true,
18909	//       "type": "string"
18910	//     },
18911	//     "orderBy": {
18912	//       "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`.",
18913	//       "location": "query",
18914	//       "type": "string"
18915	//     },
18916	//     "pageSize": {
18917	//       "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.",
18918	//       "format": "int32",
18919	//       "location": "query",
18920	//       "type": "integer"
18921	//     },
18922	//     "pageToken": {
18923	//       "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.",
18924	//       "location": "query",
18925	//       "type": "string"
18926	//     }
18927	//   },
18928	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}:bulkListLineItemAssignedTargetingOptions",
18929	//   "response": {
18930	//     "$ref": "BulkListLineItemAssignedTargetingOptionsResponse"
18931	//   },
18932	//   "scopes": [
18933	//     "https://www.googleapis.com/auth/display-video"
18934	//   ]
18935	// }
18936
18937}
18938
18939// Pages invokes f for each page of results.
18940// A non-nil error returned from f will halt the iteration.
18941// The provided context supersedes any context provided to the Context method.
18942func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) Pages(ctx context.Context, f func(*BulkListLineItemAssignedTargetingOptionsResponse) error) error {
18943	c.ctx_ = ctx
18944	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18945	for {
18946		x, err := c.Do()
18947		if err != nil {
18948			return err
18949		}
18950		if err := f(x); err != nil {
18951			return err
18952		}
18953		if x.NextPageToken == "" {
18954			return nil
18955		}
18956		c.PageToken(x.NextPageToken)
18957	}
18958}
18959
18960// method id "displayvideo.advertisers.lineItems.create":
18961
18962type AdvertisersLineItemsCreateCall struct {
18963	s            *Service
18964	advertiserId int64
18965	lineitem     *LineItem
18966	urlParams_   gensupport.URLParams
18967	ctx_         context.Context
18968	header_      http.Header
18969}
18970
18971// Create: Creates a new line item. Returns the newly created line item
18972// if successful.
18973func (r *AdvertisersLineItemsService) Create(advertiserId int64, lineitem *LineItem) *AdvertisersLineItemsCreateCall {
18974	c := &AdvertisersLineItemsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18975	c.advertiserId = advertiserId
18976	c.lineitem = lineitem
18977	return c
18978}
18979
18980// Fields allows partial responses to be retrieved. See
18981// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18982// for more information.
18983func (c *AdvertisersLineItemsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsCreateCall {
18984	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18985	return c
18986}
18987
18988// Context sets the context to be used in this call's Do method. Any
18989// pending HTTP request will be aborted if the provided context is
18990// canceled.
18991func (c *AdvertisersLineItemsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsCreateCall {
18992	c.ctx_ = ctx
18993	return c
18994}
18995
18996// Header returns an http.Header that can be modified by the caller to
18997// add HTTP headers to the request.
18998func (c *AdvertisersLineItemsCreateCall) Header() http.Header {
18999	if c.header_ == nil {
19000		c.header_ = make(http.Header)
19001	}
19002	return c.header_
19003}
19004
19005func (c *AdvertisersLineItemsCreateCall) doRequest(alt string) (*http.Response, error) {
19006	reqHeaders := make(http.Header)
19007	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19008	for k, v := range c.header_ {
19009		reqHeaders[k] = v
19010	}
19011	reqHeaders.Set("User-Agent", c.s.userAgent())
19012	var body io.Reader = nil
19013	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
19014	if err != nil {
19015		return nil, err
19016	}
19017	reqHeaders.Set("Content-Type", "application/json")
19018	c.urlParams_.Set("alt", alt)
19019	c.urlParams_.Set("prettyPrint", "false")
19020	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems")
19021	urls += "?" + c.urlParams_.Encode()
19022	req, err := http.NewRequest("POST", urls, body)
19023	if err != nil {
19024		return nil, err
19025	}
19026	req.Header = reqHeaders
19027	googleapi.Expand(req.URL, map[string]string{
19028		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19029	})
19030	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19031}
19032
19033// Do executes the "displayvideo.advertisers.lineItems.create" call.
19034// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
19035// code is an error. Response headers are in either
19036// *LineItem.ServerResponse.Header or (if a response was returned at
19037// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19038// to check whether the returned error was because
19039// http.StatusNotModified was returned.
19040func (c *AdvertisersLineItemsCreateCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
19041	gensupport.SetOptions(c.urlParams_, opts...)
19042	res, err := c.doRequest("json")
19043	if res != nil && res.StatusCode == http.StatusNotModified {
19044		if res.Body != nil {
19045			res.Body.Close()
19046		}
19047		return nil, &googleapi.Error{
19048			Code:   res.StatusCode,
19049			Header: res.Header,
19050		}
19051	}
19052	if err != nil {
19053		return nil, err
19054	}
19055	defer googleapi.CloseBody(res)
19056	if err := googleapi.CheckResponse(res); err != nil {
19057		return nil, err
19058	}
19059	ret := &LineItem{
19060		ServerResponse: googleapi.ServerResponse{
19061			Header:         res.Header,
19062			HTTPStatusCode: res.StatusCode,
19063		},
19064	}
19065	target := &ret
19066	if err := gensupport.DecodeResponse(target, res); err != nil {
19067		return nil, err
19068	}
19069	return ret, nil
19070	// {
19071	//   "description": "Creates a new line item. Returns the newly created line item if successful.",
19072	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems",
19073	//   "httpMethod": "POST",
19074	//   "id": "displayvideo.advertisers.lineItems.create",
19075	//   "parameterOrder": [
19076	//     "advertiserId"
19077	//   ],
19078	//   "parameters": {
19079	//     "advertiserId": {
19080	//       "description": "Output only. The unique ID of the advertiser the line item belongs to.",
19081	//       "format": "int64",
19082	//       "location": "path",
19083	//       "pattern": "^[^/]+$",
19084	//       "required": true,
19085	//       "type": "string"
19086	//     }
19087	//   },
19088	//   "path": "v1/advertisers/{+advertiserId}/lineItems",
19089	//   "request": {
19090	//     "$ref": "LineItem"
19091	//   },
19092	//   "response": {
19093	//     "$ref": "LineItem"
19094	//   },
19095	//   "scopes": [
19096	//     "https://www.googleapis.com/auth/display-video"
19097	//   ]
19098	// }
19099
19100}
19101
19102// method id "displayvideo.advertisers.lineItems.delete":
19103
19104type AdvertisersLineItemsDeleteCall struct {
19105	s            *Service
19106	advertiserId int64
19107	lineItemId   int64
19108	urlParams_   gensupport.URLParams
19109	ctx_         context.Context
19110	header_      http.Header
19111}
19112
19113// Delete: Deletes a line item. Returns error code `NOT_FOUND` if the
19114// line item does not exist. The line item should be archived first,
19115// i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to
19116// delete it.
19117func (r *AdvertisersLineItemsService) Delete(advertiserId int64, lineItemId int64) *AdvertisersLineItemsDeleteCall {
19118	c := &AdvertisersLineItemsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19119	c.advertiserId = advertiserId
19120	c.lineItemId = lineItemId
19121	return c
19122}
19123
19124// Fields allows partial responses to be retrieved. See
19125// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19126// for more information.
19127func (c *AdvertisersLineItemsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsDeleteCall {
19128	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19129	return c
19130}
19131
19132// Context sets the context to be used in this call's Do method. Any
19133// pending HTTP request will be aborted if the provided context is
19134// canceled.
19135func (c *AdvertisersLineItemsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsDeleteCall {
19136	c.ctx_ = ctx
19137	return c
19138}
19139
19140// Header returns an http.Header that can be modified by the caller to
19141// add HTTP headers to the request.
19142func (c *AdvertisersLineItemsDeleteCall) Header() http.Header {
19143	if c.header_ == nil {
19144		c.header_ = make(http.Header)
19145	}
19146	return c.header_
19147}
19148
19149func (c *AdvertisersLineItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
19150	reqHeaders := make(http.Header)
19151	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19152	for k, v := range c.header_ {
19153		reqHeaders[k] = v
19154	}
19155	reqHeaders.Set("User-Agent", c.s.userAgent())
19156	var body io.Reader = nil
19157	c.urlParams_.Set("alt", alt)
19158	c.urlParams_.Set("prettyPrint", "false")
19159	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
19160	urls += "?" + c.urlParams_.Encode()
19161	req, err := http.NewRequest("DELETE", urls, body)
19162	if err != nil {
19163		return nil, err
19164	}
19165	req.Header = reqHeaders
19166	googleapi.Expand(req.URL, map[string]string{
19167		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19168		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
19169	})
19170	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19171}
19172
19173// Do executes the "displayvideo.advertisers.lineItems.delete" call.
19174// Exactly one of *Empty or error will be non-nil. Any non-2xx status
19175// code is an error. Response headers are in either
19176// *Empty.ServerResponse.Header or (if a response was returned at all)
19177// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
19178// check whether the returned error was because http.StatusNotModified
19179// was returned.
19180func (c *AdvertisersLineItemsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
19181	gensupport.SetOptions(c.urlParams_, opts...)
19182	res, err := c.doRequest("json")
19183	if res != nil && res.StatusCode == http.StatusNotModified {
19184		if res.Body != nil {
19185			res.Body.Close()
19186		}
19187		return nil, &googleapi.Error{
19188			Code:   res.StatusCode,
19189			Header: res.Header,
19190		}
19191	}
19192	if err != nil {
19193		return nil, err
19194	}
19195	defer googleapi.CloseBody(res)
19196	if err := googleapi.CheckResponse(res); err != nil {
19197		return nil, err
19198	}
19199	ret := &Empty{
19200		ServerResponse: googleapi.ServerResponse{
19201			Header:         res.Header,
19202			HTTPStatusCode: res.StatusCode,
19203		},
19204	}
19205	target := &ret
19206	if err := gensupport.DecodeResponse(target, res); err != nil {
19207		return nil, err
19208	}
19209	return ret, nil
19210	// {
19211	//   "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.",
19212	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
19213	//   "httpMethod": "DELETE",
19214	//   "id": "displayvideo.advertisers.lineItems.delete",
19215	//   "parameterOrder": [
19216	//     "advertiserId",
19217	//     "lineItemId"
19218	//   ],
19219	//   "parameters": {
19220	//     "advertiserId": {
19221	//       "description": "The ID of the advertiser this line item belongs to.",
19222	//       "format": "int64",
19223	//       "location": "path",
19224	//       "pattern": "^[^/]+$",
19225	//       "required": true,
19226	//       "type": "string"
19227	//     },
19228	//     "lineItemId": {
19229	//       "description": "The ID of the line item we need to fetch.",
19230	//       "format": "int64",
19231	//       "location": "path",
19232	//       "pattern": "^[^/]+$",
19233	//       "required": true,
19234	//       "type": "string"
19235	//     }
19236	//   },
19237	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
19238	//   "response": {
19239	//     "$ref": "Empty"
19240	//   },
19241	//   "scopes": [
19242	//     "https://www.googleapis.com/auth/display-video"
19243	//   ]
19244	// }
19245
19246}
19247
19248// method id "displayvideo.advertisers.lineItems.get":
19249
19250type AdvertisersLineItemsGetCall struct {
19251	s            *Service
19252	advertiserId int64
19253	lineItemId   int64
19254	urlParams_   gensupport.URLParams
19255	ifNoneMatch_ string
19256	ctx_         context.Context
19257	header_      http.Header
19258}
19259
19260// Get: Gets a line item.
19261func (r *AdvertisersLineItemsService) Get(advertiserId int64, lineItemId int64) *AdvertisersLineItemsGetCall {
19262	c := &AdvertisersLineItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19263	c.advertiserId = advertiserId
19264	c.lineItemId = lineItemId
19265	return c
19266}
19267
19268// Fields allows partial responses to be retrieved. See
19269// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19270// for more information.
19271func (c *AdvertisersLineItemsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsGetCall {
19272	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19273	return c
19274}
19275
19276// IfNoneMatch sets the optional parameter which makes the operation
19277// fail if the object's ETag matches the given value. This is useful for
19278// getting updates only after the object has changed since the last
19279// request. Use googleapi.IsNotModified to check whether the response
19280// error from Do is the result of In-None-Match.
19281func (c *AdvertisersLineItemsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsGetCall {
19282	c.ifNoneMatch_ = entityTag
19283	return c
19284}
19285
19286// Context sets the context to be used in this call's Do method. Any
19287// pending HTTP request will be aborted if the provided context is
19288// canceled.
19289func (c *AdvertisersLineItemsGetCall) Context(ctx context.Context) *AdvertisersLineItemsGetCall {
19290	c.ctx_ = ctx
19291	return c
19292}
19293
19294// Header returns an http.Header that can be modified by the caller to
19295// add HTTP headers to the request.
19296func (c *AdvertisersLineItemsGetCall) Header() http.Header {
19297	if c.header_ == nil {
19298		c.header_ = make(http.Header)
19299	}
19300	return c.header_
19301}
19302
19303func (c *AdvertisersLineItemsGetCall) doRequest(alt string) (*http.Response, error) {
19304	reqHeaders := make(http.Header)
19305	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19306	for k, v := range c.header_ {
19307		reqHeaders[k] = v
19308	}
19309	reqHeaders.Set("User-Agent", c.s.userAgent())
19310	if c.ifNoneMatch_ != "" {
19311		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19312	}
19313	var body io.Reader = nil
19314	c.urlParams_.Set("alt", alt)
19315	c.urlParams_.Set("prettyPrint", "false")
19316	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
19317	urls += "?" + c.urlParams_.Encode()
19318	req, err := http.NewRequest("GET", urls, body)
19319	if err != nil {
19320		return nil, err
19321	}
19322	req.Header = reqHeaders
19323	googleapi.Expand(req.URL, map[string]string{
19324		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19325		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
19326	})
19327	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19328}
19329
19330// Do executes the "displayvideo.advertisers.lineItems.get" call.
19331// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
19332// code is an error. Response headers are in either
19333// *LineItem.ServerResponse.Header or (if a response was returned at
19334// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19335// to check whether the returned error was because
19336// http.StatusNotModified was returned.
19337func (c *AdvertisersLineItemsGetCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
19338	gensupport.SetOptions(c.urlParams_, opts...)
19339	res, err := c.doRequest("json")
19340	if res != nil && res.StatusCode == http.StatusNotModified {
19341		if res.Body != nil {
19342			res.Body.Close()
19343		}
19344		return nil, &googleapi.Error{
19345			Code:   res.StatusCode,
19346			Header: res.Header,
19347		}
19348	}
19349	if err != nil {
19350		return nil, err
19351	}
19352	defer googleapi.CloseBody(res)
19353	if err := googleapi.CheckResponse(res); err != nil {
19354		return nil, err
19355	}
19356	ret := &LineItem{
19357		ServerResponse: googleapi.ServerResponse{
19358			Header:         res.Header,
19359			HTTPStatusCode: res.StatusCode,
19360		},
19361	}
19362	target := &ret
19363	if err := gensupport.DecodeResponse(target, res); err != nil {
19364		return nil, err
19365	}
19366	return ret, nil
19367	// {
19368	//   "description": "Gets a line item.",
19369	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
19370	//   "httpMethod": "GET",
19371	//   "id": "displayvideo.advertisers.lineItems.get",
19372	//   "parameterOrder": [
19373	//     "advertiserId",
19374	//     "lineItemId"
19375	//   ],
19376	//   "parameters": {
19377	//     "advertiserId": {
19378	//       "description": "Required. The ID of the advertiser this line item belongs to.",
19379	//       "format": "int64",
19380	//       "location": "path",
19381	//       "pattern": "^[^/]+$",
19382	//       "required": true,
19383	//       "type": "string"
19384	//     },
19385	//     "lineItemId": {
19386	//       "description": "Required. The ID of the line item to fetch.",
19387	//       "format": "int64",
19388	//       "location": "path",
19389	//       "pattern": "^[^/]+$",
19390	//       "required": true,
19391	//       "type": "string"
19392	//     }
19393	//   },
19394	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
19395	//   "response": {
19396	//     "$ref": "LineItem"
19397	//   },
19398	//   "scopes": [
19399	//     "https://www.googleapis.com/auth/display-video"
19400	//   ]
19401	// }
19402
19403}
19404
19405// method id "displayvideo.advertisers.lineItems.list":
19406
19407type AdvertisersLineItemsListCall struct {
19408	s            *Service
19409	advertiserId int64
19410	urlParams_   gensupport.URLParams
19411	ifNoneMatch_ string
19412	ctx_         context.Context
19413	header_      http.Header
19414}
19415
19416// List: Lists line items in an advertiser. The order is defined by the
19417// order_by parameter. If a filter by entity_status is not specified,
19418// line items with `ENTITY_STATUS_ARCHIVED` will not be included in the
19419// results.
19420func (r *AdvertisersLineItemsService) List(advertiserId int64) *AdvertisersLineItemsListCall {
19421	c := &AdvertisersLineItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19422	c.advertiserId = advertiserId
19423	return c
19424}
19425
19426// Filter sets the optional parameter "filter": Allows filtering by line
19427// item properties. Supported syntax: * Filter expressions are made up
19428// of one or more restrictions. * Restrictions can be combined by `AND`
19429// or `OR` logical operators. A sequence of restrictions implicitly uses
19430// `AND`. * A restriction has the form of `{field} {operator} {value}`.
19431// * The operator used on `flight.dateRange.endDate` must be LESS THAN
19432// (<). * The operator used on `updateTime` must be `GREATER THAN OR
19433// EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)`. * The operator used
19434// on `warningMessages` must be `HAS (:)`. * The operators used on all
19435// other fields must be `EQUALS (=)`. * Supported fields: - `campaignId`
19436// - `displayName` - `insertionOrderId` - `entityStatus` - `lineItemId`
19437// - `lineItemType` - `flight.dateRange.endDate` (input formatted as
19438// YYYY-MM-DD) - `warningMessages` - `flight.triggerId` - `updateTime`
19439// (input in ISO 8601 format, or YYYY-MM-DDTHH:MM:SSZ) * The operator
19440// can be `NO LESS THAN (>=)` or `NO GREATER THAN (<=)`. - `updateTime`
19441// (format of ISO 8601) Examples: * All line items under an insertion
19442// order: `insertionOrderId="1234" * All `ENTITY_STATUS_ACTIVE` or
19443// `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line
19444// items under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR
19445// entityStatus="ENTITY_STATUS_PAUSED") AND
19446// lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" * All line items whose
19447// flight dates end before March 28, 2019:
19448// `flight.dateRange.endDate<"2019-03-28" * All line items that have
19449// `NO_VALID_CREATIVE` in `warningMessages`:
19450// `warningMessages:"NO_VALID_CREATIVE" * All line items with an update
19451// time less than or equal to `2020-11-04T18:54:47Z (format of ISO
19452// 8601)`: `updateTime<="2020-11-04T18:54:47Z" * All line items with an
19453// update time greater than or equal to `2020-11-04T18:54:47Z (format of
19454// ISO 8601)`: `updateTime>="2020-11-04T18:54:47Z" The length of this
19455// field should be no more than 500 characters.
19456func (c *AdvertisersLineItemsListCall) Filter(filter string) *AdvertisersLineItemsListCall {
19457	c.urlParams_.Set("filter", filter)
19458	return c
19459}
19460
19461// OrderBy sets the optional parameter "orderBy": Field by which to sort
19462// the list. Acceptable values are: * "displayName" (default) *
19463// "entityStatus" * “flight.dateRange.endDate” * "updateTime" The
19464// default sorting order is ascending. To specify descending order for a
19465// field, a suffix "desc" should be added to the field name. Example:
19466// `displayName desc`.
19467func (c *AdvertisersLineItemsListCall) OrderBy(orderBy string) *AdvertisersLineItemsListCall {
19468	c.urlParams_.Set("orderBy", orderBy)
19469	return c
19470}
19471
19472// PageSize sets the optional parameter "pageSize": Requested page size.
19473// Must be between `1` and `100`. If unspecified will default to `100`.
19474// Returns error code `INVALID_ARGUMENT` if an invalid value is
19475// specified.
19476func (c *AdvertisersLineItemsListCall) PageSize(pageSize int64) *AdvertisersLineItemsListCall {
19477	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
19478	return c
19479}
19480
19481// PageToken sets the optional parameter "pageToken": A token
19482// identifying a page of results the server should return. Typically,
19483// this is the value of next_page_token returned from the previous call
19484// to `ListLineItems` method. If not specified, the first page of
19485// results will be returned.
19486func (c *AdvertisersLineItemsListCall) PageToken(pageToken string) *AdvertisersLineItemsListCall {
19487	c.urlParams_.Set("pageToken", pageToken)
19488	return c
19489}
19490
19491// Fields allows partial responses to be retrieved. See
19492// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19493// for more information.
19494func (c *AdvertisersLineItemsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsListCall {
19495	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19496	return c
19497}
19498
19499// IfNoneMatch sets the optional parameter which makes the operation
19500// fail if the object's ETag matches the given value. This is useful for
19501// getting updates only after the object has changed since the last
19502// request. Use googleapi.IsNotModified to check whether the response
19503// error from Do is the result of In-None-Match.
19504func (c *AdvertisersLineItemsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsListCall {
19505	c.ifNoneMatch_ = entityTag
19506	return c
19507}
19508
19509// Context sets the context to be used in this call's Do method. Any
19510// pending HTTP request will be aborted if the provided context is
19511// canceled.
19512func (c *AdvertisersLineItemsListCall) Context(ctx context.Context) *AdvertisersLineItemsListCall {
19513	c.ctx_ = ctx
19514	return c
19515}
19516
19517// Header returns an http.Header that can be modified by the caller to
19518// add HTTP headers to the request.
19519func (c *AdvertisersLineItemsListCall) Header() http.Header {
19520	if c.header_ == nil {
19521		c.header_ = make(http.Header)
19522	}
19523	return c.header_
19524}
19525
19526func (c *AdvertisersLineItemsListCall) doRequest(alt string) (*http.Response, error) {
19527	reqHeaders := make(http.Header)
19528	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19529	for k, v := range c.header_ {
19530		reqHeaders[k] = v
19531	}
19532	reqHeaders.Set("User-Agent", c.s.userAgent())
19533	if c.ifNoneMatch_ != "" {
19534		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19535	}
19536	var body io.Reader = nil
19537	c.urlParams_.Set("alt", alt)
19538	c.urlParams_.Set("prettyPrint", "false")
19539	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems")
19540	urls += "?" + c.urlParams_.Encode()
19541	req, err := http.NewRequest("GET", urls, body)
19542	if err != nil {
19543		return nil, err
19544	}
19545	req.Header = reqHeaders
19546	googleapi.Expand(req.URL, map[string]string{
19547		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19548	})
19549	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19550}
19551
19552// Do executes the "displayvideo.advertisers.lineItems.list" call.
19553// Exactly one of *ListLineItemsResponse or error will be non-nil. Any
19554// non-2xx status code is an error. Response headers are in either
19555// *ListLineItemsResponse.ServerResponse.Header or (if a response was
19556// returned at all) in error.(*googleapi.Error).Header. Use
19557// googleapi.IsNotModified to check whether the returned error was
19558// because http.StatusNotModified was returned.
19559func (c *AdvertisersLineItemsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemsResponse, error) {
19560	gensupport.SetOptions(c.urlParams_, opts...)
19561	res, err := c.doRequest("json")
19562	if res != nil && res.StatusCode == http.StatusNotModified {
19563		if res.Body != nil {
19564			res.Body.Close()
19565		}
19566		return nil, &googleapi.Error{
19567			Code:   res.StatusCode,
19568			Header: res.Header,
19569		}
19570	}
19571	if err != nil {
19572		return nil, err
19573	}
19574	defer googleapi.CloseBody(res)
19575	if err := googleapi.CheckResponse(res); err != nil {
19576		return nil, err
19577	}
19578	ret := &ListLineItemsResponse{
19579		ServerResponse: googleapi.ServerResponse{
19580			Header:         res.Header,
19581			HTTPStatusCode: res.StatusCode,
19582		},
19583	}
19584	target := &ret
19585	if err := gensupport.DecodeResponse(target, res); err != nil {
19586		return nil, err
19587	}
19588	return ret, nil
19589	// {
19590	//   "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.",
19591	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems",
19592	//   "httpMethod": "GET",
19593	//   "id": "displayvideo.advertisers.lineItems.list",
19594	//   "parameterOrder": [
19595	//     "advertiserId"
19596	//   ],
19597	//   "parameters": {
19598	//     "advertiserId": {
19599	//       "description": "Required. The ID of the advertiser to list line items for.",
19600	//       "format": "int64",
19601	//       "location": "path",
19602	//       "pattern": "^[^/]+$",
19603	//       "required": true,
19604	//       "type": "string"
19605	//     },
19606	//     "filter": {
19607	//       "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 fields: - `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) * The operator can be `NO LESS THAN (\u003e=)` or `NO GREATER THAN (\u003c=)`. - `updateTime` (format of ISO 8601) 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\"` The length of this field should be no more than 500 characters.",
19608	//       "location": "query",
19609	//       "type": "string"
19610	//     },
19611	//     "orderBy": {
19612	//       "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`.",
19613	//       "location": "query",
19614	//       "type": "string"
19615	//     },
19616	//     "pageSize": {
19617	//       "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.",
19618	//       "format": "int32",
19619	//       "location": "query",
19620	//       "type": "integer"
19621	//     },
19622	//     "pageToken": {
19623	//       "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.",
19624	//       "location": "query",
19625	//       "type": "string"
19626	//     }
19627	//   },
19628	//   "path": "v1/advertisers/{+advertiserId}/lineItems",
19629	//   "response": {
19630	//     "$ref": "ListLineItemsResponse"
19631	//   },
19632	//   "scopes": [
19633	//     "https://www.googleapis.com/auth/display-video"
19634	//   ]
19635	// }
19636
19637}
19638
19639// Pages invokes f for each page of results.
19640// A non-nil error returned from f will halt the iteration.
19641// The provided context supersedes any context provided to the Context method.
19642func (c *AdvertisersLineItemsListCall) Pages(ctx context.Context, f func(*ListLineItemsResponse) error) error {
19643	c.ctx_ = ctx
19644	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19645	for {
19646		x, err := c.Do()
19647		if err != nil {
19648			return err
19649		}
19650		if err := f(x); err != nil {
19651			return err
19652		}
19653		if x.NextPageToken == "" {
19654			return nil
19655		}
19656		c.PageToken(x.NextPageToken)
19657	}
19658}
19659
19660// method id "displayvideo.advertisers.lineItems.patch":
19661
19662type AdvertisersLineItemsPatchCall struct {
19663	s            *Service
19664	advertiserId int64
19665	lineItemId   int64
19666	lineitem     *LineItem
19667	urlParams_   gensupport.URLParams
19668	ctx_         context.Context
19669	header_      http.Header
19670}
19671
19672// Patch: Updates an existing line item. Returns the updated line item
19673// if successful.
19674func (r *AdvertisersLineItemsService) Patch(advertiserId int64, lineItemId int64, lineitem *LineItem) *AdvertisersLineItemsPatchCall {
19675	c := &AdvertisersLineItemsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19676	c.advertiserId = advertiserId
19677	c.lineItemId = lineItemId
19678	c.lineitem = lineitem
19679	return c
19680}
19681
19682// UpdateMask sets the optional parameter "updateMask": Required. The
19683// mask to control which fields to update.
19684func (c *AdvertisersLineItemsPatchCall) UpdateMask(updateMask string) *AdvertisersLineItemsPatchCall {
19685	c.urlParams_.Set("updateMask", updateMask)
19686	return c
19687}
19688
19689// Fields allows partial responses to be retrieved. See
19690// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19691// for more information.
19692func (c *AdvertisersLineItemsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsPatchCall {
19693	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19694	return c
19695}
19696
19697// Context sets the context to be used in this call's Do method. Any
19698// pending HTTP request will be aborted if the provided context is
19699// canceled.
19700func (c *AdvertisersLineItemsPatchCall) Context(ctx context.Context) *AdvertisersLineItemsPatchCall {
19701	c.ctx_ = ctx
19702	return c
19703}
19704
19705// Header returns an http.Header that can be modified by the caller to
19706// add HTTP headers to the request.
19707func (c *AdvertisersLineItemsPatchCall) Header() http.Header {
19708	if c.header_ == nil {
19709		c.header_ = make(http.Header)
19710	}
19711	return c.header_
19712}
19713
19714func (c *AdvertisersLineItemsPatchCall) doRequest(alt string) (*http.Response, error) {
19715	reqHeaders := make(http.Header)
19716	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19717	for k, v := range c.header_ {
19718		reqHeaders[k] = v
19719	}
19720	reqHeaders.Set("User-Agent", c.s.userAgent())
19721	var body io.Reader = nil
19722	body, err := googleapi.WithoutDataWrapper.JSONReader(c.lineitem)
19723	if err != nil {
19724		return nil, err
19725	}
19726	reqHeaders.Set("Content-Type", "application/json")
19727	c.urlParams_.Set("alt", alt)
19728	c.urlParams_.Set("prettyPrint", "false")
19729	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}")
19730	urls += "?" + c.urlParams_.Encode()
19731	req, err := http.NewRequest("PATCH", urls, body)
19732	if err != nil {
19733		return nil, err
19734	}
19735	req.Header = reqHeaders
19736	googleapi.Expand(req.URL, map[string]string{
19737		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
19738		"lineItemId":   strconv.FormatInt(c.lineItemId, 10),
19739	})
19740	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19741}
19742
19743// Do executes the "displayvideo.advertisers.lineItems.patch" call.
19744// Exactly one of *LineItem or error will be non-nil. Any non-2xx status
19745// code is an error. Response headers are in either
19746// *LineItem.ServerResponse.Header or (if a response was returned at
19747// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19748// to check whether the returned error was because
19749// http.StatusNotModified was returned.
19750func (c *AdvertisersLineItemsPatchCall) Do(opts ...googleapi.CallOption) (*LineItem, error) {
19751	gensupport.SetOptions(c.urlParams_, opts...)
19752	res, err := c.doRequest("json")
19753	if res != nil && res.StatusCode == http.StatusNotModified {
19754		if res.Body != nil {
19755			res.Body.Close()
19756		}
19757		return nil, &googleapi.Error{
19758			Code:   res.StatusCode,
19759			Header: res.Header,
19760		}
19761	}
19762	if err != nil {
19763		return nil, err
19764	}
19765	defer googleapi.CloseBody(res)
19766	if err := googleapi.CheckResponse(res); err != nil {
19767		return nil, err
19768	}
19769	ret := &LineItem{
19770		ServerResponse: googleapi.ServerResponse{
19771			Header:         res.Header,
19772			HTTPStatusCode: res.StatusCode,
19773		},
19774	}
19775	target := &ret
19776	if err := gensupport.DecodeResponse(target, res); err != nil {
19777		return nil, err
19778	}
19779	return ret, nil
19780	// {
19781	//   "description": "Updates an existing line item. Returns the updated line item if successful.",
19782	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}",
19783	//   "httpMethod": "PATCH",
19784	//   "id": "displayvideo.advertisers.lineItems.patch",
19785	//   "parameterOrder": [
19786	//     "advertiserId",
19787	//     "lineItemId"
19788	//   ],
19789	//   "parameters": {
19790	//     "advertiserId": {
19791	//       "description": "Output only. The unique ID of the advertiser the line item belongs to.",
19792	//       "format": "int64",
19793	//       "location": "path",
19794	//       "pattern": "^[^/]+$",
19795	//       "required": true,
19796	//       "type": "string"
19797	//     },
19798	//     "lineItemId": {
19799	//       "description": "Output only. The unique ID of the line item. Assigned by the system.",
19800	//       "format": "int64",
19801	//       "location": "path",
19802	//       "pattern": "^[^/]+$",
19803	//       "required": true,
19804	//       "type": "string"
19805	//     },
19806	//     "updateMask": {
19807	//       "description": "Required. The mask to control which fields to update.",
19808	//       "format": "google-fieldmask",
19809	//       "location": "query",
19810	//       "type": "string"
19811	//     }
19812	//   },
19813	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}",
19814	//   "request": {
19815	//     "$ref": "LineItem"
19816	//   },
19817	//   "response": {
19818	//     "$ref": "LineItem"
19819	//   },
19820	//   "scopes": [
19821	//     "https://www.googleapis.com/auth/display-video"
19822	//   ]
19823	// }
19824
19825}
19826
19827// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create":
19828
19829type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall struct {
19830	s                       *Service
19831	advertiserId            int64
19832	lineItemId              int64
19833	targetingType           string
19834	assignedtargetingoption *AssignedTargetingOption
19835	urlParams_              gensupport.URLParams
19836	ctx_                    context.Context
19837	header_                 http.Header
19838}
19839
19840// Create: Assigns a targeting option to a line item. Returns the
19841// assigned targeting option if successful.
19842func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, lineItemId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
19843	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19844	c.advertiserId = advertiserId
19845	c.lineItemId = lineItemId
19846	c.targetingType = targetingType
19847	c.assignedtargetingoption = assignedtargetingoption
19848	return c
19849}
19850
19851// Fields allows partial responses to be retrieved. See
19852// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19853// for more information.
19854func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
19855	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19856	return c
19857}
19858
19859// Context sets the context to be used in this call's Do method. Any
19860// pending HTTP request will be aborted if the provided context is
19861// canceled.
19862func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall {
19863	c.ctx_ = ctx
19864	return c
19865}
19866
19867// Header returns an http.Header that can be modified by the caller to
19868// add HTTP headers to the request.
19869func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
19870	if c.header_ == nil {
19871		c.header_ = make(http.Header)
19872	}
19873	return c.header_
19874}
19875
19876func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
19877	reqHeaders := make(http.Header)
19878	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19879	for k, v := range c.header_ {
19880		reqHeaders[k] = v
19881	}
19882	reqHeaders.Set("User-Agent", c.s.userAgent())
19883	var body io.Reader = nil
19884	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
19885	if err != nil {
19886		return nil, err
19887	}
19888	reqHeaders.Set("Content-Type", "application/json")
19889	c.urlParams_.Set("alt", alt)
19890	c.urlParams_.Set("prettyPrint", "false")
19891	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
19892	urls += "?" + c.urlParams_.Encode()
19893	req, err := http.NewRequest("POST", urls, body)
19894	if err != nil {
19895		return nil, err
19896	}
19897	req.Header = reqHeaders
19898	googleapi.Expand(req.URL, map[string]string{
19899		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
19900		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
19901		"targetingType": c.targetingType,
19902	})
19903	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19904}
19905
19906// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create" call.
19907// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
19908// non-2xx status code is an error. Response headers are in either
19909// *AssignedTargetingOption.ServerResponse.Header or (if a response was
19910// returned at all) in error.(*googleapi.Error).Header. Use
19911// googleapi.IsNotModified to check whether the returned error was
19912// because http.StatusNotModified was returned.
19913func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
19914	gensupport.SetOptions(c.urlParams_, opts...)
19915	res, err := c.doRequest("json")
19916	if res != nil && res.StatusCode == http.StatusNotModified {
19917		if res.Body != nil {
19918			res.Body.Close()
19919		}
19920		return nil, &googleapi.Error{
19921			Code:   res.StatusCode,
19922			Header: res.Header,
19923		}
19924	}
19925	if err != nil {
19926		return nil, err
19927	}
19928	defer googleapi.CloseBody(res)
19929	if err := googleapi.CheckResponse(res); err != nil {
19930		return nil, err
19931	}
19932	ret := &AssignedTargetingOption{
19933		ServerResponse: googleapi.ServerResponse{
19934			Header:         res.Header,
19935			HTTPStatusCode: res.StatusCode,
19936		},
19937	}
19938	target := &ret
19939	if err := gensupport.DecodeResponse(target, res); err != nil {
19940		return nil, err
19941	}
19942	return ret, nil
19943	// {
19944	//   "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful.",
19945	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
19946	//   "httpMethod": "POST",
19947	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create",
19948	//   "parameterOrder": [
19949	//     "advertiserId",
19950	//     "lineItemId",
19951	//     "targetingType"
19952	//   ],
19953	//   "parameters": {
19954	//     "advertiserId": {
19955	//       "description": "Required. The ID of the advertiser the line item belongs to.",
19956	//       "format": "int64",
19957	//       "location": "path",
19958	//       "pattern": "^[^/]+$",
19959	//       "required": true,
19960	//       "type": "string"
19961	//     },
19962	//     "lineItemId": {
19963	//       "description": "Required. The ID of the line item the assigned targeting option will belong to.",
19964	//       "format": "int64",
19965	//       "location": "path",
19966	//       "pattern": "^[^/]+$",
19967	//       "required": true,
19968	//       "type": "string"
19969	//     },
19970	//     "targetingType": {
19971	//       "description": "Required. Identifies the type of this assigned targeting option.",
19972	//       "enum": [
19973	//         "TARGETING_TYPE_UNSPECIFIED",
19974	//         "TARGETING_TYPE_CHANNEL",
19975	//         "TARGETING_TYPE_APP_CATEGORY",
19976	//         "TARGETING_TYPE_APP",
19977	//         "TARGETING_TYPE_URL",
19978	//         "TARGETING_TYPE_DAY_AND_TIME",
19979	//         "TARGETING_TYPE_AGE_RANGE",
19980	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
19981	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
19982	//         "TARGETING_TYPE_GENDER",
19983	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
19984	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
19985	//         "TARGETING_TYPE_PARENTAL_STATUS",
19986	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
19987	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
19988	//         "TARGETING_TYPE_DEVICE_TYPE",
19989	//         "TARGETING_TYPE_AUDIENCE_GROUP",
19990	//         "TARGETING_TYPE_BROWSER",
19991	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
19992	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
19993	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
19994	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
19995	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
19996	//         "TARGETING_TYPE_ENVIRONMENT",
19997	//         "TARGETING_TYPE_CARRIER_AND_ISP",
19998	//         "TARGETING_TYPE_OPERATING_SYSTEM",
19999	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
20000	//         "TARGETING_TYPE_KEYWORD",
20001	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
20002	//         "TARGETING_TYPE_VIEWABILITY",
20003	//         "TARGETING_TYPE_CATEGORY",
20004	//         "TARGETING_TYPE_INVENTORY_SOURCE",
20005	//         "TARGETING_TYPE_LANGUAGE",
20006	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
20007	//         "TARGETING_TYPE_GEO_REGION",
20008	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
20009	//         "TARGETING_TYPE_EXCHANGE",
20010	//         "TARGETING_TYPE_SUB_EXCHANGE"
20011	//       ],
20012	//       "enumDescriptions": [
20013	//         "Default value when type is not specified or is unknown in this version.",
20014	//         "Target a channel (a custom group of related websites or apps).",
20015	//         "Target an app category (for example, education or puzzle games).",
20016	//         "Target a specific app (for example, Angry Birds).",
20017	//         "Target a specific url (for example, quora.com).",
20018	//         "Target ads during a chosen time period on a specific day.",
20019	//         "Target ads to a specific age range (for example, 18-24).",
20020	//         "Target ads to the specified regions on a regional location list.",
20021	//         "Target ads to the specified points of interest on a proximity location list.",
20022	//         "Target ads to a specific gender (for example, female or male).",
20023	//         "Target a specific video player size for video ads.",
20024	//         "Target user rewarded content for video ads.",
20025	//         "Target ads to a specific parental status (for example, parent or not a parent).",
20026	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
20027	//         "Target ads in a specific content outstream position.",
20028	//         "Target ads to a specific device type (for example, tablet or connected TV).",
20029	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
20030	//         "Target ads to specific web browsers (for example, Chrome).",
20031	//         "Target ads to a specific household income range (for example, top 10%).",
20032	//         "Target ads in a specific on screen position.",
20033	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
20034	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
20035	//         "Filter website content by sensitive categories (for example, adult).",
20036	//         "Target ads to a specific environment (for example, web or app).",
20037	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
20038	//         "Target ads to a specific operating system (for example, macOS).",
20039	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
20040	//         "Target ads to a specific keyword (for example, dog or retriever).",
20041	//         "Target ads to a specific negative keyword list.",
20042	//         "Target ads to a specific viewability (for example, 80% viewable).",
20043	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
20044	//         "Purchase impressions from specific deals and auction packages.",
20045	//         "Target ads to a specific language (for example, English or Japanese).",
20046	//         "Target ads to ads.txt authorized sellers.",
20047	//         "Target ads to a specific regional location (for example, a city or state).",
20048	//         "Purchase impressions from a group of deals and auction packages.",
20049	//         "Purchase impressions from specific exchanges.",
20050	//         "Purchase impressions from specific sub-exchanges."
20051	//       ],
20052	//       "location": "path",
20053	//       "pattern": "^[^/]+$",
20054	//       "required": true,
20055	//       "type": "string"
20056	//     }
20057	//   },
20058	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
20059	//   "request": {
20060	//     "$ref": "AssignedTargetingOption"
20061	//   },
20062	//   "response": {
20063	//     "$ref": "AssignedTargetingOption"
20064	//   },
20065	//   "scopes": [
20066	//     "https://www.googleapis.com/auth/display-video"
20067	//   ]
20068	// }
20069
20070}
20071
20072// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete":
20073
20074type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall struct {
20075	s                         *Service
20076	advertiserId              int64
20077	lineItemId                int64
20078	targetingType             string
20079	assignedTargetingOptionId string
20080	urlParams_                gensupport.URLParams
20081	ctx_                      context.Context
20082	header_                   http.Header
20083}
20084
20085// Delete: Deletes an assigned targeting option from a line item.
20086func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
20087	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20088	c.advertiserId = advertiserId
20089	c.lineItemId = lineItemId
20090	c.targetingType = targetingType
20091	c.assignedTargetingOptionId = assignedTargetingOptionId
20092	return c
20093}
20094
20095// Fields allows partial responses to be retrieved. See
20096// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20097// for more information.
20098func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
20099	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20100	return c
20101}
20102
20103// Context sets the context to be used in this call's Do method. Any
20104// pending HTTP request will be aborted if the provided context is
20105// canceled.
20106func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall {
20107	c.ctx_ = ctx
20108	return c
20109}
20110
20111// Header returns an http.Header that can be modified by the caller to
20112// add HTTP headers to the request.
20113func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
20114	if c.header_ == nil {
20115		c.header_ = make(http.Header)
20116	}
20117	return c.header_
20118}
20119
20120func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
20121	reqHeaders := make(http.Header)
20122	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20123	for k, v := range c.header_ {
20124		reqHeaders[k] = v
20125	}
20126	reqHeaders.Set("User-Agent", c.s.userAgent())
20127	var body io.Reader = nil
20128	c.urlParams_.Set("alt", alt)
20129	c.urlParams_.Set("prettyPrint", "false")
20130	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
20131	urls += "?" + c.urlParams_.Encode()
20132	req, err := http.NewRequest("DELETE", urls, body)
20133	if err != nil {
20134		return nil, err
20135	}
20136	req.Header = reqHeaders
20137	googleapi.Expand(req.URL, map[string]string{
20138		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
20139		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
20140		"targetingType":             c.targetingType,
20141		"assignedTargetingOptionId": c.assignedTargetingOptionId,
20142	})
20143	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20144}
20145
20146// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete" call.
20147// Exactly one of *Empty or error will be non-nil. Any non-2xx status
20148// code is an error. Response headers are in either
20149// *Empty.ServerResponse.Header or (if a response was returned at all)
20150// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
20151// check whether the returned error was because http.StatusNotModified
20152// was returned.
20153func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
20154	gensupport.SetOptions(c.urlParams_, opts...)
20155	res, err := c.doRequest("json")
20156	if res != nil && res.StatusCode == http.StatusNotModified {
20157		if res.Body != nil {
20158			res.Body.Close()
20159		}
20160		return nil, &googleapi.Error{
20161			Code:   res.StatusCode,
20162			Header: res.Header,
20163		}
20164	}
20165	if err != nil {
20166		return nil, err
20167	}
20168	defer googleapi.CloseBody(res)
20169	if err := googleapi.CheckResponse(res); err != nil {
20170		return nil, err
20171	}
20172	ret := &Empty{
20173		ServerResponse: googleapi.ServerResponse{
20174			Header:         res.Header,
20175			HTTPStatusCode: res.StatusCode,
20176		},
20177	}
20178	target := &ret
20179	if err := gensupport.DecodeResponse(target, res); err != nil {
20180		return nil, err
20181	}
20182	return ret, nil
20183	// {
20184	//   "description": "Deletes an assigned targeting option from a line item.",
20185	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
20186	//   "httpMethod": "DELETE",
20187	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete",
20188	//   "parameterOrder": [
20189	//     "advertiserId",
20190	//     "lineItemId",
20191	//     "targetingType",
20192	//     "assignedTargetingOptionId"
20193	//   ],
20194	//   "parameters": {
20195	//     "advertiserId": {
20196	//       "description": "Required. The ID of the advertiser the line item belongs to.",
20197	//       "format": "int64",
20198	//       "location": "path",
20199	//       "pattern": "^[^/]+$",
20200	//       "required": true,
20201	//       "type": "string"
20202	//     },
20203	//     "assignedTargetingOptionId": {
20204	//       "description": "Required. The ID of the assigned targeting option to delete.",
20205	//       "location": "path",
20206	//       "pattern": "^[^/]+$",
20207	//       "required": true,
20208	//       "type": "string"
20209	//     },
20210	//     "lineItemId": {
20211	//       "description": "Required. The ID of the line item the assigned targeting option belongs to.",
20212	//       "format": "int64",
20213	//       "location": "path",
20214	//       "pattern": "^[^/]+$",
20215	//       "required": true,
20216	//       "type": "string"
20217	//     },
20218	//     "targetingType": {
20219	//       "description": "Required. Identifies the type of this assigned targeting option.",
20220	//       "enum": [
20221	//         "TARGETING_TYPE_UNSPECIFIED",
20222	//         "TARGETING_TYPE_CHANNEL",
20223	//         "TARGETING_TYPE_APP_CATEGORY",
20224	//         "TARGETING_TYPE_APP",
20225	//         "TARGETING_TYPE_URL",
20226	//         "TARGETING_TYPE_DAY_AND_TIME",
20227	//         "TARGETING_TYPE_AGE_RANGE",
20228	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
20229	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
20230	//         "TARGETING_TYPE_GENDER",
20231	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
20232	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
20233	//         "TARGETING_TYPE_PARENTAL_STATUS",
20234	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
20235	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
20236	//         "TARGETING_TYPE_DEVICE_TYPE",
20237	//         "TARGETING_TYPE_AUDIENCE_GROUP",
20238	//         "TARGETING_TYPE_BROWSER",
20239	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
20240	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
20241	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
20242	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
20243	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
20244	//         "TARGETING_TYPE_ENVIRONMENT",
20245	//         "TARGETING_TYPE_CARRIER_AND_ISP",
20246	//         "TARGETING_TYPE_OPERATING_SYSTEM",
20247	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
20248	//         "TARGETING_TYPE_KEYWORD",
20249	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
20250	//         "TARGETING_TYPE_VIEWABILITY",
20251	//         "TARGETING_TYPE_CATEGORY",
20252	//         "TARGETING_TYPE_INVENTORY_SOURCE",
20253	//         "TARGETING_TYPE_LANGUAGE",
20254	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
20255	//         "TARGETING_TYPE_GEO_REGION",
20256	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
20257	//         "TARGETING_TYPE_EXCHANGE",
20258	//         "TARGETING_TYPE_SUB_EXCHANGE"
20259	//       ],
20260	//       "enumDescriptions": [
20261	//         "Default value when type is not specified or is unknown in this version.",
20262	//         "Target a channel (a custom group of related websites or apps).",
20263	//         "Target an app category (for example, education or puzzle games).",
20264	//         "Target a specific app (for example, Angry Birds).",
20265	//         "Target a specific url (for example, quora.com).",
20266	//         "Target ads during a chosen time period on a specific day.",
20267	//         "Target ads to a specific age range (for example, 18-24).",
20268	//         "Target ads to the specified regions on a regional location list.",
20269	//         "Target ads to the specified points of interest on a proximity location list.",
20270	//         "Target ads to a specific gender (for example, female or male).",
20271	//         "Target a specific video player size for video ads.",
20272	//         "Target user rewarded content for video ads.",
20273	//         "Target ads to a specific parental status (for example, parent or not a parent).",
20274	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
20275	//         "Target ads in a specific content outstream position.",
20276	//         "Target ads to a specific device type (for example, tablet or connected TV).",
20277	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
20278	//         "Target ads to specific web browsers (for example, Chrome).",
20279	//         "Target ads to a specific household income range (for example, top 10%).",
20280	//         "Target ads in a specific on screen position.",
20281	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
20282	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
20283	//         "Filter website content by sensitive categories (for example, adult).",
20284	//         "Target ads to a specific environment (for example, web or app).",
20285	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
20286	//         "Target ads to a specific operating system (for example, macOS).",
20287	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
20288	//         "Target ads to a specific keyword (for example, dog or retriever).",
20289	//         "Target ads to a specific negative keyword list.",
20290	//         "Target ads to a specific viewability (for example, 80% viewable).",
20291	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
20292	//         "Purchase impressions from specific deals and auction packages.",
20293	//         "Target ads to a specific language (for example, English or Japanese).",
20294	//         "Target ads to ads.txt authorized sellers.",
20295	//         "Target ads to a specific regional location (for example, a city or state).",
20296	//         "Purchase impressions from a group of deals and auction packages.",
20297	//         "Purchase impressions from specific exchanges.",
20298	//         "Purchase impressions from specific sub-exchanges."
20299	//       ],
20300	//       "location": "path",
20301	//       "pattern": "^[^/]+$",
20302	//       "required": true,
20303	//       "type": "string"
20304	//     }
20305	//   },
20306	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
20307	//   "response": {
20308	//     "$ref": "Empty"
20309	//   },
20310	//   "scopes": [
20311	//     "https://www.googleapis.com/auth/display-video"
20312	//   ]
20313	// }
20314
20315}
20316
20317// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get":
20318
20319type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall struct {
20320	s                         *Service
20321	advertiserId              int64
20322	lineItemId                int64
20323	targetingType             string
20324	assignedTargetingOptionId string
20325	urlParams_                gensupport.URLParams
20326	ifNoneMatch_              string
20327	ctx_                      context.Context
20328	header_                   http.Header
20329}
20330
20331// Get: Gets a single targeting option assigned to a line item.
20332func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, lineItemId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
20333	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20334	c.advertiserId = advertiserId
20335	c.lineItemId = lineItemId
20336	c.targetingType = targetingType
20337	c.assignedTargetingOptionId = assignedTargetingOptionId
20338	return c
20339}
20340
20341// Fields allows partial responses to be retrieved. See
20342// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20343// for more information.
20344func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
20345	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20346	return c
20347}
20348
20349// IfNoneMatch sets the optional parameter which makes the operation
20350// fail if the object's ETag matches the given value. This is useful for
20351// getting updates only after the object has changed since the last
20352// request. Use googleapi.IsNotModified to check whether the response
20353// error from Do is the result of In-None-Match.
20354func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
20355	c.ifNoneMatch_ = entityTag
20356	return c
20357}
20358
20359// Context sets the context to be used in this call's Do method. Any
20360// pending HTTP request will be aborted if the provided context is
20361// canceled.
20362func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall {
20363	c.ctx_ = ctx
20364	return c
20365}
20366
20367// Header returns an http.Header that can be modified by the caller to
20368// add HTTP headers to the request.
20369func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
20370	if c.header_ == nil {
20371		c.header_ = make(http.Header)
20372	}
20373	return c.header_
20374}
20375
20376func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
20377	reqHeaders := make(http.Header)
20378	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20379	for k, v := range c.header_ {
20380		reqHeaders[k] = v
20381	}
20382	reqHeaders.Set("User-Agent", c.s.userAgent())
20383	if c.ifNoneMatch_ != "" {
20384		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20385	}
20386	var body io.Reader = nil
20387	c.urlParams_.Set("alt", alt)
20388	c.urlParams_.Set("prettyPrint", "false")
20389	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
20390	urls += "?" + c.urlParams_.Encode()
20391	req, err := http.NewRequest("GET", urls, body)
20392	if err != nil {
20393		return nil, err
20394	}
20395	req.Header = reqHeaders
20396	googleapi.Expand(req.URL, map[string]string{
20397		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
20398		"lineItemId":                strconv.FormatInt(c.lineItemId, 10),
20399		"targetingType":             c.targetingType,
20400		"assignedTargetingOptionId": c.assignedTargetingOptionId,
20401	})
20402	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20403}
20404
20405// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get" call.
20406// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
20407// non-2xx status code is an error. Response headers are in either
20408// *AssignedTargetingOption.ServerResponse.Header or (if a response was
20409// returned at all) in error.(*googleapi.Error).Header. Use
20410// googleapi.IsNotModified to check whether the returned error was
20411// because http.StatusNotModified was returned.
20412func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
20413	gensupport.SetOptions(c.urlParams_, opts...)
20414	res, err := c.doRequest("json")
20415	if res != nil && res.StatusCode == http.StatusNotModified {
20416		if res.Body != nil {
20417			res.Body.Close()
20418		}
20419		return nil, &googleapi.Error{
20420			Code:   res.StatusCode,
20421			Header: res.Header,
20422		}
20423	}
20424	if err != nil {
20425		return nil, err
20426	}
20427	defer googleapi.CloseBody(res)
20428	if err := googleapi.CheckResponse(res); err != nil {
20429		return nil, err
20430	}
20431	ret := &AssignedTargetingOption{
20432		ServerResponse: googleapi.ServerResponse{
20433			Header:         res.Header,
20434			HTTPStatusCode: res.StatusCode,
20435		},
20436	}
20437	target := &ret
20438	if err := gensupport.DecodeResponse(target, res); err != nil {
20439		return nil, err
20440	}
20441	return ret, nil
20442	// {
20443	//   "description": "Gets a single targeting option assigned to a line item.",
20444	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
20445	//   "httpMethod": "GET",
20446	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get",
20447	//   "parameterOrder": [
20448	//     "advertiserId",
20449	//     "lineItemId",
20450	//     "targetingType",
20451	//     "assignedTargetingOptionId"
20452	//   ],
20453	//   "parameters": {
20454	//     "advertiserId": {
20455	//       "description": "Required. The ID of the advertiser the line item belongs to.",
20456	//       "format": "int64",
20457	//       "location": "path",
20458	//       "pattern": "^[^/]+$",
20459	//       "required": true,
20460	//       "type": "string"
20461	//     },
20462	//     "assignedTargetingOptionId": {
20463	//       "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.",
20464	//       "location": "path",
20465	//       "pattern": "^[^/]+$",
20466	//       "required": true,
20467	//       "type": "string"
20468	//     },
20469	//     "lineItemId": {
20470	//       "description": "Required. The ID of the line item the assigned targeting option belongs to.",
20471	//       "format": "int64",
20472	//       "location": "path",
20473	//       "pattern": "^[^/]+$",
20474	//       "required": true,
20475	//       "type": "string"
20476	//     },
20477	//     "targetingType": {
20478	//       "description": "Required. Identifies the type of this assigned targeting option.",
20479	//       "enum": [
20480	//         "TARGETING_TYPE_UNSPECIFIED",
20481	//         "TARGETING_TYPE_CHANNEL",
20482	//         "TARGETING_TYPE_APP_CATEGORY",
20483	//         "TARGETING_TYPE_APP",
20484	//         "TARGETING_TYPE_URL",
20485	//         "TARGETING_TYPE_DAY_AND_TIME",
20486	//         "TARGETING_TYPE_AGE_RANGE",
20487	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
20488	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
20489	//         "TARGETING_TYPE_GENDER",
20490	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
20491	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
20492	//         "TARGETING_TYPE_PARENTAL_STATUS",
20493	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
20494	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
20495	//         "TARGETING_TYPE_DEVICE_TYPE",
20496	//         "TARGETING_TYPE_AUDIENCE_GROUP",
20497	//         "TARGETING_TYPE_BROWSER",
20498	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
20499	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
20500	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
20501	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
20502	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
20503	//         "TARGETING_TYPE_ENVIRONMENT",
20504	//         "TARGETING_TYPE_CARRIER_AND_ISP",
20505	//         "TARGETING_TYPE_OPERATING_SYSTEM",
20506	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
20507	//         "TARGETING_TYPE_KEYWORD",
20508	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
20509	//         "TARGETING_TYPE_VIEWABILITY",
20510	//         "TARGETING_TYPE_CATEGORY",
20511	//         "TARGETING_TYPE_INVENTORY_SOURCE",
20512	//         "TARGETING_TYPE_LANGUAGE",
20513	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
20514	//         "TARGETING_TYPE_GEO_REGION",
20515	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
20516	//         "TARGETING_TYPE_EXCHANGE",
20517	//         "TARGETING_TYPE_SUB_EXCHANGE"
20518	//       ],
20519	//       "enumDescriptions": [
20520	//         "Default value when type is not specified or is unknown in this version.",
20521	//         "Target a channel (a custom group of related websites or apps).",
20522	//         "Target an app category (for example, education or puzzle games).",
20523	//         "Target a specific app (for example, Angry Birds).",
20524	//         "Target a specific url (for example, quora.com).",
20525	//         "Target ads during a chosen time period on a specific day.",
20526	//         "Target ads to a specific age range (for example, 18-24).",
20527	//         "Target ads to the specified regions on a regional location list.",
20528	//         "Target ads to the specified points of interest on a proximity location list.",
20529	//         "Target ads to a specific gender (for example, female or male).",
20530	//         "Target a specific video player size for video ads.",
20531	//         "Target user rewarded content for video ads.",
20532	//         "Target ads to a specific parental status (for example, parent or not a parent).",
20533	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
20534	//         "Target ads in a specific content outstream position.",
20535	//         "Target ads to a specific device type (for example, tablet or connected TV).",
20536	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
20537	//         "Target ads to specific web browsers (for example, Chrome).",
20538	//         "Target ads to a specific household income range (for example, top 10%).",
20539	//         "Target ads in a specific on screen position.",
20540	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
20541	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
20542	//         "Filter website content by sensitive categories (for example, adult).",
20543	//         "Target ads to a specific environment (for example, web or app).",
20544	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
20545	//         "Target ads to a specific operating system (for example, macOS).",
20546	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
20547	//         "Target ads to a specific keyword (for example, dog or retriever).",
20548	//         "Target ads to a specific negative keyword list.",
20549	//         "Target ads to a specific viewability (for example, 80% viewable).",
20550	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
20551	//         "Purchase impressions from specific deals and auction packages.",
20552	//         "Target ads to a specific language (for example, English or Japanese).",
20553	//         "Target ads to ads.txt authorized sellers.",
20554	//         "Target ads to a specific regional location (for example, a city or state).",
20555	//         "Purchase impressions from a group of deals and auction packages.",
20556	//         "Purchase impressions from specific exchanges.",
20557	//         "Purchase impressions from specific sub-exchanges."
20558	//       ],
20559	//       "location": "path",
20560	//       "pattern": "^[^/]+$",
20561	//       "required": true,
20562	//       "type": "string"
20563	//     }
20564	//   },
20565	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
20566	//   "response": {
20567	//     "$ref": "AssignedTargetingOption"
20568	//   },
20569	//   "scopes": [
20570	//     "https://www.googleapis.com/auth/display-video"
20571	//   ]
20572	// }
20573
20574}
20575
20576// method id "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list":
20577
20578type AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall struct {
20579	s             *Service
20580	advertiserId  int64
20581	lineItemId    int64
20582	targetingType string
20583	urlParams_    gensupport.URLParams
20584	ifNoneMatch_  string
20585	ctx_          context.Context
20586	header_       http.Header
20587}
20588
20589// List: Lists the targeting options assigned to a line item.
20590func (r *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, lineItemId int64, targetingType string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20591	c := &AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20592	c.advertiserId = advertiserId
20593	c.lineItemId = lineItemId
20594	c.targetingType = targetingType
20595	return c
20596}
20597
20598// Filter sets the optional parameter "filter": Allows filtering by
20599// assigned targeting option properties. Supported syntax: * Filter
20600// expressions are made up of one or more restrictions. * Restrictions
20601// can be combined by the logical operator `OR`. * A restriction has the
20602// form of `{field} {operator} {value}`. * The operator must be `EQUALS
20603// (=)`. * Supported fields: - `assignedTargetingOptionId` -
20604// `inheritance` Examples: * AssignedTargetingOptions with ID 1 or 2
20605// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2" *
20606// AssignedTargetingOptions with inheritance status of NOT_INHERITED or
20607// INHERITED_FROM_PARTNER `inheritance="NOT_INHERITED" OR
20608// inheritance="INHERITED_FROM_PARTNER" The length of this field should
20609// be no more than 500 characters.
20610func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20611	c.urlParams_.Set("filter", filter)
20612	return c
20613}
20614
20615// OrderBy sets the optional parameter "orderBy": Field by which to sort
20616// the list. Acceptable values are: * `assignedTargetingOptionId`
20617// (default) The default sorting order is ascending. To specify
20618// descending order for a field, a suffix "desc" should be added to the
20619// field name. Example: `assignedTargetingOptionId desc`.
20620func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20621	c.urlParams_.Set("orderBy", orderBy)
20622	return c
20623}
20624
20625// PageSize sets the optional parameter "pageSize": Requested page size.
20626// Must be between `1` and `100`. If unspecified will default to `100`.
20627// Returns error code `INVALID_ARGUMENT` if an invalid value is
20628// specified.
20629func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20630	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
20631	return c
20632}
20633
20634// PageToken sets the optional parameter "pageToken": A token
20635// identifying a page of results the server should return. Typically,
20636// this is the value of next_page_token returned from the previous call
20637// to `ListLineItemAssignedTargetingOptions` method. If not specified,
20638// the first page of results will be returned.
20639func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20640	c.urlParams_.Set("pageToken", pageToken)
20641	return c
20642}
20643
20644// Fields allows partial responses to be retrieved. See
20645// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20646// for more information.
20647func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20648	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20649	return c
20650}
20651
20652// IfNoneMatch sets the optional parameter which makes the operation
20653// fail if the object's ETag matches the given value. This is useful for
20654// getting updates only after the object has changed since the last
20655// request. Use googleapi.IsNotModified to check whether the response
20656// error from Do is the result of In-None-Match.
20657func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20658	c.ifNoneMatch_ = entityTag
20659	return c
20660}
20661
20662// Context sets the context to be used in this call's Do method. Any
20663// pending HTTP request will be aborted if the provided context is
20664// canceled.
20665func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall {
20666	c.ctx_ = ctx
20667	return c
20668}
20669
20670// Header returns an http.Header that can be modified by the caller to
20671// add HTTP headers to the request.
20672func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
20673	if c.header_ == nil {
20674		c.header_ = make(http.Header)
20675	}
20676	return c.header_
20677}
20678
20679func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
20680	reqHeaders := make(http.Header)
20681	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20682	for k, v := range c.header_ {
20683		reqHeaders[k] = v
20684	}
20685	reqHeaders.Set("User-Agent", c.s.userAgent())
20686	if c.ifNoneMatch_ != "" {
20687		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20688	}
20689	var body io.Reader = nil
20690	c.urlParams_.Set("alt", alt)
20691	c.urlParams_.Set("prettyPrint", "false")
20692	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
20693	urls += "?" + c.urlParams_.Encode()
20694	req, err := http.NewRequest("GET", urls, body)
20695	if err != nil {
20696		return nil, err
20697	}
20698	req.Header = reqHeaders
20699	googleapi.Expand(req.URL, map[string]string{
20700		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
20701		"lineItemId":    strconv.FormatInt(c.lineItemId, 10),
20702		"targetingType": c.targetingType,
20703	})
20704	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20705}
20706
20707// Do executes the "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list" call.
20708// Exactly one of *ListLineItemAssignedTargetingOptionsResponse or error
20709// will be non-nil. Any non-2xx status code is an error. Response
20710// headers are in either
20711// *ListLineItemAssignedTargetingOptionsResponse.ServerResponse.Header
20712// or (if a response was returned at all) in
20713// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20714// whether the returned error was because http.StatusNotModified was
20715// returned.
20716func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListLineItemAssignedTargetingOptionsResponse, error) {
20717	gensupport.SetOptions(c.urlParams_, opts...)
20718	res, err := c.doRequest("json")
20719	if res != nil && res.StatusCode == http.StatusNotModified {
20720		if res.Body != nil {
20721			res.Body.Close()
20722		}
20723		return nil, &googleapi.Error{
20724			Code:   res.StatusCode,
20725			Header: res.Header,
20726		}
20727	}
20728	if err != nil {
20729		return nil, err
20730	}
20731	defer googleapi.CloseBody(res)
20732	if err := googleapi.CheckResponse(res); err != nil {
20733		return nil, err
20734	}
20735	ret := &ListLineItemAssignedTargetingOptionsResponse{
20736		ServerResponse: googleapi.ServerResponse{
20737			Header:         res.Header,
20738			HTTPStatusCode: res.StatusCode,
20739		},
20740	}
20741	target := &ret
20742	if err := gensupport.DecodeResponse(target, res); err != nil {
20743		return nil, err
20744	}
20745	return ret, nil
20746	// {
20747	//   "description": "Lists the targeting options assigned to a line item.",
20748	//   "flatPath": "v1/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
20749	//   "httpMethod": "GET",
20750	//   "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list",
20751	//   "parameterOrder": [
20752	//     "advertiserId",
20753	//     "lineItemId",
20754	//     "targetingType"
20755	//   ],
20756	//   "parameters": {
20757	//     "advertiserId": {
20758	//       "description": "Required. The ID of the advertiser the line item belongs to.",
20759	//       "format": "int64",
20760	//       "location": "path",
20761	//       "pattern": "^[^/]+$",
20762	//       "required": true,
20763	//       "type": "string"
20764	//     },
20765	//     "filter": {
20766	//       "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.",
20767	//       "location": "query",
20768	//       "type": "string"
20769	//     },
20770	//     "lineItemId": {
20771	//       "description": "Required. The ID of the line item to list assigned targeting options for.",
20772	//       "format": "int64",
20773	//       "location": "path",
20774	//       "pattern": "^[^/]+$",
20775	//       "required": true,
20776	//       "type": "string"
20777	//     },
20778	//     "orderBy": {
20779	//       "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`.",
20780	//       "location": "query",
20781	//       "type": "string"
20782	//     },
20783	//     "pageSize": {
20784	//       "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.",
20785	//       "format": "int32",
20786	//       "location": "query",
20787	//       "type": "integer"
20788	//     },
20789	//     "pageToken": {
20790	//       "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.",
20791	//       "location": "query",
20792	//       "type": "string"
20793	//     },
20794	//     "targetingType": {
20795	//       "description": "Required. Identifies the type of assigned targeting options to list.",
20796	//       "enum": [
20797	//         "TARGETING_TYPE_UNSPECIFIED",
20798	//         "TARGETING_TYPE_CHANNEL",
20799	//         "TARGETING_TYPE_APP_CATEGORY",
20800	//         "TARGETING_TYPE_APP",
20801	//         "TARGETING_TYPE_URL",
20802	//         "TARGETING_TYPE_DAY_AND_TIME",
20803	//         "TARGETING_TYPE_AGE_RANGE",
20804	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
20805	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
20806	//         "TARGETING_TYPE_GENDER",
20807	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
20808	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
20809	//         "TARGETING_TYPE_PARENTAL_STATUS",
20810	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
20811	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
20812	//         "TARGETING_TYPE_DEVICE_TYPE",
20813	//         "TARGETING_TYPE_AUDIENCE_GROUP",
20814	//         "TARGETING_TYPE_BROWSER",
20815	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
20816	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
20817	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
20818	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
20819	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
20820	//         "TARGETING_TYPE_ENVIRONMENT",
20821	//         "TARGETING_TYPE_CARRIER_AND_ISP",
20822	//         "TARGETING_TYPE_OPERATING_SYSTEM",
20823	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
20824	//         "TARGETING_TYPE_KEYWORD",
20825	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
20826	//         "TARGETING_TYPE_VIEWABILITY",
20827	//         "TARGETING_TYPE_CATEGORY",
20828	//         "TARGETING_TYPE_INVENTORY_SOURCE",
20829	//         "TARGETING_TYPE_LANGUAGE",
20830	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
20831	//         "TARGETING_TYPE_GEO_REGION",
20832	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
20833	//         "TARGETING_TYPE_EXCHANGE",
20834	//         "TARGETING_TYPE_SUB_EXCHANGE"
20835	//       ],
20836	//       "enumDescriptions": [
20837	//         "Default value when type is not specified or is unknown in this version.",
20838	//         "Target a channel (a custom group of related websites or apps).",
20839	//         "Target an app category (for example, education or puzzle games).",
20840	//         "Target a specific app (for example, Angry Birds).",
20841	//         "Target a specific url (for example, quora.com).",
20842	//         "Target ads during a chosen time period on a specific day.",
20843	//         "Target ads to a specific age range (for example, 18-24).",
20844	//         "Target ads to the specified regions on a regional location list.",
20845	//         "Target ads to the specified points of interest on a proximity location list.",
20846	//         "Target ads to a specific gender (for example, female or male).",
20847	//         "Target a specific video player size for video ads.",
20848	//         "Target user rewarded content for video ads.",
20849	//         "Target ads to a specific parental status (for example, parent or not a parent).",
20850	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
20851	//         "Target ads in a specific content outstream position.",
20852	//         "Target ads to a specific device type (for example, tablet or connected TV).",
20853	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
20854	//         "Target ads to specific web browsers (for example, Chrome).",
20855	//         "Target ads to a specific household income range (for example, top 10%).",
20856	//         "Target ads in a specific on screen position.",
20857	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
20858	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
20859	//         "Filter website content by sensitive categories (for example, adult).",
20860	//         "Target ads to a specific environment (for example, web or app).",
20861	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
20862	//         "Target ads to a specific operating system (for example, macOS).",
20863	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
20864	//         "Target ads to a specific keyword (for example, dog or retriever).",
20865	//         "Target ads to a specific negative keyword list.",
20866	//         "Target ads to a specific viewability (for example, 80% viewable).",
20867	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
20868	//         "Purchase impressions from specific deals and auction packages.",
20869	//         "Target ads to a specific language (for example, English or Japanese).",
20870	//         "Target ads to ads.txt authorized sellers.",
20871	//         "Target ads to a specific regional location (for example, a city or state).",
20872	//         "Purchase impressions from a group of deals and auction packages.",
20873	//         "Purchase impressions from specific exchanges.",
20874	//         "Purchase impressions from specific sub-exchanges."
20875	//       ],
20876	//       "location": "path",
20877	//       "pattern": "^[^/]+$",
20878	//       "required": true,
20879	//       "type": "string"
20880	//     }
20881	//   },
20882	//   "path": "v1/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
20883	//   "response": {
20884	//     "$ref": "ListLineItemAssignedTargetingOptionsResponse"
20885	//   },
20886	//   "scopes": [
20887	//     "https://www.googleapis.com/auth/display-video"
20888	//   ]
20889	// }
20890
20891}
20892
20893// Pages invokes f for each page of results.
20894// A non-nil error returned from f will halt the iteration.
20895// The provided context supersedes any context provided to the Context method.
20896func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListLineItemAssignedTargetingOptionsResponse) error) error {
20897	c.ctx_ = ctx
20898	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20899	for {
20900		x, err := c.Do()
20901		if err != nil {
20902			return err
20903		}
20904		if err := f(x); err != nil {
20905			return err
20906		}
20907		if x.NextPageToken == "" {
20908			return nil
20909		}
20910		c.PageToken(x.NextPageToken)
20911	}
20912}
20913
20914// method id "displayvideo.advertisers.locationLists.create":
20915
20916type AdvertisersLocationListsCreateCall struct {
20917	s            *Service
20918	advertiserId int64
20919	locationlist *LocationList
20920	urlParams_   gensupport.URLParams
20921	ctx_         context.Context
20922	header_      http.Header
20923}
20924
20925// Create: Creates a new location list. Returns the newly created
20926// location list if successful.
20927func (r *AdvertisersLocationListsService) Create(advertiserId int64, locationlist *LocationList) *AdvertisersLocationListsCreateCall {
20928	c := &AdvertisersLocationListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20929	c.advertiserId = advertiserId
20930	c.locationlist = locationlist
20931	return c
20932}
20933
20934// Fields allows partial responses to be retrieved. See
20935// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20936// for more information.
20937func (c *AdvertisersLocationListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsCreateCall {
20938	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20939	return c
20940}
20941
20942// Context sets the context to be used in this call's Do method. Any
20943// pending HTTP request will be aborted if the provided context is
20944// canceled.
20945func (c *AdvertisersLocationListsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsCreateCall {
20946	c.ctx_ = ctx
20947	return c
20948}
20949
20950// Header returns an http.Header that can be modified by the caller to
20951// add HTTP headers to the request.
20952func (c *AdvertisersLocationListsCreateCall) Header() http.Header {
20953	if c.header_ == nil {
20954		c.header_ = make(http.Header)
20955	}
20956	return c.header_
20957}
20958
20959func (c *AdvertisersLocationListsCreateCall) doRequest(alt string) (*http.Response, error) {
20960	reqHeaders := make(http.Header)
20961	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20962	for k, v := range c.header_ {
20963		reqHeaders[k] = v
20964	}
20965	reqHeaders.Set("User-Agent", c.s.userAgent())
20966	var body io.Reader = nil
20967	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
20968	if err != nil {
20969		return nil, err
20970	}
20971	reqHeaders.Set("Content-Type", "application/json")
20972	c.urlParams_.Set("alt", alt)
20973	c.urlParams_.Set("prettyPrint", "false")
20974	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists")
20975	urls += "?" + c.urlParams_.Encode()
20976	req, err := http.NewRequest("POST", urls, body)
20977	if err != nil {
20978		return nil, err
20979	}
20980	req.Header = reqHeaders
20981	googleapi.Expand(req.URL, map[string]string{
20982		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
20983	})
20984	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20985}
20986
20987// Do executes the "displayvideo.advertisers.locationLists.create" call.
20988// Exactly one of *LocationList or error will be non-nil. Any non-2xx
20989// status code is an error. Response headers are in either
20990// *LocationList.ServerResponse.Header or (if a response was returned at
20991// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20992// to check whether the returned error was because
20993// http.StatusNotModified was returned.
20994func (c *AdvertisersLocationListsCreateCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
20995	gensupport.SetOptions(c.urlParams_, opts...)
20996	res, err := c.doRequest("json")
20997	if res != nil && res.StatusCode == http.StatusNotModified {
20998		if res.Body != nil {
20999			res.Body.Close()
21000		}
21001		return nil, &googleapi.Error{
21002			Code:   res.StatusCode,
21003			Header: res.Header,
21004		}
21005	}
21006	if err != nil {
21007		return nil, err
21008	}
21009	defer googleapi.CloseBody(res)
21010	if err := googleapi.CheckResponse(res); err != nil {
21011		return nil, err
21012	}
21013	ret := &LocationList{
21014		ServerResponse: googleapi.ServerResponse{
21015			Header:         res.Header,
21016			HTTPStatusCode: res.StatusCode,
21017		},
21018	}
21019	target := &ret
21020	if err := gensupport.DecodeResponse(target, res); err != nil {
21021		return nil, err
21022	}
21023	return ret, nil
21024	// {
21025	//   "description": "Creates a new location list. Returns the newly created location list if successful.",
21026	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists",
21027	//   "httpMethod": "POST",
21028	//   "id": "displayvideo.advertisers.locationLists.create",
21029	//   "parameterOrder": [
21030	//     "advertiserId"
21031	//   ],
21032	//   "parameters": {
21033	//     "advertiserId": {
21034	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
21035	//       "format": "int64",
21036	//       "location": "path",
21037	//       "pattern": "^[^/]+$",
21038	//       "required": true,
21039	//       "type": "string"
21040	//     }
21041	//   },
21042	//   "path": "v1/advertisers/{+advertiserId}/locationLists",
21043	//   "request": {
21044	//     "$ref": "LocationList"
21045	//   },
21046	//   "response": {
21047	//     "$ref": "LocationList"
21048	//   },
21049	//   "scopes": [
21050	//     "https://www.googleapis.com/auth/display-video"
21051	//   ]
21052	// }
21053
21054}
21055
21056// method id "displayvideo.advertisers.locationLists.get":
21057
21058type AdvertisersLocationListsGetCall struct {
21059	s              *Service
21060	advertiserId   int64
21061	locationListId int64
21062	urlParams_     gensupport.URLParams
21063	ifNoneMatch_   string
21064	ctx_           context.Context
21065	header_        http.Header
21066}
21067
21068// Get: Gets a location list.
21069func (r *AdvertisersLocationListsService) Get(advertiserId int64, locationListId int64) *AdvertisersLocationListsGetCall {
21070	c := &AdvertisersLocationListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21071	c.advertiserId = advertiserId
21072	c.locationListId = locationListId
21073	return c
21074}
21075
21076// Fields allows partial responses to be retrieved. See
21077// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21078// for more information.
21079func (c *AdvertisersLocationListsGetCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsGetCall {
21080	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21081	return c
21082}
21083
21084// IfNoneMatch sets the optional parameter which makes the operation
21085// fail if the object's ETag matches the given value. This is useful for
21086// getting updates only after the object has changed since the last
21087// request. Use googleapi.IsNotModified to check whether the response
21088// error from Do is the result of In-None-Match.
21089func (c *AdvertisersLocationListsGetCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsGetCall {
21090	c.ifNoneMatch_ = entityTag
21091	return c
21092}
21093
21094// Context sets the context to be used in this call's Do method. Any
21095// pending HTTP request will be aborted if the provided context is
21096// canceled.
21097func (c *AdvertisersLocationListsGetCall) Context(ctx context.Context) *AdvertisersLocationListsGetCall {
21098	c.ctx_ = ctx
21099	return c
21100}
21101
21102// Header returns an http.Header that can be modified by the caller to
21103// add HTTP headers to the request.
21104func (c *AdvertisersLocationListsGetCall) Header() http.Header {
21105	if c.header_ == nil {
21106		c.header_ = make(http.Header)
21107	}
21108	return c.header_
21109}
21110
21111func (c *AdvertisersLocationListsGetCall) doRequest(alt string) (*http.Response, error) {
21112	reqHeaders := make(http.Header)
21113	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21114	for k, v := range c.header_ {
21115		reqHeaders[k] = v
21116	}
21117	reqHeaders.Set("User-Agent", c.s.userAgent())
21118	if c.ifNoneMatch_ != "" {
21119		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21120	}
21121	var body io.Reader = nil
21122	c.urlParams_.Set("alt", alt)
21123	c.urlParams_.Set("prettyPrint", "false")
21124	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists/{+locationListId}")
21125	urls += "?" + c.urlParams_.Encode()
21126	req, err := http.NewRequest("GET", urls, body)
21127	if err != nil {
21128		return nil, err
21129	}
21130	req.Header = reqHeaders
21131	googleapi.Expand(req.URL, map[string]string{
21132		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
21133		"locationListId": strconv.FormatInt(c.locationListId, 10),
21134	})
21135	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21136}
21137
21138// Do executes the "displayvideo.advertisers.locationLists.get" call.
21139// Exactly one of *LocationList or error will be non-nil. Any non-2xx
21140// status code is an error. Response headers are in either
21141// *LocationList.ServerResponse.Header or (if a response was returned at
21142// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21143// to check whether the returned error was because
21144// http.StatusNotModified was returned.
21145func (c *AdvertisersLocationListsGetCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
21146	gensupport.SetOptions(c.urlParams_, opts...)
21147	res, err := c.doRequest("json")
21148	if res != nil && res.StatusCode == http.StatusNotModified {
21149		if res.Body != nil {
21150			res.Body.Close()
21151		}
21152		return nil, &googleapi.Error{
21153			Code:   res.StatusCode,
21154			Header: res.Header,
21155		}
21156	}
21157	if err != nil {
21158		return nil, err
21159	}
21160	defer googleapi.CloseBody(res)
21161	if err := googleapi.CheckResponse(res); err != nil {
21162		return nil, err
21163	}
21164	ret := &LocationList{
21165		ServerResponse: googleapi.ServerResponse{
21166			Header:         res.Header,
21167			HTTPStatusCode: res.StatusCode,
21168		},
21169	}
21170	target := &ret
21171	if err := gensupport.DecodeResponse(target, res); err != nil {
21172		return nil, err
21173	}
21174	return ret, nil
21175	// {
21176	//   "description": "Gets a location list.",
21177	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListsId}",
21178	//   "httpMethod": "GET",
21179	//   "id": "displayvideo.advertisers.locationLists.get",
21180	//   "parameterOrder": [
21181	//     "advertiserId",
21182	//     "locationListId"
21183	//   ],
21184	//   "parameters": {
21185	//     "advertiserId": {
21186	//       "description": "Required. The ID of the DV360 advertiser to which the fetched location list belongs.",
21187	//       "format": "int64",
21188	//       "location": "path",
21189	//       "pattern": "^[^/]+$",
21190	//       "required": true,
21191	//       "type": "string"
21192	//     },
21193	//     "locationListId": {
21194	//       "description": "Required. The ID of the location list to fetch.",
21195	//       "format": "int64",
21196	//       "location": "path",
21197	//       "pattern": "^[^/]+$",
21198	//       "required": true,
21199	//       "type": "string"
21200	//     }
21201	//   },
21202	//   "path": "v1/advertisers/{+advertiserId}/locationLists/{+locationListId}",
21203	//   "response": {
21204	//     "$ref": "LocationList"
21205	//   },
21206	//   "scopes": [
21207	//     "https://www.googleapis.com/auth/display-video"
21208	//   ]
21209	// }
21210
21211}
21212
21213// method id "displayvideo.advertisers.locationLists.list":
21214
21215type AdvertisersLocationListsListCall struct {
21216	s            *Service
21217	advertiserId int64
21218	urlParams_   gensupport.URLParams
21219	ifNoneMatch_ string
21220	ctx_         context.Context
21221	header_      http.Header
21222}
21223
21224// List: Lists location lists based on a given advertiser id.
21225func (r *AdvertisersLocationListsService) List(advertiserId int64) *AdvertisersLocationListsListCall {
21226	c := &AdvertisersLocationListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21227	c.advertiserId = advertiserId
21228	return c
21229}
21230
21231// Filter sets the optional parameter "filter": Allows filtering by
21232// location list fields. Supported syntax: * Filter expressions are made
21233// up of one or more restrictions. * Restrictions can be combined by
21234// `AND` or `OR` logical operators. A sequence of restrictions
21235// implicitly uses `AND`. * A restriction has the form of `{field}
21236// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
21237// fields: - `locationType` Examples: * All regional location list:
21238// `locationType="TARGETING_LOCATION_TYPE_REGIONAL" * All proximity
21239// location list: `locationType="TARGETING_LOCATION_TYPE_PROXIMITY"
21240func (c *AdvertisersLocationListsListCall) Filter(filter string) *AdvertisersLocationListsListCall {
21241	c.urlParams_.Set("filter", filter)
21242	return c
21243}
21244
21245// OrderBy sets the optional parameter "orderBy": Field by which to sort
21246// the list. Acceptable values are: * `locationListId` (default) *
21247// `displayName` The default sorting order is ascending. To specify
21248// descending order for a field, a suffix "desc" should be added to the
21249// field name. Example: `displayName desc`.
21250func (c *AdvertisersLocationListsListCall) OrderBy(orderBy string) *AdvertisersLocationListsListCall {
21251	c.urlParams_.Set("orderBy", orderBy)
21252	return c
21253}
21254
21255// PageSize sets the optional parameter "pageSize": Requested page size.
21256// Must be between `1` and `100`. Defaults to `100` if not set. Returns
21257// error code `INVALID_ARGUMENT` if an invalid value is specified.
21258func (c *AdvertisersLocationListsListCall) PageSize(pageSize int64) *AdvertisersLocationListsListCall {
21259	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
21260	return c
21261}
21262
21263// PageToken sets the optional parameter "pageToken": A token
21264// identifying a page of results the server should return. Typically,
21265// this is the value of next_page_token returned from the previous call
21266// to `ListLocationLists` method. If not specified, the first page of
21267// results will be returned.
21268func (c *AdvertisersLocationListsListCall) PageToken(pageToken string) *AdvertisersLocationListsListCall {
21269	c.urlParams_.Set("pageToken", pageToken)
21270	return c
21271}
21272
21273// Fields allows partial responses to be retrieved. See
21274// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21275// for more information.
21276func (c *AdvertisersLocationListsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsListCall {
21277	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21278	return c
21279}
21280
21281// IfNoneMatch sets the optional parameter which makes the operation
21282// fail if the object's ETag matches the given value. This is useful for
21283// getting updates only after the object has changed since the last
21284// request. Use googleapi.IsNotModified to check whether the response
21285// error from Do is the result of In-None-Match.
21286func (c *AdvertisersLocationListsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsListCall {
21287	c.ifNoneMatch_ = entityTag
21288	return c
21289}
21290
21291// Context sets the context to be used in this call's Do method. Any
21292// pending HTTP request will be aborted if the provided context is
21293// canceled.
21294func (c *AdvertisersLocationListsListCall) Context(ctx context.Context) *AdvertisersLocationListsListCall {
21295	c.ctx_ = ctx
21296	return c
21297}
21298
21299// Header returns an http.Header that can be modified by the caller to
21300// add HTTP headers to the request.
21301func (c *AdvertisersLocationListsListCall) Header() http.Header {
21302	if c.header_ == nil {
21303		c.header_ = make(http.Header)
21304	}
21305	return c.header_
21306}
21307
21308func (c *AdvertisersLocationListsListCall) doRequest(alt string) (*http.Response, error) {
21309	reqHeaders := make(http.Header)
21310	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21311	for k, v := range c.header_ {
21312		reqHeaders[k] = v
21313	}
21314	reqHeaders.Set("User-Agent", c.s.userAgent())
21315	if c.ifNoneMatch_ != "" {
21316		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21317	}
21318	var body io.Reader = nil
21319	c.urlParams_.Set("alt", alt)
21320	c.urlParams_.Set("prettyPrint", "false")
21321	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists")
21322	urls += "?" + c.urlParams_.Encode()
21323	req, err := http.NewRequest("GET", urls, body)
21324	if err != nil {
21325		return nil, err
21326	}
21327	req.Header = reqHeaders
21328	googleapi.Expand(req.URL, map[string]string{
21329		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
21330	})
21331	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21332}
21333
21334// Do executes the "displayvideo.advertisers.locationLists.list" call.
21335// Exactly one of *ListLocationListsResponse or error will be non-nil.
21336// Any non-2xx status code is an error. Response headers are in either
21337// *ListLocationListsResponse.ServerResponse.Header or (if a response
21338// was returned at all) in error.(*googleapi.Error).Header. Use
21339// googleapi.IsNotModified to check whether the returned error was
21340// because http.StatusNotModified was returned.
21341func (c *AdvertisersLocationListsListCall) Do(opts ...googleapi.CallOption) (*ListLocationListsResponse, error) {
21342	gensupport.SetOptions(c.urlParams_, opts...)
21343	res, err := c.doRequest("json")
21344	if res != nil && res.StatusCode == http.StatusNotModified {
21345		if res.Body != nil {
21346			res.Body.Close()
21347		}
21348		return nil, &googleapi.Error{
21349			Code:   res.StatusCode,
21350			Header: res.Header,
21351		}
21352	}
21353	if err != nil {
21354		return nil, err
21355	}
21356	defer googleapi.CloseBody(res)
21357	if err := googleapi.CheckResponse(res); err != nil {
21358		return nil, err
21359	}
21360	ret := &ListLocationListsResponse{
21361		ServerResponse: googleapi.ServerResponse{
21362			Header:         res.Header,
21363			HTTPStatusCode: res.StatusCode,
21364		},
21365	}
21366	target := &ret
21367	if err := gensupport.DecodeResponse(target, res); err != nil {
21368		return nil, err
21369	}
21370	return ret, nil
21371	// {
21372	//   "description": "Lists location lists based on a given advertiser id.",
21373	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists",
21374	//   "httpMethod": "GET",
21375	//   "id": "displayvideo.advertisers.locationLists.list",
21376	//   "parameterOrder": [
21377	//     "advertiserId"
21378	//   ],
21379	//   "parameters": {
21380	//     "advertiserId": {
21381	//       "description": "Required. The ID of the DV360 advertiser to which the fetched location lists belong.",
21382	//       "format": "int64",
21383	//       "location": "path",
21384	//       "pattern": "^[^/]+$",
21385	//       "required": true,
21386	//       "type": "string"
21387	//     },
21388	//     "filter": {
21389	//       "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\"`",
21390	//       "location": "query",
21391	//       "type": "string"
21392	//     },
21393	//     "orderBy": {
21394	//       "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`.",
21395	//       "location": "query",
21396	//       "type": "string"
21397	//     },
21398	//     "pageSize": {
21399	//       "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.",
21400	//       "format": "int32",
21401	//       "location": "query",
21402	//       "type": "integer"
21403	//     },
21404	//     "pageToken": {
21405	//       "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.",
21406	//       "location": "query",
21407	//       "type": "string"
21408	//     }
21409	//   },
21410	//   "path": "v1/advertisers/{+advertiserId}/locationLists",
21411	//   "response": {
21412	//     "$ref": "ListLocationListsResponse"
21413	//   },
21414	//   "scopes": [
21415	//     "https://www.googleapis.com/auth/display-video"
21416	//   ]
21417	// }
21418
21419}
21420
21421// Pages invokes f for each page of results.
21422// A non-nil error returned from f will halt the iteration.
21423// The provided context supersedes any context provided to the Context method.
21424func (c *AdvertisersLocationListsListCall) Pages(ctx context.Context, f func(*ListLocationListsResponse) error) error {
21425	c.ctx_ = ctx
21426	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21427	for {
21428		x, err := c.Do()
21429		if err != nil {
21430			return err
21431		}
21432		if err := f(x); err != nil {
21433			return err
21434		}
21435		if x.NextPageToken == "" {
21436			return nil
21437		}
21438		c.PageToken(x.NextPageToken)
21439	}
21440}
21441
21442// method id "displayvideo.advertisers.locationLists.patch":
21443
21444type AdvertisersLocationListsPatchCall struct {
21445	s              *Service
21446	advertiserId   int64
21447	locationListId int64
21448	locationlist   *LocationList
21449	urlParams_     gensupport.URLParams
21450	ctx_           context.Context
21451	header_        http.Header
21452}
21453
21454// Patch: Updates a location list. Returns the updated location list if
21455// successful.
21456func (r *AdvertisersLocationListsService) Patch(advertiserId int64, locationListId int64, locationlist *LocationList) *AdvertisersLocationListsPatchCall {
21457	c := &AdvertisersLocationListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21458	c.advertiserId = advertiserId
21459	c.locationListId = locationListId
21460	c.locationlist = locationlist
21461	return c
21462}
21463
21464// UpdateMask sets the optional parameter "updateMask": Required. The
21465// mask to control which fields to update.
21466func (c *AdvertisersLocationListsPatchCall) UpdateMask(updateMask string) *AdvertisersLocationListsPatchCall {
21467	c.urlParams_.Set("updateMask", updateMask)
21468	return c
21469}
21470
21471// Fields allows partial responses to be retrieved. See
21472// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21473// for more information.
21474func (c *AdvertisersLocationListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsPatchCall {
21475	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21476	return c
21477}
21478
21479// Context sets the context to be used in this call's Do method. Any
21480// pending HTTP request will be aborted if the provided context is
21481// canceled.
21482func (c *AdvertisersLocationListsPatchCall) Context(ctx context.Context) *AdvertisersLocationListsPatchCall {
21483	c.ctx_ = ctx
21484	return c
21485}
21486
21487// Header returns an http.Header that can be modified by the caller to
21488// add HTTP headers to the request.
21489func (c *AdvertisersLocationListsPatchCall) Header() http.Header {
21490	if c.header_ == nil {
21491		c.header_ = make(http.Header)
21492	}
21493	return c.header_
21494}
21495
21496func (c *AdvertisersLocationListsPatchCall) doRequest(alt string) (*http.Response, error) {
21497	reqHeaders := make(http.Header)
21498	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21499	for k, v := range c.header_ {
21500		reqHeaders[k] = v
21501	}
21502	reqHeaders.Set("User-Agent", c.s.userAgent())
21503	var body io.Reader = nil
21504	body, err := googleapi.WithoutDataWrapper.JSONReader(c.locationlist)
21505	if err != nil {
21506		return nil, err
21507	}
21508	reqHeaders.Set("Content-Type", "application/json")
21509	c.urlParams_.Set("alt", alt)
21510	c.urlParams_.Set("prettyPrint", "false")
21511	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/locationLists/{locationListId}")
21512	urls += "?" + c.urlParams_.Encode()
21513	req, err := http.NewRequest("PATCH", urls, body)
21514	if err != nil {
21515		return nil, err
21516	}
21517	req.Header = reqHeaders
21518	googleapi.Expand(req.URL, map[string]string{
21519		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
21520		"locationListId": strconv.FormatInt(c.locationListId, 10),
21521	})
21522	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21523}
21524
21525// Do executes the "displayvideo.advertisers.locationLists.patch" call.
21526// Exactly one of *LocationList or error will be non-nil. Any non-2xx
21527// status code is an error. Response headers are in either
21528// *LocationList.ServerResponse.Header or (if a response was returned at
21529// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21530// to check whether the returned error was because
21531// http.StatusNotModified was returned.
21532func (c *AdvertisersLocationListsPatchCall) Do(opts ...googleapi.CallOption) (*LocationList, error) {
21533	gensupport.SetOptions(c.urlParams_, opts...)
21534	res, err := c.doRequest("json")
21535	if res != nil && res.StatusCode == http.StatusNotModified {
21536		if res.Body != nil {
21537			res.Body.Close()
21538		}
21539		return nil, &googleapi.Error{
21540			Code:   res.StatusCode,
21541			Header: res.Header,
21542		}
21543	}
21544	if err != nil {
21545		return nil, err
21546	}
21547	defer googleapi.CloseBody(res)
21548	if err := googleapi.CheckResponse(res); err != nil {
21549		return nil, err
21550	}
21551	ret := &LocationList{
21552		ServerResponse: googleapi.ServerResponse{
21553			Header:         res.Header,
21554			HTTPStatusCode: res.StatusCode,
21555		},
21556	}
21557	target := &ret
21558	if err := gensupport.DecodeResponse(target, res); err != nil {
21559		return nil, err
21560	}
21561	return ret, nil
21562	// {
21563	//   "description": "Updates a location list. Returns the updated location list if successful.",
21564	//   "flatPath": "v1/advertisers/{advertisersId}/locationLists/{locationListId}",
21565	//   "httpMethod": "PATCH",
21566	//   "id": "displayvideo.advertisers.locationLists.patch",
21567	//   "parameterOrder": [
21568	//     "advertiserId",
21569	//     "locationListId"
21570	//   ],
21571	//   "parameters": {
21572	//     "advertiserId": {
21573	//       "description": "Required. The ID of the DV360 advertiser to which the location lists belongs.",
21574	//       "format": "int64",
21575	//       "location": "path",
21576	//       "pattern": "^[^/]+$",
21577	//       "required": true,
21578	//       "type": "string"
21579	//     },
21580	//     "locationListId": {
21581	//       "description": "Output only. The unique ID of the location list. Assigned by the system.",
21582	//       "format": "int64",
21583	//       "location": "path",
21584	//       "required": true,
21585	//       "type": "string"
21586	//     },
21587	//     "updateMask": {
21588	//       "description": "Required. The mask to control which fields to update.",
21589	//       "format": "google-fieldmask",
21590	//       "location": "query",
21591	//       "type": "string"
21592	//     }
21593	//   },
21594	//   "path": "v1/advertisers/{+advertiserId}/locationLists/{locationListId}",
21595	//   "request": {
21596	//     "$ref": "LocationList"
21597	//   },
21598	//   "response": {
21599	//     "$ref": "LocationList"
21600	//   },
21601	//   "scopes": [
21602	//     "https://www.googleapis.com/auth/display-video"
21603	//   ]
21604	// }
21605
21606}
21607
21608// method id "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit":
21609
21610type AdvertisersLocationListsAssignedLocationsBulkEditCall struct {
21611	s                                *Service
21612	advertiserId                     int64
21613	locationListId                   int64
21614	bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest
21615	urlParams_                       gensupport.URLParams
21616	ctx_                             context.Context
21617	header_                          http.Header
21618}
21619
21620// BulkEdit: Bulk edits multiple assignments between locations and a
21621// single location list. The operation will delete the assigned
21622// locations provided in
21623// BulkEditAssignedLocationsRequest.deleted_assigned_locations and then
21624// create the assigned locations provided in
21625// BulkEditAssignedLocationsRequest.created_assigned_locations.
21626func (r *AdvertisersLocationListsAssignedLocationsService) BulkEdit(advertiserId int64, locationListId int64, bulkeditassignedlocationsrequest *BulkEditAssignedLocationsRequest) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
21627	c := &AdvertisersLocationListsAssignedLocationsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21628	c.advertiserId = advertiserId
21629	c.locationListId = locationListId
21630	c.bulkeditassignedlocationsrequest = bulkeditassignedlocationsrequest
21631	return c
21632}
21633
21634// Fields allows partial responses to be retrieved. See
21635// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21636// for more information.
21637func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
21638	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21639	return c
21640}
21641
21642// Context sets the context to be used in this call's Do method. Any
21643// pending HTTP request will be aborted if the provided context is
21644// canceled.
21645func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsBulkEditCall {
21646	c.ctx_ = ctx
21647	return c
21648}
21649
21650// Header returns an http.Header that can be modified by the caller to
21651// add HTTP headers to the request.
21652func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Header() http.Header {
21653	if c.header_ == nil {
21654		c.header_ = make(http.Header)
21655	}
21656	return c.header_
21657}
21658
21659func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) doRequest(alt string) (*http.Response, error) {
21660	reqHeaders := make(http.Header)
21661	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21662	for k, v := range c.header_ {
21663		reqHeaders[k] = v
21664	}
21665	reqHeaders.Set("User-Agent", c.s.userAgent())
21666	var body io.Reader = nil
21667	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedlocationsrequest)
21668	if err != nil {
21669		return nil, err
21670	}
21671	reqHeaders.Set("Content-Type", "application/json")
21672	c.urlParams_.Set("alt", alt)
21673	c.urlParams_.Set("prettyPrint", "false")
21674	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit")
21675	urls += "?" + c.urlParams_.Encode()
21676	req, err := http.NewRequest("POST", urls, body)
21677	if err != nil {
21678		return nil, err
21679	}
21680	req.Header = reqHeaders
21681	googleapi.Expand(req.URL, map[string]string{
21682		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
21683		"locationListId": strconv.FormatInt(c.locationListId, 10),
21684	})
21685	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21686}
21687
21688// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit" call.
21689// Exactly one of *BulkEditAssignedLocationsResponse or error will be
21690// non-nil. Any non-2xx status code is an error. Response headers are in
21691// either *BulkEditAssignedLocationsResponse.ServerResponse.Header or
21692// (if a response was returned at all) in
21693// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21694// whether the returned error was because http.StatusNotModified was
21695// returned.
21696func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedLocationsResponse, error) {
21697	gensupport.SetOptions(c.urlParams_, opts...)
21698	res, err := c.doRequest("json")
21699	if res != nil && res.StatusCode == http.StatusNotModified {
21700		if res.Body != nil {
21701			res.Body.Close()
21702		}
21703		return nil, &googleapi.Error{
21704			Code:   res.StatusCode,
21705			Header: res.Header,
21706		}
21707	}
21708	if err != nil {
21709		return nil, err
21710	}
21711	defer googleapi.CloseBody(res)
21712	if err := googleapi.CheckResponse(res); err != nil {
21713		return nil, err
21714	}
21715	ret := &BulkEditAssignedLocationsResponse{
21716		ServerResponse: googleapi.ServerResponse{
21717			Header:         res.Header,
21718			HTTPStatusCode: res.StatusCode,
21719		},
21720	}
21721	target := &ret
21722	if err := gensupport.DecodeResponse(target, res); err != nil {
21723		return nil, err
21724	}
21725	return ret, nil
21726	// {
21727	//   "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.",
21728	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit",
21729	//   "httpMethod": "POST",
21730	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit",
21731	//   "parameterOrder": [
21732	//     "advertiserId",
21733	//     "locationListId"
21734	//   ],
21735	//   "parameters": {
21736	//     "advertiserId": {
21737	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
21738	//       "format": "int64",
21739	//       "location": "path",
21740	//       "required": true,
21741	//       "type": "string"
21742	//     },
21743	//     "locationListId": {
21744	//       "description": "Required. The ID of the location list to which these assignments are assigned.",
21745	//       "format": "int64",
21746	//       "location": "path",
21747	//       "pattern": "^[^/]+$",
21748	//       "required": true,
21749	//       "type": "string"
21750	//     }
21751	//   },
21752	//   "path": "v1/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit",
21753	//   "request": {
21754	//     "$ref": "BulkEditAssignedLocationsRequest"
21755	//   },
21756	//   "response": {
21757	//     "$ref": "BulkEditAssignedLocationsResponse"
21758	//   },
21759	//   "scopes": [
21760	//     "https://www.googleapis.com/auth/display-video"
21761	//   ]
21762	// }
21763
21764}
21765
21766// method id "displayvideo.advertisers.locationLists.assignedLocations.create":
21767
21768type AdvertisersLocationListsAssignedLocationsCreateCall struct {
21769	s                *Service
21770	advertiserId     int64
21771	locationListId   int64
21772	assignedlocation *AssignedLocation
21773	urlParams_       gensupport.URLParams
21774	ctx_             context.Context
21775	header_          http.Header
21776}
21777
21778// Create: Creates an assignment between a location and a location list.
21779func (r *AdvertisersLocationListsAssignedLocationsService) Create(advertiserId int64, locationListId int64, assignedlocation *AssignedLocation) *AdvertisersLocationListsAssignedLocationsCreateCall {
21780	c := &AdvertisersLocationListsAssignedLocationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21781	c.advertiserId = advertiserId
21782	c.locationListId = locationListId
21783	c.assignedlocation = assignedlocation
21784	return c
21785}
21786
21787// Fields allows partial responses to be retrieved. See
21788// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21789// for more information.
21790func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsCreateCall {
21791	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21792	return c
21793}
21794
21795// Context sets the context to be used in this call's Do method. Any
21796// pending HTTP request will be aborted if the provided context is
21797// canceled.
21798func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsCreateCall {
21799	c.ctx_ = ctx
21800	return c
21801}
21802
21803// Header returns an http.Header that can be modified by the caller to
21804// add HTTP headers to the request.
21805func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Header() http.Header {
21806	if c.header_ == nil {
21807		c.header_ = make(http.Header)
21808	}
21809	return c.header_
21810}
21811
21812func (c *AdvertisersLocationListsAssignedLocationsCreateCall) doRequest(alt string) (*http.Response, error) {
21813	reqHeaders := make(http.Header)
21814	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21815	for k, v := range c.header_ {
21816		reqHeaders[k] = v
21817	}
21818	reqHeaders.Set("User-Agent", c.s.userAgent())
21819	var body io.Reader = nil
21820	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedlocation)
21821	if err != nil {
21822		return nil, err
21823	}
21824	reqHeaders.Set("Content-Type", "application/json")
21825	c.urlParams_.Set("alt", alt)
21826	c.urlParams_.Set("prettyPrint", "false")
21827	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
21828	urls += "?" + c.urlParams_.Encode()
21829	req, err := http.NewRequest("POST", urls, body)
21830	if err != nil {
21831		return nil, err
21832	}
21833	req.Header = reqHeaders
21834	googleapi.Expand(req.URL, map[string]string{
21835		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
21836		"locationListId": strconv.FormatInt(c.locationListId, 10),
21837	})
21838	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21839}
21840
21841// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.create" call.
21842// Exactly one of *AssignedLocation or error will be non-nil. Any
21843// non-2xx status code is an error. Response headers are in either
21844// *AssignedLocation.ServerResponse.Header or (if a response was
21845// returned at all) in error.(*googleapi.Error).Header. Use
21846// googleapi.IsNotModified to check whether the returned error was
21847// because http.StatusNotModified was returned.
21848func (c *AdvertisersLocationListsAssignedLocationsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedLocation, error) {
21849	gensupport.SetOptions(c.urlParams_, opts...)
21850	res, err := c.doRequest("json")
21851	if res != nil && res.StatusCode == http.StatusNotModified {
21852		if res.Body != nil {
21853			res.Body.Close()
21854		}
21855		return nil, &googleapi.Error{
21856			Code:   res.StatusCode,
21857			Header: res.Header,
21858		}
21859	}
21860	if err != nil {
21861		return nil, err
21862	}
21863	defer googleapi.CloseBody(res)
21864	if err := googleapi.CheckResponse(res); err != nil {
21865		return nil, err
21866	}
21867	ret := &AssignedLocation{
21868		ServerResponse: googleapi.ServerResponse{
21869			Header:         res.Header,
21870			HTTPStatusCode: res.StatusCode,
21871		},
21872	}
21873	target := &ret
21874	if err := gensupport.DecodeResponse(target, res); err != nil {
21875		return nil, err
21876	}
21877	return ret, nil
21878	// {
21879	//   "description": "Creates an assignment between a location and a location list.",
21880	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
21881	//   "httpMethod": "POST",
21882	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.create",
21883	//   "parameterOrder": [
21884	//     "advertiserId",
21885	//     "locationListId"
21886	//   ],
21887	//   "parameters": {
21888	//     "advertiserId": {
21889	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
21890	//       "format": "int64",
21891	//       "location": "path",
21892	//       "required": true,
21893	//       "type": "string"
21894	//     },
21895	//     "locationListId": {
21896	//       "description": "Required. The ID of the location list for which the assignment will be created.",
21897	//       "format": "int64",
21898	//       "location": "path",
21899	//       "required": true,
21900	//       "type": "string"
21901	//     }
21902	//   },
21903	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
21904	//   "request": {
21905	//     "$ref": "AssignedLocation"
21906	//   },
21907	//   "response": {
21908	//     "$ref": "AssignedLocation"
21909	//   },
21910	//   "scopes": [
21911	//     "https://www.googleapis.com/auth/display-video"
21912	//   ]
21913	// }
21914
21915}
21916
21917// method id "displayvideo.advertisers.locationLists.assignedLocations.delete":
21918
21919type AdvertisersLocationListsAssignedLocationsDeleteCall struct {
21920	s                  *Service
21921	advertiserId       int64
21922	locationListId     int64
21923	assignedLocationId int64
21924	urlParams_         gensupport.URLParams
21925	ctx_               context.Context
21926	header_            http.Header
21927}
21928
21929// Delete: Deletes the assignment between a location and a location
21930// list.
21931func (r *AdvertisersLocationListsAssignedLocationsService) Delete(advertiserId int64, locationListId int64, assignedLocationId int64) *AdvertisersLocationListsAssignedLocationsDeleteCall {
21932	c := &AdvertisersLocationListsAssignedLocationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21933	c.advertiserId = advertiserId
21934	c.locationListId = locationListId
21935	c.assignedLocationId = assignedLocationId
21936	return c
21937}
21938
21939// Fields allows partial responses to be retrieved. See
21940// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21941// for more information.
21942func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsDeleteCall {
21943	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21944	return c
21945}
21946
21947// Context sets the context to be used in this call's Do method. Any
21948// pending HTTP request will be aborted if the provided context is
21949// canceled.
21950func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsDeleteCall {
21951	c.ctx_ = ctx
21952	return c
21953}
21954
21955// Header returns an http.Header that can be modified by the caller to
21956// add HTTP headers to the request.
21957func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Header() http.Header {
21958	if c.header_ == nil {
21959		c.header_ = make(http.Header)
21960	}
21961	return c.header_
21962}
21963
21964func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) doRequest(alt string) (*http.Response, error) {
21965	reqHeaders := make(http.Header)
21966	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21967	for k, v := range c.header_ {
21968		reqHeaders[k] = v
21969	}
21970	reqHeaders.Set("User-Agent", c.s.userAgent())
21971	var body io.Reader = nil
21972	c.urlParams_.Set("alt", alt)
21973	c.urlParams_.Set("prettyPrint", "false")
21974	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}")
21975	urls += "?" + c.urlParams_.Encode()
21976	req, err := http.NewRequest("DELETE", urls, body)
21977	if err != nil {
21978		return nil, err
21979	}
21980	req.Header = reqHeaders
21981	googleapi.Expand(req.URL, map[string]string{
21982		"advertiserId":       strconv.FormatInt(c.advertiserId, 10),
21983		"locationListId":     strconv.FormatInt(c.locationListId, 10),
21984		"assignedLocationId": strconv.FormatInt(c.assignedLocationId, 10),
21985	})
21986	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21987}
21988
21989// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.delete" call.
21990// Exactly one of *Empty or error will be non-nil. Any non-2xx status
21991// code is an error. Response headers are in either
21992// *Empty.ServerResponse.Header or (if a response was returned at all)
21993// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
21994// check whether the returned error was because http.StatusNotModified
21995// was returned.
21996func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
21997	gensupport.SetOptions(c.urlParams_, opts...)
21998	res, err := c.doRequest("json")
21999	if res != nil && res.StatusCode == http.StatusNotModified {
22000		if res.Body != nil {
22001			res.Body.Close()
22002		}
22003		return nil, &googleapi.Error{
22004			Code:   res.StatusCode,
22005			Header: res.Header,
22006		}
22007	}
22008	if err != nil {
22009		return nil, err
22010	}
22011	defer googleapi.CloseBody(res)
22012	if err := googleapi.CheckResponse(res); err != nil {
22013		return nil, err
22014	}
22015	ret := &Empty{
22016		ServerResponse: googleapi.ServerResponse{
22017			Header:         res.Header,
22018			HTTPStatusCode: res.StatusCode,
22019		},
22020	}
22021	target := &ret
22022	if err := gensupport.DecodeResponse(target, res); err != nil {
22023		return nil, err
22024	}
22025	return ret, nil
22026	// {
22027	//   "description": "Deletes the assignment between a location and a location list.",
22028	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId}",
22029	//   "httpMethod": "DELETE",
22030	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.delete",
22031	//   "parameterOrder": [
22032	//     "advertiserId",
22033	//     "locationListId",
22034	//     "assignedLocationId"
22035	//   ],
22036	//   "parameters": {
22037	//     "advertiserId": {
22038	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
22039	//       "format": "int64",
22040	//       "location": "path",
22041	//       "required": true,
22042	//       "type": "string"
22043	//     },
22044	//     "assignedLocationId": {
22045	//       "description": "Required. The ID of the assigned location to delete.",
22046	//       "format": "int64",
22047	//       "location": "path",
22048	//       "pattern": "^[^/]+$",
22049	//       "required": true,
22050	//       "type": "string"
22051	//     },
22052	//     "locationListId": {
22053	//       "description": "Required. The ID of the location list to which this assignment is assigned.",
22054	//       "format": "int64",
22055	//       "location": "path",
22056	//       "required": true,
22057	//       "type": "string"
22058	//     }
22059	//   },
22060	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}",
22061	//   "response": {
22062	//     "$ref": "Empty"
22063	//   },
22064	//   "scopes": [
22065	//     "https://www.googleapis.com/auth/display-video"
22066	//   ]
22067	// }
22068
22069}
22070
22071// method id "displayvideo.advertisers.locationLists.assignedLocations.list":
22072
22073type AdvertisersLocationListsAssignedLocationsListCall struct {
22074	s              *Service
22075	advertiserId   int64
22076	locationListId int64
22077	urlParams_     gensupport.URLParams
22078	ifNoneMatch_   string
22079	ctx_           context.Context
22080	header_        http.Header
22081}
22082
22083// List: Lists locations assigned to a location list.
22084func (r *AdvertisersLocationListsAssignedLocationsService) List(advertiserId int64, locationListId int64) *AdvertisersLocationListsAssignedLocationsListCall {
22085	c := &AdvertisersLocationListsAssignedLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22086	c.advertiserId = advertiserId
22087	c.locationListId = locationListId
22088	return c
22089}
22090
22091// Filter sets the optional parameter "filter": Allows filtering by
22092// location list assignment fields. Supported syntax: * Filter
22093// expressions are made up of one or more restrictions. * Restrictions
22094// can be combined by the logical operator `OR`. * A restriction has the
22095// form of `{field} {operator} {value}`. * The operator must be `EQUALS
22096// (=)`. * Supported fields: - `assignedLocationId` The length of this
22097// field should be no more than 500 characters.
22098func (c *AdvertisersLocationListsAssignedLocationsListCall) Filter(filter string) *AdvertisersLocationListsAssignedLocationsListCall {
22099	c.urlParams_.Set("filter", filter)
22100	return c
22101}
22102
22103// OrderBy sets the optional parameter "orderBy": Field by which to sort
22104// the list. Acceptable values are: * `assignedLocationId` (default) The
22105// default sorting order is ascending. To specify descending order for a
22106// field, a suffix " desc" should be added to the field name. Example:
22107// `assignedLocationId desc`.
22108func (c *AdvertisersLocationListsAssignedLocationsListCall) OrderBy(orderBy string) *AdvertisersLocationListsAssignedLocationsListCall {
22109	c.urlParams_.Set("orderBy", orderBy)
22110	return c
22111}
22112
22113// PageSize sets the optional parameter "pageSize": Requested page size.
22114// Must be between `1` and `100`. If unspecified will default to `100`.
22115// Returns error code `INVALID_ARGUMENT` if an invalid value is
22116// specified.
22117func (c *AdvertisersLocationListsAssignedLocationsListCall) PageSize(pageSize int64) *AdvertisersLocationListsAssignedLocationsListCall {
22118	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22119	return c
22120}
22121
22122// PageToken sets the optional parameter "pageToken": A token
22123// identifying a page of results the server should return. Typically,
22124// this is the value of next_page_token returned from the previous call
22125// to `ListAssignedLocations` method. If not specified, the first page
22126// of results will be returned.
22127func (c *AdvertisersLocationListsAssignedLocationsListCall) PageToken(pageToken string) *AdvertisersLocationListsAssignedLocationsListCall {
22128	c.urlParams_.Set("pageToken", pageToken)
22129	return c
22130}
22131
22132// Fields allows partial responses to be retrieved. See
22133// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22134// for more information.
22135func (c *AdvertisersLocationListsAssignedLocationsListCall) Fields(s ...googleapi.Field) *AdvertisersLocationListsAssignedLocationsListCall {
22136	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22137	return c
22138}
22139
22140// IfNoneMatch sets the optional parameter which makes the operation
22141// fail if the object's ETag matches the given value. This is useful for
22142// getting updates only after the object has changed since the last
22143// request. Use googleapi.IsNotModified to check whether the response
22144// error from Do is the result of In-None-Match.
22145func (c *AdvertisersLocationListsAssignedLocationsListCall) IfNoneMatch(entityTag string) *AdvertisersLocationListsAssignedLocationsListCall {
22146	c.ifNoneMatch_ = entityTag
22147	return c
22148}
22149
22150// Context sets the context to be used in this call's Do method. Any
22151// pending HTTP request will be aborted if the provided context is
22152// canceled.
22153func (c *AdvertisersLocationListsAssignedLocationsListCall) Context(ctx context.Context) *AdvertisersLocationListsAssignedLocationsListCall {
22154	c.ctx_ = ctx
22155	return c
22156}
22157
22158// Header returns an http.Header that can be modified by the caller to
22159// add HTTP headers to the request.
22160func (c *AdvertisersLocationListsAssignedLocationsListCall) Header() http.Header {
22161	if c.header_ == nil {
22162		c.header_ = make(http.Header)
22163	}
22164	return c.header_
22165}
22166
22167func (c *AdvertisersLocationListsAssignedLocationsListCall) doRequest(alt string) (*http.Response, error) {
22168	reqHeaders := make(http.Header)
22169	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22170	for k, v := range c.header_ {
22171		reqHeaders[k] = v
22172	}
22173	reqHeaders.Set("User-Agent", c.s.userAgent())
22174	if c.ifNoneMatch_ != "" {
22175		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22176	}
22177	var body io.Reader = nil
22178	c.urlParams_.Set("alt", alt)
22179	c.urlParams_.Set("prettyPrint", "false")
22180	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations")
22181	urls += "?" + c.urlParams_.Encode()
22182	req, err := http.NewRequest("GET", urls, body)
22183	if err != nil {
22184		return nil, err
22185	}
22186	req.Header = reqHeaders
22187	googleapi.Expand(req.URL, map[string]string{
22188		"advertiserId":   strconv.FormatInt(c.advertiserId, 10),
22189		"locationListId": strconv.FormatInt(c.locationListId, 10),
22190	})
22191	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22192}
22193
22194// Do executes the "displayvideo.advertisers.locationLists.assignedLocations.list" call.
22195// Exactly one of *ListAssignedLocationsResponse or error will be
22196// non-nil. Any non-2xx status code is an error. Response headers are in
22197// either *ListAssignedLocationsResponse.ServerResponse.Header or (if a
22198// response was returned at all) in error.(*googleapi.Error).Header. Use
22199// googleapi.IsNotModified to check whether the returned error was
22200// because http.StatusNotModified was returned.
22201func (c *AdvertisersLocationListsAssignedLocationsListCall) Do(opts ...googleapi.CallOption) (*ListAssignedLocationsResponse, error) {
22202	gensupport.SetOptions(c.urlParams_, opts...)
22203	res, err := c.doRequest("json")
22204	if res != nil && res.StatusCode == http.StatusNotModified {
22205		if res.Body != nil {
22206			res.Body.Close()
22207		}
22208		return nil, &googleapi.Error{
22209			Code:   res.StatusCode,
22210			Header: res.Header,
22211		}
22212	}
22213	if err != nil {
22214		return nil, err
22215	}
22216	defer googleapi.CloseBody(res)
22217	if err := googleapi.CheckResponse(res); err != nil {
22218		return nil, err
22219	}
22220	ret := &ListAssignedLocationsResponse{
22221		ServerResponse: googleapi.ServerResponse{
22222			Header:         res.Header,
22223			HTTPStatusCode: res.StatusCode,
22224		},
22225	}
22226	target := &ret
22227	if err := gensupport.DecodeResponse(target, res); err != nil {
22228		return nil, err
22229	}
22230	return ret, nil
22231	// {
22232	//   "description": "Lists locations assigned to a location list.",
22233	//   "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
22234	//   "httpMethod": "GET",
22235	//   "id": "displayvideo.advertisers.locationLists.assignedLocations.list",
22236	//   "parameterOrder": [
22237	//     "advertiserId",
22238	//     "locationListId"
22239	//   ],
22240	//   "parameters": {
22241	//     "advertiserId": {
22242	//       "description": "Required. The ID of the DV360 advertiser to which the location list belongs.",
22243	//       "format": "int64",
22244	//       "location": "path",
22245	//       "required": true,
22246	//       "type": "string"
22247	//     },
22248	//     "filter": {
22249	//       "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.",
22250	//       "location": "query",
22251	//       "type": "string"
22252	//     },
22253	//     "locationListId": {
22254	//       "description": "Required. The ID of the location list to which these assignments are assigned.",
22255	//       "format": "int64",
22256	//       "location": "path",
22257	//       "required": true,
22258	//       "type": "string"
22259	//     },
22260	//     "orderBy": {
22261	//       "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`.",
22262	//       "location": "query",
22263	//       "type": "string"
22264	//     },
22265	//     "pageSize": {
22266	//       "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.",
22267	//       "format": "int32",
22268	//       "location": "query",
22269	//       "type": "integer"
22270	//     },
22271	//     "pageToken": {
22272	//       "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.",
22273	//       "location": "query",
22274	//       "type": "string"
22275	//     }
22276	//   },
22277	//   "path": "v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations",
22278	//   "response": {
22279	//     "$ref": "ListAssignedLocationsResponse"
22280	//   },
22281	//   "scopes": [
22282	//     "https://www.googleapis.com/auth/display-video"
22283	//   ]
22284	// }
22285
22286}
22287
22288// Pages invokes f for each page of results.
22289// A non-nil error returned from f will halt the iteration.
22290// The provided context supersedes any context provided to the Context method.
22291func (c *AdvertisersLocationListsAssignedLocationsListCall) Pages(ctx context.Context, f func(*ListAssignedLocationsResponse) error) error {
22292	c.ctx_ = ctx
22293	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22294	for {
22295		x, err := c.Do()
22296		if err != nil {
22297			return err
22298		}
22299		if err := f(x); err != nil {
22300			return err
22301		}
22302		if x.NextPageToken == "" {
22303			return nil
22304		}
22305		c.PageToken(x.NextPageToken)
22306	}
22307}
22308
22309// method id "displayvideo.advertisers.manualTriggers.activate":
22310
22311type AdvertisersManualTriggersActivateCall struct {
22312	s                            *Service
22313	advertiserId                 int64
22314	triggerId                    int64
22315	activatemanualtriggerrequest *ActivateManualTriggerRequest
22316	urlParams_                   gensupport.URLParams
22317	ctx_                         context.Context
22318	header_                      http.Header
22319}
22320
22321// Activate: Activates a manual trigger. Each activation of the manual
22322// trigger must be at least 5 minutes apart, otherwise an error will be
22323// returned.
22324func (r *AdvertisersManualTriggersService) Activate(advertiserId int64, triggerId int64, activatemanualtriggerrequest *ActivateManualTriggerRequest) *AdvertisersManualTriggersActivateCall {
22325	c := &AdvertisersManualTriggersActivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22326	c.advertiserId = advertiserId
22327	c.triggerId = triggerId
22328	c.activatemanualtriggerrequest = activatemanualtriggerrequest
22329	return c
22330}
22331
22332// Fields allows partial responses to be retrieved. See
22333// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22334// for more information.
22335func (c *AdvertisersManualTriggersActivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersActivateCall {
22336	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22337	return c
22338}
22339
22340// Context sets the context to be used in this call's Do method. Any
22341// pending HTTP request will be aborted if the provided context is
22342// canceled.
22343func (c *AdvertisersManualTriggersActivateCall) Context(ctx context.Context) *AdvertisersManualTriggersActivateCall {
22344	c.ctx_ = ctx
22345	return c
22346}
22347
22348// Header returns an http.Header that can be modified by the caller to
22349// add HTTP headers to the request.
22350func (c *AdvertisersManualTriggersActivateCall) Header() http.Header {
22351	if c.header_ == nil {
22352		c.header_ = make(http.Header)
22353	}
22354	return c.header_
22355}
22356
22357func (c *AdvertisersManualTriggersActivateCall) doRequest(alt string) (*http.Response, error) {
22358	reqHeaders := make(http.Header)
22359	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22360	for k, v := range c.header_ {
22361		reqHeaders[k] = v
22362	}
22363	reqHeaders.Set("User-Agent", c.s.userAgent())
22364	var body io.Reader = nil
22365	body, err := googleapi.WithoutDataWrapper.JSONReader(c.activatemanualtriggerrequest)
22366	if err != nil {
22367		return nil, err
22368	}
22369	reqHeaders.Set("Content-Type", "application/json")
22370	c.urlParams_.Set("alt", alt)
22371	c.urlParams_.Set("prettyPrint", "false")
22372	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate")
22373	urls += "?" + c.urlParams_.Encode()
22374	req, err := http.NewRequest("POST", urls, body)
22375	if err != nil {
22376		return nil, err
22377	}
22378	req.Header = reqHeaders
22379	googleapi.Expand(req.URL, map[string]string{
22380		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22381		"triggerId":    strconv.FormatInt(c.triggerId, 10),
22382	})
22383	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22384}
22385
22386// Do executes the "displayvideo.advertisers.manualTriggers.activate" call.
22387// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
22388// status code is an error. Response headers are in either
22389// *ManualTrigger.ServerResponse.Header or (if a response was returned
22390// at all) in error.(*googleapi.Error).Header. Use
22391// googleapi.IsNotModified to check whether the returned error was
22392// because http.StatusNotModified was returned.
22393func (c *AdvertisersManualTriggersActivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
22394	gensupport.SetOptions(c.urlParams_, opts...)
22395	res, err := c.doRequest("json")
22396	if res != nil && res.StatusCode == http.StatusNotModified {
22397		if res.Body != nil {
22398			res.Body.Close()
22399		}
22400		return nil, &googleapi.Error{
22401			Code:   res.StatusCode,
22402			Header: res.Header,
22403		}
22404	}
22405	if err != nil {
22406		return nil, err
22407	}
22408	defer googleapi.CloseBody(res)
22409	if err := googleapi.CheckResponse(res); err != nil {
22410		return nil, err
22411	}
22412	ret := &ManualTrigger{
22413		ServerResponse: googleapi.ServerResponse{
22414			Header:         res.Header,
22415			HTTPStatusCode: res.StatusCode,
22416		},
22417	}
22418	target := &ret
22419	if err := gensupport.DecodeResponse(target, res); err != nil {
22420		return nil, err
22421	}
22422	return ret, nil
22423	// {
22424	//   "description": "Activates a manual trigger. Each activation of the manual trigger must be at least 5 minutes apart, otherwise an error will be returned.",
22425	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:activate",
22426	//   "httpMethod": "POST",
22427	//   "id": "displayvideo.advertisers.manualTriggers.activate",
22428	//   "parameterOrder": [
22429	//     "advertiserId",
22430	//     "triggerId"
22431	//   ],
22432	//   "parameters": {
22433	//     "advertiserId": {
22434	//       "description": "Required. The ID of the advertiser that the manual trigger belongs.",
22435	//       "format": "int64",
22436	//       "location": "path",
22437	//       "pattern": "^[^/]+$",
22438	//       "required": true,
22439	//       "type": "string"
22440	//     },
22441	//     "triggerId": {
22442	//       "description": "Required. The ID of the manual trigger to activate.",
22443	//       "format": "int64",
22444	//       "location": "path",
22445	//       "pattern": "^[^/]+$",
22446	//       "required": true,
22447	//       "type": "string"
22448	//     }
22449	//   },
22450	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:activate",
22451	//   "request": {
22452	//     "$ref": "ActivateManualTriggerRequest"
22453	//   },
22454	//   "response": {
22455	//     "$ref": "ManualTrigger"
22456	//   },
22457	//   "scopes": [
22458	//     "https://www.googleapis.com/auth/display-video"
22459	//   ]
22460	// }
22461
22462}
22463
22464// method id "displayvideo.advertisers.manualTriggers.create":
22465
22466type AdvertisersManualTriggersCreateCall struct {
22467	s             *Service
22468	advertiserId  int64
22469	manualtrigger *ManualTrigger
22470	urlParams_    gensupport.URLParams
22471	ctx_          context.Context
22472	header_       http.Header
22473}
22474
22475// Create: Creates a new manual trigger. Returns the newly created
22476// manual trigger if successful.
22477func (r *AdvertisersManualTriggersService) Create(advertiserId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersCreateCall {
22478	c := &AdvertisersManualTriggersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22479	c.advertiserId = advertiserId
22480	c.manualtrigger = manualtrigger
22481	return c
22482}
22483
22484// Fields allows partial responses to be retrieved. See
22485// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22486// for more information.
22487func (c *AdvertisersManualTriggersCreateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersCreateCall {
22488	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22489	return c
22490}
22491
22492// Context sets the context to be used in this call's Do method. Any
22493// pending HTTP request will be aborted if the provided context is
22494// canceled.
22495func (c *AdvertisersManualTriggersCreateCall) Context(ctx context.Context) *AdvertisersManualTriggersCreateCall {
22496	c.ctx_ = ctx
22497	return c
22498}
22499
22500// Header returns an http.Header that can be modified by the caller to
22501// add HTTP headers to the request.
22502func (c *AdvertisersManualTriggersCreateCall) Header() http.Header {
22503	if c.header_ == nil {
22504		c.header_ = make(http.Header)
22505	}
22506	return c.header_
22507}
22508
22509func (c *AdvertisersManualTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
22510	reqHeaders := make(http.Header)
22511	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22512	for k, v := range c.header_ {
22513		reqHeaders[k] = v
22514	}
22515	reqHeaders.Set("User-Agent", c.s.userAgent())
22516	var body io.Reader = nil
22517	body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger)
22518	if err != nil {
22519		return nil, err
22520	}
22521	reqHeaders.Set("Content-Type", "application/json")
22522	c.urlParams_.Set("alt", alt)
22523	c.urlParams_.Set("prettyPrint", "false")
22524	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers")
22525	urls += "?" + c.urlParams_.Encode()
22526	req, err := http.NewRequest("POST", urls, body)
22527	if err != nil {
22528		return nil, err
22529	}
22530	req.Header = reqHeaders
22531	googleapi.Expand(req.URL, map[string]string{
22532		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22533	})
22534	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22535}
22536
22537// Do executes the "displayvideo.advertisers.manualTriggers.create" call.
22538// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
22539// status code is an error. Response headers are in either
22540// *ManualTrigger.ServerResponse.Header or (if a response was returned
22541// at all) in error.(*googleapi.Error).Header. Use
22542// googleapi.IsNotModified to check whether the returned error was
22543// because http.StatusNotModified was returned.
22544func (c *AdvertisersManualTriggersCreateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
22545	gensupport.SetOptions(c.urlParams_, opts...)
22546	res, err := c.doRequest("json")
22547	if res != nil && res.StatusCode == http.StatusNotModified {
22548		if res.Body != nil {
22549			res.Body.Close()
22550		}
22551		return nil, &googleapi.Error{
22552			Code:   res.StatusCode,
22553			Header: res.Header,
22554		}
22555	}
22556	if err != nil {
22557		return nil, err
22558	}
22559	defer googleapi.CloseBody(res)
22560	if err := googleapi.CheckResponse(res); err != nil {
22561		return nil, err
22562	}
22563	ret := &ManualTrigger{
22564		ServerResponse: googleapi.ServerResponse{
22565			Header:         res.Header,
22566			HTTPStatusCode: res.StatusCode,
22567		},
22568	}
22569	target := &ret
22570	if err := gensupport.DecodeResponse(target, res); err != nil {
22571		return nil, err
22572	}
22573	return ret, nil
22574	// {
22575	//   "description": "Creates a new manual trigger. Returns the newly created manual trigger if successful.",
22576	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers",
22577	//   "httpMethod": "POST",
22578	//   "id": "displayvideo.advertisers.manualTriggers.create",
22579	//   "parameterOrder": [
22580	//     "advertiserId"
22581	//   ],
22582	//   "parameters": {
22583	//     "advertiserId": {
22584	//       "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
22585	//       "format": "int64",
22586	//       "location": "path",
22587	//       "pattern": "^[^/]+$",
22588	//       "required": true,
22589	//       "type": "string"
22590	//     }
22591	//   },
22592	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers",
22593	//   "request": {
22594	//     "$ref": "ManualTrigger"
22595	//   },
22596	//   "response": {
22597	//     "$ref": "ManualTrigger"
22598	//   },
22599	//   "scopes": [
22600	//     "https://www.googleapis.com/auth/display-video"
22601	//   ]
22602	// }
22603
22604}
22605
22606// method id "displayvideo.advertisers.manualTriggers.deactivate":
22607
22608type AdvertisersManualTriggersDeactivateCall struct {
22609	s                              *Service
22610	advertiserId                   int64
22611	triggerId                      int64
22612	deactivatemanualtriggerrequest *DeactivateManualTriggerRequest
22613	urlParams_                     gensupport.URLParams
22614	ctx_                           context.Context
22615	header_                        http.Header
22616}
22617
22618// Deactivate: Deactivates a manual trigger.
22619func (r *AdvertisersManualTriggersService) Deactivate(advertiserId int64, triggerId int64, deactivatemanualtriggerrequest *DeactivateManualTriggerRequest) *AdvertisersManualTriggersDeactivateCall {
22620	c := &AdvertisersManualTriggersDeactivateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22621	c.advertiserId = advertiserId
22622	c.triggerId = triggerId
22623	c.deactivatemanualtriggerrequest = deactivatemanualtriggerrequest
22624	return c
22625}
22626
22627// Fields allows partial responses to be retrieved. See
22628// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22629// for more information.
22630func (c *AdvertisersManualTriggersDeactivateCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersDeactivateCall {
22631	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22632	return c
22633}
22634
22635// Context sets the context to be used in this call's Do method. Any
22636// pending HTTP request will be aborted if the provided context is
22637// canceled.
22638func (c *AdvertisersManualTriggersDeactivateCall) Context(ctx context.Context) *AdvertisersManualTriggersDeactivateCall {
22639	c.ctx_ = ctx
22640	return c
22641}
22642
22643// Header returns an http.Header that can be modified by the caller to
22644// add HTTP headers to the request.
22645func (c *AdvertisersManualTriggersDeactivateCall) Header() http.Header {
22646	if c.header_ == nil {
22647		c.header_ = make(http.Header)
22648	}
22649	return c.header_
22650}
22651
22652func (c *AdvertisersManualTriggersDeactivateCall) doRequest(alt string) (*http.Response, error) {
22653	reqHeaders := make(http.Header)
22654	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22655	for k, v := range c.header_ {
22656		reqHeaders[k] = v
22657	}
22658	reqHeaders.Set("User-Agent", c.s.userAgent())
22659	var body io.Reader = nil
22660	body, err := googleapi.WithoutDataWrapper.JSONReader(c.deactivatemanualtriggerrequest)
22661	if err != nil {
22662		return nil, err
22663	}
22664	reqHeaders.Set("Content-Type", "application/json")
22665	c.urlParams_.Set("alt", alt)
22666	c.urlParams_.Set("prettyPrint", "false")
22667	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate")
22668	urls += "?" + c.urlParams_.Encode()
22669	req, err := http.NewRequest("POST", urls, body)
22670	if err != nil {
22671		return nil, err
22672	}
22673	req.Header = reqHeaders
22674	googleapi.Expand(req.URL, map[string]string{
22675		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22676		"triggerId":    strconv.FormatInt(c.triggerId, 10),
22677	})
22678	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22679}
22680
22681// Do executes the "displayvideo.advertisers.manualTriggers.deactivate" call.
22682// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
22683// status code is an error. Response headers are in either
22684// *ManualTrigger.ServerResponse.Header or (if a response was returned
22685// at all) in error.(*googleapi.Error).Header. Use
22686// googleapi.IsNotModified to check whether the returned error was
22687// because http.StatusNotModified was returned.
22688func (c *AdvertisersManualTriggersDeactivateCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
22689	gensupport.SetOptions(c.urlParams_, opts...)
22690	res, err := c.doRequest("json")
22691	if res != nil && res.StatusCode == http.StatusNotModified {
22692		if res.Body != nil {
22693			res.Body.Close()
22694		}
22695		return nil, &googleapi.Error{
22696			Code:   res.StatusCode,
22697			Header: res.Header,
22698		}
22699	}
22700	if err != nil {
22701		return nil, err
22702	}
22703	defer googleapi.CloseBody(res)
22704	if err := googleapi.CheckResponse(res); err != nil {
22705		return nil, err
22706	}
22707	ret := &ManualTrigger{
22708		ServerResponse: googleapi.ServerResponse{
22709			Header:         res.Header,
22710			HTTPStatusCode: res.StatusCode,
22711		},
22712	}
22713	target := &ret
22714	if err := gensupport.DecodeResponse(target, res); err != nil {
22715		return nil, err
22716	}
22717	return ret, nil
22718	// {
22719	//   "description": "Deactivates a manual trigger.",
22720	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}:deactivate",
22721	//   "httpMethod": "POST",
22722	//   "id": "displayvideo.advertisers.manualTriggers.deactivate",
22723	//   "parameterOrder": [
22724	//     "advertiserId",
22725	//     "triggerId"
22726	//   ],
22727	//   "parameters": {
22728	//     "advertiserId": {
22729	//       "description": "Required. The ID of the advertiser that the manual trigger belongs.",
22730	//       "format": "int64",
22731	//       "location": "path",
22732	//       "pattern": "^[^/]+$",
22733	//       "required": true,
22734	//       "type": "string"
22735	//     },
22736	//     "triggerId": {
22737	//       "description": "Required. The ID of the manual trigger to deactivate.",
22738	//       "format": "int64",
22739	//       "location": "path",
22740	//       "pattern": "^[^/]+$",
22741	//       "required": true,
22742	//       "type": "string"
22743	//     }
22744	//   },
22745	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}:deactivate",
22746	//   "request": {
22747	//     "$ref": "DeactivateManualTriggerRequest"
22748	//   },
22749	//   "response": {
22750	//     "$ref": "ManualTrigger"
22751	//   },
22752	//   "scopes": [
22753	//     "https://www.googleapis.com/auth/display-video"
22754	//   ]
22755	// }
22756
22757}
22758
22759// method id "displayvideo.advertisers.manualTriggers.get":
22760
22761type AdvertisersManualTriggersGetCall struct {
22762	s            *Service
22763	advertiserId int64
22764	triggerId    int64
22765	urlParams_   gensupport.URLParams
22766	ifNoneMatch_ string
22767	ctx_         context.Context
22768	header_      http.Header
22769}
22770
22771// Get: Gets a manual trigger.
22772func (r *AdvertisersManualTriggersService) Get(advertiserId int64, triggerId int64) *AdvertisersManualTriggersGetCall {
22773	c := &AdvertisersManualTriggersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22774	c.advertiserId = advertiserId
22775	c.triggerId = triggerId
22776	return c
22777}
22778
22779// Fields allows partial responses to be retrieved. See
22780// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22781// for more information.
22782func (c *AdvertisersManualTriggersGetCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersGetCall {
22783	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22784	return c
22785}
22786
22787// IfNoneMatch sets the optional parameter which makes the operation
22788// fail if the object's ETag matches the given value. This is useful for
22789// getting updates only after the object has changed since the last
22790// request. Use googleapi.IsNotModified to check whether the response
22791// error from Do is the result of In-None-Match.
22792func (c *AdvertisersManualTriggersGetCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersGetCall {
22793	c.ifNoneMatch_ = entityTag
22794	return c
22795}
22796
22797// Context sets the context to be used in this call's Do method. Any
22798// pending HTTP request will be aborted if the provided context is
22799// canceled.
22800func (c *AdvertisersManualTriggersGetCall) Context(ctx context.Context) *AdvertisersManualTriggersGetCall {
22801	c.ctx_ = ctx
22802	return c
22803}
22804
22805// Header returns an http.Header that can be modified by the caller to
22806// add HTTP headers to the request.
22807func (c *AdvertisersManualTriggersGetCall) Header() http.Header {
22808	if c.header_ == nil {
22809		c.header_ = make(http.Header)
22810	}
22811	return c.header_
22812}
22813
22814func (c *AdvertisersManualTriggersGetCall) doRequest(alt string) (*http.Response, error) {
22815	reqHeaders := make(http.Header)
22816	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22817	for k, v := range c.header_ {
22818		reqHeaders[k] = v
22819	}
22820	reqHeaders.Set("User-Agent", c.s.userAgent())
22821	if c.ifNoneMatch_ != "" {
22822		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22823	}
22824	var body io.Reader = nil
22825	c.urlParams_.Set("alt", alt)
22826	c.urlParams_.Set("prettyPrint", "false")
22827	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
22828	urls += "?" + c.urlParams_.Encode()
22829	req, err := http.NewRequest("GET", urls, body)
22830	if err != nil {
22831		return nil, err
22832	}
22833	req.Header = reqHeaders
22834	googleapi.Expand(req.URL, map[string]string{
22835		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
22836		"triggerId":    strconv.FormatInt(c.triggerId, 10),
22837	})
22838	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22839}
22840
22841// Do executes the "displayvideo.advertisers.manualTriggers.get" call.
22842// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
22843// status code is an error. Response headers are in either
22844// *ManualTrigger.ServerResponse.Header or (if a response was returned
22845// at all) in error.(*googleapi.Error).Header. Use
22846// googleapi.IsNotModified to check whether the returned error was
22847// because http.StatusNotModified was returned.
22848func (c *AdvertisersManualTriggersGetCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
22849	gensupport.SetOptions(c.urlParams_, opts...)
22850	res, err := c.doRequest("json")
22851	if res != nil && res.StatusCode == http.StatusNotModified {
22852		if res.Body != nil {
22853			res.Body.Close()
22854		}
22855		return nil, &googleapi.Error{
22856			Code:   res.StatusCode,
22857			Header: res.Header,
22858		}
22859	}
22860	if err != nil {
22861		return nil, err
22862	}
22863	defer googleapi.CloseBody(res)
22864	if err := googleapi.CheckResponse(res); err != nil {
22865		return nil, err
22866	}
22867	ret := &ManualTrigger{
22868		ServerResponse: googleapi.ServerResponse{
22869			Header:         res.Header,
22870			HTTPStatusCode: res.StatusCode,
22871		},
22872	}
22873	target := &ret
22874	if err := gensupport.DecodeResponse(target, res); err != nil {
22875		return nil, err
22876	}
22877	return ret, nil
22878	// {
22879	//   "description": "Gets a manual trigger.",
22880	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
22881	//   "httpMethod": "GET",
22882	//   "id": "displayvideo.advertisers.manualTriggers.get",
22883	//   "parameterOrder": [
22884	//     "advertiserId",
22885	//     "triggerId"
22886	//   ],
22887	//   "parameters": {
22888	//     "advertiserId": {
22889	//       "description": "Required. The ID of the advertiser this manual trigger belongs to.",
22890	//       "format": "int64",
22891	//       "location": "path",
22892	//       "pattern": "^[^/]+$",
22893	//       "required": true,
22894	//       "type": "string"
22895	//     },
22896	//     "triggerId": {
22897	//       "description": "Required. The ID of the manual trigger to fetch.",
22898	//       "format": "int64",
22899	//       "location": "path",
22900	//       "pattern": "^[^/]+$",
22901	//       "required": true,
22902	//       "type": "string"
22903	//     }
22904	//   },
22905	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
22906	//   "response": {
22907	//     "$ref": "ManualTrigger"
22908	//   },
22909	//   "scopes": [
22910	//     "https://www.googleapis.com/auth/display-video"
22911	//   ]
22912	// }
22913
22914}
22915
22916// method id "displayvideo.advertisers.manualTriggers.list":
22917
22918type AdvertisersManualTriggersListCall struct {
22919	s            *Service
22920	advertiserId int64
22921	urlParams_   gensupport.URLParams
22922	ifNoneMatch_ string
22923	ctx_         context.Context
22924	header_      http.Header
22925}
22926
22927// List: Lists manual triggers that are accessible to the current user
22928// for a given advertiser ID. The order is defined by the order_by
22929// parameter. A single advertiser_id is required.
22930func (r *AdvertisersManualTriggersService) List(advertiserId int64) *AdvertisersManualTriggersListCall {
22931	c := &AdvertisersManualTriggersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22932	c.advertiserId = advertiserId
22933	return c
22934}
22935
22936// Filter sets the optional parameter "filter": Allows filtering by
22937// manual trigger properties. Supported syntax: * Filter expressions are
22938// made up of one or more restrictions. * Restrictions can be combined
22939// by `AND` or `OR` logical operators. A sequence of restrictions
22940// implicitly uses `AND`. * A restriction has the form of `{field}
22941// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
22942// fields: - `displayName` - `state` Examples: * All active manual
22943// triggers under an advertiser: `state="ACTIVE" The length of this
22944// field should be no more than 500 characters.
22945func (c *AdvertisersManualTriggersListCall) Filter(filter string) *AdvertisersManualTriggersListCall {
22946	c.urlParams_.Set("filter", filter)
22947	return c
22948}
22949
22950// OrderBy sets the optional parameter "orderBy": Field by which to sort
22951// the list. Acceptable values are: * `displayName` (default) * `state`
22952// The default sorting order is ascending. To specify descending order
22953// for a field, a suffix "desc" should be added to the field name. For
22954// example, `displayName desc`.
22955func (c *AdvertisersManualTriggersListCall) OrderBy(orderBy string) *AdvertisersManualTriggersListCall {
22956	c.urlParams_.Set("orderBy", orderBy)
22957	return c
22958}
22959
22960// PageSize sets the optional parameter "pageSize": Requested page size.
22961// Must be between `1` and `100`. If unspecified will default to `100`.
22962func (c *AdvertisersManualTriggersListCall) PageSize(pageSize int64) *AdvertisersManualTriggersListCall {
22963	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
22964	return c
22965}
22966
22967// PageToken sets the optional parameter "pageToken": A token
22968// identifying a page of results the server should return. Typically,
22969// this is the value of next_page_token returned from the previous call
22970// to `ListManualTriggers` method. If not specified, the first page of
22971// results will be returned.
22972func (c *AdvertisersManualTriggersListCall) PageToken(pageToken string) *AdvertisersManualTriggersListCall {
22973	c.urlParams_.Set("pageToken", pageToken)
22974	return c
22975}
22976
22977// Fields allows partial responses to be retrieved. See
22978// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22979// for more information.
22980func (c *AdvertisersManualTriggersListCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersListCall {
22981	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22982	return c
22983}
22984
22985// IfNoneMatch sets the optional parameter which makes the operation
22986// fail if the object's ETag matches the given value. This is useful for
22987// getting updates only after the object has changed since the last
22988// request. Use googleapi.IsNotModified to check whether the response
22989// error from Do is the result of In-None-Match.
22990func (c *AdvertisersManualTriggersListCall) IfNoneMatch(entityTag string) *AdvertisersManualTriggersListCall {
22991	c.ifNoneMatch_ = entityTag
22992	return c
22993}
22994
22995// Context sets the context to be used in this call's Do method. Any
22996// pending HTTP request will be aborted if the provided context is
22997// canceled.
22998func (c *AdvertisersManualTriggersListCall) Context(ctx context.Context) *AdvertisersManualTriggersListCall {
22999	c.ctx_ = ctx
23000	return c
23001}
23002
23003// Header returns an http.Header that can be modified by the caller to
23004// add HTTP headers to the request.
23005func (c *AdvertisersManualTriggersListCall) Header() http.Header {
23006	if c.header_ == nil {
23007		c.header_ = make(http.Header)
23008	}
23009	return c.header_
23010}
23011
23012func (c *AdvertisersManualTriggersListCall) doRequest(alt string) (*http.Response, error) {
23013	reqHeaders := make(http.Header)
23014	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23015	for k, v := range c.header_ {
23016		reqHeaders[k] = v
23017	}
23018	reqHeaders.Set("User-Agent", c.s.userAgent())
23019	if c.ifNoneMatch_ != "" {
23020		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23021	}
23022	var body io.Reader = nil
23023	c.urlParams_.Set("alt", alt)
23024	c.urlParams_.Set("prettyPrint", "false")
23025	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers")
23026	urls += "?" + c.urlParams_.Encode()
23027	req, err := http.NewRequest("GET", urls, body)
23028	if err != nil {
23029		return nil, err
23030	}
23031	req.Header = reqHeaders
23032	googleapi.Expand(req.URL, map[string]string{
23033		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23034	})
23035	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23036}
23037
23038// Do executes the "displayvideo.advertisers.manualTriggers.list" call.
23039// Exactly one of *ListManualTriggersResponse or error will be non-nil.
23040// Any non-2xx status code is an error. Response headers are in either
23041// *ListManualTriggersResponse.ServerResponse.Header or (if a response
23042// was returned at all) in error.(*googleapi.Error).Header. Use
23043// googleapi.IsNotModified to check whether the returned error was
23044// because http.StatusNotModified was returned.
23045func (c *AdvertisersManualTriggersListCall) Do(opts ...googleapi.CallOption) (*ListManualTriggersResponse, error) {
23046	gensupport.SetOptions(c.urlParams_, opts...)
23047	res, err := c.doRequest("json")
23048	if res != nil && res.StatusCode == http.StatusNotModified {
23049		if res.Body != nil {
23050			res.Body.Close()
23051		}
23052		return nil, &googleapi.Error{
23053			Code:   res.StatusCode,
23054			Header: res.Header,
23055		}
23056	}
23057	if err != nil {
23058		return nil, err
23059	}
23060	defer googleapi.CloseBody(res)
23061	if err := googleapi.CheckResponse(res); err != nil {
23062		return nil, err
23063	}
23064	ret := &ListManualTriggersResponse{
23065		ServerResponse: googleapi.ServerResponse{
23066			Header:         res.Header,
23067			HTTPStatusCode: res.StatusCode,
23068		},
23069	}
23070	target := &ret
23071	if err := gensupport.DecodeResponse(target, res); err != nil {
23072		return nil, err
23073	}
23074	return ret, nil
23075	// {
23076	//   "description": "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.",
23077	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers",
23078	//   "httpMethod": "GET",
23079	//   "id": "displayvideo.advertisers.manualTriggers.list",
23080	//   "parameterOrder": [
23081	//     "advertiserId"
23082	//   ],
23083	//   "parameters": {
23084	//     "advertiserId": {
23085	//       "description": "Required. The ID of the advertiser that the fetched manual triggers belong to.",
23086	//       "format": "int64",
23087	//       "location": "path",
23088	//       "pattern": "^[^/]+$",
23089	//       "required": true,
23090	//       "type": "string"
23091	//     },
23092	//     "filter": {
23093	//       "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.",
23094	//       "location": "query",
23095	//       "type": "string"
23096	//     },
23097	//     "orderBy": {
23098	//       "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`.",
23099	//       "location": "query",
23100	//       "type": "string"
23101	//     },
23102	//     "pageSize": {
23103	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
23104	//       "format": "int32",
23105	//       "location": "query",
23106	//       "type": "integer"
23107	//     },
23108	//     "pageToken": {
23109	//       "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.",
23110	//       "location": "query",
23111	//       "type": "string"
23112	//     }
23113	//   },
23114	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers",
23115	//   "response": {
23116	//     "$ref": "ListManualTriggersResponse"
23117	//   },
23118	//   "scopes": [
23119	//     "https://www.googleapis.com/auth/display-video"
23120	//   ]
23121	// }
23122
23123}
23124
23125// Pages invokes f for each page of results.
23126// A non-nil error returned from f will halt the iteration.
23127// The provided context supersedes any context provided to the Context method.
23128func (c *AdvertisersManualTriggersListCall) Pages(ctx context.Context, f func(*ListManualTriggersResponse) error) error {
23129	c.ctx_ = ctx
23130	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23131	for {
23132		x, err := c.Do()
23133		if err != nil {
23134			return err
23135		}
23136		if err := f(x); err != nil {
23137			return err
23138		}
23139		if x.NextPageToken == "" {
23140			return nil
23141		}
23142		c.PageToken(x.NextPageToken)
23143	}
23144}
23145
23146// method id "displayvideo.advertisers.manualTriggers.patch":
23147
23148type AdvertisersManualTriggersPatchCall struct {
23149	s             *Service
23150	advertiserId  int64
23151	triggerId     int64
23152	manualtrigger *ManualTrigger
23153	urlParams_    gensupport.URLParams
23154	ctx_          context.Context
23155	header_       http.Header
23156}
23157
23158// Patch: Updates a manual trigger. Returns the updated manual trigger
23159// if successful.
23160func (r *AdvertisersManualTriggersService) Patch(advertiserId int64, triggerId int64, manualtrigger *ManualTrigger) *AdvertisersManualTriggersPatchCall {
23161	c := &AdvertisersManualTriggersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23162	c.advertiserId = advertiserId
23163	c.triggerId = triggerId
23164	c.manualtrigger = manualtrigger
23165	return c
23166}
23167
23168// UpdateMask sets the optional parameter "updateMask": Required. The
23169// mask to control which fields to update.
23170func (c *AdvertisersManualTriggersPatchCall) UpdateMask(updateMask string) *AdvertisersManualTriggersPatchCall {
23171	c.urlParams_.Set("updateMask", updateMask)
23172	return c
23173}
23174
23175// Fields allows partial responses to be retrieved. See
23176// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23177// for more information.
23178func (c *AdvertisersManualTriggersPatchCall) Fields(s ...googleapi.Field) *AdvertisersManualTriggersPatchCall {
23179	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23180	return c
23181}
23182
23183// Context sets the context to be used in this call's Do method. Any
23184// pending HTTP request will be aborted if the provided context is
23185// canceled.
23186func (c *AdvertisersManualTriggersPatchCall) Context(ctx context.Context) *AdvertisersManualTriggersPatchCall {
23187	c.ctx_ = ctx
23188	return c
23189}
23190
23191// Header returns an http.Header that can be modified by the caller to
23192// add HTTP headers to the request.
23193func (c *AdvertisersManualTriggersPatchCall) Header() http.Header {
23194	if c.header_ == nil {
23195		c.header_ = make(http.Header)
23196	}
23197	return c.header_
23198}
23199
23200func (c *AdvertisersManualTriggersPatchCall) doRequest(alt string) (*http.Response, error) {
23201	reqHeaders := make(http.Header)
23202	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23203	for k, v := range c.header_ {
23204		reqHeaders[k] = v
23205	}
23206	reqHeaders.Set("User-Agent", c.s.userAgent())
23207	var body io.Reader = nil
23208	body, err := googleapi.WithoutDataWrapper.JSONReader(c.manualtrigger)
23209	if err != nil {
23210		return nil, err
23211	}
23212	reqHeaders.Set("Content-Type", "application/json")
23213	c.urlParams_.Set("alt", alt)
23214	c.urlParams_.Set("prettyPrint", "false")
23215	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}")
23216	urls += "?" + c.urlParams_.Encode()
23217	req, err := http.NewRequest("PATCH", urls, body)
23218	if err != nil {
23219		return nil, err
23220	}
23221	req.Header = reqHeaders
23222	googleapi.Expand(req.URL, map[string]string{
23223		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23224		"triggerId":    strconv.FormatInt(c.triggerId, 10),
23225	})
23226	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23227}
23228
23229// Do executes the "displayvideo.advertisers.manualTriggers.patch" call.
23230// Exactly one of *ManualTrigger or error will be non-nil. Any non-2xx
23231// status code is an error. Response headers are in either
23232// *ManualTrigger.ServerResponse.Header or (if a response was returned
23233// at all) in error.(*googleapi.Error).Header. Use
23234// googleapi.IsNotModified to check whether the returned error was
23235// because http.StatusNotModified was returned.
23236func (c *AdvertisersManualTriggersPatchCall) Do(opts ...googleapi.CallOption) (*ManualTrigger, error) {
23237	gensupport.SetOptions(c.urlParams_, opts...)
23238	res, err := c.doRequest("json")
23239	if res != nil && res.StatusCode == http.StatusNotModified {
23240		if res.Body != nil {
23241			res.Body.Close()
23242		}
23243		return nil, &googleapi.Error{
23244			Code:   res.StatusCode,
23245			Header: res.Header,
23246		}
23247	}
23248	if err != nil {
23249		return nil, err
23250	}
23251	defer googleapi.CloseBody(res)
23252	if err := googleapi.CheckResponse(res); err != nil {
23253		return nil, err
23254	}
23255	ret := &ManualTrigger{
23256		ServerResponse: googleapi.ServerResponse{
23257			Header:         res.Header,
23258			HTTPStatusCode: res.StatusCode,
23259		},
23260	}
23261	target := &ret
23262	if err := gensupport.DecodeResponse(target, res); err != nil {
23263		return nil, err
23264	}
23265	return ret, nil
23266	// {
23267	//   "description": "Updates a manual trigger. Returns the updated manual trigger if successful.",
23268	//   "flatPath": "v1/advertisers/{advertisersId}/manualTriggers/{manualTriggersId}",
23269	//   "httpMethod": "PATCH",
23270	//   "id": "displayvideo.advertisers.manualTriggers.patch",
23271	//   "parameterOrder": [
23272	//     "advertiserId",
23273	//     "triggerId"
23274	//   ],
23275	//   "parameters": {
23276	//     "advertiserId": {
23277	//       "description": "Required. Immutable. The unique ID of the advertiser that the manual trigger belongs to.",
23278	//       "format": "int64",
23279	//       "location": "path",
23280	//       "pattern": "^[^/]+$",
23281	//       "required": true,
23282	//       "type": "string"
23283	//     },
23284	//     "triggerId": {
23285	//       "description": "Output only. The unique ID of the manual trigger.",
23286	//       "format": "int64",
23287	//       "location": "path",
23288	//       "pattern": "^[^/]+$",
23289	//       "required": true,
23290	//       "type": "string"
23291	//     },
23292	//     "updateMask": {
23293	//       "description": "Required. The mask to control which fields to update.",
23294	//       "format": "google-fieldmask",
23295	//       "location": "query",
23296	//       "type": "string"
23297	//     }
23298	//   },
23299	//   "path": "v1/advertisers/{+advertiserId}/manualTriggers/{+triggerId}",
23300	//   "request": {
23301	//     "$ref": "ManualTrigger"
23302	//   },
23303	//   "response": {
23304	//     "$ref": "ManualTrigger"
23305	//   },
23306	//   "scopes": [
23307	//     "https://www.googleapis.com/auth/display-video"
23308	//   ]
23309	// }
23310
23311}
23312
23313// method id "displayvideo.advertisers.negativeKeywordLists.create":
23314
23315type AdvertisersNegativeKeywordListsCreateCall struct {
23316	s                   *Service
23317	advertiserId        int64
23318	negativekeywordlist *NegativeKeywordList
23319	urlParams_          gensupport.URLParams
23320	ctx_                context.Context
23321	header_             http.Header
23322}
23323
23324// Create: Creates a new negative keyword list. Returns the newly
23325// created negative keyword list if successful.
23326func (r *AdvertisersNegativeKeywordListsService) Create(advertiserId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsCreateCall {
23327	c := &AdvertisersNegativeKeywordListsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23328	c.advertiserId = advertiserId
23329	c.negativekeywordlist = negativekeywordlist
23330	return c
23331}
23332
23333// Fields allows partial responses to be retrieved. See
23334// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23335// for more information.
23336func (c *AdvertisersNegativeKeywordListsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsCreateCall {
23337	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23338	return c
23339}
23340
23341// Context sets the context to be used in this call's Do method. Any
23342// pending HTTP request will be aborted if the provided context is
23343// canceled.
23344func (c *AdvertisersNegativeKeywordListsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsCreateCall {
23345	c.ctx_ = ctx
23346	return c
23347}
23348
23349// Header returns an http.Header that can be modified by the caller to
23350// add HTTP headers to the request.
23351func (c *AdvertisersNegativeKeywordListsCreateCall) Header() http.Header {
23352	if c.header_ == nil {
23353		c.header_ = make(http.Header)
23354	}
23355	return c.header_
23356}
23357
23358func (c *AdvertisersNegativeKeywordListsCreateCall) doRequest(alt string) (*http.Response, error) {
23359	reqHeaders := make(http.Header)
23360	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23361	for k, v := range c.header_ {
23362		reqHeaders[k] = v
23363	}
23364	reqHeaders.Set("User-Agent", c.s.userAgent())
23365	var body io.Reader = nil
23366	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
23367	if err != nil {
23368		return nil, err
23369	}
23370	reqHeaders.Set("Content-Type", "application/json")
23371	c.urlParams_.Set("alt", alt)
23372	c.urlParams_.Set("prettyPrint", "false")
23373	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists")
23374	urls += "?" + c.urlParams_.Encode()
23375	req, err := http.NewRequest("POST", urls, body)
23376	if err != nil {
23377		return nil, err
23378	}
23379	req.Header = reqHeaders
23380	googleapi.Expand(req.URL, map[string]string{
23381		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23382	})
23383	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23384}
23385
23386// Do executes the "displayvideo.advertisers.negativeKeywordLists.create" call.
23387// Exactly one of *NegativeKeywordList or error will be non-nil. Any
23388// non-2xx status code is an error. Response headers are in either
23389// *NegativeKeywordList.ServerResponse.Header or (if a response was
23390// returned at all) in error.(*googleapi.Error).Header. Use
23391// googleapi.IsNotModified to check whether the returned error was
23392// because http.StatusNotModified was returned.
23393func (c *AdvertisersNegativeKeywordListsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
23394	gensupport.SetOptions(c.urlParams_, opts...)
23395	res, err := c.doRequest("json")
23396	if res != nil && res.StatusCode == http.StatusNotModified {
23397		if res.Body != nil {
23398			res.Body.Close()
23399		}
23400		return nil, &googleapi.Error{
23401			Code:   res.StatusCode,
23402			Header: res.Header,
23403		}
23404	}
23405	if err != nil {
23406		return nil, err
23407	}
23408	defer googleapi.CloseBody(res)
23409	if err := googleapi.CheckResponse(res); err != nil {
23410		return nil, err
23411	}
23412	ret := &NegativeKeywordList{
23413		ServerResponse: googleapi.ServerResponse{
23414			Header:         res.Header,
23415			HTTPStatusCode: res.StatusCode,
23416		},
23417	}
23418	target := &ret
23419	if err := gensupport.DecodeResponse(target, res); err != nil {
23420		return nil, err
23421	}
23422	return ret, nil
23423	// {
23424	//   "description": "Creates a new negative keyword list. Returns the newly created negative keyword list if successful.",
23425	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists",
23426	//   "httpMethod": "POST",
23427	//   "id": "displayvideo.advertisers.negativeKeywordLists.create",
23428	//   "parameterOrder": [
23429	//     "advertiserId"
23430	//   ],
23431	//   "parameters": {
23432	//     "advertiserId": {
23433	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list will belong.",
23434	//       "format": "int64",
23435	//       "location": "path",
23436	//       "pattern": "^[^/]+$",
23437	//       "required": true,
23438	//       "type": "string"
23439	//     }
23440	//   },
23441	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists",
23442	//   "request": {
23443	//     "$ref": "NegativeKeywordList"
23444	//   },
23445	//   "response": {
23446	//     "$ref": "NegativeKeywordList"
23447	//   },
23448	//   "scopes": [
23449	//     "https://www.googleapis.com/auth/display-video"
23450	//   ]
23451	// }
23452
23453}
23454
23455// method id "displayvideo.advertisers.negativeKeywordLists.delete":
23456
23457type AdvertisersNegativeKeywordListsDeleteCall struct {
23458	s                     *Service
23459	advertiserId          int64
23460	negativeKeywordListId int64
23461	urlParams_            gensupport.URLParams
23462	ctx_                  context.Context
23463	header_               http.Header
23464}
23465
23466// Delete: Deletes a negative keyword list given an advertiser ID and a
23467// negative keyword list ID.
23468func (r *AdvertisersNegativeKeywordListsService) Delete(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsDeleteCall {
23469	c := &AdvertisersNegativeKeywordListsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23470	c.advertiserId = advertiserId
23471	c.negativeKeywordListId = negativeKeywordListId
23472	return c
23473}
23474
23475// Fields allows partial responses to be retrieved. See
23476// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23477// for more information.
23478func (c *AdvertisersNegativeKeywordListsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsDeleteCall {
23479	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23480	return c
23481}
23482
23483// Context sets the context to be used in this call's Do method. Any
23484// pending HTTP request will be aborted if the provided context is
23485// canceled.
23486func (c *AdvertisersNegativeKeywordListsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsDeleteCall {
23487	c.ctx_ = ctx
23488	return c
23489}
23490
23491// Header returns an http.Header that can be modified by the caller to
23492// add HTTP headers to the request.
23493func (c *AdvertisersNegativeKeywordListsDeleteCall) Header() http.Header {
23494	if c.header_ == nil {
23495		c.header_ = make(http.Header)
23496	}
23497	return c.header_
23498}
23499
23500func (c *AdvertisersNegativeKeywordListsDeleteCall) doRequest(alt string) (*http.Response, error) {
23501	reqHeaders := make(http.Header)
23502	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23503	for k, v := range c.header_ {
23504		reqHeaders[k] = v
23505	}
23506	reqHeaders.Set("User-Agent", c.s.userAgent())
23507	var body io.Reader = nil
23508	c.urlParams_.Set("alt", alt)
23509	c.urlParams_.Set("prettyPrint", "false")
23510	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
23511	urls += "?" + c.urlParams_.Encode()
23512	req, err := http.NewRequest("DELETE", urls, body)
23513	if err != nil {
23514		return nil, err
23515	}
23516	req.Header = reqHeaders
23517	googleapi.Expand(req.URL, map[string]string{
23518		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
23519		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
23520	})
23521	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23522}
23523
23524// Do executes the "displayvideo.advertisers.negativeKeywordLists.delete" call.
23525// Exactly one of *Empty or error will be non-nil. Any non-2xx status
23526// code is an error. Response headers are in either
23527// *Empty.ServerResponse.Header or (if a response was returned at all)
23528// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
23529// check whether the returned error was because http.StatusNotModified
23530// was returned.
23531func (c *AdvertisersNegativeKeywordListsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
23532	gensupport.SetOptions(c.urlParams_, opts...)
23533	res, err := c.doRequest("json")
23534	if res != nil && res.StatusCode == http.StatusNotModified {
23535		if res.Body != nil {
23536			res.Body.Close()
23537		}
23538		return nil, &googleapi.Error{
23539			Code:   res.StatusCode,
23540			Header: res.Header,
23541		}
23542	}
23543	if err != nil {
23544		return nil, err
23545	}
23546	defer googleapi.CloseBody(res)
23547	if err := googleapi.CheckResponse(res); err != nil {
23548		return nil, err
23549	}
23550	ret := &Empty{
23551		ServerResponse: googleapi.ServerResponse{
23552			Header:         res.Header,
23553			HTTPStatusCode: res.StatusCode,
23554		},
23555	}
23556	target := &ret
23557	if err := gensupport.DecodeResponse(target, res); err != nil {
23558		return nil, err
23559	}
23560	return ret, nil
23561	// {
23562	//   "description": "Deletes a negative keyword list given an advertiser ID and a negative keyword list ID.",
23563	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
23564	//   "httpMethod": "DELETE",
23565	//   "id": "displayvideo.advertisers.negativeKeywordLists.delete",
23566	//   "parameterOrder": [
23567	//     "advertiserId",
23568	//     "negativeKeywordListId"
23569	//   ],
23570	//   "parameters": {
23571	//     "advertiserId": {
23572	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
23573	//       "format": "int64",
23574	//       "location": "path",
23575	//       "pattern": "^[^/]+$",
23576	//       "required": true,
23577	//       "type": "string"
23578	//     },
23579	//     "negativeKeywordListId": {
23580	//       "description": "Required. The ID of the negative keyword list to delete.",
23581	//       "format": "int64",
23582	//       "location": "path",
23583	//       "pattern": "^[^/]+$",
23584	//       "required": true,
23585	//       "type": "string"
23586	//     }
23587	//   },
23588	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
23589	//   "response": {
23590	//     "$ref": "Empty"
23591	//   },
23592	//   "scopes": [
23593	//     "https://www.googleapis.com/auth/display-video"
23594	//   ]
23595	// }
23596
23597}
23598
23599// method id "displayvideo.advertisers.negativeKeywordLists.get":
23600
23601type AdvertisersNegativeKeywordListsGetCall struct {
23602	s                     *Service
23603	advertiserId          int64
23604	negativeKeywordListId int64
23605	urlParams_            gensupport.URLParams
23606	ifNoneMatch_          string
23607	ctx_                  context.Context
23608	header_               http.Header
23609}
23610
23611// Get: Gets a negative keyword list given an advertiser ID and a
23612// negative keyword list ID.
23613func (r *AdvertisersNegativeKeywordListsService) Get(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsGetCall {
23614	c := &AdvertisersNegativeKeywordListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23615	c.advertiserId = advertiserId
23616	c.negativeKeywordListId = negativeKeywordListId
23617	return c
23618}
23619
23620// Fields allows partial responses to be retrieved. See
23621// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23622// for more information.
23623func (c *AdvertisersNegativeKeywordListsGetCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsGetCall {
23624	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23625	return c
23626}
23627
23628// IfNoneMatch sets the optional parameter which makes the operation
23629// fail if the object's ETag matches the given value. This is useful for
23630// getting updates only after the object has changed since the last
23631// request. Use googleapi.IsNotModified to check whether the response
23632// error from Do is the result of In-None-Match.
23633func (c *AdvertisersNegativeKeywordListsGetCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsGetCall {
23634	c.ifNoneMatch_ = entityTag
23635	return c
23636}
23637
23638// Context sets the context to be used in this call's Do method. Any
23639// pending HTTP request will be aborted if the provided context is
23640// canceled.
23641func (c *AdvertisersNegativeKeywordListsGetCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsGetCall {
23642	c.ctx_ = ctx
23643	return c
23644}
23645
23646// Header returns an http.Header that can be modified by the caller to
23647// add HTTP headers to the request.
23648func (c *AdvertisersNegativeKeywordListsGetCall) Header() http.Header {
23649	if c.header_ == nil {
23650		c.header_ = make(http.Header)
23651	}
23652	return c.header_
23653}
23654
23655func (c *AdvertisersNegativeKeywordListsGetCall) doRequest(alt string) (*http.Response, error) {
23656	reqHeaders := make(http.Header)
23657	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23658	for k, v := range c.header_ {
23659		reqHeaders[k] = v
23660	}
23661	reqHeaders.Set("User-Agent", c.s.userAgent())
23662	if c.ifNoneMatch_ != "" {
23663		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23664	}
23665	var body io.Reader = nil
23666	c.urlParams_.Set("alt", alt)
23667	c.urlParams_.Set("prettyPrint", "false")
23668	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}")
23669	urls += "?" + c.urlParams_.Encode()
23670	req, err := http.NewRequest("GET", urls, body)
23671	if err != nil {
23672		return nil, err
23673	}
23674	req.Header = reqHeaders
23675	googleapi.Expand(req.URL, map[string]string{
23676		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
23677		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
23678	})
23679	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23680}
23681
23682// Do executes the "displayvideo.advertisers.negativeKeywordLists.get" call.
23683// Exactly one of *NegativeKeywordList or error will be non-nil. Any
23684// non-2xx status code is an error. Response headers are in either
23685// *NegativeKeywordList.ServerResponse.Header or (if a response was
23686// returned at all) in error.(*googleapi.Error).Header. Use
23687// googleapi.IsNotModified to check whether the returned error was
23688// because http.StatusNotModified was returned.
23689func (c *AdvertisersNegativeKeywordListsGetCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
23690	gensupport.SetOptions(c.urlParams_, opts...)
23691	res, err := c.doRequest("json")
23692	if res != nil && res.StatusCode == http.StatusNotModified {
23693		if res.Body != nil {
23694			res.Body.Close()
23695		}
23696		return nil, &googleapi.Error{
23697			Code:   res.StatusCode,
23698			Header: res.Header,
23699		}
23700	}
23701	if err != nil {
23702		return nil, err
23703	}
23704	defer googleapi.CloseBody(res)
23705	if err := googleapi.CheckResponse(res); err != nil {
23706		return nil, err
23707	}
23708	ret := &NegativeKeywordList{
23709		ServerResponse: googleapi.ServerResponse{
23710			Header:         res.Header,
23711			HTTPStatusCode: res.StatusCode,
23712		},
23713	}
23714	target := &ret
23715	if err := gensupport.DecodeResponse(target, res); err != nil {
23716		return nil, err
23717	}
23718	return ret, nil
23719	// {
23720	//   "description": "Gets a negative keyword list given an advertiser ID and a negative keyword list ID.",
23721	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}",
23722	//   "httpMethod": "GET",
23723	//   "id": "displayvideo.advertisers.negativeKeywordLists.get",
23724	//   "parameterOrder": [
23725	//     "advertiserId",
23726	//     "negativeKeywordListId"
23727	//   ],
23728	//   "parameters": {
23729	//     "advertiserId": {
23730	//       "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs.",
23731	//       "format": "int64",
23732	//       "location": "path",
23733	//       "pattern": "^[^/]+$",
23734	//       "required": true,
23735	//       "type": "string"
23736	//     },
23737	//     "negativeKeywordListId": {
23738	//       "description": "Required. The ID of the negative keyword list to fetch.",
23739	//       "format": "int64",
23740	//       "location": "path",
23741	//       "pattern": "^[^/]+$",
23742	//       "required": true,
23743	//       "type": "string"
23744	//     }
23745	//   },
23746	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}",
23747	//   "response": {
23748	//     "$ref": "NegativeKeywordList"
23749	//   },
23750	//   "scopes": [
23751	//     "https://www.googleapis.com/auth/display-video"
23752	//   ]
23753	// }
23754
23755}
23756
23757// method id "displayvideo.advertisers.negativeKeywordLists.list":
23758
23759type AdvertisersNegativeKeywordListsListCall struct {
23760	s            *Service
23761	advertiserId int64
23762	urlParams_   gensupport.URLParams
23763	ifNoneMatch_ string
23764	ctx_         context.Context
23765	header_      http.Header
23766}
23767
23768// List: Lists negative keyword lists based on a given advertiser id.
23769func (r *AdvertisersNegativeKeywordListsService) List(advertiserId int64) *AdvertisersNegativeKeywordListsListCall {
23770	c := &AdvertisersNegativeKeywordListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23771	c.advertiserId = advertiserId
23772	return c
23773}
23774
23775// PageSize sets the optional parameter "pageSize": Requested page size.
23776// Must be between `1` and `100`. Defaults to `100` if not set. Returns
23777// error code `INVALID_ARGUMENT` if an invalid value is specified.
23778func (c *AdvertisersNegativeKeywordListsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsListCall {
23779	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
23780	return c
23781}
23782
23783// PageToken sets the optional parameter "pageToken": A token
23784// identifying a page of results the server should return. Typically,
23785// this is the value of next_page_token returned from the previous call
23786// to `ListNegativeKeywordLists` method. If not specified, the first
23787// page of results will be returned.
23788func (c *AdvertisersNegativeKeywordListsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsListCall {
23789	c.urlParams_.Set("pageToken", pageToken)
23790	return c
23791}
23792
23793// Fields allows partial responses to be retrieved. See
23794// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23795// for more information.
23796func (c *AdvertisersNegativeKeywordListsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsListCall {
23797	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23798	return c
23799}
23800
23801// IfNoneMatch sets the optional parameter which makes the operation
23802// fail if the object's ETag matches the given value. This is useful for
23803// getting updates only after the object has changed since the last
23804// request. Use googleapi.IsNotModified to check whether the response
23805// error from Do is the result of In-None-Match.
23806func (c *AdvertisersNegativeKeywordListsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsListCall {
23807	c.ifNoneMatch_ = entityTag
23808	return c
23809}
23810
23811// Context sets the context to be used in this call's Do method. Any
23812// pending HTTP request will be aborted if the provided context is
23813// canceled.
23814func (c *AdvertisersNegativeKeywordListsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsListCall {
23815	c.ctx_ = ctx
23816	return c
23817}
23818
23819// Header returns an http.Header that can be modified by the caller to
23820// add HTTP headers to the request.
23821func (c *AdvertisersNegativeKeywordListsListCall) Header() http.Header {
23822	if c.header_ == nil {
23823		c.header_ = make(http.Header)
23824	}
23825	return c.header_
23826}
23827
23828func (c *AdvertisersNegativeKeywordListsListCall) doRequest(alt string) (*http.Response, error) {
23829	reqHeaders := make(http.Header)
23830	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23831	for k, v := range c.header_ {
23832		reqHeaders[k] = v
23833	}
23834	reqHeaders.Set("User-Agent", c.s.userAgent())
23835	if c.ifNoneMatch_ != "" {
23836		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23837	}
23838	var body io.Reader = nil
23839	c.urlParams_.Set("alt", alt)
23840	c.urlParams_.Set("prettyPrint", "false")
23841	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists")
23842	urls += "?" + c.urlParams_.Encode()
23843	req, err := http.NewRequest("GET", urls, body)
23844	if err != nil {
23845		return nil, err
23846	}
23847	req.Header = reqHeaders
23848	googleapi.Expand(req.URL, map[string]string{
23849		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
23850	})
23851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23852}
23853
23854// Do executes the "displayvideo.advertisers.negativeKeywordLists.list" call.
23855// Exactly one of *ListNegativeKeywordListsResponse or error will be
23856// non-nil. Any non-2xx status code is an error. Response headers are in
23857// either *ListNegativeKeywordListsResponse.ServerResponse.Header or (if
23858// a response was returned at all) in error.(*googleapi.Error).Header.
23859// Use googleapi.IsNotModified to check whether the returned error was
23860// because http.StatusNotModified was returned.
23861func (c *AdvertisersNegativeKeywordListsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordListsResponse, error) {
23862	gensupport.SetOptions(c.urlParams_, opts...)
23863	res, err := c.doRequest("json")
23864	if res != nil && res.StatusCode == http.StatusNotModified {
23865		if res.Body != nil {
23866			res.Body.Close()
23867		}
23868		return nil, &googleapi.Error{
23869			Code:   res.StatusCode,
23870			Header: res.Header,
23871		}
23872	}
23873	if err != nil {
23874		return nil, err
23875	}
23876	defer googleapi.CloseBody(res)
23877	if err := googleapi.CheckResponse(res); err != nil {
23878		return nil, err
23879	}
23880	ret := &ListNegativeKeywordListsResponse{
23881		ServerResponse: googleapi.ServerResponse{
23882			Header:         res.Header,
23883			HTTPStatusCode: res.StatusCode,
23884		},
23885	}
23886	target := &ret
23887	if err := gensupport.DecodeResponse(target, res); err != nil {
23888		return nil, err
23889	}
23890	return ret, nil
23891	// {
23892	//   "description": "Lists negative keyword lists based on a given advertiser id.",
23893	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists",
23894	//   "httpMethod": "GET",
23895	//   "id": "displayvideo.advertisers.negativeKeywordLists.list",
23896	//   "parameterOrder": [
23897	//     "advertiserId"
23898	//   ],
23899	//   "parameters": {
23900	//     "advertiserId": {
23901	//       "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong.",
23902	//       "format": "int64",
23903	//       "location": "path",
23904	//       "pattern": "^[^/]+$",
23905	//       "required": true,
23906	//       "type": "string"
23907	//     },
23908	//     "pageSize": {
23909	//       "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.",
23910	//       "format": "int32",
23911	//       "location": "query",
23912	//       "type": "integer"
23913	//     },
23914	//     "pageToken": {
23915	//       "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.",
23916	//       "location": "query",
23917	//       "type": "string"
23918	//     }
23919	//   },
23920	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists",
23921	//   "response": {
23922	//     "$ref": "ListNegativeKeywordListsResponse"
23923	//   },
23924	//   "scopes": [
23925	//     "https://www.googleapis.com/auth/display-video"
23926	//   ]
23927	// }
23928
23929}
23930
23931// Pages invokes f for each page of results.
23932// A non-nil error returned from f will halt the iteration.
23933// The provided context supersedes any context provided to the Context method.
23934func (c *AdvertisersNegativeKeywordListsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordListsResponse) error) error {
23935	c.ctx_ = ctx
23936	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23937	for {
23938		x, err := c.Do()
23939		if err != nil {
23940			return err
23941		}
23942		if err := f(x); err != nil {
23943			return err
23944		}
23945		if x.NextPageToken == "" {
23946			return nil
23947		}
23948		c.PageToken(x.NextPageToken)
23949	}
23950}
23951
23952// method id "displayvideo.advertisers.negativeKeywordLists.patch":
23953
23954type AdvertisersNegativeKeywordListsPatchCall struct {
23955	s                     *Service
23956	advertiserId          int64
23957	negativeKeywordListId int64
23958	negativekeywordlist   *NegativeKeywordList
23959	urlParams_            gensupport.URLParams
23960	ctx_                  context.Context
23961	header_               http.Header
23962}
23963
23964// Patch: Updates a negative keyword list. Returns the updated negative
23965// keyword list if successful.
23966func (r *AdvertisersNegativeKeywordListsService) Patch(advertiserId int64, negativeKeywordListId int64, negativekeywordlist *NegativeKeywordList) *AdvertisersNegativeKeywordListsPatchCall {
23967	c := &AdvertisersNegativeKeywordListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23968	c.advertiserId = advertiserId
23969	c.negativeKeywordListId = negativeKeywordListId
23970	c.negativekeywordlist = negativekeywordlist
23971	return c
23972}
23973
23974// UpdateMask sets the optional parameter "updateMask": Required. The
23975// mask to control which fields to update.
23976func (c *AdvertisersNegativeKeywordListsPatchCall) UpdateMask(updateMask string) *AdvertisersNegativeKeywordListsPatchCall {
23977	c.urlParams_.Set("updateMask", updateMask)
23978	return c
23979}
23980
23981// Fields allows partial responses to be retrieved. See
23982// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23983// for more information.
23984func (c *AdvertisersNegativeKeywordListsPatchCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsPatchCall {
23985	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23986	return c
23987}
23988
23989// Context sets the context to be used in this call's Do method. Any
23990// pending HTTP request will be aborted if the provided context is
23991// canceled.
23992func (c *AdvertisersNegativeKeywordListsPatchCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsPatchCall {
23993	c.ctx_ = ctx
23994	return c
23995}
23996
23997// Header returns an http.Header that can be modified by the caller to
23998// add HTTP headers to the request.
23999func (c *AdvertisersNegativeKeywordListsPatchCall) Header() http.Header {
24000	if c.header_ == nil {
24001		c.header_ = make(http.Header)
24002	}
24003	return c.header_
24004}
24005
24006func (c *AdvertisersNegativeKeywordListsPatchCall) doRequest(alt string) (*http.Response, error) {
24007	reqHeaders := make(http.Header)
24008	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24009	for k, v := range c.header_ {
24010		reqHeaders[k] = v
24011	}
24012	reqHeaders.Set("User-Agent", c.s.userAgent())
24013	var body io.Reader = nil
24014	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeywordlist)
24015	if err != nil {
24016		return nil, err
24017	}
24018	reqHeaders.Set("Content-Type", "application/json")
24019	c.urlParams_.Set("alt", alt)
24020	c.urlParams_.Set("prettyPrint", "false")
24021	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}")
24022	urls += "?" + c.urlParams_.Encode()
24023	req, err := http.NewRequest("PATCH", urls, body)
24024	if err != nil {
24025		return nil, err
24026	}
24027	req.Header = reqHeaders
24028	googleapi.Expand(req.URL, map[string]string{
24029		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
24030		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
24031	})
24032	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24033}
24034
24035// Do executes the "displayvideo.advertisers.negativeKeywordLists.patch" call.
24036// Exactly one of *NegativeKeywordList or error will be non-nil. Any
24037// non-2xx status code is an error. Response headers are in either
24038// *NegativeKeywordList.ServerResponse.Header or (if a response was
24039// returned at all) in error.(*googleapi.Error).Header. Use
24040// googleapi.IsNotModified to check whether the returned error was
24041// because http.StatusNotModified was returned.
24042func (c *AdvertisersNegativeKeywordListsPatchCall) Do(opts ...googleapi.CallOption) (*NegativeKeywordList, error) {
24043	gensupport.SetOptions(c.urlParams_, opts...)
24044	res, err := c.doRequest("json")
24045	if res != nil && res.StatusCode == http.StatusNotModified {
24046		if res.Body != nil {
24047			res.Body.Close()
24048		}
24049		return nil, &googleapi.Error{
24050			Code:   res.StatusCode,
24051			Header: res.Header,
24052		}
24053	}
24054	if err != nil {
24055		return nil, err
24056	}
24057	defer googleapi.CloseBody(res)
24058	if err := googleapi.CheckResponse(res); err != nil {
24059		return nil, err
24060	}
24061	ret := &NegativeKeywordList{
24062		ServerResponse: googleapi.ServerResponse{
24063			Header:         res.Header,
24064			HTTPStatusCode: res.StatusCode,
24065		},
24066	}
24067	target := &ret
24068	if err := gensupport.DecodeResponse(target, res); err != nil {
24069		return nil, err
24070	}
24071	return ret, nil
24072	// {
24073	//   "description": "Updates a negative keyword list. Returns the updated negative keyword list if successful.",
24074	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId}",
24075	//   "httpMethod": "PATCH",
24076	//   "id": "displayvideo.advertisers.negativeKeywordLists.patch",
24077	//   "parameterOrder": [
24078	//     "advertiserId",
24079	//     "negativeKeywordListId"
24080	//   ],
24081	//   "parameters": {
24082	//     "advertiserId": {
24083	//       "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.",
24084	//       "format": "int64",
24085	//       "location": "path",
24086	//       "pattern": "^[^/]+$",
24087	//       "required": true,
24088	//       "type": "string"
24089	//     },
24090	//     "negativeKeywordListId": {
24091	//       "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.",
24092	//       "format": "int64",
24093	//       "location": "path",
24094	//       "required": true,
24095	//       "type": "string"
24096	//     },
24097	//     "updateMask": {
24098	//       "description": "Required. The mask to control which fields to update.",
24099	//       "format": "google-fieldmask",
24100	//       "location": "query",
24101	//       "type": "string"
24102	//     }
24103	//   },
24104	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}",
24105	//   "request": {
24106	//     "$ref": "NegativeKeywordList"
24107	//   },
24108	//   "response": {
24109	//     "$ref": "NegativeKeywordList"
24110	//   },
24111	//   "scopes": [
24112	//     "https://www.googleapis.com/auth/display-video"
24113	//   ]
24114	// }
24115
24116}
24117
24118// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit":
24119
24120type AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall struct {
24121	s                               *Service
24122	advertiserId                    int64
24123	negativeKeywordListId           int64
24124	bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest
24125	urlParams_                      gensupport.URLParams
24126	ctx_                            context.Context
24127	header_                         http.Header
24128}
24129
24130// BulkEdit: Bulk edits negative keywords in a single negative keyword
24131// list. The operation will delete the negative keywords provided in
24132// BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then
24133// create the negative keywords provided in
24134// BulkEditNegativeKeywordsRequest.created_negative_keywords. This
24135// operation is guaranteed to be atomic and will never result in a
24136// partial success or partial failure.
24137func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) BulkEdit(advertiserId int64, negativeKeywordListId int64, bulkeditnegativekeywordsrequest *BulkEditNegativeKeywordsRequest) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
24138	c := &AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24139	c.advertiserId = advertiserId
24140	c.negativeKeywordListId = negativeKeywordListId
24141	c.bulkeditnegativekeywordsrequest = bulkeditnegativekeywordsrequest
24142	return c
24143}
24144
24145// Fields allows partial responses to be retrieved. See
24146// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24147// for more information.
24148func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
24149	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24150	return c
24151}
24152
24153// Context sets the context to be used in this call's Do method. Any
24154// pending HTTP request will be aborted if the provided context is
24155// canceled.
24156func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall {
24157	c.ctx_ = ctx
24158	return c
24159}
24160
24161// Header returns an http.Header that can be modified by the caller to
24162// add HTTP headers to the request.
24163func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Header() http.Header {
24164	if c.header_ == nil {
24165		c.header_ = make(http.Header)
24166	}
24167	return c.header_
24168}
24169
24170func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) doRequest(alt string) (*http.Response, error) {
24171	reqHeaders := make(http.Header)
24172	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24173	for k, v := range c.header_ {
24174		reqHeaders[k] = v
24175	}
24176	reqHeaders.Set("User-Agent", c.s.userAgent())
24177	var body io.Reader = nil
24178	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditnegativekeywordsrequest)
24179	if err != nil {
24180		return nil, err
24181	}
24182	reqHeaders.Set("Content-Type", "application/json")
24183	c.urlParams_.Set("alt", alt)
24184	c.urlParams_.Set("prettyPrint", "false")
24185	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit")
24186	urls += "?" + c.urlParams_.Encode()
24187	req, err := http.NewRequest("POST", urls, body)
24188	if err != nil {
24189		return nil, err
24190	}
24191	req.Header = reqHeaders
24192	googleapi.Expand(req.URL, map[string]string{
24193		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
24194		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
24195	})
24196	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24197}
24198
24199// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit" call.
24200// Exactly one of *BulkEditNegativeKeywordsResponse or error will be
24201// non-nil. Any non-2xx status code is an error. Response headers are in
24202// either *BulkEditNegativeKeywordsResponse.ServerResponse.Header or (if
24203// a response was returned at all) in error.(*googleapi.Error).Header.
24204// Use googleapi.IsNotModified to check whether the returned error was
24205// because http.StatusNotModified was returned.
24206func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditNegativeKeywordsResponse, error) {
24207	gensupport.SetOptions(c.urlParams_, opts...)
24208	res, err := c.doRequest("json")
24209	if res != nil && res.StatusCode == http.StatusNotModified {
24210		if res.Body != nil {
24211			res.Body.Close()
24212		}
24213		return nil, &googleapi.Error{
24214			Code:   res.StatusCode,
24215			Header: res.Header,
24216		}
24217	}
24218	if err != nil {
24219		return nil, err
24220	}
24221	defer googleapi.CloseBody(res)
24222	if err := googleapi.CheckResponse(res); err != nil {
24223		return nil, err
24224	}
24225	ret := &BulkEditNegativeKeywordsResponse{
24226		ServerResponse: googleapi.ServerResponse{
24227			Header:         res.Header,
24228			HTTPStatusCode: res.StatusCode,
24229		},
24230	}
24231	target := &ret
24232	if err := gensupport.DecodeResponse(target, res); err != nil {
24233		return nil, err
24234	}
24235	return ret, nil
24236	// {
24237	//   "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.",
24238	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit",
24239	//   "httpMethod": "POST",
24240	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit",
24241	//   "parameterOrder": [
24242	//     "advertiserId",
24243	//     "negativeKeywordListId"
24244	//   ],
24245	//   "parameters": {
24246	//     "advertiserId": {
24247	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
24248	//       "format": "int64",
24249	//       "location": "path",
24250	//       "required": true,
24251	//       "type": "string"
24252	//     },
24253	//     "negativeKeywordListId": {
24254	//       "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.",
24255	//       "format": "int64",
24256	//       "location": "path",
24257	//       "pattern": "^[^/]+$",
24258	//       "required": true,
24259	//       "type": "string"
24260	//     }
24261	//   },
24262	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit",
24263	//   "request": {
24264	//     "$ref": "BulkEditNegativeKeywordsRequest"
24265	//   },
24266	//   "response": {
24267	//     "$ref": "BulkEditNegativeKeywordsResponse"
24268	//   },
24269	//   "scopes": [
24270	//     "https://www.googleapis.com/auth/display-video"
24271	//   ]
24272	// }
24273
24274}
24275
24276// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create":
24277
24278type AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall struct {
24279	s                     *Service
24280	advertiserId          int64
24281	negativeKeywordListId int64
24282	negativekeyword       *NegativeKeyword
24283	urlParams_            gensupport.URLParams
24284	ctx_                  context.Context
24285	header_               http.Header
24286}
24287
24288// Create: Creates a negative keyword in a negative keyword list.
24289func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Create(advertiserId int64, negativeKeywordListId int64, negativekeyword *NegativeKeyword) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
24290	c := &AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24291	c.advertiserId = advertiserId
24292	c.negativeKeywordListId = negativeKeywordListId
24293	c.negativekeyword = negativekeyword
24294	return c
24295}
24296
24297// Fields allows partial responses to be retrieved. See
24298// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24299// for more information.
24300func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
24301	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24302	return c
24303}
24304
24305// Context sets the context to be used in this call's Do method. Any
24306// pending HTTP request will be aborted if the provided context is
24307// canceled.
24308func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall {
24309	c.ctx_ = ctx
24310	return c
24311}
24312
24313// Header returns an http.Header that can be modified by the caller to
24314// add HTTP headers to the request.
24315func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Header() http.Header {
24316	if c.header_ == nil {
24317		c.header_ = make(http.Header)
24318	}
24319	return c.header_
24320}
24321
24322func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) doRequest(alt string) (*http.Response, error) {
24323	reqHeaders := make(http.Header)
24324	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24325	for k, v := range c.header_ {
24326		reqHeaders[k] = v
24327	}
24328	reqHeaders.Set("User-Agent", c.s.userAgent())
24329	var body io.Reader = nil
24330	body, err := googleapi.WithoutDataWrapper.JSONReader(c.negativekeyword)
24331	if err != nil {
24332		return nil, err
24333	}
24334	reqHeaders.Set("Content-Type", "application/json")
24335	c.urlParams_.Set("alt", alt)
24336	c.urlParams_.Set("prettyPrint", "false")
24337	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
24338	urls += "?" + c.urlParams_.Encode()
24339	req, err := http.NewRequest("POST", urls, body)
24340	if err != nil {
24341		return nil, err
24342	}
24343	req.Header = reqHeaders
24344	googleapi.Expand(req.URL, map[string]string{
24345		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
24346		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
24347	})
24348	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24349}
24350
24351// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create" call.
24352// Exactly one of *NegativeKeyword or error will be non-nil. Any non-2xx
24353// status code is an error. Response headers are in either
24354// *NegativeKeyword.ServerResponse.Header or (if a response was returned
24355// at all) in error.(*googleapi.Error).Header. Use
24356// googleapi.IsNotModified to check whether the returned error was
24357// because http.StatusNotModified was returned.
24358func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) Do(opts ...googleapi.CallOption) (*NegativeKeyword, error) {
24359	gensupport.SetOptions(c.urlParams_, opts...)
24360	res, err := c.doRequest("json")
24361	if res != nil && res.StatusCode == http.StatusNotModified {
24362		if res.Body != nil {
24363			res.Body.Close()
24364		}
24365		return nil, &googleapi.Error{
24366			Code:   res.StatusCode,
24367			Header: res.Header,
24368		}
24369	}
24370	if err != nil {
24371		return nil, err
24372	}
24373	defer googleapi.CloseBody(res)
24374	if err := googleapi.CheckResponse(res); err != nil {
24375		return nil, err
24376	}
24377	ret := &NegativeKeyword{
24378		ServerResponse: googleapi.ServerResponse{
24379			Header:         res.Header,
24380			HTTPStatusCode: res.StatusCode,
24381		},
24382	}
24383	target := &ret
24384	if err := gensupport.DecodeResponse(target, res); err != nil {
24385		return nil, err
24386	}
24387	return ret, nil
24388	// {
24389	//   "description": "Creates a negative keyword in a negative keyword list.",
24390	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords",
24391	//   "httpMethod": "POST",
24392	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create",
24393	//   "parameterOrder": [
24394	//     "advertiserId",
24395	//     "negativeKeywordListId"
24396	//   ],
24397	//   "parameters": {
24398	//     "advertiserId": {
24399	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
24400	//       "format": "int64",
24401	//       "location": "path",
24402	//       "required": true,
24403	//       "type": "string"
24404	//     },
24405	//     "negativeKeywordListId": {
24406	//       "description": "Required. The ID of the parent negative keyword list in which the negative keyword will be created.",
24407	//       "format": "int64",
24408	//       "location": "path",
24409	//       "pattern": "^[^/]+$",
24410	//       "required": true,
24411	//       "type": "string"
24412	//     }
24413	//   },
24414	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
24415	//   "request": {
24416	//     "$ref": "NegativeKeyword"
24417	//   },
24418	//   "response": {
24419	//     "$ref": "NegativeKeyword"
24420	//   },
24421	//   "scopes": [
24422	//     "https://www.googleapis.com/auth/display-video"
24423	//   ]
24424	// }
24425
24426}
24427
24428// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete":
24429
24430type AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall struct {
24431	s                     *Service
24432	advertiserId          int64
24433	negativeKeywordListId int64
24434	keywordValue          string
24435	urlParams_            gensupport.URLParams
24436	ctx_                  context.Context
24437	header_               http.Header
24438}
24439
24440// Delete: Deletes a negative keyword from a negative keyword list.
24441func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) Delete(advertiserId int64, negativeKeywordListId int64, keywordValue string) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
24442	c := &AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24443	c.advertiserId = advertiserId
24444	c.negativeKeywordListId = negativeKeywordListId
24445	c.keywordValue = keywordValue
24446	return c
24447}
24448
24449// Fields allows partial responses to be retrieved. See
24450// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24451// for more information.
24452func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
24453	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24454	return c
24455}
24456
24457// Context sets the context to be used in this call's Do method. Any
24458// pending HTTP request will be aborted if the provided context is
24459// canceled.
24460func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall {
24461	c.ctx_ = ctx
24462	return c
24463}
24464
24465// Header returns an http.Header that can be modified by the caller to
24466// add HTTP headers to the request.
24467func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Header() http.Header {
24468	if c.header_ == nil {
24469		c.header_ = make(http.Header)
24470	}
24471	return c.header_
24472}
24473
24474func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) doRequest(alt string) (*http.Response, error) {
24475	reqHeaders := make(http.Header)
24476	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24477	for k, v := range c.header_ {
24478		reqHeaders[k] = v
24479	}
24480	reqHeaders.Set("User-Agent", c.s.userAgent())
24481	var body io.Reader = nil
24482	c.urlParams_.Set("alt", alt)
24483	c.urlParams_.Set("prettyPrint", "false")
24484	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}")
24485	urls += "?" + c.urlParams_.Encode()
24486	req, err := http.NewRequest("DELETE", urls, body)
24487	if err != nil {
24488		return nil, err
24489	}
24490	req.Header = reqHeaders
24491	googleapi.Expand(req.URL, map[string]string{
24492		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
24493		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
24494		"keywordValue":          c.keywordValue,
24495	})
24496	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24497}
24498
24499// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete" call.
24500// Exactly one of *Empty or error will be non-nil. Any non-2xx status
24501// code is an error. Response headers are in either
24502// *Empty.ServerResponse.Header or (if a response was returned at all)
24503// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24504// check whether the returned error was because http.StatusNotModified
24505// was returned.
24506func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
24507	gensupport.SetOptions(c.urlParams_, opts...)
24508	res, err := c.doRequest("json")
24509	if res != nil && res.StatusCode == http.StatusNotModified {
24510		if res.Body != nil {
24511			res.Body.Close()
24512		}
24513		return nil, &googleapi.Error{
24514			Code:   res.StatusCode,
24515			Header: res.Header,
24516		}
24517	}
24518	if err != nil {
24519		return nil, err
24520	}
24521	defer googleapi.CloseBody(res)
24522	if err := googleapi.CheckResponse(res); err != nil {
24523		return nil, err
24524	}
24525	ret := &Empty{
24526		ServerResponse: googleapi.ServerResponse{
24527			Header:         res.Header,
24528			HTTPStatusCode: res.StatusCode,
24529		},
24530	}
24531	target := &ret
24532	if err := gensupport.DecodeResponse(target, res); err != nil {
24533		return nil, err
24534	}
24535	return ret, nil
24536	// {
24537	//   "description": "Deletes a negative keyword from a negative keyword list.",
24538	//   "flatPath": "v1/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId}",
24539	//   "httpMethod": "DELETE",
24540	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete",
24541	//   "parameterOrder": [
24542	//     "advertiserId",
24543	//     "negativeKeywordListId",
24544	//     "keywordValue"
24545	//   ],
24546	//   "parameters": {
24547	//     "advertiserId": {
24548	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
24549	//       "format": "int64",
24550	//       "location": "path",
24551	//       "required": true,
24552	//       "type": "string"
24553	//     },
24554	//     "keywordValue": {
24555	//       "description": "Required. The keyword value of the negative keyword to delete.",
24556	//       "location": "path",
24557	//       "pattern": "^[^/]+$",
24558	//       "required": true,
24559	//       "type": "string"
24560	//     },
24561	//     "negativeKeywordListId": {
24562	//       "description": "Required. The ID of the parent negative keyword list to which the negative keyword belongs.",
24563	//       "format": "int64",
24564	//       "location": "path",
24565	//       "pattern": "^[^/]+$",
24566	//       "required": true,
24567	//       "type": "string"
24568	//     }
24569	//   },
24570	//   "path": "v1/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}",
24571	//   "response": {
24572	//     "$ref": "Empty"
24573	//   },
24574	//   "scopes": [
24575	//     "https://www.googleapis.com/auth/display-video"
24576	//   ]
24577	// }
24578
24579}
24580
24581// method id "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list":
24582
24583type AdvertisersNegativeKeywordListsNegativeKeywordsListCall struct {
24584	s                     *Service
24585	advertiserId          int64
24586	negativeKeywordListId int64
24587	urlParams_            gensupport.URLParams
24588	ifNoneMatch_          string
24589	ctx_                  context.Context
24590	header_               http.Header
24591}
24592
24593// List: Lists negative keywords in a negative keyword list.
24594func (r *AdvertisersNegativeKeywordListsNegativeKeywordsService) List(advertiserId int64, negativeKeywordListId int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24595	c := &AdvertisersNegativeKeywordListsNegativeKeywordsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24596	c.advertiserId = advertiserId
24597	c.negativeKeywordListId = negativeKeywordListId
24598	return c
24599}
24600
24601// Filter sets the optional parameter "filter": Allows filtering by
24602// negative keyword fields. Supported syntax: * Filter expressions for
24603// negative keyword currently can only contain at most one *
24604// restriction. * A restriction has the form of `{field} {operator}
24605// {value}`. * The operator must be `CONTAINS (:)`. * Supported fields:
24606// - `keywordValue` Examples: * All negative keywords for which the
24607// keyword value contains "google": `keywordValue : "google"
24608func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Filter(filter string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24609	c.urlParams_.Set("filter", filter)
24610	return c
24611}
24612
24613// OrderBy sets the optional parameter "orderBy": Field by which to sort
24614// the list. Acceptable values are: * `keywordValue` (default) The
24615// default sorting order is ascending. To specify descending order for a
24616// field, a suffix " desc" should be added to the field name. Example:
24617// `keywordValue desc`.
24618func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) OrderBy(orderBy string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24619	c.urlParams_.Set("orderBy", orderBy)
24620	return c
24621}
24622
24623// PageSize sets the optional parameter "pageSize": Requested page size.
24624// Must be between `1` and `100`. If unspecified will default to `100`.
24625// Returns error code `INVALID_ARGUMENT` if an invalid value is
24626// specified.
24627func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageSize(pageSize int64) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24628	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
24629	return c
24630}
24631
24632// PageToken sets the optional parameter "pageToken": A token
24633// identifying a page of results the server should return. Typically,
24634// this is the value of next_page_token returned from the previous call
24635// to `ListNegativeKeywords` method. If not specified, the first page of
24636// results will be returned.
24637func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) PageToken(pageToken string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24638	c.urlParams_.Set("pageToken", pageToken)
24639	return c
24640}
24641
24642// Fields allows partial responses to be retrieved. See
24643// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24644// for more information.
24645func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Fields(s ...googleapi.Field) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24646	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24647	return c
24648}
24649
24650// IfNoneMatch sets the optional parameter which makes the operation
24651// fail if the object's ETag matches the given value. This is useful for
24652// getting updates only after the object has changed since the last
24653// request. Use googleapi.IsNotModified to check whether the response
24654// error from Do is the result of In-None-Match.
24655func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) IfNoneMatch(entityTag string) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24656	c.ifNoneMatch_ = entityTag
24657	return c
24658}
24659
24660// Context sets the context to be used in this call's Do method. Any
24661// pending HTTP request will be aborted if the provided context is
24662// canceled.
24663func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Context(ctx context.Context) *AdvertisersNegativeKeywordListsNegativeKeywordsListCall {
24664	c.ctx_ = ctx
24665	return c
24666}
24667
24668// Header returns an http.Header that can be modified by the caller to
24669// add HTTP headers to the request.
24670func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Header() http.Header {
24671	if c.header_ == nil {
24672		c.header_ = make(http.Header)
24673	}
24674	return c.header_
24675}
24676
24677func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) doRequest(alt string) (*http.Response, error) {
24678	reqHeaders := make(http.Header)
24679	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24680	for k, v := range c.header_ {
24681		reqHeaders[k] = v
24682	}
24683	reqHeaders.Set("User-Agent", c.s.userAgent())
24684	if c.ifNoneMatch_ != "" {
24685		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24686	}
24687	var body io.Reader = nil
24688	c.urlParams_.Set("alt", alt)
24689	c.urlParams_.Set("prettyPrint", "false")
24690	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords")
24691	urls += "?" + c.urlParams_.Encode()
24692	req, err := http.NewRequest("GET", urls, body)
24693	if err != nil {
24694		return nil, err
24695	}
24696	req.Header = reqHeaders
24697	googleapi.Expand(req.URL, map[string]string{
24698		"advertiserId":          strconv.FormatInt(c.advertiserId, 10),
24699		"negativeKeywordListId": strconv.FormatInt(c.negativeKeywordListId, 10),
24700	})
24701	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24702}
24703
24704// Do executes the "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list" call.
24705// Exactly one of *ListNegativeKeywordsResponse or error will be
24706// non-nil. Any non-2xx status code is an error. Response headers are in
24707// either *ListNegativeKeywordsResponse.ServerResponse.Header or (if a
24708// response was returned at all) in error.(*googleapi.Error).Header. Use
24709// googleapi.IsNotModified to check whether the returned error was
24710// because http.StatusNotModified was returned.
24711func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Do(opts ...googleapi.CallOption) (*ListNegativeKeywordsResponse, error) {
24712	gensupport.SetOptions(c.urlParams_, opts...)
24713	res, err := c.doRequest("json")
24714	if res != nil && res.StatusCode == http.StatusNotModified {
24715		if res.Body != nil {
24716			res.Body.Close()
24717		}
24718		return nil, &googleapi.Error{
24719			Code:   res.StatusCode,
24720			Header: res.Header,
24721		}
24722	}
24723	if err != nil {
24724		return nil, err
24725	}
24726	defer googleapi.CloseBody(res)
24727	if err := googleapi.CheckResponse(res); err != nil {
24728		return nil, err
24729	}
24730	ret := &ListNegativeKeywordsResponse{
24731		ServerResponse: googleapi.ServerResponse{
24732			Header:         res.Header,
24733			HTTPStatusCode: res.StatusCode,
24734		},
24735	}
24736	target := &ret
24737	if err := gensupport.DecodeResponse(target, res); err != nil {
24738		return nil, err
24739	}
24740	return ret, nil
24741	// {
24742	//   "description": "Lists negative keywords in a negative keyword list.",
24743	//   "flatPath": "v1/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords",
24744	//   "httpMethod": "GET",
24745	//   "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list",
24746	//   "parameterOrder": [
24747	//     "advertiserId",
24748	//     "negativeKeywordListId"
24749	//   ],
24750	//   "parameters": {
24751	//     "advertiserId": {
24752	//       "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.",
24753	//       "format": "int64",
24754	//       "location": "path",
24755	//       "pattern": "^[^/]+$",
24756	//       "required": true,
24757	//       "type": "string"
24758	//     },
24759	//     "filter": {
24760	//       "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\"`",
24761	//       "location": "query",
24762	//       "type": "string"
24763	//     },
24764	//     "negativeKeywordListId": {
24765	//       "description": "Required. The ID of the parent negative keyword list to which the requested negative keywords belong.",
24766	//       "format": "int64",
24767	//       "location": "path",
24768	//       "pattern": "^[^/]+$",
24769	//       "required": true,
24770	//       "type": "string"
24771	//     },
24772	//     "orderBy": {
24773	//       "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`.",
24774	//       "location": "query",
24775	//       "type": "string"
24776	//     },
24777	//     "pageSize": {
24778	//       "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.",
24779	//       "format": "int32",
24780	//       "location": "query",
24781	//       "type": "integer"
24782	//     },
24783	//     "pageToken": {
24784	//       "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.",
24785	//       "location": "query",
24786	//       "type": "string"
24787	//     }
24788	//   },
24789	//   "path": "v1/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords",
24790	//   "response": {
24791	//     "$ref": "ListNegativeKeywordsResponse"
24792	//   },
24793	//   "scopes": [
24794	//     "https://www.googleapis.com/auth/display-video"
24795	//   ]
24796	// }
24797
24798}
24799
24800// Pages invokes f for each page of results.
24801// A non-nil error returned from f will halt the iteration.
24802// The provided context supersedes any context provided to the Context method.
24803func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) Pages(ctx context.Context, f func(*ListNegativeKeywordsResponse) error) error {
24804	c.ctx_ = ctx
24805	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
24806	for {
24807		x, err := c.Do()
24808		if err != nil {
24809			return err
24810		}
24811		if err := f(x); err != nil {
24812			return err
24813		}
24814		if x.NextPageToken == "" {
24815			return nil
24816		}
24817		c.PageToken(x.NextPageToken)
24818	}
24819}
24820
24821// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create":
24822
24823type AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall struct {
24824	s                       *Service
24825	advertiserId            int64
24826	targetingType           string
24827	assignedtargetingoption *AssignedTargetingOption
24828	urlParams_              gensupport.URLParams
24829	ctx_                    context.Context
24830	header_                 http.Header
24831}
24832
24833// Create: Assigns a targeting option to an advertiser. Returns the
24834// assigned targeting option if successful.
24835func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Create(advertiserId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
24836	c := &AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24837	c.advertiserId = advertiserId
24838	c.targetingType = targetingType
24839	c.assignedtargetingoption = assignedtargetingoption
24840	return c
24841}
24842
24843// Fields allows partial responses to be retrieved. See
24844// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24845// for more information.
24846func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
24847	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24848	return c
24849}
24850
24851// Context sets the context to be used in this call's Do method. Any
24852// pending HTTP request will be aborted if the provided context is
24853// canceled.
24854func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall {
24855	c.ctx_ = ctx
24856	return c
24857}
24858
24859// Header returns an http.Header that can be modified by the caller to
24860// add HTTP headers to the request.
24861func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
24862	if c.header_ == nil {
24863		c.header_ = make(http.Header)
24864	}
24865	return c.header_
24866}
24867
24868func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
24869	reqHeaders := make(http.Header)
24870	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24871	for k, v := range c.header_ {
24872		reqHeaders[k] = v
24873	}
24874	reqHeaders.Set("User-Agent", c.s.userAgent())
24875	var body io.Reader = nil
24876	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
24877	if err != nil {
24878		return nil, err
24879	}
24880	reqHeaders.Set("Content-Type", "application/json")
24881	c.urlParams_.Set("alt", alt)
24882	c.urlParams_.Set("prettyPrint", "false")
24883	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
24884	urls += "?" + c.urlParams_.Encode()
24885	req, err := http.NewRequest("POST", urls, body)
24886	if err != nil {
24887		return nil, err
24888	}
24889	req.Header = reqHeaders
24890	googleapi.Expand(req.URL, map[string]string{
24891		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
24892		"targetingType": c.targetingType,
24893	})
24894	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24895}
24896
24897// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create" call.
24898// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
24899// non-2xx status code is an error. Response headers are in either
24900// *AssignedTargetingOption.ServerResponse.Header or (if a response was
24901// returned at all) in error.(*googleapi.Error).Header. Use
24902// googleapi.IsNotModified to check whether the returned error was
24903// because http.StatusNotModified was returned.
24904func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
24905	gensupport.SetOptions(c.urlParams_, opts...)
24906	res, err := c.doRequest("json")
24907	if res != nil && res.StatusCode == http.StatusNotModified {
24908		if res.Body != nil {
24909			res.Body.Close()
24910		}
24911		return nil, &googleapi.Error{
24912			Code:   res.StatusCode,
24913			Header: res.Header,
24914		}
24915	}
24916	if err != nil {
24917		return nil, err
24918	}
24919	defer googleapi.CloseBody(res)
24920	if err := googleapi.CheckResponse(res); err != nil {
24921		return nil, err
24922	}
24923	ret := &AssignedTargetingOption{
24924		ServerResponse: googleapi.ServerResponse{
24925			Header:         res.Header,
24926			HTTPStatusCode: res.StatusCode,
24927		},
24928	}
24929	target := &ret
24930	if err := gensupport.DecodeResponse(target, res); err != nil {
24931		return nil, err
24932	}
24933	return ret, nil
24934	// {
24935	//   "description": "Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful.",
24936	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
24937	//   "httpMethod": "POST",
24938	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create",
24939	//   "parameterOrder": [
24940	//     "advertiserId",
24941	//     "targetingType"
24942	//   ],
24943	//   "parameters": {
24944	//     "advertiserId": {
24945	//       "description": "Required. The ID of the advertiser.",
24946	//       "format": "int64",
24947	//       "location": "path",
24948	//       "pattern": "^[^/]+$",
24949	//       "required": true,
24950	//       "type": "string"
24951	//     },
24952	//     "targetingType": {
24953	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
24954	//       "enum": [
24955	//         "TARGETING_TYPE_UNSPECIFIED",
24956	//         "TARGETING_TYPE_CHANNEL",
24957	//         "TARGETING_TYPE_APP_CATEGORY",
24958	//         "TARGETING_TYPE_APP",
24959	//         "TARGETING_TYPE_URL",
24960	//         "TARGETING_TYPE_DAY_AND_TIME",
24961	//         "TARGETING_TYPE_AGE_RANGE",
24962	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
24963	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
24964	//         "TARGETING_TYPE_GENDER",
24965	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
24966	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
24967	//         "TARGETING_TYPE_PARENTAL_STATUS",
24968	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
24969	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
24970	//         "TARGETING_TYPE_DEVICE_TYPE",
24971	//         "TARGETING_TYPE_AUDIENCE_GROUP",
24972	//         "TARGETING_TYPE_BROWSER",
24973	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
24974	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
24975	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
24976	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
24977	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
24978	//         "TARGETING_TYPE_ENVIRONMENT",
24979	//         "TARGETING_TYPE_CARRIER_AND_ISP",
24980	//         "TARGETING_TYPE_OPERATING_SYSTEM",
24981	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
24982	//         "TARGETING_TYPE_KEYWORD",
24983	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
24984	//         "TARGETING_TYPE_VIEWABILITY",
24985	//         "TARGETING_TYPE_CATEGORY",
24986	//         "TARGETING_TYPE_INVENTORY_SOURCE",
24987	//         "TARGETING_TYPE_LANGUAGE",
24988	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
24989	//         "TARGETING_TYPE_GEO_REGION",
24990	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
24991	//         "TARGETING_TYPE_EXCHANGE",
24992	//         "TARGETING_TYPE_SUB_EXCHANGE"
24993	//       ],
24994	//       "enumDescriptions": [
24995	//         "Default value when type is not specified or is unknown in this version.",
24996	//         "Target a channel (a custom group of related websites or apps).",
24997	//         "Target an app category (for example, education or puzzle games).",
24998	//         "Target a specific app (for example, Angry Birds).",
24999	//         "Target a specific url (for example, quora.com).",
25000	//         "Target ads during a chosen time period on a specific day.",
25001	//         "Target ads to a specific age range (for example, 18-24).",
25002	//         "Target ads to the specified regions on a regional location list.",
25003	//         "Target ads to the specified points of interest on a proximity location list.",
25004	//         "Target ads to a specific gender (for example, female or male).",
25005	//         "Target a specific video player size for video ads.",
25006	//         "Target user rewarded content for video ads.",
25007	//         "Target ads to a specific parental status (for example, parent or not a parent).",
25008	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
25009	//         "Target ads in a specific content outstream position.",
25010	//         "Target ads to a specific device type (for example, tablet or connected TV).",
25011	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
25012	//         "Target ads to specific web browsers (for example, Chrome).",
25013	//         "Target ads to a specific household income range (for example, top 10%).",
25014	//         "Target ads in a specific on screen position.",
25015	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
25016	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
25017	//         "Filter website content by sensitive categories (for example, adult).",
25018	//         "Target ads to a specific environment (for example, web or app).",
25019	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
25020	//         "Target ads to a specific operating system (for example, macOS).",
25021	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
25022	//         "Target ads to a specific keyword (for example, dog or retriever).",
25023	//         "Target ads to a specific negative keyword list.",
25024	//         "Target ads to a specific viewability (for example, 80% viewable).",
25025	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
25026	//         "Purchase impressions from specific deals and auction packages.",
25027	//         "Target ads to a specific language (for example, English or Japanese).",
25028	//         "Target ads to ads.txt authorized sellers.",
25029	//         "Target ads to a specific regional location (for example, a city or state).",
25030	//         "Purchase impressions from a group of deals and auction packages.",
25031	//         "Purchase impressions from specific exchanges.",
25032	//         "Purchase impressions from specific sub-exchanges."
25033	//       ],
25034	//       "location": "path",
25035	//       "pattern": "^[^/]+$",
25036	//       "required": true,
25037	//       "type": "string"
25038	//     }
25039	//   },
25040	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
25041	//   "request": {
25042	//     "$ref": "AssignedTargetingOption"
25043	//   },
25044	//   "response": {
25045	//     "$ref": "AssignedTargetingOption"
25046	//   },
25047	//   "scopes": [
25048	//     "https://www.googleapis.com/auth/display-video"
25049	//   ]
25050	// }
25051
25052}
25053
25054// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete":
25055
25056type AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
25057	s                         *Service
25058	advertiserId              int64
25059	targetingType             string
25060	assignedTargetingOptionId string
25061	urlParams_                gensupport.URLParams
25062	ctx_                      context.Context
25063	header_                   http.Header
25064}
25065
25066// Delete: Deletes an assigned targeting option from an advertiser.
25067func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Delete(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
25068	c := &AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25069	c.advertiserId = advertiserId
25070	c.targetingType = targetingType
25071	c.assignedTargetingOptionId = assignedTargetingOptionId
25072	return c
25073}
25074
25075// Fields allows partial responses to be retrieved. See
25076// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25077// for more information.
25078func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
25079	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25080	return c
25081}
25082
25083// Context sets the context to be used in this call's Do method. Any
25084// pending HTTP request will be aborted if the provided context is
25085// canceled.
25086func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall {
25087	c.ctx_ = ctx
25088	return c
25089}
25090
25091// Header returns an http.Header that can be modified by the caller to
25092// add HTTP headers to the request.
25093func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
25094	if c.header_ == nil {
25095		c.header_ = make(http.Header)
25096	}
25097	return c.header_
25098}
25099
25100func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
25101	reqHeaders := make(http.Header)
25102	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25103	for k, v := range c.header_ {
25104		reqHeaders[k] = v
25105	}
25106	reqHeaders.Set("User-Agent", c.s.userAgent())
25107	var body io.Reader = nil
25108	c.urlParams_.Set("alt", alt)
25109	c.urlParams_.Set("prettyPrint", "false")
25110	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
25111	urls += "?" + c.urlParams_.Encode()
25112	req, err := http.NewRequest("DELETE", urls, body)
25113	if err != nil {
25114		return nil, err
25115	}
25116	req.Header = reqHeaders
25117	googleapi.Expand(req.URL, map[string]string{
25118		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
25119		"targetingType":             c.targetingType,
25120		"assignedTargetingOptionId": c.assignedTargetingOptionId,
25121	})
25122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25123}
25124
25125// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete" call.
25126// Exactly one of *Empty or error will be non-nil. Any non-2xx status
25127// code is an error. Response headers are in either
25128// *Empty.ServerResponse.Header or (if a response was returned at all)
25129// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
25130// check whether the returned error was because http.StatusNotModified
25131// was returned.
25132func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
25133	gensupport.SetOptions(c.urlParams_, opts...)
25134	res, err := c.doRequest("json")
25135	if res != nil && res.StatusCode == http.StatusNotModified {
25136		if res.Body != nil {
25137			res.Body.Close()
25138		}
25139		return nil, &googleapi.Error{
25140			Code:   res.StatusCode,
25141			Header: res.Header,
25142		}
25143	}
25144	if err != nil {
25145		return nil, err
25146	}
25147	defer googleapi.CloseBody(res)
25148	if err := googleapi.CheckResponse(res); err != nil {
25149		return nil, err
25150	}
25151	ret := &Empty{
25152		ServerResponse: googleapi.ServerResponse{
25153			Header:         res.Header,
25154			HTTPStatusCode: res.StatusCode,
25155		},
25156	}
25157	target := &ret
25158	if err := gensupport.DecodeResponse(target, res); err != nil {
25159		return nil, err
25160	}
25161	return ret, nil
25162	// {
25163	//   "description": "Deletes an assigned targeting option from an advertiser.",
25164	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
25165	//   "httpMethod": "DELETE",
25166	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete",
25167	//   "parameterOrder": [
25168	//     "advertiserId",
25169	//     "targetingType",
25170	//     "assignedTargetingOptionId"
25171	//   ],
25172	//   "parameters": {
25173	//     "advertiserId": {
25174	//       "description": "Required. The ID of the advertiser.",
25175	//       "format": "int64",
25176	//       "location": "path",
25177	//       "pattern": "^[^/]+$",
25178	//       "required": true,
25179	//       "type": "string"
25180	//     },
25181	//     "assignedTargetingOptionId": {
25182	//       "description": "Required. The ID of the assigned targeting option to delete.",
25183	//       "location": "path",
25184	//       "pattern": "^[^/]+$",
25185	//       "required": true,
25186	//       "type": "string"
25187	//     },
25188	//     "targetingType": {
25189	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
25190	//       "enum": [
25191	//         "TARGETING_TYPE_UNSPECIFIED",
25192	//         "TARGETING_TYPE_CHANNEL",
25193	//         "TARGETING_TYPE_APP_CATEGORY",
25194	//         "TARGETING_TYPE_APP",
25195	//         "TARGETING_TYPE_URL",
25196	//         "TARGETING_TYPE_DAY_AND_TIME",
25197	//         "TARGETING_TYPE_AGE_RANGE",
25198	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
25199	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
25200	//         "TARGETING_TYPE_GENDER",
25201	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
25202	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
25203	//         "TARGETING_TYPE_PARENTAL_STATUS",
25204	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
25205	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
25206	//         "TARGETING_TYPE_DEVICE_TYPE",
25207	//         "TARGETING_TYPE_AUDIENCE_GROUP",
25208	//         "TARGETING_TYPE_BROWSER",
25209	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
25210	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
25211	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
25212	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
25213	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
25214	//         "TARGETING_TYPE_ENVIRONMENT",
25215	//         "TARGETING_TYPE_CARRIER_AND_ISP",
25216	//         "TARGETING_TYPE_OPERATING_SYSTEM",
25217	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
25218	//         "TARGETING_TYPE_KEYWORD",
25219	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
25220	//         "TARGETING_TYPE_VIEWABILITY",
25221	//         "TARGETING_TYPE_CATEGORY",
25222	//         "TARGETING_TYPE_INVENTORY_SOURCE",
25223	//         "TARGETING_TYPE_LANGUAGE",
25224	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
25225	//         "TARGETING_TYPE_GEO_REGION",
25226	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
25227	//         "TARGETING_TYPE_EXCHANGE",
25228	//         "TARGETING_TYPE_SUB_EXCHANGE"
25229	//       ],
25230	//       "enumDescriptions": [
25231	//         "Default value when type is not specified or is unknown in this version.",
25232	//         "Target a channel (a custom group of related websites or apps).",
25233	//         "Target an app category (for example, education or puzzle games).",
25234	//         "Target a specific app (for example, Angry Birds).",
25235	//         "Target a specific url (for example, quora.com).",
25236	//         "Target ads during a chosen time period on a specific day.",
25237	//         "Target ads to a specific age range (for example, 18-24).",
25238	//         "Target ads to the specified regions on a regional location list.",
25239	//         "Target ads to the specified points of interest on a proximity location list.",
25240	//         "Target ads to a specific gender (for example, female or male).",
25241	//         "Target a specific video player size for video ads.",
25242	//         "Target user rewarded content for video ads.",
25243	//         "Target ads to a specific parental status (for example, parent or not a parent).",
25244	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
25245	//         "Target ads in a specific content outstream position.",
25246	//         "Target ads to a specific device type (for example, tablet or connected TV).",
25247	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
25248	//         "Target ads to specific web browsers (for example, Chrome).",
25249	//         "Target ads to a specific household income range (for example, top 10%).",
25250	//         "Target ads in a specific on screen position.",
25251	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
25252	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
25253	//         "Filter website content by sensitive categories (for example, adult).",
25254	//         "Target ads to a specific environment (for example, web or app).",
25255	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
25256	//         "Target ads to a specific operating system (for example, macOS).",
25257	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
25258	//         "Target ads to a specific keyword (for example, dog or retriever).",
25259	//         "Target ads to a specific negative keyword list.",
25260	//         "Target ads to a specific viewability (for example, 80% viewable).",
25261	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
25262	//         "Purchase impressions from specific deals and auction packages.",
25263	//         "Target ads to a specific language (for example, English or Japanese).",
25264	//         "Target ads to ads.txt authorized sellers.",
25265	//         "Target ads to a specific regional location (for example, a city or state).",
25266	//         "Purchase impressions from a group of deals and auction packages.",
25267	//         "Purchase impressions from specific exchanges.",
25268	//         "Purchase impressions from specific sub-exchanges."
25269	//       ],
25270	//       "location": "path",
25271	//       "pattern": "^[^/]+$",
25272	//       "required": true,
25273	//       "type": "string"
25274	//     }
25275	//   },
25276	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
25277	//   "response": {
25278	//     "$ref": "Empty"
25279	//   },
25280	//   "scopes": [
25281	//     "https://www.googleapis.com/auth/display-video"
25282	//   ]
25283	// }
25284
25285}
25286
25287// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get":
25288
25289type AdvertisersTargetingTypesAssignedTargetingOptionsGetCall struct {
25290	s                         *Service
25291	advertiserId              int64
25292	targetingType             string
25293	assignedTargetingOptionId string
25294	urlParams_                gensupport.URLParams
25295	ifNoneMatch_              string
25296	ctx_                      context.Context
25297	header_                   http.Header
25298}
25299
25300// Get: Gets a single targeting option assigned to an advertiser.
25301func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) Get(advertiserId int64, targetingType string, assignedTargetingOptionId string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
25302	c := &AdvertisersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25303	c.advertiserId = advertiserId
25304	c.targetingType = targetingType
25305	c.assignedTargetingOptionId = assignedTargetingOptionId
25306	return c
25307}
25308
25309// Fields allows partial responses to be retrieved. See
25310// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25311// for more information.
25312func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
25313	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25314	return c
25315}
25316
25317// IfNoneMatch sets the optional parameter which makes the operation
25318// fail if the object's ETag matches the given value. This is useful for
25319// getting updates only after the object has changed since the last
25320// request. Use googleapi.IsNotModified to check whether the response
25321// error from Do is the result of In-None-Match.
25322func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
25323	c.ifNoneMatch_ = entityTag
25324	return c
25325}
25326
25327// Context sets the context to be used in this call's Do method. Any
25328// pending HTTP request will be aborted if the provided context is
25329// canceled.
25330func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall {
25331	c.ctx_ = ctx
25332	return c
25333}
25334
25335// Header returns an http.Header that can be modified by the caller to
25336// add HTTP headers to the request.
25337func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
25338	if c.header_ == nil {
25339		c.header_ = make(http.Header)
25340	}
25341	return c.header_
25342}
25343
25344func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
25345	reqHeaders := make(http.Header)
25346	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25347	for k, v := range c.header_ {
25348		reqHeaders[k] = v
25349	}
25350	reqHeaders.Set("User-Agent", c.s.userAgent())
25351	if c.ifNoneMatch_ != "" {
25352		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25353	}
25354	var body io.Reader = nil
25355	c.urlParams_.Set("alt", alt)
25356	c.urlParams_.Set("prettyPrint", "false")
25357	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
25358	urls += "?" + c.urlParams_.Encode()
25359	req, err := http.NewRequest("GET", urls, body)
25360	if err != nil {
25361		return nil, err
25362	}
25363	req.Header = reqHeaders
25364	googleapi.Expand(req.URL, map[string]string{
25365		"advertiserId":              strconv.FormatInt(c.advertiserId, 10),
25366		"targetingType":             c.targetingType,
25367		"assignedTargetingOptionId": c.assignedTargetingOptionId,
25368	})
25369	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25370}
25371
25372// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get" call.
25373// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
25374// non-2xx status code is an error. Response headers are in either
25375// *AssignedTargetingOption.ServerResponse.Header or (if a response was
25376// returned at all) in error.(*googleapi.Error).Header. Use
25377// googleapi.IsNotModified to check whether the returned error was
25378// because http.StatusNotModified was returned.
25379func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
25380	gensupport.SetOptions(c.urlParams_, opts...)
25381	res, err := c.doRequest("json")
25382	if res != nil && res.StatusCode == http.StatusNotModified {
25383		if res.Body != nil {
25384			res.Body.Close()
25385		}
25386		return nil, &googleapi.Error{
25387			Code:   res.StatusCode,
25388			Header: res.Header,
25389		}
25390	}
25391	if err != nil {
25392		return nil, err
25393	}
25394	defer googleapi.CloseBody(res)
25395	if err := googleapi.CheckResponse(res); err != nil {
25396		return nil, err
25397	}
25398	ret := &AssignedTargetingOption{
25399		ServerResponse: googleapi.ServerResponse{
25400			Header:         res.Header,
25401			HTTPStatusCode: res.StatusCode,
25402		},
25403	}
25404	target := &ret
25405	if err := gensupport.DecodeResponse(target, res); err != nil {
25406		return nil, err
25407	}
25408	return ret, nil
25409	// {
25410	//   "description": "Gets a single targeting option assigned to an advertiser.",
25411	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
25412	//   "httpMethod": "GET",
25413	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get",
25414	//   "parameterOrder": [
25415	//     "advertiserId",
25416	//     "targetingType",
25417	//     "assignedTargetingOptionId"
25418	//   ],
25419	//   "parameters": {
25420	//     "advertiserId": {
25421	//       "description": "Required. The ID of the advertiser.",
25422	//       "format": "int64",
25423	//       "location": "path",
25424	//       "pattern": "^[^/]+$",
25425	//       "required": true,
25426	//       "type": "string"
25427	//     },
25428	//     "assignedTargetingOptionId": {
25429	//       "description": "Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested.",
25430	//       "location": "path",
25431	//       "pattern": "^[^/]+$",
25432	//       "required": true,
25433	//       "type": "string"
25434	//     },
25435	//     "targetingType": {
25436	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
25437	//       "enum": [
25438	//         "TARGETING_TYPE_UNSPECIFIED",
25439	//         "TARGETING_TYPE_CHANNEL",
25440	//         "TARGETING_TYPE_APP_CATEGORY",
25441	//         "TARGETING_TYPE_APP",
25442	//         "TARGETING_TYPE_URL",
25443	//         "TARGETING_TYPE_DAY_AND_TIME",
25444	//         "TARGETING_TYPE_AGE_RANGE",
25445	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
25446	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
25447	//         "TARGETING_TYPE_GENDER",
25448	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
25449	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
25450	//         "TARGETING_TYPE_PARENTAL_STATUS",
25451	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
25452	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
25453	//         "TARGETING_TYPE_DEVICE_TYPE",
25454	//         "TARGETING_TYPE_AUDIENCE_GROUP",
25455	//         "TARGETING_TYPE_BROWSER",
25456	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
25457	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
25458	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
25459	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
25460	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
25461	//         "TARGETING_TYPE_ENVIRONMENT",
25462	//         "TARGETING_TYPE_CARRIER_AND_ISP",
25463	//         "TARGETING_TYPE_OPERATING_SYSTEM",
25464	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
25465	//         "TARGETING_TYPE_KEYWORD",
25466	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
25467	//         "TARGETING_TYPE_VIEWABILITY",
25468	//         "TARGETING_TYPE_CATEGORY",
25469	//         "TARGETING_TYPE_INVENTORY_SOURCE",
25470	//         "TARGETING_TYPE_LANGUAGE",
25471	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
25472	//         "TARGETING_TYPE_GEO_REGION",
25473	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
25474	//         "TARGETING_TYPE_EXCHANGE",
25475	//         "TARGETING_TYPE_SUB_EXCHANGE"
25476	//       ],
25477	//       "enumDescriptions": [
25478	//         "Default value when type is not specified or is unknown in this version.",
25479	//         "Target a channel (a custom group of related websites or apps).",
25480	//         "Target an app category (for example, education or puzzle games).",
25481	//         "Target a specific app (for example, Angry Birds).",
25482	//         "Target a specific url (for example, quora.com).",
25483	//         "Target ads during a chosen time period on a specific day.",
25484	//         "Target ads to a specific age range (for example, 18-24).",
25485	//         "Target ads to the specified regions on a regional location list.",
25486	//         "Target ads to the specified points of interest on a proximity location list.",
25487	//         "Target ads to a specific gender (for example, female or male).",
25488	//         "Target a specific video player size for video ads.",
25489	//         "Target user rewarded content for video ads.",
25490	//         "Target ads to a specific parental status (for example, parent or not a parent).",
25491	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
25492	//         "Target ads in a specific content outstream position.",
25493	//         "Target ads to a specific device type (for example, tablet or connected TV).",
25494	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
25495	//         "Target ads to specific web browsers (for example, Chrome).",
25496	//         "Target ads to a specific household income range (for example, top 10%).",
25497	//         "Target ads in a specific on screen position.",
25498	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
25499	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
25500	//         "Filter website content by sensitive categories (for example, adult).",
25501	//         "Target ads to a specific environment (for example, web or app).",
25502	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
25503	//         "Target ads to a specific operating system (for example, macOS).",
25504	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
25505	//         "Target ads to a specific keyword (for example, dog or retriever).",
25506	//         "Target ads to a specific negative keyword list.",
25507	//         "Target ads to a specific viewability (for example, 80% viewable).",
25508	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
25509	//         "Purchase impressions from specific deals and auction packages.",
25510	//         "Target ads to a specific language (for example, English or Japanese).",
25511	//         "Target ads to ads.txt authorized sellers.",
25512	//         "Target ads to a specific regional location (for example, a city or state).",
25513	//         "Purchase impressions from a group of deals and auction packages.",
25514	//         "Purchase impressions from specific exchanges.",
25515	//         "Purchase impressions from specific sub-exchanges."
25516	//       ],
25517	//       "location": "path",
25518	//       "pattern": "^[^/]+$",
25519	//       "required": true,
25520	//       "type": "string"
25521	//     }
25522	//   },
25523	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
25524	//   "response": {
25525	//     "$ref": "AssignedTargetingOption"
25526	//   },
25527	//   "scopes": [
25528	//     "https://www.googleapis.com/auth/display-video"
25529	//   ]
25530	// }
25531
25532}
25533
25534// method id "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list":
25535
25536type AdvertisersTargetingTypesAssignedTargetingOptionsListCall struct {
25537	s             *Service
25538	advertiserId  int64
25539	targetingType string
25540	urlParams_    gensupport.URLParams
25541	ifNoneMatch_  string
25542	ctx_          context.Context
25543	header_       http.Header
25544}
25545
25546// List: Lists the targeting options assigned to an advertiser.
25547func (r *AdvertisersTargetingTypesAssignedTargetingOptionsService) List(advertiserId int64, targetingType string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25548	c := &AdvertisersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25549	c.advertiserId = advertiserId
25550	c.targetingType = targetingType
25551	return c
25552}
25553
25554// Filter sets the optional parameter "filter": Allows filtering by
25555// assigned targeting option properties. Supported syntax: * Filter
25556// expressions are made up of one or more restrictions. * Restrictions
25557// can be combined by the logical operator `OR`. * A restriction has the
25558// form of `{field} {operator} {value}`. * The operator must be `EQUALS
25559// (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: *
25560// AssignedTargetingOption with ID 123456
25561// `assignedTargetingOptionId="123456" The length of this field should
25562// be no more than 500 characters.
25563func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25564	c.urlParams_.Set("filter", filter)
25565	return c
25566}
25567
25568// OrderBy sets the optional parameter "orderBy": Field by which to sort
25569// the list. Acceptable values are: * `assignedTargetingOptionId`
25570// (default) The default sorting order is ascending. To specify
25571// descending order for a field, a suffix "desc" should be added to the
25572// field name. Example: `assignedTargetingOptionId desc`.
25573func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25574	c.urlParams_.Set("orderBy", orderBy)
25575	return c
25576}
25577
25578// PageSize sets the optional parameter "pageSize": Requested page size.
25579// Must be between `1` and `100`. If unspecified will default to `100`.
25580// Returns error code `INVALID_ARGUMENT` if an invalid value is
25581// specified.
25582func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25583	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
25584	return c
25585}
25586
25587// PageToken sets the optional parameter "pageToken": A token
25588// identifying a page of results the server should return. Typically,
25589// this is the value of next_page_token returned from the previous call
25590// to `ListAdvertiserAssignedTargetingOptions` method. If not specified,
25591// the first page of results will be returned.
25592func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25593	c.urlParams_.Set("pageToken", pageToken)
25594	return c
25595}
25596
25597// Fields allows partial responses to be retrieved. See
25598// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25599// for more information.
25600func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25601	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25602	return c
25603}
25604
25605// IfNoneMatch sets the optional parameter which makes the operation
25606// fail if the object's ETag matches the given value. This is useful for
25607// getting updates only after the object has changed since the last
25608// request. Use googleapi.IsNotModified to check whether the response
25609// error from Do is the result of In-None-Match.
25610func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25611	c.ifNoneMatch_ = entityTag
25612	return c
25613}
25614
25615// Context sets the context to be used in this call's Do method. Any
25616// pending HTTP request will be aborted if the provided context is
25617// canceled.
25618func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *AdvertisersTargetingTypesAssignedTargetingOptionsListCall {
25619	c.ctx_ = ctx
25620	return c
25621}
25622
25623// Header returns an http.Header that can be modified by the caller to
25624// add HTTP headers to the request.
25625func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
25626	if c.header_ == nil {
25627		c.header_ = make(http.Header)
25628	}
25629	return c.header_
25630}
25631
25632func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
25633	reqHeaders := make(http.Header)
25634	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25635	for k, v := range c.header_ {
25636		reqHeaders[k] = v
25637	}
25638	reqHeaders.Set("User-Agent", c.s.userAgent())
25639	if c.ifNoneMatch_ != "" {
25640		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25641	}
25642	var body io.Reader = nil
25643	c.urlParams_.Set("alt", alt)
25644	c.urlParams_.Set("prettyPrint", "false")
25645	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
25646	urls += "?" + c.urlParams_.Encode()
25647	req, err := http.NewRequest("GET", urls, body)
25648	if err != nil {
25649		return nil, err
25650	}
25651	req.Header = reqHeaders
25652	googleapi.Expand(req.URL, map[string]string{
25653		"advertiserId":  strconv.FormatInt(c.advertiserId, 10),
25654		"targetingType": c.targetingType,
25655	})
25656	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25657}
25658
25659// Do executes the "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list" call.
25660// Exactly one of *ListAdvertiserAssignedTargetingOptionsResponse or
25661// error will be non-nil. Any non-2xx status code is an error. Response
25662// headers are in either
25663// *ListAdvertiserAssignedTargetingOptionsResponse.ServerResponse.Header
25664// or (if a response was returned at all) in
25665// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
25666// whether the returned error was because http.StatusNotModified was
25667// returned.
25668func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListAdvertiserAssignedTargetingOptionsResponse, error) {
25669	gensupport.SetOptions(c.urlParams_, opts...)
25670	res, err := c.doRequest("json")
25671	if res != nil && res.StatusCode == http.StatusNotModified {
25672		if res.Body != nil {
25673			res.Body.Close()
25674		}
25675		return nil, &googleapi.Error{
25676			Code:   res.StatusCode,
25677			Header: res.Header,
25678		}
25679	}
25680	if err != nil {
25681		return nil, err
25682	}
25683	defer googleapi.CloseBody(res)
25684	if err := googleapi.CheckResponse(res); err != nil {
25685		return nil, err
25686	}
25687	ret := &ListAdvertiserAssignedTargetingOptionsResponse{
25688		ServerResponse: googleapi.ServerResponse{
25689			Header:         res.Header,
25690			HTTPStatusCode: res.StatusCode,
25691		},
25692	}
25693	target := &ret
25694	if err := gensupport.DecodeResponse(target, res); err != nil {
25695		return nil, err
25696	}
25697	return ret, nil
25698	// {
25699	//   "description": "Lists the targeting options assigned to an advertiser.",
25700	//   "flatPath": "v1/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
25701	//   "httpMethod": "GET",
25702	//   "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list",
25703	//   "parameterOrder": [
25704	//     "advertiserId",
25705	//     "targetingType"
25706	//   ],
25707	//   "parameters": {
25708	//     "advertiserId": {
25709	//       "description": "Required. The ID of the advertiser.",
25710	//       "format": "int64",
25711	//       "location": "path",
25712	//       "pattern": "^[^/]+$",
25713	//       "required": true,
25714	//       "type": "string"
25715	//     },
25716	//     "filter": {
25717	//       "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.",
25718	//       "location": "query",
25719	//       "type": "string"
25720	//     },
25721	//     "orderBy": {
25722	//       "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`.",
25723	//       "location": "query",
25724	//       "type": "string"
25725	//     },
25726	//     "pageSize": {
25727	//       "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.",
25728	//       "format": "int32",
25729	//       "location": "query",
25730	//       "type": "integer"
25731	//     },
25732	//     "pageToken": {
25733	//       "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.",
25734	//       "location": "query",
25735	//       "type": "string"
25736	//     },
25737	//     "targetingType": {
25738	//       "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`",
25739	//       "enum": [
25740	//         "TARGETING_TYPE_UNSPECIFIED",
25741	//         "TARGETING_TYPE_CHANNEL",
25742	//         "TARGETING_TYPE_APP_CATEGORY",
25743	//         "TARGETING_TYPE_APP",
25744	//         "TARGETING_TYPE_URL",
25745	//         "TARGETING_TYPE_DAY_AND_TIME",
25746	//         "TARGETING_TYPE_AGE_RANGE",
25747	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
25748	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
25749	//         "TARGETING_TYPE_GENDER",
25750	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
25751	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
25752	//         "TARGETING_TYPE_PARENTAL_STATUS",
25753	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
25754	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
25755	//         "TARGETING_TYPE_DEVICE_TYPE",
25756	//         "TARGETING_TYPE_AUDIENCE_GROUP",
25757	//         "TARGETING_TYPE_BROWSER",
25758	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
25759	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
25760	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
25761	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
25762	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
25763	//         "TARGETING_TYPE_ENVIRONMENT",
25764	//         "TARGETING_TYPE_CARRIER_AND_ISP",
25765	//         "TARGETING_TYPE_OPERATING_SYSTEM",
25766	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
25767	//         "TARGETING_TYPE_KEYWORD",
25768	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
25769	//         "TARGETING_TYPE_VIEWABILITY",
25770	//         "TARGETING_TYPE_CATEGORY",
25771	//         "TARGETING_TYPE_INVENTORY_SOURCE",
25772	//         "TARGETING_TYPE_LANGUAGE",
25773	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
25774	//         "TARGETING_TYPE_GEO_REGION",
25775	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
25776	//         "TARGETING_TYPE_EXCHANGE",
25777	//         "TARGETING_TYPE_SUB_EXCHANGE"
25778	//       ],
25779	//       "enumDescriptions": [
25780	//         "Default value when type is not specified or is unknown in this version.",
25781	//         "Target a channel (a custom group of related websites or apps).",
25782	//         "Target an app category (for example, education or puzzle games).",
25783	//         "Target a specific app (for example, Angry Birds).",
25784	//         "Target a specific url (for example, quora.com).",
25785	//         "Target ads during a chosen time period on a specific day.",
25786	//         "Target ads to a specific age range (for example, 18-24).",
25787	//         "Target ads to the specified regions on a regional location list.",
25788	//         "Target ads to the specified points of interest on a proximity location list.",
25789	//         "Target ads to a specific gender (for example, female or male).",
25790	//         "Target a specific video player size for video ads.",
25791	//         "Target user rewarded content for video ads.",
25792	//         "Target ads to a specific parental status (for example, parent or not a parent).",
25793	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
25794	//         "Target ads in a specific content outstream position.",
25795	//         "Target ads to a specific device type (for example, tablet or connected TV).",
25796	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
25797	//         "Target ads to specific web browsers (for example, Chrome).",
25798	//         "Target ads to a specific household income range (for example, top 10%).",
25799	//         "Target ads in a specific on screen position.",
25800	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
25801	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
25802	//         "Filter website content by sensitive categories (for example, adult).",
25803	//         "Target ads to a specific environment (for example, web or app).",
25804	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
25805	//         "Target ads to a specific operating system (for example, macOS).",
25806	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
25807	//         "Target ads to a specific keyword (for example, dog or retriever).",
25808	//         "Target ads to a specific negative keyword list.",
25809	//         "Target ads to a specific viewability (for example, 80% viewable).",
25810	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
25811	//         "Purchase impressions from specific deals and auction packages.",
25812	//         "Target ads to a specific language (for example, English or Japanese).",
25813	//         "Target ads to ads.txt authorized sellers.",
25814	//         "Target ads to a specific regional location (for example, a city or state).",
25815	//         "Purchase impressions from a group of deals and auction packages.",
25816	//         "Purchase impressions from specific exchanges.",
25817	//         "Purchase impressions from specific sub-exchanges."
25818	//       ],
25819	//       "location": "path",
25820	//       "pattern": "^[^/]+$",
25821	//       "required": true,
25822	//       "type": "string"
25823	//     }
25824	//   },
25825	//   "path": "v1/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
25826	//   "response": {
25827	//     "$ref": "ListAdvertiserAssignedTargetingOptionsResponse"
25828	//   },
25829	//   "scopes": [
25830	//     "https://www.googleapis.com/auth/display-video"
25831	//   ]
25832	// }
25833
25834}
25835
25836// Pages invokes f for each page of results.
25837// A non-nil error returned from f will halt the iteration.
25838// The provided context supersedes any context provided to the Context method.
25839func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListAdvertiserAssignedTargetingOptionsResponse) error) error {
25840	c.ctx_ = ctx
25841	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25842	for {
25843		x, err := c.Do()
25844		if err != nil {
25845			return err
25846		}
25847		if err := f(x); err != nil {
25848			return err
25849		}
25850		if x.NextPageToken == "" {
25851			return nil
25852		}
25853		c.PageToken(x.NextPageToken)
25854	}
25855}
25856
25857// method id "displayvideo.combinedAudiences.get":
25858
25859type CombinedAudiencesGetCall struct {
25860	s                  *Service
25861	combinedAudienceId int64
25862	urlParams_         gensupport.URLParams
25863	ifNoneMatch_       string
25864	ctx_               context.Context
25865	header_            http.Header
25866}
25867
25868// Get: Gets a combined audience.
25869func (r *CombinedAudiencesService) Get(combinedAudienceId int64) *CombinedAudiencesGetCall {
25870	c := &CombinedAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25871	c.combinedAudienceId = combinedAudienceId
25872	return c
25873}
25874
25875// AdvertiserId sets the optional parameter "advertiserId": The ID of
25876// the advertiser that has access to the fetched combined audience.
25877func (c *CombinedAudiencesGetCall) AdvertiserId(advertiserId int64) *CombinedAudiencesGetCall {
25878	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
25879	return c
25880}
25881
25882// PartnerId sets the optional parameter "partnerId": The ID of the
25883// partner that has access to the fetched combined audience.
25884func (c *CombinedAudiencesGetCall) PartnerId(partnerId int64) *CombinedAudiencesGetCall {
25885	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
25886	return c
25887}
25888
25889// Fields allows partial responses to be retrieved. See
25890// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25891// for more information.
25892func (c *CombinedAudiencesGetCall) Fields(s ...googleapi.Field) *CombinedAudiencesGetCall {
25893	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25894	return c
25895}
25896
25897// IfNoneMatch sets the optional parameter which makes the operation
25898// fail if the object's ETag matches the given value. This is useful for
25899// getting updates only after the object has changed since the last
25900// request. Use googleapi.IsNotModified to check whether the response
25901// error from Do is the result of In-None-Match.
25902func (c *CombinedAudiencesGetCall) IfNoneMatch(entityTag string) *CombinedAudiencesGetCall {
25903	c.ifNoneMatch_ = entityTag
25904	return c
25905}
25906
25907// Context sets the context to be used in this call's Do method. Any
25908// pending HTTP request will be aborted if the provided context is
25909// canceled.
25910func (c *CombinedAudiencesGetCall) Context(ctx context.Context) *CombinedAudiencesGetCall {
25911	c.ctx_ = ctx
25912	return c
25913}
25914
25915// Header returns an http.Header that can be modified by the caller to
25916// add HTTP headers to the request.
25917func (c *CombinedAudiencesGetCall) Header() http.Header {
25918	if c.header_ == nil {
25919		c.header_ = make(http.Header)
25920	}
25921	return c.header_
25922}
25923
25924func (c *CombinedAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
25925	reqHeaders := make(http.Header)
25926	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25927	for k, v := range c.header_ {
25928		reqHeaders[k] = v
25929	}
25930	reqHeaders.Set("User-Agent", c.s.userAgent())
25931	if c.ifNoneMatch_ != "" {
25932		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25933	}
25934	var body io.Reader = nil
25935	c.urlParams_.Set("alt", alt)
25936	c.urlParams_.Set("prettyPrint", "false")
25937	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/combinedAudiences/{+combinedAudienceId}")
25938	urls += "?" + c.urlParams_.Encode()
25939	req, err := http.NewRequest("GET", urls, body)
25940	if err != nil {
25941		return nil, err
25942	}
25943	req.Header = reqHeaders
25944	googleapi.Expand(req.URL, map[string]string{
25945		"combinedAudienceId": strconv.FormatInt(c.combinedAudienceId, 10),
25946	})
25947	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25948}
25949
25950// Do executes the "displayvideo.combinedAudiences.get" call.
25951// Exactly one of *CombinedAudience or error will be non-nil. Any
25952// non-2xx status code is an error. Response headers are in either
25953// *CombinedAudience.ServerResponse.Header or (if a response was
25954// returned at all) in error.(*googleapi.Error).Header. Use
25955// googleapi.IsNotModified to check whether the returned error was
25956// because http.StatusNotModified was returned.
25957func (c *CombinedAudiencesGetCall) Do(opts ...googleapi.CallOption) (*CombinedAudience, error) {
25958	gensupport.SetOptions(c.urlParams_, opts...)
25959	res, err := c.doRequest("json")
25960	if res != nil && res.StatusCode == http.StatusNotModified {
25961		if res.Body != nil {
25962			res.Body.Close()
25963		}
25964		return nil, &googleapi.Error{
25965			Code:   res.StatusCode,
25966			Header: res.Header,
25967		}
25968	}
25969	if err != nil {
25970		return nil, err
25971	}
25972	defer googleapi.CloseBody(res)
25973	if err := googleapi.CheckResponse(res); err != nil {
25974		return nil, err
25975	}
25976	ret := &CombinedAudience{
25977		ServerResponse: googleapi.ServerResponse{
25978			Header:         res.Header,
25979			HTTPStatusCode: res.StatusCode,
25980		},
25981	}
25982	target := &ret
25983	if err := gensupport.DecodeResponse(target, res); err != nil {
25984		return nil, err
25985	}
25986	return ret, nil
25987	// {
25988	//   "description": "Gets a combined audience.",
25989	//   "flatPath": "v1/combinedAudiences/{combinedAudiencesId}",
25990	//   "httpMethod": "GET",
25991	//   "id": "displayvideo.combinedAudiences.get",
25992	//   "parameterOrder": [
25993	//     "combinedAudienceId"
25994	//   ],
25995	//   "parameters": {
25996	//     "advertiserId": {
25997	//       "description": "The ID of the advertiser that has access to the fetched combined audience.",
25998	//       "format": "int64",
25999	//       "location": "query",
26000	//       "type": "string"
26001	//     },
26002	//     "combinedAudienceId": {
26003	//       "description": "Required. The ID of the combined audience to fetch.",
26004	//       "format": "int64",
26005	//       "location": "path",
26006	//       "pattern": "^[^/]+$",
26007	//       "required": true,
26008	//       "type": "string"
26009	//     },
26010	//     "partnerId": {
26011	//       "description": "The ID of the partner that has access to the fetched combined audience.",
26012	//       "format": "int64",
26013	//       "location": "query",
26014	//       "type": "string"
26015	//     }
26016	//   },
26017	//   "path": "v1/combinedAudiences/{+combinedAudienceId}",
26018	//   "response": {
26019	//     "$ref": "CombinedAudience"
26020	//   },
26021	//   "scopes": [
26022	//     "https://www.googleapis.com/auth/display-video"
26023	//   ]
26024	// }
26025
26026}
26027
26028// method id "displayvideo.combinedAudiences.list":
26029
26030type CombinedAudiencesListCall struct {
26031	s            *Service
26032	urlParams_   gensupport.URLParams
26033	ifNoneMatch_ string
26034	ctx_         context.Context
26035	header_      http.Header
26036}
26037
26038// List: Lists combined audiences. The order is defined by the order_by
26039// parameter.
26040func (r *CombinedAudiencesService) List() *CombinedAudiencesListCall {
26041	c := &CombinedAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26042	return c
26043}
26044
26045// AdvertiserId sets the optional parameter "advertiserId": The ID of
26046// the advertiser that has access to the fetched combined audiences.
26047func (c *CombinedAudiencesListCall) AdvertiserId(advertiserId int64) *CombinedAudiencesListCall {
26048	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
26049	return c
26050}
26051
26052// Filter sets the optional parameter "filter": Allows filtering by
26053// combined audience fields. Supported syntax: * Filter expressions for
26054// combined audiences currently can only contain at most one
26055// restriction. * A restriction has the form of `{field} {operator}
26056// {value}`. * The operator must be `CONTAINS (:)`. * Supported fields:
26057// - `displayName` Examples: * All combined audiences for which the
26058// display name contains "Google": `displayName : "Google". The length
26059// of this field should be no more than 500 characters.
26060func (c *CombinedAudiencesListCall) Filter(filter string) *CombinedAudiencesListCall {
26061	c.urlParams_.Set("filter", filter)
26062	return c
26063}
26064
26065// OrderBy sets the optional parameter "orderBy": Field by which to sort
26066// the list. Acceptable values are: * `combinedAudienceId` (default) *
26067// `displayName` The default sorting order is ascending. To specify
26068// descending order for a field, a suffix "desc" should be added to the
26069// field name. Example: `displayName desc`.
26070func (c *CombinedAudiencesListCall) OrderBy(orderBy string) *CombinedAudiencesListCall {
26071	c.urlParams_.Set("orderBy", orderBy)
26072	return c
26073}
26074
26075// PageSize sets the optional parameter "pageSize": Requested page size.
26076// Must be between `1` and `100`. If unspecified will default to `100`.
26077// Returns error code `INVALID_ARGUMENT` if an invalid value is
26078// specified.
26079func (c *CombinedAudiencesListCall) PageSize(pageSize int64) *CombinedAudiencesListCall {
26080	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26081	return c
26082}
26083
26084// PageToken sets the optional parameter "pageToken": A token
26085// identifying a page of results the server should return. Typically,
26086// this is the value of next_page_token returned from the previous call
26087// to `ListCombinedAudiences` method. If not specified, the first page
26088// of results will be returned.
26089func (c *CombinedAudiencesListCall) PageToken(pageToken string) *CombinedAudiencesListCall {
26090	c.urlParams_.Set("pageToken", pageToken)
26091	return c
26092}
26093
26094// PartnerId sets the optional parameter "partnerId": The ID of the
26095// partner that has access to the fetched combined audiences.
26096func (c *CombinedAudiencesListCall) PartnerId(partnerId int64) *CombinedAudiencesListCall {
26097	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
26098	return c
26099}
26100
26101// Fields allows partial responses to be retrieved. See
26102// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26103// for more information.
26104func (c *CombinedAudiencesListCall) Fields(s ...googleapi.Field) *CombinedAudiencesListCall {
26105	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26106	return c
26107}
26108
26109// IfNoneMatch sets the optional parameter which makes the operation
26110// fail if the object's ETag matches the given value. This is useful for
26111// getting updates only after the object has changed since the last
26112// request. Use googleapi.IsNotModified to check whether the response
26113// error from Do is the result of In-None-Match.
26114func (c *CombinedAudiencesListCall) IfNoneMatch(entityTag string) *CombinedAudiencesListCall {
26115	c.ifNoneMatch_ = entityTag
26116	return c
26117}
26118
26119// Context sets the context to be used in this call's Do method. Any
26120// pending HTTP request will be aborted if the provided context is
26121// canceled.
26122func (c *CombinedAudiencesListCall) Context(ctx context.Context) *CombinedAudiencesListCall {
26123	c.ctx_ = ctx
26124	return c
26125}
26126
26127// Header returns an http.Header that can be modified by the caller to
26128// add HTTP headers to the request.
26129func (c *CombinedAudiencesListCall) Header() http.Header {
26130	if c.header_ == nil {
26131		c.header_ = make(http.Header)
26132	}
26133	return c.header_
26134}
26135
26136func (c *CombinedAudiencesListCall) doRequest(alt string) (*http.Response, error) {
26137	reqHeaders := make(http.Header)
26138	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26139	for k, v := range c.header_ {
26140		reqHeaders[k] = v
26141	}
26142	reqHeaders.Set("User-Agent", c.s.userAgent())
26143	if c.ifNoneMatch_ != "" {
26144		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26145	}
26146	var body io.Reader = nil
26147	c.urlParams_.Set("alt", alt)
26148	c.urlParams_.Set("prettyPrint", "false")
26149	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/combinedAudiences")
26150	urls += "?" + c.urlParams_.Encode()
26151	req, err := http.NewRequest("GET", urls, body)
26152	if err != nil {
26153		return nil, err
26154	}
26155	req.Header = reqHeaders
26156	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26157}
26158
26159// Do executes the "displayvideo.combinedAudiences.list" call.
26160// Exactly one of *ListCombinedAudiencesResponse or error will be
26161// non-nil. Any non-2xx status code is an error. Response headers are in
26162// either *ListCombinedAudiencesResponse.ServerResponse.Header or (if a
26163// response was returned at all) in error.(*googleapi.Error).Header. Use
26164// googleapi.IsNotModified to check whether the returned error was
26165// because http.StatusNotModified was returned.
26166func (c *CombinedAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListCombinedAudiencesResponse, error) {
26167	gensupport.SetOptions(c.urlParams_, opts...)
26168	res, err := c.doRequest("json")
26169	if res != nil && res.StatusCode == http.StatusNotModified {
26170		if res.Body != nil {
26171			res.Body.Close()
26172		}
26173		return nil, &googleapi.Error{
26174			Code:   res.StatusCode,
26175			Header: res.Header,
26176		}
26177	}
26178	if err != nil {
26179		return nil, err
26180	}
26181	defer googleapi.CloseBody(res)
26182	if err := googleapi.CheckResponse(res); err != nil {
26183		return nil, err
26184	}
26185	ret := &ListCombinedAudiencesResponse{
26186		ServerResponse: googleapi.ServerResponse{
26187			Header:         res.Header,
26188			HTTPStatusCode: res.StatusCode,
26189		},
26190	}
26191	target := &ret
26192	if err := gensupport.DecodeResponse(target, res); err != nil {
26193		return nil, err
26194	}
26195	return ret, nil
26196	// {
26197	//   "description": "Lists combined audiences. The order is defined by the order_by parameter.",
26198	//   "flatPath": "v1/combinedAudiences",
26199	//   "httpMethod": "GET",
26200	//   "id": "displayvideo.combinedAudiences.list",
26201	//   "parameterOrder": [],
26202	//   "parameters": {
26203	//     "advertiserId": {
26204	//       "description": "The ID of the advertiser that has access to the fetched combined audiences.",
26205	//       "format": "int64",
26206	//       "location": "query",
26207	//       "type": "string"
26208	//     },
26209	//     "filter": {
26210	//       "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.",
26211	//       "location": "query",
26212	//       "type": "string"
26213	//     },
26214	//     "orderBy": {
26215	//       "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`.",
26216	//       "location": "query",
26217	//       "type": "string"
26218	//     },
26219	//     "pageSize": {
26220	//       "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.",
26221	//       "format": "int32",
26222	//       "location": "query",
26223	//       "type": "integer"
26224	//     },
26225	//     "pageToken": {
26226	//       "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.",
26227	//       "location": "query",
26228	//       "type": "string"
26229	//     },
26230	//     "partnerId": {
26231	//       "description": "The ID of the partner that has access to the fetched combined audiences.",
26232	//       "format": "int64",
26233	//       "location": "query",
26234	//       "type": "string"
26235	//     }
26236	//   },
26237	//   "path": "v1/combinedAudiences",
26238	//   "response": {
26239	//     "$ref": "ListCombinedAudiencesResponse"
26240	//   },
26241	//   "scopes": [
26242	//     "https://www.googleapis.com/auth/display-video"
26243	//   ]
26244	// }
26245
26246}
26247
26248// Pages invokes f for each page of results.
26249// A non-nil error returned from f will halt the iteration.
26250// The provided context supersedes any context provided to the Context method.
26251func (c *CombinedAudiencesListCall) Pages(ctx context.Context, f func(*ListCombinedAudiencesResponse) error) error {
26252	c.ctx_ = ctx
26253	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26254	for {
26255		x, err := c.Do()
26256		if err != nil {
26257			return err
26258		}
26259		if err := f(x); err != nil {
26260			return err
26261		}
26262		if x.NextPageToken == "" {
26263			return nil
26264		}
26265		c.PageToken(x.NextPageToken)
26266	}
26267}
26268
26269// method id "displayvideo.customBiddingAlgorithms.get":
26270
26271type CustomBiddingAlgorithmsGetCall struct {
26272	s                        *Service
26273	customBiddingAlgorithmId int64
26274	urlParams_               gensupport.URLParams
26275	ifNoneMatch_             string
26276	ctx_                     context.Context
26277	header_                  http.Header
26278}
26279
26280// Get: Gets a custom bidding algorithm.
26281func (r *CustomBiddingAlgorithmsService) Get(customBiddingAlgorithmId int64) *CustomBiddingAlgorithmsGetCall {
26282	c := &CustomBiddingAlgorithmsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26283	c.customBiddingAlgorithmId = customBiddingAlgorithmId
26284	return c
26285}
26286
26287// AdvertiserId sets the optional parameter "advertiserId": The ID of
26288// the DV360 partner that has access to the custom bidding algorithm.
26289func (c *CustomBiddingAlgorithmsGetCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsGetCall {
26290	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
26291	return c
26292}
26293
26294// PartnerId sets the optional parameter "partnerId": The ID of the
26295// DV360 partner that has access to the custom bidding algorithm.
26296func (c *CustomBiddingAlgorithmsGetCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsGetCall {
26297	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
26298	return c
26299}
26300
26301// Fields allows partial responses to be retrieved. See
26302// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26303// for more information.
26304func (c *CustomBiddingAlgorithmsGetCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsGetCall {
26305	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26306	return c
26307}
26308
26309// IfNoneMatch sets the optional parameter which makes the operation
26310// fail if the object's ETag matches the given value. This is useful for
26311// getting updates only after the object has changed since the last
26312// request. Use googleapi.IsNotModified to check whether the response
26313// error from Do is the result of In-None-Match.
26314func (c *CustomBiddingAlgorithmsGetCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsGetCall {
26315	c.ifNoneMatch_ = entityTag
26316	return c
26317}
26318
26319// Context sets the context to be used in this call's Do method. Any
26320// pending HTTP request will be aborted if the provided context is
26321// canceled.
26322func (c *CustomBiddingAlgorithmsGetCall) Context(ctx context.Context) *CustomBiddingAlgorithmsGetCall {
26323	c.ctx_ = ctx
26324	return c
26325}
26326
26327// Header returns an http.Header that can be modified by the caller to
26328// add HTTP headers to the request.
26329func (c *CustomBiddingAlgorithmsGetCall) Header() http.Header {
26330	if c.header_ == nil {
26331		c.header_ = make(http.Header)
26332	}
26333	return c.header_
26334}
26335
26336func (c *CustomBiddingAlgorithmsGetCall) doRequest(alt string) (*http.Response, error) {
26337	reqHeaders := make(http.Header)
26338	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26339	for k, v := range c.header_ {
26340		reqHeaders[k] = v
26341	}
26342	reqHeaders.Set("User-Agent", c.s.userAgent())
26343	if c.ifNoneMatch_ != "" {
26344		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26345	}
26346	var body io.Reader = nil
26347	c.urlParams_.Set("alt", alt)
26348	c.urlParams_.Set("prettyPrint", "false")
26349	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}")
26350	urls += "?" + c.urlParams_.Encode()
26351	req, err := http.NewRequest("GET", urls, body)
26352	if err != nil {
26353		return nil, err
26354	}
26355	req.Header = reqHeaders
26356	googleapi.Expand(req.URL, map[string]string{
26357		"customBiddingAlgorithmId": strconv.FormatInt(c.customBiddingAlgorithmId, 10),
26358	})
26359	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26360}
26361
26362// Do executes the "displayvideo.customBiddingAlgorithms.get" call.
26363// Exactly one of *CustomBiddingAlgorithm or error will be non-nil. Any
26364// non-2xx status code is an error. Response headers are in either
26365// *CustomBiddingAlgorithm.ServerResponse.Header or (if a response was
26366// returned at all) in error.(*googleapi.Error).Header. Use
26367// googleapi.IsNotModified to check whether the returned error was
26368// because http.StatusNotModified was returned.
26369func (c *CustomBiddingAlgorithmsGetCall) Do(opts ...googleapi.CallOption) (*CustomBiddingAlgorithm, error) {
26370	gensupport.SetOptions(c.urlParams_, opts...)
26371	res, err := c.doRequest("json")
26372	if res != nil && res.StatusCode == http.StatusNotModified {
26373		if res.Body != nil {
26374			res.Body.Close()
26375		}
26376		return nil, &googleapi.Error{
26377			Code:   res.StatusCode,
26378			Header: res.Header,
26379		}
26380	}
26381	if err != nil {
26382		return nil, err
26383	}
26384	defer googleapi.CloseBody(res)
26385	if err := googleapi.CheckResponse(res); err != nil {
26386		return nil, err
26387	}
26388	ret := &CustomBiddingAlgorithm{
26389		ServerResponse: googleapi.ServerResponse{
26390			Header:         res.Header,
26391			HTTPStatusCode: res.StatusCode,
26392		},
26393	}
26394	target := &ret
26395	if err := gensupport.DecodeResponse(target, res); err != nil {
26396		return nil, err
26397	}
26398	return ret, nil
26399	// {
26400	//   "description": "Gets a custom bidding algorithm.",
26401	//   "flatPath": "v1/customBiddingAlgorithms/{customBiddingAlgorithmsId}",
26402	//   "httpMethod": "GET",
26403	//   "id": "displayvideo.customBiddingAlgorithms.get",
26404	//   "parameterOrder": [
26405	//     "customBiddingAlgorithmId"
26406	//   ],
26407	//   "parameters": {
26408	//     "advertiserId": {
26409	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
26410	//       "format": "int64",
26411	//       "location": "query",
26412	//       "type": "string"
26413	//     },
26414	//     "customBiddingAlgorithmId": {
26415	//       "description": "Required. The ID of the custom bidding algorithm to fetch.",
26416	//       "format": "int64",
26417	//       "location": "path",
26418	//       "pattern": "^[^/]+$",
26419	//       "required": true,
26420	//       "type": "string"
26421	//     },
26422	//     "partnerId": {
26423	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
26424	//       "format": "int64",
26425	//       "location": "query",
26426	//       "type": "string"
26427	//     }
26428	//   },
26429	//   "path": "v1/customBiddingAlgorithms/{+customBiddingAlgorithmId}",
26430	//   "response": {
26431	//     "$ref": "CustomBiddingAlgorithm"
26432	//   },
26433	//   "scopes": [
26434	//     "https://www.googleapis.com/auth/display-video"
26435	//   ]
26436	// }
26437
26438}
26439
26440// method id "displayvideo.customBiddingAlgorithms.list":
26441
26442type CustomBiddingAlgorithmsListCall struct {
26443	s            *Service
26444	urlParams_   gensupport.URLParams
26445	ifNoneMatch_ string
26446	ctx_         context.Context
26447	header_      http.Header
26448}
26449
26450// List: Lists custom bidding algorithms that are accessible to the
26451// current user and can be used in bidding stratgies. The order is
26452// defined by the order_by parameter.
26453func (r *CustomBiddingAlgorithmsService) List() *CustomBiddingAlgorithmsListCall {
26454	c := &CustomBiddingAlgorithmsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26455	return c
26456}
26457
26458// AdvertiserId sets the optional parameter "advertiserId": The ID of
26459// the DV360 advertiser that has access to the custom bidding algorithm.
26460func (c *CustomBiddingAlgorithmsListCall) AdvertiserId(advertiserId int64) *CustomBiddingAlgorithmsListCall {
26461	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
26462	return c
26463}
26464
26465// Filter sets the optional parameter "filter": Allows filtering by
26466// custom bidding algorithm fields. Supported syntax: * Filter
26467// expressions are made up of one or more restrictions. * Restrictions
26468// can be combined by `AND`. A sequence of restrictions * implicitly
26469// uses `AND`. * A restriction has the form of `{field} {operator}
26470// {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. *
26471// The operator must be `CONTAINS (:)` for the following field: -
26472// `displayName` * The operator must be `EQUALS (=)` for the following
26473// field: - `customBiddingAlgorithmType` * For `displayName`, the value
26474// is a string. We return all custom bidding algorithms whose
26475// display_name contains such string. * For
26476// `customBiddingAlgorithmType`, the value is a string. We return all
26477// algorithms whose custom_bidding_algorithm_type is equal to the given
26478// type. Examples: * All custom bidding algorithms for which the display
26479// name contains "politics": `displayName:politics`. * All custom
26480// bidding algorithms for which the type is "SCRIPT_BASED":
26481// `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field
26482// should be no more than 500 characters.
26483func (c *CustomBiddingAlgorithmsListCall) Filter(filter string) *CustomBiddingAlgorithmsListCall {
26484	c.urlParams_.Set("filter", filter)
26485	return c
26486}
26487
26488// OrderBy sets the optional parameter "orderBy": Field by which to sort
26489// the list. Acceptable values are: * `displayName` (default) The
26490// default sorting order is ascending. To specify descending order for a
26491// field, a suffix "desc" should be added to the field name. Example:
26492// `displayName desc`.
26493func (c *CustomBiddingAlgorithmsListCall) OrderBy(orderBy string) *CustomBiddingAlgorithmsListCall {
26494	c.urlParams_.Set("orderBy", orderBy)
26495	return c
26496}
26497
26498// PageSize sets the optional parameter "pageSize": Requested page size.
26499// Must be between `1` and `100`. If unspecified will default to `100`.
26500// Returns error code `INVALID_ARGUMENT` if an invalid value is
26501// specified.
26502func (c *CustomBiddingAlgorithmsListCall) PageSize(pageSize int64) *CustomBiddingAlgorithmsListCall {
26503	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26504	return c
26505}
26506
26507// PageToken sets the optional parameter "pageToken": A token
26508// identifying a page of results the server should return. Typically,
26509// this is the value of next_page_token returned from the previous call
26510// to `ListCustomBiddingAlgorithms` method. If not specified, the first
26511// page of results will be returned.
26512func (c *CustomBiddingAlgorithmsListCall) PageToken(pageToken string) *CustomBiddingAlgorithmsListCall {
26513	c.urlParams_.Set("pageToken", pageToken)
26514	return c
26515}
26516
26517// PartnerId sets the optional parameter "partnerId": The ID of the
26518// DV360 partner that has access to the custom bidding algorithm.
26519func (c *CustomBiddingAlgorithmsListCall) PartnerId(partnerId int64) *CustomBiddingAlgorithmsListCall {
26520	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
26521	return c
26522}
26523
26524// Fields allows partial responses to be retrieved. See
26525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26526// for more information.
26527func (c *CustomBiddingAlgorithmsListCall) Fields(s ...googleapi.Field) *CustomBiddingAlgorithmsListCall {
26528	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26529	return c
26530}
26531
26532// IfNoneMatch sets the optional parameter which makes the operation
26533// fail if the object's ETag matches the given value. This is useful for
26534// getting updates only after the object has changed since the last
26535// request. Use googleapi.IsNotModified to check whether the response
26536// error from Do is the result of In-None-Match.
26537func (c *CustomBiddingAlgorithmsListCall) IfNoneMatch(entityTag string) *CustomBiddingAlgorithmsListCall {
26538	c.ifNoneMatch_ = entityTag
26539	return c
26540}
26541
26542// Context sets the context to be used in this call's Do method. Any
26543// pending HTTP request will be aborted if the provided context is
26544// canceled.
26545func (c *CustomBiddingAlgorithmsListCall) Context(ctx context.Context) *CustomBiddingAlgorithmsListCall {
26546	c.ctx_ = ctx
26547	return c
26548}
26549
26550// Header returns an http.Header that can be modified by the caller to
26551// add HTTP headers to the request.
26552func (c *CustomBiddingAlgorithmsListCall) Header() http.Header {
26553	if c.header_ == nil {
26554		c.header_ = make(http.Header)
26555	}
26556	return c.header_
26557}
26558
26559func (c *CustomBiddingAlgorithmsListCall) doRequest(alt string) (*http.Response, error) {
26560	reqHeaders := make(http.Header)
26561	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26562	for k, v := range c.header_ {
26563		reqHeaders[k] = v
26564	}
26565	reqHeaders.Set("User-Agent", c.s.userAgent())
26566	if c.ifNoneMatch_ != "" {
26567		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26568	}
26569	var body io.Reader = nil
26570	c.urlParams_.Set("alt", alt)
26571	c.urlParams_.Set("prettyPrint", "false")
26572	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customBiddingAlgorithms")
26573	urls += "?" + c.urlParams_.Encode()
26574	req, err := http.NewRequest("GET", urls, body)
26575	if err != nil {
26576		return nil, err
26577	}
26578	req.Header = reqHeaders
26579	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26580}
26581
26582// Do executes the "displayvideo.customBiddingAlgorithms.list" call.
26583// Exactly one of *ListCustomBiddingAlgorithmsResponse or error will be
26584// non-nil. Any non-2xx status code is an error. Response headers are in
26585// either *ListCustomBiddingAlgorithmsResponse.ServerResponse.Header or
26586// (if a response was returned at all) in
26587// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
26588// whether the returned error was because http.StatusNotModified was
26589// returned.
26590func (c *CustomBiddingAlgorithmsListCall) Do(opts ...googleapi.CallOption) (*ListCustomBiddingAlgorithmsResponse, error) {
26591	gensupport.SetOptions(c.urlParams_, opts...)
26592	res, err := c.doRequest("json")
26593	if res != nil && res.StatusCode == http.StatusNotModified {
26594		if res.Body != nil {
26595			res.Body.Close()
26596		}
26597		return nil, &googleapi.Error{
26598			Code:   res.StatusCode,
26599			Header: res.Header,
26600		}
26601	}
26602	if err != nil {
26603		return nil, err
26604	}
26605	defer googleapi.CloseBody(res)
26606	if err := googleapi.CheckResponse(res); err != nil {
26607		return nil, err
26608	}
26609	ret := &ListCustomBiddingAlgorithmsResponse{
26610		ServerResponse: googleapi.ServerResponse{
26611			Header:         res.Header,
26612			HTTPStatusCode: res.StatusCode,
26613		},
26614	}
26615	target := &ret
26616	if err := gensupport.DecodeResponse(target, res); err != nil {
26617		return nil, err
26618	}
26619	return ret, nil
26620	// {
26621	//   "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.",
26622	//   "flatPath": "v1/customBiddingAlgorithms",
26623	//   "httpMethod": "GET",
26624	//   "id": "displayvideo.customBiddingAlgorithms.list",
26625	//   "parameterOrder": [],
26626	//   "parameters": {
26627	//     "advertiserId": {
26628	//       "description": "The ID of the DV360 advertiser that has access to the custom bidding algorithm.",
26629	//       "format": "int64",
26630	//       "location": "query",
26631	//       "type": "string"
26632	//     },
26633	//     "filter": {
26634	//       "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:politics`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters.",
26635	//       "location": "query",
26636	//       "type": "string"
26637	//     },
26638	//     "orderBy": {
26639	//       "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`.",
26640	//       "location": "query",
26641	//       "type": "string"
26642	//     },
26643	//     "pageSize": {
26644	//       "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.",
26645	//       "format": "int32",
26646	//       "location": "query",
26647	//       "type": "integer"
26648	//     },
26649	//     "pageToken": {
26650	//       "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.",
26651	//       "location": "query",
26652	//       "type": "string"
26653	//     },
26654	//     "partnerId": {
26655	//       "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.",
26656	//       "format": "int64",
26657	//       "location": "query",
26658	//       "type": "string"
26659	//     }
26660	//   },
26661	//   "path": "v1/customBiddingAlgorithms",
26662	//   "response": {
26663	//     "$ref": "ListCustomBiddingAlgorithmsResponse"
26664	//   },
26665	//   "scopes": [
26666	//     "https://www.googleapis.com/auth/display-video"
26667	//   ]
26668	// }
26669
26670}
26671
26672// Pages invokes f for each page of results.
26673// A non-nil error returned from f will halt the iteration.
26674// The provided context supersedes any context provided to the Context method.
26675func (c *CustomBiddingAlgorithmsListCall) Pages(ctx context.Context, f func(*ListCustomBiddingAlgorithmsResponse) error) error {
26676	c.ctx_ = ctx
26677	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26678	for {
26679		x, err := c.Do()
26680		if err != nil {
26681			return err
26682		}
26683		if err := f(x); err != nil {
26684			return err
26685		}
26686		if x.NextPageToken == "" {
26687			return nil
26688		}
26689		c.PageToken(x.NextPageToken)
26690	}
26691}
26692
26693// method id "displayvideo.customLists.get":
26694
26695type CustomListsGetCall struct {
26696	s            *Service
26697	customListId int64
26698	urlParams_   gensupport.URLParams
26699	ifNoneMatch_ string
26700	ctx_         context.Context
26701	header_      http.Header
26702}
26703
26704// Get: Gets a custom list.
26705func (r *CustomListsService) Get(customListId int64) *CustomListsGetCall {
26706	c := &CustomListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26707	c.customListId = customListId
26708	return c
26709}
26710
26711// AdvertiserId sets the optional parameter "advertiserId": The ID of
26712// the DV360 advertiser that has access to the fetched custom lists.
26713func (c *CustomListsGetCall) AdvertiserId(advertiserId int64) *CustomListsGetCall {
26714	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
26715	return c
26716}
26717
26718// Fields allows partial responses to be retrieved. See
26719// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26720// for more information.
26721func (c *CustomListsGetCall) Fields(s ...googleapi.Field) *CustomListsGetCall {
26722	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26723	return c
26724}
26725
26726// IfNoneMatch sets the optional parameter which makes the operation
26727// fail if the object's ETag matches the given value. This is useful for
26728// getting updates only after the object has changed since the last
26729// request. Use googleapi.IsNotModified to check whether the response
26730// error from Do is the result of In-None-Match.
26731func (c *CustomListsGetCall) IfNoneMatch(entityTag string) *CustomListsGetCall {
26732	c.ifNoneMatch_ = entityTag
26733	return c
26734}
26735
26736// Context sets the context to be used in this call's Do method. Any
26737// pending HTTP request will be aborted if the provided context is
26738// canceled.
26739func (c *CustomListsGetCall) Context(ctx context.Context) *CustomListsGetCall {
26740	c.ctx_ = ctx
26741	return c
26742}
26743
26744// Header returns an http.Header that can be modified by the caller to
26745// add HTTP headers to the request.
26746func (c *CustomListsGetCall) Header() http.Header {
26747	if c.header_ == nil {
26748		c.header_ = make(http.Header)
26749	}
26750	return c.header_
26751}
26752
26753func (c *CustomListsGetCall) doRequest(alt string) (*http.Response, error) {
26754	reqHeaders := make(http.Header)
26755	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26756	for k, v := range c.header_ {
26757		reqHeaders[k] = v
26758	}
26759	reqHeaders.Set("User-Agent", c.s.userAgent())
26760	if c.ifNoneMatch_ != "" {
26761		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26762	}
26763	var body io.Reader = nil
26764	c.urlParams_.Set("alt", alt)
26765	c.urlParams_.Set("prettyPrint", "false")
26766	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customLists/{+customListId}")
26767	urls += "?" + c.urlParams_.Encode()
26768	req, err := http.NewRequest("GET", urls, body)
26769	if err != nil {
26770		return nil, err
26771	}
26772	req.Header = reqHeaders
26773	googleapi.Expand(req.URL, map[string]string{
26774		"customListId": strconv.FormatInt(c.customListId, 10),
26775	})
26776	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26777}
26778
26779// Do executes the "displayvideo.customLists.get" call.
26780// Exactly one of *CustomList or error will be non-nil. Any non-2xx
26781// status code is an error. Response headers are in either
26782// *CustomList.ServerResponse.Header or (if a response was returned at
26783// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
26784// to check whether the returned error was because
26785// http.StatusNotModified was returned.
26786func (c *CustomListsGetCall) Do(opts ...googleapi.CallOption) (*CustomList, error) {
26787	gensupport.SetOptions(c.urlParams_, opts...)
26788	res, err := c.doRequest("json")
26789	if res != nil && res.StatusCode == http.StatusNotModified {
26790		if res.Body != nil {
26791			res.Body.Close()
26792		}
26793		return nil, &googleapi.Error{
26794			Code:   res.StatusCode,
26795			Header: res.Header,
26796		}
26797	}
26798	if err != nil {
26799		return nil, err
26800	}
26801	defer googleapi.CloseBody(res)
26802	if err := googleapi.CheckResponse(res); err != nil {
26803		return nil, err
26804	}
26805	ret := &CustomList{
26806		ServerResponse: googleapi.ServerResponse{
26807			Header:         res.Header,
26808			HTTPStatusCode: res.StatusCode,
26809		},
26810	}
26811	target := &ret
26812	if err := gensupport.DecodeResponse(target, res); err != nil {
26813		return nil, err
26814	}
26815	return ret, nil
26816	// {
26817	//   "description": "Gets a custom list.",
26818	//   "flatPath": "v1/customLists/{customListsId}",
26819	//   "httpMethod": "GET",
26820	//   "id": "displayvideo.customLists.get",
26821	//   "parameterOrder": [
26822	//     "customListId"
26823	//   ],
26824	//   "parameters": {
26825	//     "advertiserId": {
26826	//       "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.",
26827	//       "format": "int64",
26828	//       "location": "query",
26829	//       "type": "string"
26830	//     },
26831	//     "customListId": {
26832	//       "description": "Required. The ID of the custom list to fetch.",
26833	//       "format": "int64",
26834	//       "location": "path",
26835	//       "pattern": "^[^/]+$",
26836	//       "required": true,
26837	//       "type": "string"
26838	//     }
26839	//   },
26840	//   "path": "v1/customLists/{+customListId}",
26841	//   "response": {
26842	//     "$ref": "CustomList"
26843	//   },
26844	//   "scopes": [
26845	//     "https://www.googleapis.com/auth/display-video"
26846	//   ]
26847	// }
26848
26849}
26850
26851// method id "displayvideo.customLists.list":
26852
26853type CustomListsListCall struct {
26854	s            *Service
26855	urlParams_   gensupport.URLParams
26856	ifNoneMatch_ string
26857	ctx_         context.Context
26858	header_      http.Header
26859}
26860
26861// List: Lists custom lists. The order is defined by the order_by
26862// parameter.
26863func (r *CustomListsService) List() *CustomListsListCall {
26864	c := &CustomListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26865	return c
26866}
26867
26868// AdvertiserId sets the optional parameter "advertiserId": The ID of
26869// the DV360 advertiser that has access to the fetched custom lists.
26870func (c *CustomListsListCall) AdvertiserId(advertiserId int64) *CustomListsListCall {
26871	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
26872	return c
26873}
26874
26875// Filter sets the optional parameter "filter": Allows filtering by
26876// custom list fields. Supported syntax: * Filter expressions for custom
26877// lists currently can only contain at most one restriction. * A
26878// restriction has the form of `{field} {operator} {value}`. * The
26879// operator must be `CONTAINS (:)`. * Supported fields: - `displayName`
26880// Examples: * All custom lists for which the display name contains
26881// "Google": `displayName : "Google". The length of this field should
26882// be no more than 500 characters.
26883func (c *CustomListsListCall) Filter(filter string) *CustomListsListCall {
26884	c.urlParams_.Set("filter", filter)
26885	return c
26886}
26887
26888// OrderBy sets the optional parameter "orderBy": Field by which to sort
26889// the list. Acceptable values are: * `customListId` (default) *
26890// `displayName` The default sorting order is ascending. To specify
26891// descending order for a field, a suffix "desc" should be added to the
26892// field name. Example: `displayName desc`.
26893func (c *CustomListsListCall) OrderBy(orderBy string) *CustomListsListCall {
26894	c.urlParams_.Set("orderBy", orderBy)
26895	return c
26896}
26897
26898// PageSize sets the optional parameter "pageSize": Requested page size.
26899// Must be between `1` and `100`. If unspecified will default to `100`.
26900// Returns error code `INVALID_ARGUMENT` if an invalid value is
26901// specified.
26902func (c *CustomListsListCall) PageSize(pageSize int64) *CustomListsListCall {
26903	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
26904	return c
26905}
26906
26907// PageToken sets the optional parameter "pageToken": A token
26908// identifying a page of results the server should return. Typically,
26909// this is the value of next_page_token returned from the previous call
26910// to `ListCustomLists` method. If not specified, the first page of
26911// results will be returned.
26912func (c *CustomListsListCall) PageToken(pageToken string) *CustomListsListCall {
26913	c.urlParams_.Set("pageToken", pageToken)
26914	return c
26915}
26916
26917// Fields allows partial responses to be retrieved. See
26918// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26919// for more information.
26920func (c *CustomListsListCall) Fields(s ...googleapi.Field) *CustomListsListCall {
26921	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26922	return c
26923}
26924
26925// IfNoneMatch sets the optional parameter which makes the operation
26926// fail if the object's ETag matches the given value. This is useful for
26927// getting updates only after the object has changed since the last
26928// request. Use googleapi.IsNotModified to check whether the response
26929// error from Do is the result of In-None-Match.
26930func (c *CustomListsListCall) IfNoneMatch(entityTag string) *CustomListsListCall {
26931	c.ifNoneMatch_ = entityTag
26932	return c
26933}
26934
26935// Context sets the context to be used in this call's Do method. Any
26936// pending HTTP request will be aborted if the provided context is
26937// canceled.
26938func (c *CustomListsListCall) Context(ctx context.Context) *CustomListsListCall {
26939	c.ctx_ = ctx
26940	return c
26941}
26942
26943// Header returns an http.Header that can be modified by the caller to
26944// add HTTP headers to the request.
26945func (c *CustomListsListCall) Header() http.Header {
26946	if c.header_ == nil {
26947		c.header_ = make(http.Header)
26948	}
26949	return c.header_
26950}
26951
26952func (c *CustomListsListCall) doRequest(alt string) (*http.Response, error) {
26953	reqHeaders := make(http.Header)
26954	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26955	for k, v := range c.header_ {
26956		reqHeaders[k] = v
26957	}
26958	reqHeaders.Set("User-Agent", c.s.userAgent())
26959	if c.ifNoneMatch_ != "" {
26960		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26961	}
26962	var body io.Reader = nil
26963	c.urlParams_.Set("alt", alt)
26964	c.urlParams_.Set("prettyPrint", "false")
26965	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/customLists")
26966	urls += "?" + c.urlParams_.Encode()
26967	req, err := http.NewRequest("GET", urls, body)
26968	if err != nil {
26969		return nil, err
26970	}
26971	req.Header = reqHeaders
26972	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26973}
26974
26975// Do executes the "displayvideo.customLists.list" call.
26976// Exactly one of *ListCustomListsResponse or error will be non-nil. Any
26977// non-2xx status code is an error. Response headers are in either
26978// *ListCustomListsResponse.ServerResponse.Header or (if a response was
26979// returned at all) in error.(*googleapi.Error).Header. Use
26980// googleapi.IsNotModified to check whether the returned error was
26981// because http.StatusNotModified was returned.
26982func (c *CustomListsListCall) Do(opts ...googleapi.CallOption) (*ListCustomListsResponse, error) {
26983	gensupport.SetOptions(c.urlParams_, opts...)
26984	res, err := c.doRequest("json")
26985	if res != nil && res.StatusCode == http.StatusNotModified {
26986		if res.Body != nil {
26987			res.Body.Close()
26988		}
26989		return nil, &googleapi.Error{
26990			Code:   res.StatusCode,
26991			Header: res.Header,
26992		}
26993	}
26994	if err != nil {
26995		return nil, err
26996	}
26997	defer googleapi.CloseBody(res)
26998	if err := googleapi.CheckResponse(res); err != nil {
26999		return nil, err
27000	}
27001	ret := &ListCustomListsResponse{
27002		ServerResponse: googleapi.ServerResponse{
27003			Header:         res.Header,
27004			HTTPStatusCode: res.StatusCode,
27005		},
27006	}
27007	target := &ret
27008	if err := gensupport.DecodeResponse(target, res); err != nil {
27009		return nil, err
27010	}
27011	return ret, nil
27012	// {
27013	//   "description": "Lists custom lists. The order is defined by the order_by parameter.",
27014	//   "flatPath": "v1/customLists",
27015	//   "httpMethod": "GET",
27016	//   "id": "displayvideo.customLists.list",
27017	//   "parameterOrder": [],
27018	//   "parameters": {
27019	//     "advertiserId": {
27020	//       "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.",
27021	//       "format": "int64",
27022	//       "location": "query",
27023	//       "type": "string"
27024	//     },
27025	//     "filter": {
27026	//       "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.",
27027	//       "location": "query",
27028	//       "type": "string"
27029	//     },
27030	//     "orderBy": {
27031	//       "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`.",
27032	//       "location": "query",
27033	//       "type": "string"
27034	//     },
27035	//     "pageSize": {
27036	//       "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.",
27037	//       "format": "int32",
27038	//       "location": "query",
27039	//       "type": "integer"
27040	//     },
27041	//     "pageToken": {
27042	//       "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.",
27043	//       "location": "query",
27044	//       "type": "string"
27045	//     }
27046	//   },
27047	//   "path": "v1/customLists",
27048	//   "response": {
27049	//     "$ref": "ListCustomListsResponse"
27050	//   },
27051	//   "scopes": [
27052	//     "https://www.googleapis.com/auth/display-video"
27053	//   ]
27054	// }
27055
27056}
27057
27058// Pages invokes f for each page of results.
27059// A non-nil error returned from f will halt the iteration.
27060// The provided context supersedes any context provided to the Context method.
27061func (c *CustomListsListCall) Pages(ctx context.Context, f func(*ListCustomListsResponse) error) error {
27062	c.ctx_ = ctx
27063	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27064	for {
27065		x, err := c.Do()
27066		if err != nil {
27067			return err
27068		}
27069		if err := f(x); err != nil {
27070			return err
27071		}
27072		if x.NextPageToken == "" {
27073			return nil
27074		}
27075		c.PageToken(x.NextPageToken)
27076	}
27077}
27078
27079// method id "displayvideo.firstAndThirdPartyAudiences.get":
27080
27081type FirstAndThirdPartyAudiencesGetCall struct {
27082	s                            *Service
27083	firstAndThirdPartyAudienceId int64
27084	urlParams_                   gensupport.URLParams
27085	ifNoneMatch_                 string
27086	ctx_                         context.Context
27087	header_                      http.Header
27088}
27089
27090// Get: Gets a first and third party audience.
27091func (r *FirstAndThirdPartyAudiencesService) Get(firstAndThirdPartyAudienceId int64) *FirstAndThirdPartyAudiencesGetCall {
27092	c := &FirstAndThirdPartyAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27093	c.firstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId
27094	return c
27095}
27096
27097// AdvertiserId sets the optional parameter "advertiserId": The ID of
27098// the advertiser that has access to the fetched first and third party
27099// audience.
27100func (c *FirstAndThirdPartyAudiencesGetCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesGetCall {
27101	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
27102	return c
27103}
27104
27105// PartnerId sets the optional parameter "partnerId": The ID of the
27106// partner that has access to the fetched first and third party
27107// audience.
27108func (c *FirstAndThirdPartyAudiencesGetCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesGetCall {
27109	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
27110	return c
27111}
27112
27113// Fields allows partial responses to be retrieved. See
27114// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27115// for more information.
27116func (c *FirstAndThirdPartyAudiencesGetCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesGetCall {
27117	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27118	return c
27119}
27120
27121// IfNoneMatch sets the optional parameter which makes the operation
27122// fail if the object's ETag matches the given value. This is useful for
27123// getting updates only after the object has changed since the last
27124// request. Use googleapi.IsNotModified to check whether the response
27125// error from Do is the result of In-None-Match.
27126func (c *FirstAndThirdPartyAudiencesGetCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesGetCall {
27127	c.ifNoneMatch_ = entityTag
27128	return c
27129}
27130
27131// Context sets the context to be used in this call's Do method. Any
27132// pending HTTP request will be aborted if the provided context is
27133// canceled.
27134func (c *FirstAndThirdPartyAudiencesGetCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesGetCall {
27135	c.ctx_ = ctx
27136	return c
27137}
27138
27139// Header returns an http.Header that can be modified by the caller to
27140// add HTTP headers to the request.
27141func (c *FirstAndThirdPartyAudiencesGetCall) Header() http.Header {
27142	if c.header_ == nil {
27143		c.header_ = make(http.Header)
27144	}
27145	return c.header_
27146}
27147
27148func (c *FirstAndThirdPartyAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
27149	reqHeaders := make(http.Header)
27150	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27151	for k, v := range c.header_ {
27152		reqHeaders[k] = v
27153	}
27154	reqHeaders.Set("User-Agent", c.s.userAgent())
27155	if c.ifNoneMatch_ != "" {
27156		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27157	}
27158	var body io.Reader = nil
27159	c.urlParams_.Set("alt", alt)
27160	c.urlParams_.Set("prettyPrint", "false")
27161	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}")
27162	urls += "?" + c.urlParams_.Encode()
27163	req, err := http.NewRequest("GET", urls, body)
27164	if err != nil {
27165		return nil, err
27166	}
27167	req.Header = reqHeaders
27168	googleapi.Expand(req.URL, map[string]string{
27169		"firstAndThirdPartyAudienceId": strconv.FormatInt(c.firstAndThirdPartyAudienceId, 10),
27170	})
27171	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27172}
27173
27174// Do executes the "displayvideo.firstAndThirdPartyAudiences.get" call.
27175// Exactly one of *FirstAndThirdPartyAudience or error will be non-nil.
27176// Any non-2xx status code is an error. Response headers are in either
27177// *FirstAndThirdPartyAudience.ServerResponse.Header or (if a response
27178// was returned at all) in error.(*googleapi.Error).Header. Use
27179// googleapi.IsNotModified to check whether the returned error was
27180// because http.StatusNotModified was returned.
27181func (c *FirstAndThirdPartyAudiencesGetCall) Do(opts ...googleapi.CallOption) (*FirstAndThirdPartyAudience, error) {
27182	gensupport.SetOptions(c.urlParams_, opts...)
27183	res, err := c.doRequest("json")
27184	if res != nil && res.StatusCode == http.StatusNotModified {
27185		if res.Body != nil {
27186			res.Body.Close()
27187		}
27188		return nil, &googleapi.Error{
27189			Code:   res.StatusCode,
27190			Header: res.Header,
27191		}
27192	}
27193	if err != nil {
27194		return nil, err
27195	}
27196	defer googleapi.CloseBody(res)
27197	if err := googleapi.CheckResponse(res); err != nil {
27198		return nil, err
27199	}
27200	ret := &FirstAndThirdPartyAudience{
27201		ServerResponse: googleapi.ServerResponse{
27202			Header:         res.Header,
27203			HTTPStatusCode: res.StatusCode,
27204		},
27205	}
27206	target := &ret
27207	if err := gensupport.DecodeResponse(target, res); err != nil {
27208		return nil, err
27209	}
27210	return ret, nil
27211	// {
27212	//   "description": "Gets a first and third party audience.",
27213	//   "flatPath": "v1/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}",
27214	//   "httpMethod": "GET",
27215	//   "id": "displayvideo.firstAndThirdPartyAudiences.get",
27216	//   "parameterOrder": [
27217	//     "firstAndThirdPartyAudienceId"
27218	//   ],
27219	//   "parameters": {
27220	//     "advertiserId": {
27221	//       "description": "The ID of the advertiser that has access to the fetched first and third party audience.",
27222	//       "format": "int64",
27223	//       "location": "query",
27224	//       "type": "string"
27225	//     },
27226	//     "firstAndThirdPartyAudienceId": {
27227	//       "description": "Required. The ID of the first and third party audience to fetch.",
27228	//       "format": "int64",
27229	//       "location": "path",
27230	//       "pattern": "^[^/]+$",
27231	//       "required": true,
27232	//       "type": "string"
27233	//     },
27234	//     "partnerId": {
27235	//       "description": "The ID of the partner that has access to the fetched first and third party audience.",
27236	//       "format": "int64",
27237	//       "location": "query",
27238	//       "type": "string"
27239	//     }
27240	//   },
27241	//   "path": "v1/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}",
27242	//   "response": {
27243	//     "$ref": "FirstAndThirdPartyAudience"
27244	//   },
27245	//   "scopes": [
27246	//     "https://www.googleapis.com/auth/display-video"
27247	//   ]
27248	// }
27249
27250}
27251
27252// method id "displayvideo.firstAndThirdPartyAudiences.list":
27253
27254type FirstAndThirdPartyAudiencesListCall struct {
27255	s            *Service
27256	urlParams_   gensupport.URLParams
27257	ifNoneMatch_ string
27258	ctx_         context.Context
27259	header_      http.Header
27260}
27261
27262// List: Lists first and third party audiences. The order is defined by
27263// the order_by parameter.
27264func (r *FirstAndThirdPartyAudiencesService) List() *FirstAndThirdPartyAudiencesListCall {
27265	c := &FirstAndThirdPartyAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27266	return c
27267}
27268
27269// AdvertiserId sets the optional parameter "advertiserId": The ID of
27270// the advertiser that has access to the fetched first and third party
27271// audiences.
27272func (c *FirstAndThirdPartyAudiencesListCall) AdvertiserId(advertiserId int64) *FirstAndThirdPartyAudiencesListCall {
27273	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
27274	return c
27275}
27276
27277// Filter sets the optional parameter "filter": Allows filtering by
27278// first and third party audience fields. Supported syntax: * Filter
27279// expressions for first and third party audiences currently can only
27280// contain at most one restriction. * A restriction has the form of
27281// `{field} {operator} {value}`. * The operator must be `CONTAINS (:)`.
27282// * Supported fields: - `displayName` Examples: * All first and third
27283// party audiences for which the display name contains "Google":
27284// `displayName : "Google". The length of this field should be no more
27285// than 500 characters.
27286func (c *FirstAndThirdPartyAudiencesListCall) Filter(filter string) *FirstAndThirdPartyAudiencesListCall {
27287	c.urlParams_.Set("filter", filter)
27288	return c
27289}
27290
27291// OrderBy sets the optional parameter "orderBy": Field by which to sort
27292// the list. Acceptable values are: * `firstAndThirdPartyAudienceId`
27293// (default) * `displayName` The default sorting order is ascending. To
27294// specify descending order for a field, a suffix "desc" should be added
27295// to the field name. Example: `displayName desc`.
27296func (c *FirstAndThirdPartyAudiencesListCall) OrderBy(orderBy string) *FirstAndThirdPartyAudiencesListCall {
27297	c.urlParams_.Set("orderBy", orderBy)
27298	return c
27299}
27300
27301// PageSize sets the optional parameter "pageSize": Requested page size.
27302// Must be between `1` and `100`. If unspecified will default to `100`.
27303// Returns error code `INVALID_ARGUMENT` if an invalid value is
27304// specified.
27305func (c *FirstAndThirdPartyAudiencesListCall) PageSize(pageSize int64) *FirstAndThirdPartyAudiencesListCall {
27306	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
27307	return c
27308}
27309
27310// PageToken sets the optional parameter "pageToken": A token
27311// identifying a page of results the server should return. Typically,
27312// this is the value of next_page_token returned from the previous call
27313// to `ListFirstAndThirdPartyAudiences` method. If not specified, the
27314// first page of results will be returned.
27315func (c *FirstAndThirdPartyAudiencesListCall) PageToken(pageToken string) *FirstAndThirdPartyAudiencesListCall {
27316	c.urlParams_.Set("pageToken", pageToken)
27317	return c
27318}
27319
27320// PartnerId sets the optional parameter "partnerId": The ID of the
27321// partner that has access to the fetched first and third party
27322// audiences.
27323func (c *FirstAndThirdPartyAudiencesListCall) PartnerId(partnerId int64) *FirstAndThirdPartyAudiencesListCall {
27324	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
27325	return c
27326}
27327
27328// Fields allows partial responses to be retrieved. See
27329// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27330// for more information.
27331func (c *FirstAndThirdPartyAudiencesListCall) Fields(s ...googleapi.Field) *FirstAndThirdPartyAudiencesListCall {
27332	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27333	return c
27334}
27335
27336// IfNoneMatch sets the optional parameter which makes the operation
27337// fail if the object's ETag matches the given value. This is useful for
27338// getting updates only after the object has changed since the last
27339// request. Use googleapi.IsNotModified to check whether the response
27340// error from Do is the result of In-None-Match.
27341func (c *FirstAndThirdPartyAudiencesListCall) IfNoneMatch(entityTag string) *FirstAndThirdPartyAudiencesListCall {
27342	c.ifNoneMatch_ = entityTag
27343	return c
27344}
27345
27346// Context sets the context to be used in this call's Do method. Any
27347// pending HTTP request will be aborted if the provided context is
27348// canceled.
27349func (c *FirstAndThirdPartyAudiencesListCall) Context(ctx context.Context) *FirstAndThirdPartyAudiencesListCall {
27350	c.ctx_ = ctx
27351	return c
27352}
27353
27354// Header returns an http.Header that can be modified by the caller to
27355// add HTTP headers to the request.
27356func (c *FirstAndThirdPartyAudiencesListCall) Header() http.Header {
27357	if c.header_ == nil {
27358		c.header_ = make(http.Header)
27359	}
27360	return c.header_
27361}
27362
27363func (c *FirstAndThirdPartyAudiencesListCall) doRequest(alt string) (*http.Response, error) {
27364	reqHeaders := make(http.Header)
27365	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27366	for k, v := range c.header_ {
27367		reqHeaders[k] = v
27368	}
27369	reqHeaders.Set("User-Agent", c.s.userAgent())
27370	if c.ifNoneMatch_ != "" {
27371		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27372	}
27373	var body io.Reader = nil
27374	c.urlParams_.Set("alt", alt)
27375	c.urlParams_.Set("prettyPrint", "false")
27376	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/firstAndThirdPartyAudiences")
27377	urls += "?" + c.urlParams_.Encode()
27378	req, err := http.NewRequest("GET", urls, body)
27379	if err != nil {
27380		return nil, err
27381	}
27382	req.Header = reqHeaders
27383	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27384}
27385
27386// Do executes the "displayvideo.firstAndThirdPartyAudiences.list" call.
27387// Exactly one of *ListFirstAndThirdPartyAudiencesResponse or error will
27388// be non-nil. Any non-2xx status code is an error. Response headers are
27389// in either
27390// *ListFirstAndThirdPartyAudiencesResponse.ServerResponse.Header or (if
27391// a response was returned at all) in error.(*googleapi.Error).Header.
27392// Use googleapi.IsNotModified to check whether the returned error was
27393// because http.StatusNotModified was returned.
27394func (c *FirstAndThirdPartyAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListFirstAndThirdPartyAudiencesResponse, error) {
27395	gensupport.SetOptions(c.urlParams_, opts...)
27396	res, err := c.doRequest("json")
27397	if res != nil && res.StatusCode == http.StatusNotModified {
27398		if res.Body != nil {
27399			res.Body.Close()
27400		}
27401		return nil, &googleapi.Error{
27402			Code:   res.StatusCode,
27403			Header: res.Header,
27404		}
27405	}
27406	if err != nil {
27407		return nil, err
27408	}
27409	defer googleapi.CloseBody(res)
27410	if err := googleapi.CheckResponse(res); err != nil {
27411		return nil, err
27412	}
27413	ret := &ListFirstAndThirdPartyAudiencesResponse{
27414		ServerResponse: googleapi.ServerResponse{
27415			Header:         res.Header,
27416			HTTPStatusCode: res.StatusCode,
27417		},
27418	}
27419	target := &ret
27420	if err := gensupport.DecodeResponse(target, res); err != nil {
27421		return nil, err
27422	}
27423	return ret, nil
27424	// {
27425	//   "description": "Lists first and third party audiences. The order is defined by the order_by parameter.",
27426	//   "flatPath": "v1/firstAndThirdPartyAudiences",
27427	//   "httpMethod": "GET",
27428	//   "id": "displayvideo.firstAndThirdPartyAudiences.list",
27429	//   "parameterOrder": [],
27430	//   "parameters": {
27431	//     "advertiserId": {
27432	//       "description": "The ID of the advertiser that has access to the fetched first and third party audiences.",
27433	//       "format": "int64",
27434	//       "location": "query",
27435	//       "type": "string"
27436	//     },
27437	//     "filter": {
27438	//       "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.",
27439	//       "location": "query",
27440	//       "type": "string"
27441	//     },
27442	//     "orderBy": {
27443	//       "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`.",
27444	//       "location": "query",
27445	//       "type": "string"
27446	//     },
27447	//     "pageSize": {
27448	//       "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.",
27449	//       "format": "int32",
27450	//       "location": "query",
27451	//       "type": "integer"
27452	//     },
27453	//     "pageToken": {
27454	//       "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.",
27455	//       "location": "query",
27456	//       "type": "string"
27457	//     },
27458	//     "partnerId": {
27459	//       "description": "The ID of the partner that has access to the fetched first and third party audiences.",
27460	//       "format": "int64",
27461	//       "location": "query",
27462	//       "type": "string"
27463	//     }
27464	//   },
27465	//   "path": "v1/firstAndThirdPartyAudiences",
27466	//   "response": {
27467	//     "$ref": "ListFirstAndThirdPartyAudiencesResponse"
27468	//   },
27469	//   "scopes": [
27470	//     "https://www.googleapis.com/auth/display-video"
27471	//   ]
27472	// }
27473
27474}
27475
27476// Pages invokes f for each page of results.
27477// A non-nil error returned from f will halt the iteration.
27478// The provided context supersedes any context provided to the Context method.
27479func (c *FirstAndThirdPartyAudiencesListCall) Pages(ctx context.Context, f func(*ListFirstAndThirdPartyAudiencesResponse) error) error {
27480	c.ctx_ = ctx
27481	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27482	for {
27483		x, err := c.Do()
27484		if err != nil {
27485			return err
27486		}
27487		if err := f(x); err != nil {
27488			return err
27489		}
27490		if x.NextPageToken == "" {
27491			return nil
27492		}
27493		c.PageToken(x.NextPageToken)
27494	}
27495}
27496
27497// method id "displayvideo.floodlightGroups.get":
27498
27499type FloodlightGroupsGetCall struct {
27500	s                 *Service
27501	floodlightGroupId int64
27502	urlParams_        gensupport.URLParams
27503	ifNoneMatch_      string
27504	ctx_              context.Context
27505	header_           http.Header
27506}
27507
27508// Get: Gets a Floodlight group.
27509func (r *FloodlightGroupsService) Get(floodlightGroupId int64) *FloodlightGroupsGetCall {
27510	c := &FloodlightGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27511	c.floodlightGroupId = floodlightGroupId
27512	return c
27513}
27514
27515// PartnerId sets the optional parameter "partnerId": Required. The
27516// partner context by which the Floodlight group is being accessed.
27517func (c *FloodlightGroupsGetCall) PartnerId(partnerId int64) *FloodlightGroupsGetCall {
27518	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
27519	return c
27520}
27521
27522// Fields allows partial responses to be retrieved. See
27523// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27524// for more information.
27525func (c *FloodlightGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightGroupsGetCall {
27526	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27527	return c
27528}
27529
27530// IfNoneMatch sets the optional parameter which makes the operation
27531// fail if the object's ETag matches the given value. This is useful for
27532// getting updates only after the object has changed since the last
27533// request. Use googleapi.IsNotModified to check whether the response
27534// error from Do is the result of In-None-Match.
27535func (c *FloodlightGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightGroupsGetCall {
27536	c.ifNoneMatch_ = entityTag
27537	return c
27538}
27539
27540// Context sets the context to be used in this call's Do method. Any
27541// pending HTTP request will be aborted if the provided context is
27542// canceled.
27543func (c *FloodlightGroupsGetCall) Context(ctx context.Context) *FloodlightGroupsGetCall {
27544	c.ctx_ = ctx
27545	return c
27546}
27547
27548// Header returns an http.Header that can be modified by the caller to
27549// add HTTP headers to the request.
27550func (c *FloodlightGroupsGetCall) Header() http.Header {
27551	if c.header_ == nil {
27552		c.header_ = make(http.Header)
27553	}
27554	return c.header_
27555}
27556
27557func (c *FloodlightGroupsGetCall) doRequest(alt string) (*http.Response, error) {
27558	reqHeaders := make(http.Header)
27559	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27560	for k, v := range c.header_ {
27561		reqHeaders[k] = v
27562	}
27563	reqHeaders.Set("User-Agent", c.s.userAgent())
27564	if c.ifNoneMatch_ != "" {
27565		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27566	}
27567	var body io.Reader = nil
27568	c.urlParams_.Set("alt", alt)
27569	c.urlParams_.Set("prettyPrint", "false")
27570	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/floodlightGroups/{+floodlightGroupId}")
27571	urls += "?" + c.urlParams_.Encode()
27572	req, err := http.NewRequest("GET", urls, body)
27573	if err != nil {
27574		return nil, err
27575	}
27576	req.Header = reqHeaders
27577	googleapi.Expand(req.URL, map[string]string{
27578		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
27579	})
27580	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27581}
27582
27583// Do executes the "displayvideo.floodlightGroups.get" call.
27584// Exactly one of *FloodlightGroup or error will be non-nil. Any non-2xx
27585// status code is an error. Response headers are in either
27586// *FloodlightGroup.ServerResponse.Header or (if a response was returned
27587// at all) in error.(*googleapi.Error).Header. Use
27588// googleapi.IsNotModified to check whether the returned error was
27589// because http.StatusNotModified was returned.
27590func (c *FloodlightGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
27591	gensupport.SetOptions(c.urlParams_, opts...)
27592	res, err := c.doRequest("json")
27593	if res != nil && res.StatusCode == http.StatusNotModified {
27594		if res.Body != nil {
27595			res.Body.Close()
27596		}
27597		return nil, &googleapi.Error{
27598			Code:   res.StatusCode,
27599			Header: res.Header,
27600		}
27601	}
27602	if err != nil {
27603		return nil, err
27604	}
27605	defer googleapi.CloseBody(res)
27606	if err := googleapi.CheckResponse(res); err != nil {
27607		return nil, err
27608	}
27609	ret := &FloodlightGroup{
27610		ServerResponse: googleapi.ServerResponse{
27611			Header:         res.Header,
27612			HTTPStatusCode: res.StatusCode,
27613		},
27614	}
27615	target := &ret
27616	if err := gensupport.DecodeResponse(target, res); err != nil {
27617		return nil, err
27618	}
27619	return ret, nil
27620	// {
27621	//   "description": "Gets a Floodlight group.",
27622	//   "flatPath": "v1/floodlightGroups/{floodlightGroupsId}",
27623	//   "httpMethod": "GET",
27624	//   "id": "displayvideo.floodlightGroups.get",
27625	//   "parameterOrder": [
27626	//     "floodlightGroupId"
27627	//   ],
27628	//   "parameters": {
27629	//     "floodlightGroupId": {
27630	//       "description": "Required. The ID of the Floodlight group to fetch.",
27631	//       "format": "int64",
27632	//       "location": "path",
27633	//       "pattern": "^[^/]+$",
27634	//       "required": true,
27635	//       "type": "string"
27636	//     },
27637	//     "partnerId": {
27638	//       "description": "Required. The partner context by which the Floodlight group is being accessed.",
27639	//       "format": "int64",
27640	//       "location": "query",
27641	//       "type": "string"
27642	//     }
27643	//   },
27644	//   "path": "v1/floodlightGroups/{+floodlightGroupId}",
27645	//   "response": {
27646	//     "$ref": "FloodlightGroup"
27647	//   },
27648	//   "scopes": [
27649	//     "https://www.googleapis.com/auth/display-video"
27650	//   ]
27651	// }
27652
27653}
27654
27655// method id "displayvideo.floodlightGroups.patch":
27656
27657type FloodlightGroupsPatchCall struct {
27658	s                 *Service
27659	floodlightGroupId int64
27660	floodlightgroup   *FloodlightGroup
27661	urlParams_        gensupport.URLParams
27662	ctx_              context.Context
27663	header_           http.Header
27664}
27665
27666// Patch: Updates an existing Floodlight group. Returns the updated
27667// Floodlight group if successful.
27668func (r *FloodlightGroupsService) Patch(floodlightGroupId int64, floodlightgroup *FloodlightGroup) *FloodlightGroupsPatchCall {
27669	c := &FloodlightGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27670	c.floodlightGroupId = floodlightGroupId
27671	c.floodlightgroup = floodlightgroup
27672	return c
27673}
27674
27675// PartnerId sets the optional parameter "partnerId": Required. The
27676// partner context by which the Floodlight group is being accessed.
27677func (c *FloodlightGroupsPatchCall) PartnerId(partnerId int64) *FloodlightGroupsPatchCall {
27678	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
27679	return c
27680}
27681
27682// UpdateMask sets the optional parameter "updateMask": Required. The
27683// mask to control which fields to update.
27684func (c *FloodlightGroupsPatchCall) UpdateMask(updateMask string) *FloodlightGroupsPatchCall {
27685	c.urlParams_.Set("updateMask", updateMask)
27686	return c
27687}
27688
27689// Fields allows partial responses to be retrieved. See
27690// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27691// for more information.
27692func (c *FloodlightGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightGroupsPatchCall {
27693	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27694	return c
27695}
27696
27697// Context sets the context to be used in this call's Do method. Any
27698// pending HTTP request will be aborted if the provided context is
27699// canceled.
27700func (c *FloodlightGroupsPatchCall) Context(ctx context.Context) *FloodlightGroupsPatchCall {
27701	c.ctx_ = ctx
27702	return c
27703}
27704
27705// Header returns an http.Header that can be modified by the caller to
27706// add HTTP headers to the request.
27707func (c *FloodlightGroupsPatchCall) Header() http.Header {
27708	if c.header_ == nil {
27709		c.header_ = make(http.Header)
27710	}
27711	return c.header_
27712}
27713
27714func (c *FloodlightGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
27715	reqHeaders := make(http.Header)
27716	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27717	for k, v := range c.header_ {
27718		reqHeaders[k] = v
27719	}
27720	reqHeaders.Set("User-Agent", c.s.userAgent())
27721	var body io.Reader = nil
27722	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightgroup)
27723	if err != nil {
27724		return nil, err
27725	}
27726	reqHeaders.Set("Content-Type", "application/json")
27727	c.urlParams_.Set("alt", alt)
27728	c.urlParams_.Set("prettyPrint", "false")
27729	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/floodlightGroups/{floodlightGroupId}")
27730	urls += "?" + c.urlParams_.Encode()
27731	req, err := http.NewRequest("PATCH", urls, body)
27732	if err != nil {
27733		return nil, err
27734	}
27735	req.Header = reqHeaders
27736	googleapi.Expand(req.URL, map[string]string{
27737		"floodlightGroupId": strconv.FormatInt(c.floodlightGroupId, 10),
27738	})
27739	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27740}
27741
27742// Do executes the "displayvideo.floodlightGroups.patch" call.
27743// Exactly one of *FloodlightGroup or error will be non-nil. Any non-2xx
27744// status code is an error. Response headers are in either
27745// *FloodlightGroup.ServerResponse.Header or (if a response was returned
27746// at all) in error.(*googleapi.Error).Header. Use
27747// googleapi.IsNotModified to check whether the returned error was
27748// because http.StatusNotModified was returned.
27749func (c *FloodlightGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightGroup, error) {
27750	gensupport.SetOptions(c.urlParams_, opts...)
27751	res, err := c.doRequest("json")
27752	if res != nil && res.StatusCode == http.StatusNotModified {
27753		if res.Body != nil {
27754			res.Body.Close()
27755		}
27756		return nil, &googleapi.Error{
27757			Code:   res.StatusCode,
27758			Header: res.Header,
27759		}
27760	}
27761	if err != nil {
27762		return nil, err
27763	}
27764	defer googleapi.CloseBody(res)
27765	if err := googleapi.CheckResponse(res); err != nil {
27766		return nil, err
27767	}
27768	ret := &FloodlightGroup{
27769		ServerResponse: googleapi.ServerResponse{
27770			Header:         res.Header,
27771			HTTPStatusCode: res.StatusCode,
27772		},
27773	}
27774	target := &ret
27775	if err := gensupport.DecodeResponse(target, res); err != nil {
27776		return nil, err
27777	}
27778	return ret, nil
27779	// {
27780	//   "description": "Updates an existing Floodlight group. Returns the updated Floodlight group if successful.",
27781	//   "flatPath": "v1/floodlightGroups/{floodlightGroupId}",
27782	//   "httpMethod": "PATCH",
27783	//   "id": "displayvideo.floodlightGroups.patch",
27784	//   "parameterOrder": [
27785	//     "floodlightGroupId"
27786	//   ],
27787	//   "parameters": {
27788	//     "floodlightGroupId": {
27789	//       "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.",
27790	//       "format": "int64",
27791	//       "location": "path",
27792	//       "required": true,
27793	//       "type": "string"
27794	//     },
27795	//     "partnerId": {
27796	//       "description": "Required. The partner context by which the Floodlight group is being accessed.",
27797	//       "format": "int64",
27798	//       "location": "query",
27799	//       "type": "string"
27800	//     },
27801	//     "updateMask": {
27802	//       "description": "Required. The mask to control which fields to update.",
27803	//       "format": "google-fieldmask",
27804	//       "location": "query",
27805	//       "type": "string"
27806	//     }
27807	//   },
27808	//   "path": "v1/floodlightGroups/{floodlightGroupId}",
27809	//   "request": {
27810	//     "$ref": "FloodlightGroup"
27811	//   },
27812	//   "response": {
27813	//     "$ref": "FloodlightGroup"
27814	//   },
27815	//   "scopes": [
27816	//     "https://www.googleapis.com/auth/display-video"
27817	//   ]
27818	// }
27819
27820}
27821
27822// method id "displayvideo.googleAudiences.get":
27823
27824type GoogleAudiencesGetCall struct {
27825	s                *Service
27826	googleAudienceId int64
27827	urlParams_       gensupport.URLParams
27828	ifNoneMatch_     string
27829	ctx_             context.Context
27830	header_          http.Header
27831}
27832
27833// Get: Gets a Google audience.
27834func (r *GoogleAudiencesService) Get(googleAudienceId int64) *GoogleAudiencesGetCall {
27835	c := &GoogleAudiencesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27836	c.googleAudienceId = googleAudienceId
27837	return c
27838}
27839
27840// AdvertiserId sets the optional parameter "advertiserId": The ID of
27841// the advertiser that has access to the fetched Google audience.
27842func (c *GoogleAudiencesGetCall) AdvertiserId(advertiserId int64) *GoogleAudiencesGetCall {
27843	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
27844	return c
27845}
27846
27847// PartnerId sets the optional parameter "partnerId": The ID of the
27848// partner that has access to the fetched Google audience.
27849func (c *GoogleAudiencesGetCall) PartnerId(partnerId int64) *GoogleAudiencesGetCall {
27850	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
27851	return c
27852}
27853
27854// Fields allows partial responses to be retrieved. See
27855// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27856// for more information.
27857func (c *GoogleAudiencesGetCall) Fields(s ...googleapi.Field) *GoogleAudiencesGetCall {
27858	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27859	return c
27860}
27861
27862// IfNoneMatch sets the optional parameter which makes the operation
27863// fail if the object's ETag matches the given value. This is useful for
27864// getting updates only after the object has changed since the last
27865// request. Use googleapi.IsNotModified to check whether the response
27866// error from Do is the result of In-None-Match.
27867func (c *GoogleAudiencesGetCall) IfNoneMatch(entityTag string) *GoogleAudiencesGetCall {
27868	c.ifNoneMatch_ = entityTag
27869	return c
27870}
27871
27872// Context sets the context to be used in this call's Do method. Any
27873// pending HTTP request will be aborted if the provided context is
27874// canceled.
27875func (c *GoogleAudiencesGetCall) Context(ctx context.Context) *GoogleAudiencesGetCall {
27876	c.ctx_ = ctx
27877	return c
27878}
27879
27880// Header returns an http.Header that can be modified by the caller to
27881// add HTTP headers to the request.
27882func (c *GoogleAudiencesGetCall) Header() http.Header {
27883	if c.header_ == nil {
27884		c.header_ = make(http.Header)
27885	}
27886	return c.header_
27887}
27888
27889func (c *GoogleAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
27890	reqHeaders := make(http.Header)
27891	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27892	for k, v := range c.header_ {
27893		reqHeaders[k] = v
27894	}
27895	reqHeaders.Set("User-Agent", c.s.userAgent())
27896	if c.ifNoneMatch_ != "" {
27897		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27898	}
27899	var body io.Reader = nil
27900	c.urlParams_.Set("alt", alt)
27901	c.urlParams_.Set("prettyPrint", "false")
27902	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/googleAudiences/{+googleAudienceId}")
27903	urls += "?" + c.urlParams_.Encode()
27904	req, err := http.NewRequest("GET", urls, body)
27905	if err != nil {
27906		return nil, err
27907	}
27908	req.Header = reqHeaders
27909	googleapi.Expand(req.URL, map[string]string{
27910		"googleAudienceId": strconv.FormatInt(c.googleAudienceId, 10),
27911	})
27912	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27913}
27914
27915// Do executes the "displayvideo.googleAudiences.get" call.
27916// Exactly one of *GoogleAudience or error will be non-nil. Any non-2xx
27917// status code is an error. Response headers are in either
27918// *GoogleAudience.ServerResponse.Header or (if a response was returned
27919// at all) in error.(*googleapi.Error).Header. Use
27920// googleapi.IsNotModified to check whether the returned error was
27921// because http.StatusNotModified was returned.
27922func (c *GoogleAudiencesGetCall) Do(opts ...googleapi.CallOption) (*GoogleAudience, error) {
27923	gensupport.SetOptions(c.urlParams_, opts...)
27924	res, err := c.doRequest("json")
27925	if res != nil && res.StatusCode == http.StatusNotModified {
27926		if res.Body != nil {
27927			res.Body.Close()
27928		}
27929		return nil, &googleapi.Error{
27930			Code:   res.StatusCode,
27931			Header: res.Header,
27932		}
27933	}
27934	if err != nil {
27935		return nil, err
27936	}
27937	defer googleapi.CloseBody(res)
27938	if err := googleapi.CheckResponse(res); err != nil {
27939		return nil, err
27940	}
27941	ret := &GoogleAudience{
27942		ServerResponse: googleapi.ServerResponse{
27943			Header:         res.Header,
27944			HTTPStatusCode: res.StatusCode,
27945		},
27946	}
27947	target := &ret
27948	if err := gensupport.DecodeResponse(target, res); err != nil {
27949		return nil, err
27950	}
27951	return ret, nil
27952	// {
27953	//   "description": "Gets a Google audience.",
27954	//   "flatPath": "v1/googleAudiences/{googleAudiencesId}",
27955	//   "httpMethod": "GET",
27956	//   "id": "displayvideo.googleAudiences.get",
27957	//   "parameterOrder": [
27958	//     "googleAudienceId"
27959	//   ],
27960	//   "parameters": {
27961	//     "advertiserId": {
27962	//       "description": "The ID of the advertiser that has access to the fetched Google audience.",
27963	//       "format": "int64",
27964	//       "location": "query",
27965	//       "type": "string"
27966	//     },
27967	//     "googleAudienceId": {
27968	//       "description": "Required. The ID of the Google audience to fetch.",
27969	//       "format": "int64",
27970	//       "location": "path",
27971	//       "pattern": "^[^/]+$",
27972	//       "required": true,
27973	//       "type": "string"
27974	//     },
27975	//     "partnerId": {
27976	//       "description": "The ID of the partner that has access to the fetched Google audience.",
27977	//       "format": "int64",
27978	//       "location": "query",
27979	//       "type": "string"
27980	//     }
27981	//   },
27982	//   "path": "v1/googleAudiences/{+googleAudienceId}",
27983	//   "response": {
27984	//     "$ref": "GoogleAudience"
27985	//   },
27986	//   "scopes": [
27987	//     "https://www.googleapis.com/auth/display-video"
27988	//   ]
27989	// }
27990
27991}
27992
27993// method id "displayvideo.googleAudiences.list":
27994
27995type GoogleAudiencesListCall struct {
27996	s            *Service
27997	urlParams_   gensupport.URLParams
27998	ifNoneMatch_ string
27999	ctx_         context.Context
28000	header_      http.Header
28001}
28002
28003// List: Lists Google audiences. The order is defined by the order_by
28004// parameter.
28005func (r *GoogleAudiencesService) List() *GoogleAudiencesListCall {
28006	c := &GoogleAudiencesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28007	return c
28008}
28009
28010// AdvertiserId sets the optional parameter "advertiserId": The ID of
28011// the advertiser that has access to the fetched Google audiences.
28012func (c *GoogleAudiencesListCall) AdvertiserId(advertiserId int64) *GoogleAudiencesListCall {
28013	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28014	return c
28015}
28016
28017// Filter sets the optional parameter "filter": Allows filtering by
28018// Google audience fields. Supported syntax: * Filter expressions for
28019// Google audiences currently can only contain at most one restriction.
28020// * A restriction has the form of `{field} {operator} {value}`. * The
28021// operator must be `CONTAINS (:)`. * Supported fields: - `displayName`
28022// Examples: * All Google audiences for which the display name contains
28023// "Google": `displayName : "Google". The length of this field should
28024// be no more than 500 characters.
28025func (c *GoogleAudiencesListCall) Filter(filter string) *GoogleAudiencesListCall {
28026	c.urlParams_.Set("filter", filter)
28027	return c
28028}
28029
28030// OrderBy sets the optional parameter "orderBy": Field by which to sort
28031// the list. Acceptable values are: * `googleAudienceId` (default) *
28032// `displayName` The default sorting order is ascending. To specify
28033// descending order for a field, a suffix "desc" should be added to the
28034// field name. Example: `displayName desc`.
28035func (c *GoogleAudiencesListCall) OrderBy(orderBy string) *GoogleAudiencesListCall {
28036	c.urlParams_.Set("orderBy", orderBy)
28037	return c
28038}
28039
28040// PageSize sets the optional parameter "pageSize": Requested page size.
28041// Must be between `1` and `100`. If unspecified will default to `100`.
28042// Returns error code `INVALID_ARGUMENT` if an invalid value is
28043// specified.
28044func (c *GoogleAudiencesListCall) PageSize(pageSize int64) *GoogleAudiencesListCall {
28045	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28046	return c
28047}
28048
28049// PageToken sets the optional parameter "pageToken": A token
28050// identifying a page of results the server should return. Typically,
28051// this is the value of next_page_token returned from the previous call
28052// to `ListGoogleAudiences` method. If not specified, the first page of
28053// results will be returned.
28054func (c *GoogleAudiencesListCall) PageToken(pageToken string) *GoogleAudiencesListCall {
28055	c.urlParams_.Set("pageToken", pageToken)
28056	return c
28057}
28058
28059// PartnerId sets the optional parameter "partnerId": The ID of the
28060// partner that has access to the fetched Google audiences.
28061func (c *GoogleAudiencesListCall) PartnerId(partnerId int64) *GoogleAudiencesListCall {
28062	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
28063	return c
28064}
28065
28066// Fields allows partial responses to be retrieved. See
28067// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28068// for more information.
28069func (c *GoogleAudiencesListCall) Fields(s ...googleapi.Field) *GoogleAudiencesListCall {
28070	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28071	return c
28072}
28073
28074// IfNoneMatch sets the optional parameter which makes the operation
28075// fail if the object's ETag matches the given value. This is useful for
28076// getting updates only after the object has changed since the last
28077// request. Use googleapi.IsNotModified to check whether the response
28078// error from Do is the result of In-None-Match.
28079func (c *GoogleAudiencesListCall) IfNoneMatch(entityTag string) *GoogleAudiencesListCall {
28080	c.ifNoneMatch_ = entityTag
28081	return c
28082}
28083
28084// Context sets the context to be used in this call's Do method. Any
28085// pending HTTP request will be aborted if the provided context is
28086// canceled.
28087func (c *GoogleAudiencesListCall) Context(ctx context.Context) *GoogleAudiencesListCall {
28088	c.ctx_ = ctx
28089	return c
28090}
28091
28092// Header returns an http.Header that can be modified by the caller to
28093// add HTTP headers to the request.
28094func (c *GoogleAudiencesListCall) Header() http.Header {
28095	if c.header_ == nil {
28096		c.header_ = make(http.Header)
28097	}
28098	return c.header_
28099}
28100
28101func (c *GoogleAudiencesListCall) doRequest(alt string) (*http.Response, error) {
28102	reqHeaders := make(http.Header)
28103	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28104	for k, v := range c.header_ {
28105		reqHeaders[k] = v
28106	}
28107	reqHeaders.Set("User-Agent", c.s.userAgent())
28108	if c.ifNoneMatch_ != "" {
28109		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28110	}
28111	var body io.Reader = nil
28112	c.urlParams_.Set("alt", alt)
28113	c.urlParams_.Set("prettyPrint", "false")
28114	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/googleAudiences")
28115	urls += "?" + c.urlParams_.Encode()
28116	req, err := http.NewRequest("GET", urls, body)
28117	if err != nil {
28118		return nil, err
28119	}
28120	req.Header = reqHeaders
28121	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28122}
28123
28124// Do executes the "displayvideo.googleAudiences.list" call.
28125// Exactly one of *ListGoogleAudiencesResponse or error will be non-nil.
28126// Any non-2xx status code is an error. Response headers are in either
28127// *ListGoogleAudiencesResponse.ServerResponse.Header or (if a response
28128// was returned at all) in error.(*googleapi.Error).Header. Use
28129// googleapi.IsNotModified to check whether the returned error was
28130// because http.StatusNotModified was returned.
28131func (c *GoogleAudiencesListCall) Do(opts ...googleapi.CallOption) (*ListGoogleAudiencesResponse, error) {
28132	gensupport.SetOptions(c.urlParams_, opts...)
28133	res, err := c.doRequest("json")
28134	if res != nil && res.StatusCode == http.StatusNotModified {
28135		if res.Body != nil {
28136			res.Body.Close()
28137		}
28138		return nil, &googleapi.Error{
28139			Code:   res.StatusCode,
28140			Header: res.Header,
28141		}
28142	}
28143	if err != nil {
28144		return nil, err
28145	}
28146	defer googleapi.CloseBody(res)
28147	if err := googleapi.CheckResponse(res); err != nil {
28148		return nil, err
28149	}
28150	ret := &ListGoogleAudiencesResponse{
28151		ServerResponse: googleapi.ServerResponse{
28152			Header:         res.Header,
28153			HTTPStatusCode: res.StatusCode,
28154		},
28155	}
28156	target := &ret
28157	if err := gensupport.DecodeResponse(target, res); err != nil {
28158		return nil, err
28159	}
28160	return ret, nil
28161	// {
28162	//   "description": "Lists Google audiences. The order is defined by the order_by parameter.",
28163	//   "flatPath": "v1/googleAudiences",
28164	//   "httpMethod": "GET",
28165	//   "id": "displayvideo.googleAudiences.list",
28166	//   "parameterOrder": [],
28167	//   "parameters": {
28168	//     "advertiserId": {
28169	//       "description": "The ID of the advertiser that has access to the fetched Google audiences.",
28170	//       "format": "int64",
28171	//       "location": "query",
28172	//       "type": "string"
28173	//     },
28174	//     "filter": {
28175	//       "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.",
28176	//       "location": "query",
28177	//       "type": "string"
28178	//     },
28179	//     "orderBy": {
28180	//       "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`.",
28181	//       "location": "query",
28182	//       "type": "string"
28183	//     },
28184	//     "pageSize": {
28185	//       "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.",
28186	//       "format": "int32",
28187	//       "location": "query",
28188	//       "type": "integer"
28189	//     },
28190	//     "pageToken": {
28191	//       "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.",
28192	//       "location": "query",
28193	//       "type": "string"
28194	//     },
28195	//     "partnerId": {
28196	//       "description": "The ID of the partner that has access to the fetched Google audiences.",
28197	//       "format": "int64",
28198	//       "location": "query",
28199	//       "type": "string"
28200	//     }
28201	//   },
28202	//   "path": "v1/googleAudiences",
28203	//   "response": {
28204	//     "$ref": "ListGoogleAudiencesResponse"
28205	//   },
28206	//   "scopes": [
28207	//     "https://www.googleapis.com/auth/display-video"
28208	//   ]
28209	// }
28210
28211}
28212
28213// Pages invokes f for each page of results.
28214// A non-nil error returned from f will halt the iteration.
28215// The provided context supersedes any context provided to the Context method.
28216func (c *GoogleAudiencesListCall) Pages(ctx context.Context, f func(*ListGoogleAudiencesResponse) error) error {
28217	c.ctx_ = ctx
28218	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28219	for {
28220		x, err := c.Do()
28221		if err != nil {
28222			return err
28223		}
28224		if err := f(x); err != nil {
28225			return err
28226		}
28227		if x.NextPageToken == "" {
28228			return nil
28229		}
28230		c.PageToken(x.NextPageToken)
28231	}
28232}
28233
28234// method id "displayvideo.inventorySourceGroups.create":
28235
28236type InventorySourceGroupsCreateCall struct {
28237	s                    *Service
28238	inventorysourcegroup *InventorySourceGroup
28239	urlParams_           gensupport.URLParams
28240	ctx_                 context.Context
28241	header_              http.Header
28242}
28243
28244// Create: Creates a new inventory source group. Returns the newly
28245// created inventory source group if successful.
28246func (r *InventorySourceGroupsService) Create(inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsCreateCall {
28247	c := &InventorySourceGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28248	c.inventorysourcegroup = inventorysourcegroup
28249	return c
28250}
28251
28252// AdvertiserId sets the optional parameter "advertiserId": The ID of
28253// the advertiser that owns the inventory source group. The parent
28254// partner will not have access to this group.
28255func (c *InventorySourceGroupsCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsCreateCall {
28256	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28257	return c
28258}
28259
28260// PartnerId sets the optional parameter "partnerId": The ID of the
28261// partner that owns the inventory source group. Only this partner will
28262// have write access to this group. Only advertisers to which this group
28263// is explicitly shared will have read access to this group.
28264func (c *InventorySourceGroupsCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsCreateCall {
28265	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
28266	return c
28267}
28268
28269// Fields allows partial responses to be retrieved. See
28270// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28271// for more information.
28272func (c *InventorySourceGroupsCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsCreateCall {
28273	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28274	return c
28275}
28276
28277// Context sets the context to be used in this call's Do method. Any
28278// pending HTTP request will be aborted if the provided context is
28279// canceled.
28280func (c *InventorySourceGroupsCreateCall) Context(ctx context.Context) *InventorySourceGroupsCreateCall {
28281	c.ctx_ = ctx
28282	return c
28283}
28284
28285// Header returns an http.Header that can be modified by the caller to
28286// add HTTP headers to the request.
28287func (c *InventorySourceGroupsCreateCall) Header() http.Header {
28288	if c.header_ == nil {
28289		c.header_ = make(http.Header)
28290	}
28291	return c.header_
28292}
28293
28294func (c *InventorySourceGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
28295	reqHeaders := make(http.Header)
28296	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28297	for k, v := range c.header_ {
28298		reqHeaders[k] = v
28299	}
28300	reqHeaders.Set("User-Agent", c.s.userAgent())
28301	var body io.Reader = nil
28302	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
28303	if err != nil {
28304		return nil, err
28305	}
28306	reqHeaders.Set("Content-Type", "application/json")
28307	c.urlParams_.Set("alt", alt)
28308	c.urlParams_.Set("prettyPrint", "false")
28309	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups")
28310	urls += "?" + c.urlParams_.Encode()
28311	req, err := http.NewRequest("POST", urls, body)
28312	if err != nil {
28313		return nil, err
28314	}
28315	req.Header = reqHeaders
28316	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28317}
28318
28319// Do executes the "displayvideo.inventorySourceGroups.create" call.
28320// Exactly one of *InventorySourceGroup or error will be non-nil. Any
28321// non-2xx status code is an error. Response headers are in either
28322// *InventorySourceGroup.ServerResponse.Header or (if a response was
28323// returned at all) in error.(*googleapi.Error).Header. Use
28324// googleapi.IsNotModified to check whether the returned error was
28325// because http.StatusNotModified was returned.
28326func (c *InventorySourceGroupsCreateCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
28327	gensupport.SetOptions(c.urlParams_, opts...)
28328	res, err := c.doRequest("json")
28329	if res != nil && res.StatusCode == http.StatusNotModified {
28330		if res.Body != nil {
28331			res.Body.Close()
28332		}
28333		return nil, &googleapi.Error{
28334			Code:   res.StatusCode,
28335			Header: res.Header,
28336		}
28337	}
28338	if err != nil {
28339		return nil, err
28340	}
28341	defer googleapi.CloseBody(res)
28342	if err := googleapi.CheckResponse(res); err != nil {
28343		return nil, err
28344	}
28345	ret := &InventorySourceGroup{
28346		ServerResponse: googleapi.ServerResponse{
28347			Header:         res.Header,
28348			HTTPStatusCode: res.StatusCode,
28349		},
28350	}
28351	target := &ret
28352	if err := gensupport.DecodeResponse(target, res); err != nil {
28353		return nil, err
28354	}
28355	return ret, nil
28356	// {
28357	//   "description": "Creates a new inventory source group. Returns the newly created inventory source group if successful.",
28358	//   "flatPath": "v1/inventorySourceGroups",
28359	//   "httpMethod": "POST",
28360	//   "id": "displayvideo.inventorySourceGroups.create",
28361	//   "parameterOrder": [],
28362	//   "parameters": {
28363	//     "advertiserId": {
28364	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner will not have access to this group.",
28365	//       "format": "int64",
28366	//       "location": "query",
28367	//       "type": "string"
28368	//     },
28369	//     "partnerId": {
28370	//       "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.",
28371	//       "format": "int64",
28372	//       "location": "query",
28373	//       "type": "string"
28374	//     }
28375	//   },
28376	//   "path": "v1/inventorySourceGroups",
28377	//   "request": {
28378	//     "$ref": "InventorySourceGroup"
28379	//   },
28380	//   "response": {
28381	//     "$ref": "InventorySourceGroup"
28382	//   },
28383	//   "scopes": [
28384	//     "https://www.googleapis.com/auth/display-video"
28385	//   ]
28386	// }
28387
28388}
28389
28390// method id "displayvideo.inventorySourceGroups.delete":
28391
28392type InventorySourceGroupsDeleteCall struct {
28393	s                      *Service
28394	inventorySourceGroupId int64
28395	urlParams_             gensupport.URLParams
28396	ctx_                   context.Context
28397	header_                http.Header
28398}
28399
28400// Delete: Deletes an inventory source group.
28401func (r *InventorySourceGroupsService) Delete(inventorySourceGroupId int64) *InventorySourceGroupsDeleteCall {
28402	c := &InventorySourceGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28403	c.inventorySourceGroupId = inventorySourceGroupId
28404	return c
28405}
28406
28407// AdvertiserId sets the optional parameter "advertiserId": The ID of
28408// the advertiser that owns the inventory source group. The parent
28409// partner does not have access to this group.
28410func (c *InventorySourceGroupsDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsDeleteCall {
28411	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28412	return c
28413}
28414
28415// PartnerId sets the optional parameter "partnerId": The ID of the
28416// partner that owns the inventory source group. Only this partner has
28417// write access to this group.
28418func (c *InventorySourceGroupsDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsDeleteCall {
28419	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
28420	return c
28421}
28422
28423// Fields allows partial responses to be retrieved. See
28424// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28425// for more information.
28426func (c *InventorySourceGroupsDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsDeleteCall {
28427	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28428	return c
28429}
28430
28431// Context sets the context to be used in this call's Do method. Any
28432// pending HTTP request will be aborted if the provided context is
28433// canceled.
28434func (c *InventorySourceGroupsDeleteCall) Context(ctx context.Context) *InventorySourceGroupsDeleteCall {
28435	c.ctx_ = ctx
28436	return c
28437}
28438
28439// Header returns an http.Header that can be modified by the caller to
28440// add HTTP headers to the request.
28441func (c *InventorySourceGroupsDeleteCall) Header() http.Header {
28442	if c.header_ == nil {
28443		c.header_ = make(http.Header)
28444	}
28445	return c.header_
28446}
28447
28448func (c *InventorySourceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
28449	reqHeaders := make(http.Header)
28450	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28451	for k, v := range c.header_ {
28452		reqHeaders[k] = v
28453	}
28454	reqHeaders.Set("User-Agent", c.s.userAgent())
28455	var body io.Reader = nil
28456	c.urlParams_.Set("alt", alt)
28457	c.urlParams_.Set("prettyPrint", "false")
28458	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}")
28459	urls += "?" + c.urlParams_.Encode()
28460	req, err := http.NewRequest("DELETE", urls, body)
28461	if err != nil {
28462		return nil, err
28463	}
28464	req.Header = reqHeaders
28465	googleapi.Expand(req.URL, map[string]string{
28466		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
28467	})
28468	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28469}
28470
28471// Do executes the "displayvideo.inventorySourceGroups.delete" call.
28472// Exactly one of *Empty or error will be non-nil. Any non-2xx status
28473// code is an error. Response headers are in either
28474// *Empty.ServerResponse.Header or (if a response was returned at all)
28475// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
28476// check whether the returned error was because http.StatusNotModified
28477// was returned.
28478func (c *InventorySourceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
28479	gensupport.SetOptions(c.urlParams_, opts...)
28480	res, err := c.doRequest("json")
28481	if res != nil && res.StatusCode == http.StatusNotModified {
28482		if res.Body != nil {
28483			res.Body.Close()
28484		}
28485		return nil, &googleapi.Error{
28486			Code:   res.StatusCode,
28487			Header: res.Header,
28488		}
28489	}
28490	if err != nil {
28491		return nil, err
28492	}
28493	defer googleapi.CloseBody(res)
28494	if err := googleapi.CheckResponse(res); err != nil {
28495		return nil, err
28496	}
28497	ret := &Empty{
28498		ServerResponse: googleapi.ServerResponse{
28499			Header:         res.Header,
28500			HTTPStatusCode: res.StatusCode,
28501		},
28502	}
28503	target := &ret
28504	if err := gensupport.DecodeResponse(target, res); err != nil {
28505		return nil, err
28506	}
28507	return ret, nil
28508	// {
28509	//   "description": "Deletes an inventory source group.",
28510	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}",
28511	//   "httpMethod": "DELETE",
28512	//   "id": "displayvideo.inventorySourceGroups.delete",
28513	//   "parameterOrder": [
28514	//     "inventorySourceGroupId"
28515	//   ],
28516	//   "parameters": {
28517	//     "advertiserId": {
28518	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.",
28519	//       "format": "int64",
28520	//       "location": "query",
28521	//       "type": "string"
28522	//     },
28523	//     "inventorySourceGroupId": {
28524	//       "description": "Required. The ID of the inventory source group to delete.",
28525	//       "format": "int64",
28526	//       "location": "path",
28527	//       "pattern": "^[^/]+$",
28528	//       "required": true,
28529	//       "type": "string"
28530	//     },
28531	//     "partnerId": {
28532	//       "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.",
28533	//       "format": "int64",
28534	//       "location": "query",
28535	//       "type": "string"
28536	//     }
28537	//   },
28538	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}",
28539	//   "response": {
28540	//     "$ref": "Empty"
28541	//   },
28542	//   "scopes": [
28543	//     "https://www.googleapis.com/auth/display-video"
28544	//   ]
28545	// }
28546
28547}
28548
28549// method id "displayvideo.inventorySourceGroups.get":
28550
28551type InventorySourceGroupsGetCall struct {
28552	s                      *Service
28553	inventorySourceGroupId int64
28554	urlParams_             gensupport.URLParams
28555	ifNoneMatch_           string
28556	ctx_                   context.Context
28557	header_                http.Header
28558}
28559
28560// Get: Gets an inventory source group.
28561func (r *InventorySourceGroupsService) Get(inventorySourceGroupId int64) *InventorySourceGroupsGetCall {
28562	c := &InventorySourceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28563	c.inventorySourceGroupId = inventorySourceGroupId
28564	return c
28565}
28566
28567// AdvertiserId sets the optional parameter "advertiserId": The ID of
28568// the advertiser that has access to the inventory source group. If an
28569// inventory source group is partner-owned, only advertisers to which
28570// the group is explicitly shared can access the group.
28571func (c *InventorySourceGroupsGetCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsGetCall {
28572	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28573	return c
28574}
28575
28576// PartnerId sets the optional parameter "partnerId": The ID of the
28577// partner that has access to the inventory source group. A partner
28578// cannot access an advertiser-owned inventory source group.
28579func (c *InventorySourceGroupsGetCall) PartnerId(partnerId int64) *InventorySourceGroupsGetCall {
28580	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
28581	return c
28582}
28583
28584// Fields allows partial responses to be retrieved. See
28585// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28586// for more information.
28587func (c *InventorySourceGroupsGetCall) Fields(s ...googleapi.Field) *InventorySourceGroupsGetCall {
28588	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28589	return c
28590}
28591
28592// IfNoneMatch sets the optional parameter which makes the operation
28593// fail if the object's ETag matches the given value. This is useful for
28594// getting updates only after the object has changed since the last
28595// request. Use googleapi.IsNotModified to check whether the response
28596// error from Do is the result of In-None-Match.
28597func (c *InventorySourceGroupsGetCall) IfNoneMatch(entityTag string) *InventorySourceGroupsGetCall {
28598	c.ifNoneMatch_ = entityTag
28599	return c
28600}
28601
28602// Context sets the context to be used in this call's Do method. Any
28603// pending HTTP request will be aborted if the provided context is
28604// canceled.
28605func (c *InventorySourceGroupsGetCall) Context(ctx context.Context) *InventorySourceGroupsGetCall {
28606	c.ctx_ = ctx
28607	return c
28608}
28609
28610// Header returns an http.Header that can be modified by the caller to
28611// add HTTP headers to the request.
28612func (c *InventorySourceGroupsGetCall) Header() http.Header {
28613	if c.header_ == nil {
28614		c.header_ = make(http.Header)
28615	}
28616	return c.header_
28617}
28618
28619func (c *InventorySourceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
28620	reqHeaders := make(http.Header)
28621	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28622	for k, v := range c.header_ {
28623		reqHeaders[k] = v
28624	}
28625	reqHeaders.Set("User-Agent", c.s.userAgent())
28626	if c.ifNoneMatch_ != "" {
28627		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28628	}
28629	var body io.Reader = nil
28630	c.urlParams_.Set("alt", alt)
28631	c.urlParams_.Set("prettyPrint", "false")
28632	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}")
28633	urls += "?" + c.urlParams_.Encode()
28634	req, err := http.NewRequest("GET", urls, body)
28635	if err != nil {
28636		return nil, err
28637	}
28638	req.Header = reqHeaders
28639	googleapi.Expand(req.URL, map[string]string{
28640		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
28641	})
28642	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28643}
28644
28645// Do executes the "displayvideo.inventorySourceGroups.get" call.
28646// Exactly one of *InventorySourceGroup or error will be non-nil. Any
28647// non-2xx status code is an error. Response headers are in either
28648// *InventorySourceGroup.ServerResponse.Header or (if a response was
28649// returned at all) in error.(*googleapi.Error).Header. Use
28650// googleapi.IsNotModified to check whether the returned error was
28651// because http.StatusNotModified was returned.
28652func (c *InventorySourceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
28653	gensupport.SetOptions(c.urlParams_, opts...)
28654	res, err := c.doRequest("json")
28655	if res != nil && res.StatusCode == http.StatusNotModified {
28656		if res.Body != nil {
28657			res.Body.Close()
28658		}
28659		return nil, &googleapi.Error{
28660			Code:   res.StatusCode,
28661			Header: res.Header,
28662		}
28663	}
28664	if err != nil {
28665		return nil, err
28666	}
28667	defer googleapi.CloseBody(res)
28668	if err := googleapi.CheckResponse(res); err != nil {
28669		return nil, err
28670	}
28671	ret := &InventorySourceGroup{
28672		ServerResponse: googleapi.ServerResponse{
28673			Header:         res.Header,
28674			HTTPStatusCode: res.StatusCode,
28675		},
28676	}
28677	target := &ret
28678	if err := gensupport.DecodeResponse(target, res); err != nil {
28679		return nil, err
28680	}
28681	return ret, nil
28682	// {
28683	//   "description": "Gets an inventory source group.",
28684	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}",
28685	//   "httpMethod": "GET",
28686	//   "id": "displayvideo.inventorySourceGroups.get",
28687	//   "parameterOrder": [
28688	//     "inventorySourceGroupId"
28689	//   ],
28690	//   "parameters": {
28691	//     "advertiserId": {
28692	//       "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.",
28693	//       "format": "int64",
28694	//       "location": "query",
28695	//       "type": "string"
28696	//     },
28697	//     "inventorySourceGroupId": {
28698	//       "description": "Required. The ID of the inventory source group to fetch.",
28699	//       "format": "int64",
28700	//       "location": "path",
28701	//       "pattern": "^[^/]+$",
28702	//       "required": true,
28703	//       "type": "string"
28704	//     },
28705	//     "partnerId": {
28706	//       "description": "The ID of the partner that has access to the inventory source group. A partner cannot access an advertiser-owned inventory source group.",
28707	//       "format": "int64",
28708	//       "location": "query",
28709	//       "type": "string"
28710	//     }
28711	//   },
28712	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}",
28713	//   "response": {
28714	//     "$ref": "InventorySourceGroup"
28715	//   },
28716	//   "scopes": [
28717	//     "https://www.googleapis.com/auth/display-video"
28718	//   ]
28719	// }
28720
28721}
28722
28723// method id "displayvideo.inventorySourceGroups.list":
28724
28725type InventorySourceGroupsListCall struct {
28726	s            *Service
28727	urlParams_   gensupport.URLParams
28728	ifNoneMatch_ string
28729	ctx_         context.Context
28730	header_      http.Header
28731}
28732
28733// List: Lists inventory source groups that are accessible to the
28734// current user. The order is defined by the order_by parameter.
28735func (r *InventorySourceGroupsService) List() *InventorySourceGroupsListCall {
28736	c := &InventorySourceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28737	return c
28738}
28739
28740// AdvertiserId sets the optional parameter "advertiserId": The ID of
28741// the advertiser that has access to the inventory source group. If an
28742// inventory source group is partner-owned, only advertisers to which
28743// the group is explicitly shared can access the group.
28744func (c *InventorySourceGroupsListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsListCall {
28745	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28746	return c
28747}
28748
28749// Filter sets the optional parameter "filter": Allows filtering by
28750// inventory source group properties. Supported syntax: * Filter
28751// expressions are made up of one or more restrictions. * Restrictions
28752// can be combined by the logical operator `OR`. * A restriction has the
28753// form of `{field} {operator} {value}`. * The operator must be `EQUALS
28754// (=)`. * Supported fields: - `inventorySourceGroupId` The length of
28755// this field should be no more than 500 characters.
28756func (c *InventorySourceGroupsListCall) Filter(filter string) *InventorySourceGroupsListCall {
28757	c.urlParams_.Set("filter", filter)
28758	return c
28759}
28760
28761// OrderBy sets the optional parameter "orderBy": Field by which to sort
28762// the list. Acceptable values are: * `displayName` (default) *
28763// `inventorySourceGroupId` The default sorting order is ascending. To
28764// specify descending order for a field, a suffix "desc" should be added
28765// to the field name. For example, `displayName desc`.
28766func (c *InventorySourceGroupsListCall) OrderBy(orderBy string) *InventorySourceGroupsListCall {
28767	c.urlParams_.Set("orderBy", orderBy)
28768	return c
28769}
28770
28771// PageSize sets the optional parameter "pageSize": Requested page size.
28772// Must be between `1` and `100`. If unspecified will default to `100`.
28773func (c *InventorySourceGroupsListCall) PageSize(pageSize int64) *InventorySourceGroupsListCall {
28774	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
28775	return c
28776}
28777
28778// PageToken sets the optional parameter "pageToken": A token
28779// identifying a page of results the server should return. Typically,
28780// this is the value of next_page_token returned from the previous call
28781// to `ListInventorySources` method. If not specified, the first page of
28782// results will be returned.
28783func (c *InventorySourceGroupsListCall) PageToken(pageToken string) *InventorySourceGroupsListCall {
28784	c.urlParams_.Set("pageToken", pageToken)
28785	return c
28786}
28787
28788// PartnerId sets the optional parameter "partnerId": The ID of the
28789// partner that has access to the inventory source group. A partner
28790// cannot access advertiser-owned inventory source groups.
28791func (c *InventorySourceGroupsListCall) PartnerId(partnerId int64) *InventorySourceGroupsListCall {
28792	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
28793	return c
28794}
28795
28796// Fields allows partial responses to be retrieved. See
28797// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28798// for more information.
28799func (c *InventorySourceGroupsListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsListCall {
28800	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28801	return c
28802}
28803
28804// IfNoneMatch sets the optional parameter which makes the operation
28805// fail if the object's ETag matches the given value. This is useful for
28806// getting updates only after the object has changed since the last
28807// request. Use googleapi.IsNotModified to check whether the response
28808// error from Do is the result of In-None-Match.
28809func (c *InventorySourceGroupsListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsListCall {
28810	c.ifNoneMatch_ = entityTag
28811	return c
28812}
28813
28814// Context sets the context to be used in this call's Do method. Any
28815// pending HTTP request will be aborted if the provided context is
28816// canceled.
28817func (c *InventorySourceGroupsListCall) Context(ctx context.Context) *InventorySourceGroupsListCall {
28818	c.ctx_ = ctx
28819	return c
28820}
28821
28822// Header returns an http.Header that can be modified by the caller to
28823// add HTTP headers to the request.
28824func (c *InventorySourceGroupsListCall) Header() http.Header {
28825	if c.header_ == nil {
28826		c.header_ = make(http.Header)
28827	}
28828	return c.header_
28829}
28830
28831func (c *InventorySourceGroupsListCall) doRequest(alt string) (*http.Response, error) {
28832	reqHeaders := make(http.Header)
28833	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28834	for k, v := range c.header_ {
28835		reqHeaders[k] = v
28836	}
28837	reqHeaders.Set("User-Agent", c.s.userAgent())
28838	if c.ifNoneMatch_ != "" {
28839		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28840	}
28841	var body io.Reader = nil
28842	c.urlParams_.Set("alt", alt)
28843	c.urlParams_.Set("prettyPrint", "false")
28844	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups")
28845	urls += "?" + c.urlParams_.Encode()
28846	req, err := http.NewRequest("GET", urls, body)
28847	if err != nil {
28848		return nil, err
28849	}
28850	req.Header = reqHeaders
28851	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28852}
28853
28854// Do executes the "displayvideo.inventorySourceGroups.list" call.
28855// Exactly one of *ListInventorySourceGroupsResponse or error will be
28856// non-nil. Any non-2xx status code is an error. Response headers are in
28857// either *ListInventorySourceGroupsResponse.ServerResponse.Header or
28858// (if a response was returned at all) in
28859// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
28860// whether the returned error was because http.StatusNotModified was
28861// returned.
28862func (c *InventorySourceGroupsListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourceGroupsResponse, error) {
28863	gensupport.SetOptions(c.urlParams_, opts...)
28864	res, err := c.doRequest("json")
28865	if res != nil && res.StatusCode == http.StatusNotModified {
28866		if res.Body != nil {
28867			res.Body.Close()
28868		}
28869		return nil, &googleapi.Error{
28870			Code:   res.StatusCode,
28871			Header: res.Header,
28872		}
28873	}
28874	if err != nil {
28875		return nil, err
28876	}
28877	defer googleapi.CloseBody(res)
28878	if err := googleapi.CheckResponse(res); err != nil {
28879		return nil, err
28880	}
28881	ret := &ListInventorySourceGroupsResponse{
28882		ServerResponse: googleapi.ServerResponse{
28883			Header:         res.Header,
28884			HTTPStatusCode: res.StatusCode,
28885		},
28886	}
28887	target := &ret
28888	if err := gensupport.DecodeResponse(target, res); err != nil {
28889		return nil, err
28890	}
28891	return ret, nil
28892	// {
28893	//   "description": "Lists inventory source groups that are accessible to the current user. The order is defined by the order_by parameter.",
28894	//   "flatPath": "v1/inventorySourceGroups",
28895	//   "httpMethod": "GET",
28896	//   "id": "displayvideo.inventorySourceGroups.list",
28897	//   "parameterOrder": [],
28898	//   "parameters": {
28899	//     "advertiserId": {
28900	//       "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.",
28901	//       "format": "int64",
28902	//       "location": "query",
28903	//       "type": "string"
28904	//     },
28905	//     "filter": {
28906	//       "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.",
28907	//       "location": "query",
28908	//       "type": "string"
28909	//     },
28910	//     "orderBy": {
28911	//       "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`.",
28912	//       "location": "query",
28913	//       "type": "string"
28914	//     },
28915	//     "pageSize": {
28916	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
28917	//       "format": "int32",
28918	//       "location": "query",
28919	//       "type": "integer"
28920	//     },
28921	//     "pageToken": {
28922	//       "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.",
28923	//       "location": "query",
28924	//       "type": "string"
28925	//     },
28926	//     "partnerId": {
28927	//       "description": "The ID of the partner that has access to the inventory source group. A partner cannot access advertiser-owned inventory source groups.",
28928	//       "format": "int64",
28929	//       "location": "query",
28930	//       "type": "string"
28931	//     }
28932	//   },
28933	//   "path": "v1/inventorySourceGroups",
28934	//   "response": {
28935	//     "$ref": "ListInventorySourceGroupsResponse"
28936	//   },
28937	//   "scopes": [
28938	//     "https://www.googleapis.com/auth/display-video"
28939	//   ]
28940	// }
28941
28942}
28943
28944// Pages invokes f for each page of results.
28945// A non-nil error returned from f will halt the iteration.
28946// The provided context supersedes any context provided to the Context method.
28947func (c *InventorySourceGroupsListCall) Pages(ctx context.Context, f func(*ListInventorySourceGroupsResponse) error) error {
28948	c.ctx_ = ctx
28949	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28950	for {
28951		x, err := c.Do()
28952		if err != nil {
28953			return err
28954		}
28955		if err := f(x); err != nil {
28956			return err
28957		}
28958		if x.NextPageToken == "" {
28959			return nil
28960		}
28961		c.PageToken(x.NextPageToken)
28962	}
28963}
28964
28965// method id "displayvideo.inventorySourceGroups.patch":
28966
28967type InventorySourceGroupsPatchCall struct {
28968	s                      *Service
28969	inventorySourceGroupId int64
28970	inventorysourcegroup   *InventorySourceGroup
28971	urlParams_             gensupport.URLParams
28972	ctx_                   context.Context
28973	header_                http.Header
28974}
28975
28976// Patch: Updates an inventory source group. Returns the updated
28977// inventory source group if successful.
28978func (r *InventorySourceGroupsService) Patch(inventorySourceGroupId int64, inventorysourcegroup *InventorySourceGroup) *InventorySourceGroupsPatchCall {
28979	c := &InventorySourceGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28980	c.inventorySourceGroupId = inventorySourceGroupId
28981	c.inventorysourcegroup = inventorysourcegroup
28982	return c
28983}
28984
28985// AdvertiserId sets the optional parameter "advertiserId": The ID of
28986// the advertiser that owns the inventory source group. The parent
28987// partner does not have access to this group.
28988func (c *InventorySourceGroupsPatchCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsPatchCall {
28989	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28990	return c
28991}
28992
28993// PartnerId sets the optional parameter "partnerId": The ID of the
28994// partner that owns the inventory source group. Only this partner has
28995// write access to this group.
28996func (c *InventorySourceGroupsPatchCall) PartnerId(partnerId int64) *InventorySourceGroupsPatchCall {
28997	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
28998	return c
28999}
29000
29001// UpdateMask sets the optional parameter "updateMask": Required. The
29002// mask to control which fields to update.
29003func (c *InventorySourceGroupsPatchCall) UpdateMask(updateMask string) *InventorySourceGroupsPatchCall {
29004	c.urlParams_.Set("updateMask", updateMask)
29005	return c
29006}
29007
29008// Fields allows partial responses to be retrieved. See
29009// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29010// for more information.
29011func (c *InventorySourceGroupsPatchCall) Fields(s ...googleapi.Field) *InventorySourceGroupsPatchCall {
29012	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29013	return c
29014}
29015
29016// Context sets the context to be used in this call's Do method. Any
29017// pending HTTP request will be aborted if the provided context is
29018// canceled.
29019func (c *InventorySourceGroupsPatchCall) Context(ctx context.Context) *InventorySourceGroupsPatchCall {
29020	c.ctx_ = ctx
29021	return c
29022}
29023
29024// Header returns an http.Header that can be modified by the caller to
29025// add HTTP headers to the request.
29026func (c *InventorySourceGroupsPatchCall) Header() http.Header {
29027	if c.header_ == nil {
29028		c.header_ = make(http.Header)
29029	}
29030	return c.header_
29031}
29032
29033func (c *InventorySourceGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
29034	reqHeaders := make(http.Header)
29035	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29036	for k, v := range c.header_ {
29037		reqHeaders[k] = v
29038	}
29039	reqHeaders.Set("User-Agent", c.s.userAgent())
29040	var body io.Reader = nil
29041	body, err := googleapi.WithoutDataWrapper.JSONReader(c.inventorysourcegroup)
29042	if err != nil {
29043		return nil, err
29044	}
29045	reqHeaders.Set("Content-Type", "application/json")
29046	c.urlParams_.Set("alt", alt)
29047	c.urlParams_.Set("prettyPrint", "false")
29048	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{inventorySourceGroupId}")
29049	urls += "?" + c.urlParams_.Encode()
29050	req, err := http.NewRequest("PATCH", urls, body)
29051	if err != nil {
29052		return nil, err
29053	}
29054	req.Header = reqHeaders
29055	googleapi.Expand(req.URL, map[string]string{
29056		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
29057	})
29058	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29059}
29060
29061// Do executes the "displayvideo.inventorySourceGroups.patch" call.
29062// Exactly one of *InventorySourceGroup or error will be non-nil. Any
29063// non-2xx status code is an error. Response headers are in either
29064// *InventorySourceGroup.ServerResponse.Header or (if a response was
29065// returned at all) in error.(*googleapi.Error).Header. Use
29066// googleapi.IsNotModified to check whether the returned error was
29067// because http.StatusNotModified was returned.
29068func (c *InventorySourceGroupsPatchCall) Do(opts ...googleapi.CallOption) (*InventorySourceGroup, error) {
29069	gensupport.SetOptions(c.urlParams_, opts...)
29070	res, err := c.doRequest("json")
29071	if res != nil && res.StatusCode == http.StatusNotModified {
29072		if res.Body != nil {
29073			res.Body.Close()
29074		}
29075		return nil, &googleapi.Error{
29076			Code:   res.StatusCode,
29077			Header: res.Header,
29078		}
29079	}
29080	if err != nil {
29081		return nil, err
29082	}
29083	defer googleapi.CloseBody(res)
29084	if err := googleapi.CheckResponse(res); err != nil {
29085		return nil, err
29086	}
29087	ret := &InventorySourceGroup{
29088		ServerResponse: googleapi.ServerResponse{
29089			Header:         res.Header,
29090			HTTPStatusCode: res.StatusCode,
29091		},
29092	}
29093	target := &ret
29094	if err := gensupport.DecodeResponse(target, res); err != nil {
29095		return nil, err
29096	}
29097	return ret, nil
29098	// {
29099	//   "description": "Updates an inventory source group. Returns the updated inventory source group if successful.",
29100	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupId}",
29101	//   "httpMethod": "PATCH",
29102	//   "id": "displayvideo.inventorySourceGroups.patch",
29103	//   "parameterOrder": [
29104	//     "inventorySourceGroupId"
29105	//   ],
29106	//   "parameters": {
29107	//     "advertiserId": {
29108	//       "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.",
29109	//       "format": "int64",
29110	//       "location": "query",
29111	//       "type": "string"
29112	//     },
29113	//     "inventorySourceGroupId": {
29114	//       "description": "Output only. The unique ID of the inventory source group. Assigned by the system.",
29115	//       "format": "int64",
29116	//       "location": "path",
29117	//       "required": true,
29118	//       "type": "string"
29119	//     },
29120	//     "partnerId": {
29121	//       "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.",
29122	//       "format": "int64",
29123	//       "location": "query",
29124	//       "type": "string"
29125	//     },
29126	//     "updateMask": {
29127	//       "description": "Required. The mask to control which fields to update.",
29128	//       "format": "google-fieldmask",
29129	//       "location": "query",
29130	//       "type": "string"
29131	//     }
29132	//   },
29133	//   "path": "v1/inventorySourceGroups/{inventorySourceGroupId}",
29134	//   "request": {
29135	//     "$ref": "InventorySourceGroup"
29136	//   },
29137	//   "response": {
29138	//     "$ref": "InventorySourceGroup"
29139	//   },
29140	//   "scopes": [
29141	//     "https://www.googleapis.com/auth/display-video"
29142	//   ]
29143	// }
29144
29145}
29146
29147// method id "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit":
29148
29149type InventorySourceGroupsAssignedInventorySourcesBulkEditCall struct {
29150	s                                       *Service
29151	inventorySourceGroupId                  int64
29152	bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest
29153	urlParams_                              gensupport.URLParams
29154	ctx_                                    context.Context
29155	header_                                 http.Header
29156}
29157
29158// BulkEdit: Bulk edits multiple assignments between inventory sources
29159// and a single inventory source group. The operation will delete the
29160// assigned inventory sources provided in
29161// BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sou
29162// rces and then create the assigned inventory sources provided in
29163// BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sou
29164// rces.
29165func (r *InventorySourceGroupsAssignedInventorySourcesService) BulkEdit(inventorySourceGroupId int64, bulkeditassignedinventorysourcesrequest *BulkEditAssignedInventorySourcesRequest) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
29166	c := &InventorySourceGroupsAssignedInventorySourcesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29167	c.inventorySourceGroupId = inventorySourceGroupId
29168	c.bulkeditassignedinventorysourcesrequest = bulkeditassignedinventorysourcesrequest
29169	return c
29170}
29171
29172// Fields allows partial responses to be retrieved. See
29173// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29174// for more information.
29175func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
29176	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29177	return c
29178}
29179
29180// Context sets the context to be used in this call's Do method. Any
29181// pending HTTP request will be aborted if the provided context is
29182// canceled.
29183func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesBulkEditCall {
29184	c.ctx_ = ctx
29185	return c
29186}
29187
29188// Header returns an http.Header that can be modified by the caller to
29189// add HTTP headers to the request.
29190func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Header() http.Header {
29191	if c.header_ == nil {
29192		c.header_ = make(http.Header)
29193	}
29194	return c.header_
29195}
29196
29197func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) doRequest(alt string) (*http.Response, error) {
29198	reqHeaders := make(http.Header)
29199	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29200	for k, v := range c.header_ {
29201		reqHeaders[k] = v
29202	}
29203	reqHeaders.Set("User-Agent", c.s.userAgent())
29204	var body io.Reader = nil
29205	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassignedinventorysourcesrequest)
29206	if err != nil {
29207		return nil, err
29208	}
29209	reqHeaders.Set("Content-Type", "application/json")
29210	c.urlParams_.Set("alt", alt)
29211	c.urlParams_.Set("prettyPrint", "false")
29212	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit")
29213	urls += "?" + c.urlParams_.Encode()
29214	req, err := http.NewRequest("POST", urls, body)
29215	if err != nil {
29216		return nil, err
29217	}
29218	req.Header = reqHeaders
29219	googleapi.Expand(req.URL, map[string]string{
29220		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
29221	})
29222	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29223}
29224
29225// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit" call.
29226// Exactly one of *BulkEditAssignedInventorySourcesResponse or error
29227// will be non-nil. Any non-2xx status code is an error. Response
29228// headers are in either
29229// *BulkEditAssignedInventorySourcesResponse.ServerResponse.Header or
29230// (if a response was returned at all) in
29231// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29232// whether the returned error was because http.StatusNotModified was
29233// returned.
29234func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedInventorySourcesResponse, error) {
29235	gensupport.SetOptions(c.urlParams_, opts...)
29236	res, err := c.doRequest("json")
29237	if res != nil && res.StatusCode == http.StatusNotModified {
29238		if res.Body != nil {
29239			res.Body.Close()
29240		}
29241		return nil, &googleapi.Error{
29242			Code:   res.StatusCode,
29243			Header: res.Header,
29244		}
29245	}
29246	if err != nil {
29247		return nil, err
29248	}
29249	defer googleapi.CloseBody(res)
29250	if err := googleapi.CheckResponse(res); err != nil {
29251		return nil, err
29252	}
29253	ret := &BulkEditAssignedInventorySourcesResponse{
29254		ServerResponse: googleapi.ServerResponse{
29255			Header:         res.Header,
29256			HTTPStatusCode: res.StatusCode,
29257		},
29258	}
29259	target := &ret
29260	if err := gensupport.DecodeResponse(target, res); err != nil {
29261		return nil, err
29262	}
29263	return ret, nil
29264	// {
29265	//   "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.",
29266	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources:bulkEdit",
29267	//   "httpMethod": "POST",
29268	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit",
29269	//   "parameterOrder": [
29270	//     "inventorySourceGroupId"
29271	//   ],
29272	//   "parameters": {
29273	//     "inventorySourceGroupId": {
29274	//       "description": "Required. The ID of the inventory source group to which the assignments are assigned.",
29275	//       "format": "int64",
29276	//       "location": "path",
29277	//       "pattern": "^[^/]+$",
29278	//       "required": true,
29279	//       "type": "string"
29280	//     }
29281	//   },
29282	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit",
29283	//   "request": {
29284	//     "$ref": "BulkEditAssignedInventorySourcesRequest"
29285	//   },
29286	//   "response": {
29287	//     "$ref": "BulkEditAssignedInventorySourcesResponse"
29288	//   },
29289	//   "scopes": [
29290	//     "https://www.googleapis.com/auth/display-video"
29291	//   ]
29292	// }
29293
29294}
29295
29296// method id "displayvideo.inventorySourceGroups.assignedInventorySources.create":
29297
29298type InventorySourceGroupsAssignedInventorySourcesCreateCall struct {
29299	s                       *Service
29300	inventorySourceGroupId  int64
29301	assignedinventorysource *AssignedInventorySource
29302	urlParams_              gensupport.URLParams
29303	ctx_                    context.Context
29304	header_                 http.Header
29305}
29306
29307// Create: Creates an assignment between an inventory source and an
29308// inventory source group.
29309func (r *InventorySourceGroupsAssignedInventorySourcesService) Create(inventorySourceGroupId int64, assignedinventorysource *AssignedInventorySource) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
29310	c := &InventorySourceGroupsAssignedInventorySourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29311	c.inventorySourceGroupId = inventorySourceGroupId
29312	c.assignedinventorysource = assignedinventorysource
29313	return c
29314}
29315
29316// AdvertiserId sets the optional parameter "advertiserId": The ID of
29317// the advertiser that owns the parent inventory source group. The
29318// parent partner will not have access to this assigned inventory
29319// source.
29320func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
29321	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
29322	return c
29323}
29324
29325// PartnerId sets the optional parameter "partnerId": The ID of the
29326// partner that owns the parent inventory source group. Only this
29327// partner will have write access to this assigned inventory source.
29328func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
29329	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
29330	return c
29331}
29332
29333// Fields allows partial responses to be retrieved. See
29334// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29335// for more information.
29336func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
29337	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29338	return c
29339}
29340
29341// Context sets the context to be used in this call's Do method. Any
29342// pending HTTP request will be aborted if the provided context is
29343// canceled.
29344func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesCreateCall {
29345	c.ctx_ = ctx
29346	return c
29347}
29348
29349// Header returns an http.Header that can be modified by the caller to
29350// add HTTP headers to the request.
29351func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Header() http.Header {
29352	if c.header_ == nil {
29353		c.header_ = make(http.Header)
29354	}
29355	return c.header_
29356}
29357
29358func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
29359	reqHeaders := make(http.Header)
29360	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29361	for k, v := range c.header_ {
29362		reqHeaders[k] = v
29363	}
29364	reqHeaders.Set("User-Agent", c.s.userAgent())
29365	var body io.Reader = nil
29366	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedinventorysource)
29367	if err != nil {
29368		return nil, err
29369	}
29370	reqHeaders.Set("Content-Type", "application/json")
29371	c.urlParams_.Set("alt", alt)
29372	c.urlParams_.Set("prettyPrint", "false")
29373	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
29374	urls += "?" + c.urlParams_.Encode()
29375	req, err := http.NewRequest("POST", urls, body)
29376	if err != nil {
29377		return nil, err
29378	}
29379	req.Header = reqHeaders
29380	googleapi.Expand(req.URL, map[string]string{
29381		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
29382	})
29383	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29384}
29385
29386// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.create" call.
29387// Exactly one of *AssignedInventorySource or error will be non-nil. Any
29388// non-2xx status code is an error. Response headers are in either
29389// *AssignedInventorySource.ServerResponse.Header or (if a response was
29390// returned at all) in error.(*googleapi.Error).Header. Use
29391// googleapi.IsNotModified to check whether the returned error was
29392// because http.StatusNotModified was returned.
29393func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) Do(opts ...googleapi.CallOption) (*AssignedInventorySource, error) {
29394	gensupport.SetOptions(c.urlParams_, opts...)
29395	res, err := c.doRequest("json")
29396	if res != nil && res.StatusCode == http.StatusNotModified {
29397		if res.Body != nil {
29398			res.Body.Close()
29399		}
29400		return nil, &googleapi.Error{
29401			Code:   res.StatusCode,
29402			Header: res.Header,
29403		}
29404	}
29405	if err != nil {
29406		return nil, err
29407	}
29408	defer googleapi.CloseBody(res)
29409	if err := googleapi.CheckResponse(res); err != nil {
29410		return nil, err
29411	}
29412	ret := &AssignedInventorySource{
29413		ServerResponse: googleapi.ServerResponse{
29414			Header:         res.Header,
29415			HTTPStatusCode: res.StatusCode,
29416		},
29417	}
29418	target := &ret
29419	if err := gensupport.DecodeResponse(target, res); err != nil {
29420		return nil, err
29421	}
29422	return ret, nil
29423	// {
29424	//   "description": "Creates an assignment between an inventory source and an inventory source group.",
29425	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
29426	//   "httpMethod": "POST",
29427	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.create",
29428	//   "parameterOrder": [
29429	//     "inventorySourceGroupId"
29430	//   ],
29431	//   "parameters": {
29432	//     "advertiserId": {
29433	//       "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.",
29434	//       "format": "int64",
29435	//       "location": "query",
29436	//       "type": "string"
29437	//     },
29438	//     "inventorySourceGroupId": {
29439	//       "description": "Required. The ID of the inventory source group to which the assignment will be assigned.",
29440	//       "format": "int64",
29441	//       "location": "path",
29442	//       "pattern": "^[^/]+$",
29443	//       "required": true,
29444	//       "type": "string"
29445	//     },
29446	//     "partnerId": {
29447	//       "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.",
29448	//       "format": "int64",
29449	//       "location": "query",
29450	//       "type": "string"
29451	//     }
29452	//   },
29453	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
29454	//   "request": {
29455	//     "$ref": "AssignedInventorySource"
29456	//   },
29457	//   "response": {
29458	//     "$ref": "AssignedInventorySource"
29459	//   },
29460	//   "scopes": [
29461	//     "https://www.googleapis.com/auth/display-video"
29462	//   ]
29463	// }
29464
29465}
29466
29467// method id "displayvideo.inventorySourceGroups.assignedInventorySources.delete":
29468
29469type InventorySourceGroupsAssignedInventorySourcesDeleteCall struct {
29470	s                         *Service
29471	inventorySourceGroupId    int64
29472	assignedInventorySourceId int64
29473	urlParams_                gensupport.URLParams
29474	ctx_                      context.Context
29475	header_                   http.Header
29476}
29477
29478// Delete: Deletes the assignment between an inventory source and an
29479// inventory source group.
29480func (r *InventorySourceGroupsAssignedInventorySourcesService) Delete(inventorySourceGroupId int64, assignedInventorySourceId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
29481	c := &InventorySourceGroupsAssignedInventorySourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29482	c.inventorySourceGroupId = inventorySourceGroupId
29483	c.assignedInventorySourceId = assignedInventorySourceId
29484	return c
29485}
29486
29487// AdvertiserId sets the optional parameter "advertiserId": The ID of
29488// the advertiser that owns the parent inventory source group. The
29489// parent partner does not have access to this assigned inventory
29490// source.
29491func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
29492	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
29493	return c
29494}
29495
29496// PartnerId sets the optional parameter "partnerId": The ID of the
29497// partner that owns the parent inventory source group. Only this
29498// partner has write access to this assigned inventory source.
29499func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
29500	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
29501	return c
29502}
29503
29504// Fields allows partial responses to be retrieved. See
29505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29506// for more information.
29507func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
29508	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29509	return c
29510}
29511
29512// Context sets the context to be used in this call's Do method. Any
29513// pending HTTP request will be aborted if the provided context is
29514// canceled.
29515func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesDeleteCall {
29516	c.ctx_ = ctx
29517	return c
29518}
29519
29520// Header returns an http.Header that can be modified by the caller to
29521// add HTTP headers to the request.
29522func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Header() http.Header {
29523	if c.header_ == nil {
29524		c.header_ = make(http.Header)
29525	}
29526	return c.header_
29527}
29528
29529func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
29530	reqHeaders := make(http.Header)
29531	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29532	for k, v := range c.header_ {
29533		reqHeaders[k] = v
29534	}
29535	reqHeaders.Set("User-Agent", c.s.userAgent())
29536	var body io.Reader = nil
29537	c.urlParams_.Set("alt", alt)
29538	c.urlParams_.Set("prettyPrint", "false")
29539	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}")
29540	urls += "?" + c.urlParams_.Encode()
29541	req, err := http.NewRequest("DELETE", urls, body)
29542	if err != nil {
29543		return nil, err
29544	}
29545	req.Header = reqHeaders
29546	googleapi.Expand(req.URL, map[string]string{
29547		"inventorySourceGroupId":    strconv.FormatInt(c.inventorySourceGroupId, 10),
29548		"assignedInventorySourceId": strconv.FormatInt(c.assignedInventorySourceId, 10),
29549	})
29550	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29551}
29552
29553// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.delete" call.
29554// Exactly one of *Empty or error will be non-nil. Any non-2xx status
29555// code is an error. Response headers are in either
29556// *Empty.ServerResponse.Header or (if a response was returned at all)
29557// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
29558// check whether the returned error was because http.StatusNotModified
29559// was returned.
29560func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
29561	gensupport.SetOptions(c.urlParams_, opts...)
29562	res, err := c.doRequest("json")
29563	if res != nil && res.StatusCode == http.StatusNotModified {
29564		if res.Body != nil {
29565			res.Body.Close()
29566		}
29567		return nil, &googleapi.Error{
29568			Code:   res.StatusCode,
29569			Header: res.Header,
29570		}
29571	}
29572	if err != nil {
29573		return nil, err
29574	}
29575	defer googleapi.CloseBody(res)
29576	if err := googleapi.CheckResponse(res); err != nil {
29577		return nil, err
29578	}
29579	ret := &Empty{
29580		ServerResponse: googleapi.ServerResponse{
29581			Header:         res.Header,
29582			HTTPStatusCode: res.StatusCode,
29583		},
29584	}
29585	target := &ret
29586	if err := gensupport.DecodeResponse(target, res); err != nil {
29587		return nil, err
29588	}
29589	return ret, nil
29590	// {
29591	//   "description": "Deletes the assignment between an inventory source and an inventory source group.",
29592	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources/{assignedInventorySourcesId}",
29593	//   "httpMethod": "DELETE",
29594	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.delete",
29595	//   "parameterOrder": [
29596	//     "inventorySourceGroupId",
29597	//     "assignedInventorySourceId"
29598	//   ],
29599	//   "parameters": {
29600	//     "advertiserId": {
29601	//       "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.",
29602	//       "format": "int64",
29603	//       "location": "query",
29604	//       "type": "string"
29605	//     },
29606	//     "assignedInventorySourceId": {
29607	//       "description": "Required. The ID of the assigned inventory source to delete.",
29608	//       "format": "int64",
29609	//       "location": "path",
29610	//       "pattern": "^[^/]+$",
29611	//       "required": true,
29612	//       "type": "string"
29613	//     },
29614	//     "inventorySourceGroupId": {
29615	//       "description": "Required. The ID of the inventory source group to which this assignment is assigned.",
29616	//       "format": "int64",
29617	//       "location": "path",
29618	//       "pattern": "^[^/]+$",
29619	//       "required": true,
29620	//       "type": "string"
29621	//     },
29622	//     "partnerId": {
29623	//       "description": "The ID of the partner that owns the parent inventory source group. Only this partner has write access to this assigned inventory source.",
29624	//       "format": "int64",
29625	//       "location": "query",
29626	//       "type": "string"
29627	//     }
29628	//   },
29629	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}",
29630	//   "response": {
29631	//     "$ref": "Empty"
29632	//   },
29633	//   "scopes": [
29634	//     "https://www.googleapis.com/auth/display-video"
29635	//   ]
29636	// }
29637
29638}
29639
29640// method id "displayvideo.inventorySourceGroups.assignedInventorySources.list":
29641
29642type InventorySourceGroupsAssignedInventorySourcesListCall struct {
29643	s                      *Service
29644	inventorySourceGroupId int64
29645	urlParams_             gensupport.URLParams
29646	ifNoneMatch_           string
29647	ctx_                   context.Context
29648	header_                http.Header
29649}
29650
29651// List: Lists inventory sources assigned to an inventory source group.
29652func (r *InventorySourceGroupsAssignedInventorySourcesService) List(inventorySourceGroupId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
29653	c := &InventorySourceGroupsAssignedInventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29654	c.inventorySourceGroupId = inventorySourceGroupId
29655	return c
29656}
29657
29658// AdvertiserId sets the optional parameter "advertiserId": The ID of
29659// the advertiser that has access to the assignment. If the parent
29660// inventory source group is partner-owned, only advertisers to which
29661// the parent group is explicitly shared can access the assigned
29662// inventory source.
29663func (c *InventorySourceGroupsAssignedInventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
29664	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
29665	return c
29666}
29667
29668// Filter sets the optional parameter "filter": Allows filtering by
29669// assigned inventory source fields. Supported syntax: * Filter
29670// expressions are made up of one or more restrictions. * Restrictions
29671// can be combined by the logical operator `OR`. * A restriction has the
29672// form of `{field} {operator} {value}`. * The operator must be `EQUALS
29673// (=)`. * Supported fields: - `assignedInventorySourceId` The length of
29674// this field should be no more than 500 characters.
29675func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Filter(filter string) *InventorySourceGroupsAssignedInventorySourcesListCall {
29676	c.urlParams_.Set("filter", filter)
29677	return c
29678}
29679
29680// OrderBy sets the optional parameter "orderBy": Field by which to sort
29681// the list. Acceptable values are: * `assignedInventorySourceId`
29682// (default) The default sorting order is ascending. To specify
29683// descending order for a field, a suffix " desc" should be added to the
29684// field name. Example: `assignedInventorySourceId desc`.
29685func (c *InventorySourceGroupsAssignedInventorySourcesListCall) OrderBy(orderBy string) *InventorySourceGroupsAssignedInventorySourcesListCall {
29686	c.urlParams_.Set("orderBy", orderBy)
29687	return c
29688}
29689
29690// PageSize sets the optional parameter "pageSize": Requested page size.
29691// Must be between `1` and `100`. If unspecified will default to `100`.
29692// Returns error code `INVALID_ARGUMENT` if an invalid value is
29693// specified.
29694func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageSize(pageSize int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
29695	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
29696	return c
29697}
29698
29699// PageToken sets the optional parameter "pageToken": A token
29700// identifying a page of results the server should return. Typically,
29701// this is the value of next_page_token returned from the previous call
29702// to `ListAssignedInventorySources` method. If not specified, the first
29703// page of results will be returned.
29704func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PageToken(pageToken string) *InventorySourceGroupsAssignedInventorySourcesListCall {
29705	c.urlParams_.Set("pageToken", pageToken)
29706	return c
29707}
29708
29709// PartnerId sets the optional parameter "partnerId": The ID of the
29710// partner that has access to the assignment. If the parent inventory
29711// source group is advertiser-owned, the assignment cannot be accessed
29712// via a partner.
29713func (c *InventorySourceGroupsAssignedInventorySourcesListCall) PartnerId(partnerId int64) *InventorySourceGroupsAssignedInventorySourcesListCall {
29714	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
29715	return c
29716}
29717
29718// Fields allows partial responses to be retrieved. See
29719// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29720// for more information.
29721func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourceGroupsAssignedInventorySourcesListCall {
29722	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29723	return c
29724}
29725
29726// IfNoneMatch sets the optional parameter which makes the operation
29727// fail if the object's ETag matches the given value. This is useful for
29728// getting updates only after the object has changed since the last
29729// request. Use googleapi.IsNotModified to check whether the response
29730// error from Do is the result of In-None-Match.
29731func (c *InventorySourceGroupsAssignedInventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourceGroupsAssignedInventorySourcesListCall {
29732	c.ifNoneMatch_ = entityTag
29733	return c
29734}
29735
29736// Context sets the context to be used in this call's Do method. Any
29737// pending HTTP request will be aborted if the provided context is
29738// canceled.
29739func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Context(ctx context.Context) *InventorySourceGroupsAssignedInventorySourcesListCall {
29740	c.ctx_ = ctx
29741	return c
29742}
29743
29744// Header returns an http.Header that can be modified by the caller to
29745// add HTTP headers to the request.
29746func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Header() http.Header {
29747	if c.header_ == nil {
29748		c.header_ = make(http.Header)
29749	}
29750	return c.header_
29751}
29752
29753func (c *InventorySourceGroupsAssignedInventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
29754	reqHeaders := make(http.Header)
29755	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29756	for k, v := range c.header_ {
29757		reqHeaders[k] = v
29758	}
29759	reqHeaders.Set("User-Agent", c.s.userAgent())
29760	if c.ifNoneMatch_ != "" {
29761		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29762	}
29763	var body io.Reader = nil
29764	c.urlParams_.Set("alt", alt)
29765	c.urlParams_.Set("prettyPrint", "false")
29766	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources")
29767	urls += "?" + c.urlParams_.Encode()
29768	req, err := http.NewRequest("GET", urls, body)
29769	if err != nil {
29770		return nil, err
29771	}
29772	req.Header = reqHeaders
29773	googleapi.Expand(req.URL, map[string]string{
29774		"inventorySourceGroupId": strconv.FormatInt(c.inventorySourceGroupId, 10),
29775	})
29776	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29777}
29778
29779// Do executes the "displayvideo.inventorySourceGroups.assignedInventorySources.list" call.
29780// Exactly one of *ListAssignedInventorySourcesResponse or error will be
29781// non-nil. Any non-2xx status code is an error. Response headers are in
29782// either *ListAssignedInventorySourcesResponse.ServerResponse.Header or
29783// (if a response was returned at all) in
29784// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29785// whether the returned error was because http.StatusNotModified was
29786// returned.
29787func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListAssignedInventorySourcesResponse, error) {
29788	gensupport.SetOptions(c.urlParams_, opts...)
29789	res, err := c.doRequest("json")
29790	if res != nil && res.StatusCode == http.StatusNotModified {
29791		if res.Body != nil {
29792			res.Body.Close()
29793		}
29794		return nil, &googleapi.Error{
29795			Code:   res.StatusCode,
29796			Header: res.Header,
29797		}
29798	}
29799	if err != nil {
29800		return nil, err
29801	}
29802	defer googleapi.CloseBody(res)
29803	if err := googleapi.CheckResponse(res); err != nil {
29804		return nil, err
29805	}
29806	ret := &ListAssignedInventorySourcesResponse{
29807		ServerResponse: googleapi.ServerResponse{
29808			Header:         res.Header,
29809			HTTPStatusCode: res.StatusCode,
29810		},
29811	}
29812	target := &ret
29813	if err := gensupport.DecodeResponse(target, res); err != nil {
29814		return nil, err
29815	}
29816	return ret, nil
29817	// {
29818	//   "description": "Lists inventory sources assigned to an inventory source group.",
29819	//   "flatPath": "v1/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources",
29820	//   "httpMethod": "GET",
29821	//   "id": "displayvideo.inventorySourceGroups.assignedInventorySources.list",
29822	//   "parameterOrder": [
29823	//     "inventorySourceGroupId"
29824	//   ],
29825	//   "parameters": {
29826	//     "advertiserId": {
29827	//       "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.",
29828	//       "format": "int64",
29829	//       "location": "query",
29830	//       "type": "string"
29831	//     },
29832	//     "filter": {
29833	//       "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.",
29834	//       "location": "query",
29835	//       "type": "string"
29836	//     },
29837	//     "inventorySourceGroupId": {
29838	//       "description": "Required. The ID of the inventory source group to which these assignments are assigned.",
29839	//       "format": "int64",
29840	//       "location": "path",
29841	//       "pattern": "^[^/]+$",
29842	//       "required": true,
29843	//       "type": "string"
29844	//     },
29845	//     "orderBy": {
29846	//       "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`.",
29847	//       "location": "query",
29848	//       "type": "string"
29849	//     },
29850	//     "pageSize": {
29851	//       "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.",
29852	//       "format": "int32",
29853	//       "location": "query",
29854	//       "type": "integer"
29855	//     },
29856	//     "pageToken": {
29857	//       "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.",
29858	//       "location": "query",
29859	//       "type": "string"
29860	//     },
29861	//     "partnerId": {
29862	//       "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.",
29863	//       "format": "int64",
29864	//       "location": "query",
29865	//       "type": "string"
29866	//     }
29867	//   },
29868	//   "path": "v1/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources",
29869	//   "response": {
29870	//     "$ref": "ListAssignedInventorySourcesResponse"
29871	//   },
29872	//   "scopes": [
29873	//     "https://www.googleapis.com/auth/display-video"
29874	//   ]
29875	// }
29876
29877}
29878
29879// Pages invokes f for each page of results.
29880// A non-nil error returned from f will halt the iteration.
29881// The provided context supersedes any context provided to the Context method.
29882func (c *InventorySourceGroupsAssignedInventorySourcesListCall) Pages(ctx context.Context, f func(*ListAssignedInventorySourcesResponse) error) error {
29883	c.ctx_ = ctx
29884	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29885	for {
29886		x, err := c.Do()
29887		if err != nil {
29888			return err
29889		}
29890		if err := f(x); err != nil {
29891			return err
29892		}
29893		if x.NextPageToken == "" {
29894			return nil
29895		}
29896		c.PageToken(x.NextPageToken)
29897	}
29898}
29899
29900// method id "displayvideo.inventorySources.get":
29901
29902type InventorySourcesGetCall struct {
29903	s                 *Service
29904	inventorySourceId int64
29905	urlParams_        gensupport.URLParams
29906	ifNoneMatch_      string
29907	ctx_              context.Context
29908	header_           http.Header
29909}
29910
29911// Get: Gets an inventory source.
29912func (r *InventorySourcesService) Get(inventorySourceId int64) *InventorySourcesGetCall {
29913	c := &InventorySourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29914	c.inventorySourceId = inventorySourceId
29915	return c
29916}
29917
29918// PartnerId sets the optional parameter "partnerId": Required. The ID
29919// of the DV360 partner to which the fetched inventory source is
29920// permissioned.
29921func (c *InventorySourcesGetCall) PartnerId(partnerId int64) *InventorySourcesGetCall {
29922	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
29923	return c
29924}
29925
29926// Fields allows partial responses to be retrieved. See
29927// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29928// for more information.
29929func (c *InventorySourcesGetCall) Fields(s ...googleapi.Field) *InventorySourcesGetCall {
29930	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29931	return c
29932}
29933
29934// IfNoneMatch sets the optional parameter which makes the operation
29935// fail if the object's ETag matches the given value. This is useful for
29936// getting updates only after the object has changed since the last
29937// request. Use googleapi.IsNotModified to check whether the response
29938// error from Do is the result of In-None-Match.
29939func (c *InventorySourcesGetCall) IfNoneMatch(entityTag string) *InventorySourcesGetCall {
29940	c.ifNoneMatch_ = entityTag
29941	return c
29942}
29943
29944// Context sets the context to be used in this call's Do method. Any
29945// pending HTTP request will be aborted if the provided context is
29946// canceled.
29947func (c *InventorySourcesGetCall) Context(ctx context.Context) *InventorySourcesGetCall {
29948	c.ctx_ = ctx
29949	return c
29950}
29951
29952// Header returns an http.Header that can be modified by the caller to
29953// add HTTP headers to the request.
29954func (c *InventorySourcesGetCall) Header() http.Header {
29955	if c.header_ == nil {
29956		c.header_ = make(http.Header)
29957	}
29958	return c.header_
29959}
29960
29961func (c *InventorySourcesGetCall) doRequest(alt string) (*http.Response, error) {
29962	reqHeaders := make(http.Header)
29963	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29964	for k, v := range c.header_ {
29965		reqHeaders[k] = v
29966	}
29967	reqHeaders.Set("User-Agent", c.s.userAgent())
29968	if c.ifNoneMatch_ != "" {
29969		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29970	}
29971	var body io.Reader = nil
29972	c.urlParams_.Set("alt", alt)
29973	c.urlParams_.Set("prettyPrint", "false")
29974	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySources/{+inventorySourceId}")
29975	urls += "?" + c.urlParams_.Encode()
29976	req, err := http.NewRequest("GET", urls, body)
29977	if err != nil {
29978		return nil, err
29979	}
29980	req.Header = reqHeaders
29981	googleapi.Expand(req.URL, map[string]string{
29982		"inventorySourceId": strconv.FormatInt(c.inventorySourceId, 10),
29983	})
29984	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29985}
29986
29987// Do executes the "displayvideo.inventorySources.get" call.
29988// Exactly one of *InventorySource or error will be non-nil. Any non-2xx
29989// status code is an error. Response headers are in either
29990// *InventorySource.ServerResponse.Header or (if a response was returned
29991// at all) in error.(*googleapi.Error).Header. Use
29992// googleapi.IsNotModified to check whether the returned error was
29993// because http.StatusNotModified was returned.
29994func (c *InventorySourcesGetCall) Do(opts ...googleapi.CallOption) (*InventorySource, error) {
29995	gensupport.SetOptions(c.urlParams_, opts...)
29996	res, err := c.doRequest("json")
29997	if res != nil && res.StatusCode == http.StatusNotModified {
29998		if res.Body != nil {
29999			res.Body.Close()
30000		}
30001		return nil, &googleapi.Error{
30002			Code:   res.StatusCode,
30003			Header: res.Header,
30004		}
30005	}
30006	if err != nil {
30007		return nil, err
30008	}
30009	defer googleapi.CloseBody(res)
30010	if err := googleapi.CheckResponse(res); err != nil {
30011		return nil, err
30012	}
30013	ret := &InventorySource{
30014		ServerResponse: googleapi.ServerResponse{
30015			Header:         res.Header,
30016			HTTPStatusCode: res.StatusCode,
30017		},
30018	}
30019	target := &ret
30020	if err := gensupport.DecodeResponse(target, res); err != nil {
30021		return nil, err
30022	}
30023	return ret, nil
30024	// {
30025	//   "description": "Gets an inventory source.",
30026	//   "flatPath": "v1/inventorySources/{inventorySourcesId}",
30027	//   "httpMethod": "GET",
30028	//   "id": "displayvideo.inventorySources.get",
30029	//   "parameterOrder": [
30030	//     "inventorySourceId"
30031	//   ],
30032	//   "parameters": {
30033	//     "inventorySourceId": {
30034	//       "description": "Required. The ID of the inventory source to fetch.",
30035	//       "format": "int64",
30036	//       "location": "path",
30037	//       "pattern": "^[^/]+$",
30038	//       "required": true,
30039	//       "type": "string"
30040	//     },
30041	//     "partnerId": {
30042	//       "description": "Required. The ID of the DV360 partner to which the fetched inventory source is permissioned.",
30043	//       "format": "int64",
30044	//       "location": "query",
30045	//       "type": "string"
30046	//     }
30047	//   },
30048	//   "path": "v1/inventorySources/{+inventorySourceId}",
30049	//   "response": {
30050	//     "$ref": "InventorySource"
30051	//   },
30052	//   "scopes": [
30053	//     "https://www.googleapis.com/auth/display-video"
30054	//   ]
30055	// }
30056
30057}
30058
30059// method id "displayvideo.inventorySources.list":
30060
30061type InventorySourcesListCall struct {
30062	s            *Service
30063	urlParams_   gensupport.URLParams
30064	ifNoneMatch_ string
30065	ctx_         context.Context
30066	header_      http.Header
30067}
30068
30069// List: Lists inventory sources that are accessible to the current
30070// user. The order is defined by the order_by parameter. If a filter by
30071// entity_status is not specified, inventory sources with entity status
30072// `ENTITY_STATUS_ARCHIVED` will not be included in the results.
30073func (r *InventorySourcesService) List() *InventorySourcesListCall {
30074	c := &InventorySourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30075	return c
30076}
30077
30078// AdvertiserId sets the optional parameter "advertiserId": The ID of
30079// the advertiser that has access to the inventory source.
30080func (c *InventorySourcesListCall) AdvertiserId(advertiserId int64) *InventorySourcesListCall {
30081	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30082	return c
30083}
30084
30085// Filter sets the optional parameter "filter": Allows filtering by
30086// inventory source properties. Supported syntax: * Filter expressions
30087// are made up of one or more restrictions. * Restrictions can be
30088// combined by `AND` or `OR` logical operators. A sequence of
30089// restrictions implicitly uses `AND`. * A restriction has the form of
30090// `{field} {operator} {value}`. * The operator must be `EQUALS (=)`. *
30091// Supported fields: - `status.entityStatus` - `commitment` -
30092// `deliveryMethod` - `rateDetails.rateType` - `exchange` Examples: *
30093// All active inventory sources:
30094// `status.entityStatus="ENTITY_STATUS_ACTIVE" * Inventory sources
30095// belonging to Google Ad Manager or Rubicon exchanges:
30096// `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR
30097// exchange="EXCHANGE_RUBICON" The length of this field should be no
30098// more than 500 characters.
30099func (c *InventorySourcesListCall) Filter(filter string) *InventorySourcesListCall {
30100	c.urlParams_.Set("filter", filter)
30101	return c
30102}
30103
30104// OrderBy sets the optional parameter "orderBy": Field by which to sort
30105// the list. Acceptable values are: * `displayName` (default) The
30106// default sorting order is ascending. To specify descending order for a
30107// field, a suffix "desc" should be added to the field name. For
30108// example, `displayName desc`.
30109func (c *InventorySourcesListCall) OrderBy(orderBy string) *InventorySourcesListCall {
30110	c.urlParams_.Set("orderBy", orderBy)
30111	return c
30112}
30113
30114// PageSize sets the optional parameter "pageSize": Requested page size.
30115// Must be between `1` and `100`. If unspecified will default to `100`.
30116func (c *InventorySourcesListCall) PageSize(pageSize int64) *InventorySourcesListCall {
30117	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
30118	return c
30119}
30120
30121// PageToken sets the optional parameter "pageToken": A token
30122// identifying a page of results the server should return. Typically,
30123// this is the value of next_page_token returned from the previous call
30124// to `ListInventorySources` method. If not specified, the first page of
30125// results will be returned.
30126func (c *InventorySourcesListCall) PageToken(pageToken string) *InventorySourcesListCall {
30127	c.urlParams_.Set("pageToken", pageToken)
30128	return c
30129}
30130
30131// PartnerId sets the optional parameter "partnerId": The ID of the
30132// partner that has access to the inventory source.
30133func (c *InventorySourcesListCall) PartnerId(partnerId int64) *InventorySourcesListCall {
30134	c.urlParams_.Set("partnerId", fmt.Sprint(partnerId))
30135	return c
30136}
30137
30138// Fields allows partial responses to be retrieved. See
30139// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30140// for more information.
30141func (c *InventorySourcesListCall) Fields(s ...googleapi.Field) *InventorySourcesListCall {
30142	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30143	return c
30144}
30145
30146// IfNoneMatch sets the optional parameter which makes the operation
30147// fail if the object's ETag matches the given value. This is useful for
30148// getting updates only after the object has changed since the last
30149// request. Use googleapi.IsNotModified to check whether the response
30150// error from Do is the result of In-None-Match.
30151func (c *InventorySourcesListCall) IfNoneMatch(entityTag string) *InventorySourcesListCall {
30152	c.ifNoneMatch_ = entityTag
30153	return c
30154}
30155
30156// Context sets the context to be used in this call's Do method. Any
30157// pending HTTP request will be aborted if the provided context is
30158// canceled.
30159func (c *InventorySourcesListCall) Context(ctx context.Context) *InventorySourcesListCall {
30160	c.ctx_ = ctx
30161	return c
30162}
30163
30164// Header returns an http.Header that can be modified by the caller to
30165// add HTTP headers to the request.
30166func (c *InventorySourcesListCall) Header() http.Header {
30167	if c.header_ == nil {
30168		c.header_ = make(http.Header)
30169	}
30170	return c.header_
30171}
30172
30173func (c *InventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
30174	reqHeaders := make(http.Header)
30175	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30176	for k, v := range c.header_ {
30177		reqHeaders[k] = v
30178	}
30179	reqHeaders.Set("User-Agent", c.s.userAgent())
30180	if c.ifNoneMatch_ != "" {
30181		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30182	}
30183	var body io.Reader = nil
30184	c.urlParams_.Set("alt", alt)
30185	c.urlParams_.Set("prettyPrint", "false")
30186	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/inventorySources")
30187	urls += "?" + c.urlParams_.Encode()
30188	req, err := http.NewRequest("GET", urls, body)
30189	if err != nil {
30190		return nil, err
30191	}
30192	req.Header = reqHeaders
30193	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30194}
30195
30196// Do executes the "displayvideo.inventorySources.list" call.
30197// Exactly one of *ListInventorySourcesResponse or error will be
30198// non-nil. Any non-2xx status code is an error. Response headers are in
30199// either *ListInventorySourcesResponse.ServerResponse.Header or (if a
30200// response was returned at all) in error.(*googleapi.Error).Header. Use
30201// googleapi.IsNotModified to check whether the returned error was
30202// because http.StatusNotModified was returned.
30203func (c *InventorySourcesListCall) Do(opts ...googleapi.CallOption) (*ListInventorySourcesResponse, error) {
30204	gensupport.SetOptions(c.urlParams_, opts...)
30205	res, err := c.doRequest("json")
30206	if res != nil && res.StatusCode == http.StatusNotModified {
30207		if res.Body != nil {
30208			res.Body.Close()
30209		}
30210		return nil, &googleapi.Error{
30211			Code:   res.StatusCode,
30212			Header: res.Header,
30213		}
30214	}
30215	if err != nil {
30216		return nil, err
30217	}
30218	defer googleapi.CloseBody(res)
30219	if err := googleapi.CheckResponse(res); err != nil {
30220		return nil, err
30221	}
30222	ret := &ListInventorySourcesResponse{
30223		ServerResponse: googleapi.ServerResponse{
30224			Header:         res.Header,
30225			HTTPStatusCode: res.StatusCode,
30226		},
30227	}
30228	target := &ret
30229	if err := gensupport.DecodeResponse(target, res); err != nil {
30230		return nil, err
30231	}
30232	return ret, nil
30233	// {
30234	//   "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.",
30235	//   "flatPath": "v1/inventorySources",
30236	//   "httpMethod": "GET",
30237	//   "id": "displayvideo.inventorySources.list",
30238	//   "parameterOrder": [],
30239	//   "parameters": {
30240	//     "advertiserId": {
30241	//       "description": "The ID of the advertiser that has access to the inventory source.",
30242	//       "format": "int64",
30243	//       "location": "query",
30244	//       "type": "string"
30245	//     },
30246	//     "filter": {
30247	//       "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.",
30248	//       "location": "query",
30249	//       "type": "string"
30250	//     },
30251	//     "orderBy": {
30252	//       "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`.",
30253	//       "location": "query",
30254	//       "type": "string"
30255	//     },
30256	//     "pageSize": {
30257	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
30258	//       "format": "int32",
30259	//       "location": "query",
30260	//       "type": "integer"
30261	//     },
30262	//     "pageToken": {
30263	//       "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.",
30264	//       "location": "query",
30265	//       "type": "string"
30266	//     },
30267	//     "partnerId": {
30268	//       "description": "The ID of the partner that has access to the inventory source.",
30269	//       "format": "int64",
30270	//       "location": "query",
30271	//       "type": "string"
30272	//     }
30273	//   },
30274	//   "path": "v1/inventorySources",
30275	//   "response": {
30276	//     "$ref": "ListInventorySourcesResponse"
30277	//   },
30278	//   "scopes": [
30279	//     "https://www.googleapis.com/auth/display-video"
30280	//   ]
30281	// }
30282
30283}
30284
30285// Pages invokes f for each page of results.
30286// A non-nil error returned from f will halt the iteration.
30287// The provided context supersedes any context provided to the Context method.
30288func (c *InventorySourcesListCall) Pages(ctx context.Context, f func(*ListInventorySourcesResponse) error) error {
30289	c.ctx_ = ctx
30290	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30291	for {
30292		x, err := c.Do()
30293		if err != nil {
30294			return err
30295		}
30296		if err := f(x); err != nil {
30297			return err
30298		}
30299		if x.NextPageToken == "" {
30300			return nil
30301		}
30302		c.PageToken(x.NextPageToken)
30303	}
30304}
30305
30306// method id "displayvideo.media.download":
30307
30308type MediaDownloadCall struct {
30309	s            *Service
30310	resourceName string
30311	urlParams_   gensupport.URLParams
30312	ifNoneMatch_ string
30313	ctx_         context.Context
30314	header_      http.Header
30315}
30316
30317// Download: Downloads media. Download is supported on the URI
30318// `/download/{resource_name=**}?alt=media.` **Note**: Download requests
30319// will not be successful without including `alt=media` query string.
30320func (r *MediaService) Download(resourceName string) *MediaDownloadCall {
30321	c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30322	c.resourceName = resourceName
30323	return c
30324}
30325
30326// Fields allows partial responses to be retrieved. See
30327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30328// for more information.
30329func (c *MediaDownloadCall) Fields(s ...googleapi.Field) *MediaDownloadCall {
30330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30331	return c
30332}
30333
30334// IfNoneMatch sets the optional parameter which makes the operation
30335// fail if the object's ETag matches the given value. This is useful for
30336// getting updates only after the object has changed since the last
30337// request. Use googleapi.IsNotModified to check whether the response
30338// error from Do is the result of In-None-Match.
30339func (c *MediaDownloadCall) IfNoneMatch(entityTag string) *MediaDownloadCall {
30340	c.ifNoneMatch_ = entityTag
30341	return c
30342}
30343
30344// Context sets the context to be used in this call's Do and Download
30345// methods. Any pending HTTP request will be aborted if the provided
30346// context is canceled.
30347func (c *MediaDownloadCall) Context(ctx context.Context) *MediaDownloadCall {
30348	c.ctx_ = ctx
30349	return c
30350}
30351
30352// Header returns an http.Header that can be modified by the caller to
30353// add HTTP headers to the request.
30354func (c *MediaDownloadCall) Header() http.Header {
30355	if c.header_ == nil {
30356		c.header_ = make(http.Header)
30357	}
30358	return c.header_
30359}
30360
30361func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
30362	reqHeaders := make(http.Header)
30363	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30364	for k, v := range c.header_ {
30365		reqHeaders[k] = v
30366	}
30367	reqHeaders.Set("User-Agent", c.s.userAgent())
30368	if c.ifNoneMatch_ != "" {
30369		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30370	}
30371	var body io.Reader = nil
30372	c.urlParams_.Set("alt", alt)
30373	c.urlParams_.Set("prettyPrint", "false")
30374	urls := googleapi.ResolveRelative(c.s.BasePath, "download/{+resourceName}")
30375	urls += "?" + c.urlParams_.Encode()
30376	req, err := http.NewRequest("GET", urls, body)
30377	if err != nil {
30378		return nil, err
30379	}
30380	req.Header = reqHeaders
30381	googleapi.Expand(req.URL, map[string]string{
30382		"resourceName": c.resourceName,
30383	})
30384	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30385}
30386
30387// Download fetches the API endpoint's "media" value, instead of the normal
30388// API response value. If the returned error is nil, the Response is guaranteed to
30389// have a 2xx status code. Callers must close the Response.Body as usual.
30390func (c *MediaDownloadCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
30391	gensupport.SetOptions(c.urlParams_, opts...)
30392	res, err := c.doRequest("media")
30393	if err != nil {
30394		return nil, err
30395	}
30396	if err := googleapi.CheckMediaResponse(res); err != nil {
30397		res.Body.Close()
30398		return nil, err
30399	}
30400	return res, nil
30401}
30402
30403// Do executes the "displayvideo.media.download" call.
30404// Exactly one of *GoogleBytestreamMedia or error will be non-nil. Any
30405// non-2xx status code is an error. Response headers are in either
30406// *GoogleBytestreamMedia.ServerResponse.Header or (if a response was
30407// returned at all) in error.(*googleapi.Error).Header. Use
30408// googleapi.IsNotModified to check whether the returned error was
30409// because http.StatusNotModified was returned.
30410func (c *MediaDownloadCall) Do(opts ...googleapi.CallOption) (*GoogleBytestreamMedia, error) {
30411	gensupport.SetOptions(c.urlParams_, opts...)
30412	res, err := c.doRequest("json")
30413	if res != nil && res.StatusCode == http.StatusNotModified {
30414		if res.Body != nil {
30415			res.Body.Close()
30416		}
30417		return nil, &googleapi.Error{
30418			Code:   res.StatusCode,
30419			Header: res.Header,
30420		}
30421	}
30422	if err != nil {
30423		return nil, err
30424	}
30425	defer googleapi.CloseBody(res)
30426	if err := googleapi.CheckResponse(res); err != nil {
30427		return nil, err
30428	}
30429	ret := &GoogleBytestreamMedia{
30430		ServerResponse: googleapi.ServerResponse{
30431			Header:         res.Header,
30432			HTTPStatusCode: res.StatusCode,
30433		},
30434	}
30435	target := &ret
30436	if err := gensupport.DecodeResponse(target, res); err != nil {
30437		return nil, err
30438	}
30439	return ret, nil
30440	// {
30441	//   "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.",
30442	//   "flatPath": "download/{downloadId}",
30443	//   "httpMethod": "GET",
30444	//   "id": "displayvideo.media.download",
30445	//   "parameterOrder": [
30446	//     "resourceName"
30447	//   ],
30448	//   "parameters": {
30449	//     "resourceName": {
30450	//       "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
30451	//       "location": "path",
30452	//       "pattern": "^.*$",
30453	//       "required": true,
30454	//       "type": "string"
30455	//     }
30456	//   },
30457	//   "path": "download/{+resourceName}",
30458	//   "response": {
30459	//     "$ref": "GoogleBytestreamMedia"
30460	//   },
30461	//   "scopes": [
30462	//     "https://www.googleapis.com/auth/display-video",
30463	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
30464	//   ],
30465	//   "supportsMediaDownload": true
30466	// }
30467
30468}
30469
30470// method id "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions":
30471
30472type PartnersBulkEditPartnerAssignedTargetingOptionsCall struct {
30473	s                                              *Service
30474	partnerId                                      int64
30475	bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest
30476	urlParams_                                     gensupport.URLParams
30477	ctx_                                           context.Context
30478	header_                                        http.Header
30479}
30480
30481// BulkEditPartnerAssignedTargetingOptions: Bulk edits targeting options
30482// under a single partner. The operation will delete the assigned
30483// targeting options provided in
30484// BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and
30485// then create the assigned targeting options provided in
30486// BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .
30487func (r *PartnersService) BulkEditPartnerAssignedTargetingOptions(partnerId int64, bulkeditpartnerassignedtargetingoptionsrequest *BulkEditPartnerAssignedTargetingOptionsRequest) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
30488	c := &PartnersBulkEditPartnerAssignedTargetingOptionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30489	c.partnerId = partnerId
30490	c.bulkeditpartnerassignedtargetingoptionsrequest = bulkeditpartnerassignedtargetingoptionsrequest
30491	return c
30492}
30493
30494// Fields allows partial responses to be retrieved. See
30495// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30496// for more information.
30497func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Fields(s ...googleapi.Field) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
30498	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30499	return c
30500}
30501
30502// Context sets the context to be used in this call's Do method. Any
30503// pending HTTP request will be aborted if the provided context is
30504// canceled.
30505func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Context(ctx context.Context) *PartnersBulkEditPartnerAssignedTargetingOptionsCall {
30506	c.ctx_ = ctx
30507	return c
30508}
30509
30510// Header returns an http.Header that can be modified by the caller to
30511// add HTTP headers to the request.
30512func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Header() http.Header {
30513	if c.header_ == nil {
30514		c.header_ = make(http.Header)
30515	}
30516	return c.header_
30517}
30518
30519func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
30520	reqHeaders := make(http.Header)
30521	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30522	for k, v := range c.header_ {
30523		reqHeaders[k] = v
30524	}
30525	reqHeaders.Set("User-Agent", c.s.userAgent())
30526	var body io.Reader = nil
30527	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditpartnerassignedtargetingoptionsrequest)
30528	if err != nil {
30529		return nil, err
30530	}
30531	reqHeaders.Set("Content-Type", "application/json")
30532	c.urlParams_.Set("alt", alt)
30533	c.urlParams_.Set("prettyPrint", "false")
30534	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}:bulkEditPartnerAssignedTargetingOptions")
30535	urls += "?" + c.urlParams_.Encode()
30536	req, err := http.NewRequest("POST", urls, body)
30537	if err != nil {
30538		return nil, err
30539	}
30540	req.Header = reqHeaders
30541	googleapi.Expand(req.URL, map[string]string{
30542		"partnerId": strconv.FormatInt(c.partnerId, 10),
30543	})
30544	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30545}
30546
30547// Do executes the "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions" call.
30548// Exactly one of *BulkEditPartnerAssignedTargetingOptionsResponse or
30549// error will be non-nil. Any non-2xx status code is an error. Response
30550// headers are in either
30551// *BulkEditPartnerAssignedTargetingOptionsResponse.ServerResponse.Header
30552//  or (if a response was returned at all) in
30553// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
30554// whether the returned error was because http.StatusNotModified was
30555// returned.
30556func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) Do(opts ...googleapi.CallOption) (*BulkEditPartnerAssignedTargetingOptionsResponse, error) {
30557	gensupport.SetOptions(c.urlParams_, opts...)
30558	res, err := c.doRequest("json")
30559	if res != nil && res.StatusCode == http.StatusNotModified {
30560		if res.Body != nil {
30561			res.Body.Close()
30562		}
30563		return nil, &googleapi.Error{
30564			Code:   res.StatusCode,
30565			Header: res.Header,
30566		}
30567	}
30568	if err != nil {
30569		return nil, err
30570	}
30571	defer googleapi.CloseBody(res)
30572	if err := googleapi.CheckResponse(res); err != nil {
30573		return nil, err
30574	}
30575	ret := &BulkEditPartnerAssignedTargetingOptionsResponse{
30576		ServerResponse: googleapi.ServerResponse{
30577			Header:         res.Header,
30578			HTTPStatusCode: res.StatusCode,
30579		},
30580	}
30581	target := &ret
30582	if err := gensupport.DecodeResponse(target, res); err != nil {
30583		return nil, err
30584	}
30585	return ret, nil
30586	// {
30587	//   "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 .",
30588	//   "flatPath": "v1/partners/{partnersId}:bulkEditPartnerAssignedTargetingOptions",
30589	//   "httpMethod": "POST",
30590	//   "id": "displayvideo.partners.bulkEditPartnerAssignedTargetingOptions",
30591	//   "parameterOrder": [
30592	//     "partnerId"
30593	//   ],
30594	//   "parameters": {
30595	//     "partnerId": {
30596	//       "description": "Required. The ID of the partner.",
30597	//       "format": "int64",
30598	//       "location": "path",
30599	//       "pattern": "^[^/]+$",
30600	//       "required": true,
30601	//       "type": "string"
30602	//     }
30603	//   },
30604	//   "path": "v1/partners/{+partnerId}:bulkEditPartnerAssignedTargetingOptions",
30605	//   "request": {
30606	//     "$ref": "BulkEditPartnerAssignedTargetingOptionsRequest"
30607	//   },
30608	//   "response": {
30609	//     "$ref": "BulkEditPartnerAssignedTargetingOptionsResponse"
30610	//   },
30611	//   "scopes": [
30612	//     "https://www.googleapis.com/auth/display-video"
30613	//   ]
30614	// }
30615
30616}
30617
30618// method id "displayvideo.partners.get":
30619
30620type PartnersGetCall struct {
30621	s            *Service
30622	partnerId    int64
30623	urlParams_   gensupport.URLParams
30624	ifNoneMatch_ string
30625	ctx_         context.Context
30626	header_      http.Header
30627}
30628
30629// Get: Gets a partner.
30630func (r *PartnersService) Get(partnerId int64) *PartnersGetCall {
30631	c := &PartnersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30632	c.partnerId = partnerId
30633	return c
30634}
30635
30636// Fields allows partial responses to be retrieved. See
30637// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30638// for more information.
30639func (c *PartnersGetCall) Fields(s ...googleapi.Field) *PartnersGetCall {
30640	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30641	return c
30642}
30643
30644// IfNoneMatch sets the optional parameter which makes the operation
30645// fail if the object's ETag matches the given value. This is useful for
30646// getting updates only after the object has changed since the last
30647// request. Use googleapi.IsNotModified to check whether the response
30648// error from Do is the result of In-None-Match.
30649func (c *PartnersGetCall) IfNoneMatch(entityTag string) *PartnersGetCall {
30650	c.ifNoneMatch_ = entityTag
30651	return c
30652}
30653
30654// Context sets the context to be used in this call's Do method. Any
30655// pending HTTP request will be aborted if the provided context is
30656// canceled.
30657func (c *PartnersGetCall) Context(ctx context.Context) *PartnersGetCall {
30658	c.ctx_ = ctx
30659	return c
30660}
30661
30662// Header returns an http.Header that can be modified by the caller to
30663// add HTTP headers to the request.
30664func (c *PartnersGetCall) Header() http.Header {
30665	if c.header_ == nil {
30666		c.header_ = make(http.Header)
30667	}
30668	return c.header_
30669}
30670
30671func (c *PartnersGetCall) doRequest(alt string) (*http.Response, error) {
30672	reqHeaders := make(http.Header)
30673	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30674	for k, v := range c.header_ {
30675		reqHeaders[k] = v
30676	}
30677	reqHeaders.Set("User-Agent", c.s.userAgent())
30678	if c.ifNoneMatch_ != "" {
30679		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30680	}
30681	var body io.Reader = nil
30682	c.urlParams_.Set("alt", alt)
30683	c.urlParams_.Set("prettyPrint", "false")
30684	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}")
30685	urls += "?" + c.urlParams_.Encode()
30686	req, err := http.NewRequest("GET", urls, body)
30687	if err != nil {
30688		return nil, err
30689	}
30690	req.Header = reqHeaders
30691	googleapi.Expand(req.URL, map[string]string{
30692		"partnerId": strconv.FormatInt(c.partnerId, 10),
30693	})
30694	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30695}
30696
30697// Do executes the "displayvideo.partners.get" call.
30698// Exactly one of *Partner or error will be non-nil. Any non-2xx status
30699// code is an error. Response headers are in either
30700// *Partner.ServerResponse.Header or (if a response was returned at all)
30701// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
30702// check whether the returned error was because http.StatusNotModified
30703// was returned.
30704func (c *PartnersGetCall) Do(opts ...googleapi.CallOption) (*Partner, error) {
30705	gensupport.SetOptions(c.urlParams_, opts...)
30706	res, err := c.doRequest("json")
30707	if res != nil && res.StatusCode == http.StatusNotModified {
30708		if res.Body != nil {
30709			res.Body.Close()
30710		}
30711		return nil, &googleapi.Error{
30712			Code:   res.StatusCode,
30713			Header: res.Header,
30714		}
30715	}
30716	if err != nil {
30717		return nil, err
30718	}
30719	defer googleapi.CloseBody(res)
30720	if err := googleapi.CheckResponse(res); err != nil {
30721		return nil, err
30722	}
30723	ret := &Partner{
30724		ServerResponse: googleapi.ServerResponse{
30725			Header:         res.Header,
30726			HTTPStatusCode: res.StatusCode,
30727		},
30728	}
30729	target := &ret
30730	if err := gensupport.DecodeResponse(target, res); err != nil {
30731		return nil, err
30732	}
30733	return ret, nil
30734	// {
30735	//   "description": "Gets a partner.",
30736	//   "flatPath": "v1/partners/{partnersId}",
30737	//   "httpMethod": "GET",
30738	//   "id": "displayvideo.partners.get",
30739	//   "parameterOrder": [
30740	//     "partnerId"
30741	//   ],
30742	//   "parameters": {
30743	//     "partnerId": {
30744	//       "description": "Required. The ID of the partner to fetch.",
30745	//       "format": "int64",
30746	//       "location": "path",
30747	//       "pattern": "^[^/]+$",
30748	//       "required": true,
30749	//       "type": "string"
30750	//     }
30751	//   },
30752	//   "path": "v1/partners/{+partnerId}",
30753	//   "response": {
30754	//     "$ref": "Partner"
30755	//   },
30756	//   "scopes": [
30757	//     "https://www.googleapis.com/auth/display-video"
30758	//   ]
30759	// }
30760
30761}
30762
30763// method id "displayvideo.partners.list":
30764
30765type PartnersListCall struct {
30766	s            *Service
30767	urlParams_   gensupport.URLParams
30768	ifNoneMatch_ string
30769	ctx_         context.Context
30770	header_      http.Header
30771}
30772
30773// List: Lists partners that are accessible to the current user. The
30774// order is defined by the order_by parameter.
30775func (r *PartnersService) List() *PartnersListCall {
30776	c := &PartnersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30777	return c
30778}
30779
30780// Filter sets the optional parameter "filter": Allows filtering by
30781// partner properties. Supported syntax: * Filter expressions are made
30782// up of one or more restrictions. * Restrictions can be combined by
30783// `AND` or `OR` logical operators. A sequence of restrictions
30784// implicitly uses `AND`. * A restriction has the form of `{field}
30785// {operator} {value}`. * The operator must be `EQUALS (=)`. * Supported
30786// fields: - `entityStatus` Examples: * All active partners:
30787// `entityStatus="ENTITY_STATUS_ACTIVE" The length of this field should
30788// be no more than 500 characters.
30789func (c *PartnersListCall) Filter(filter string) *PartnersListCall {
30790	c.urlParams_.Set("filter", filter)
30791	return c
30792}
30793
30794// OrderBy sets the optional parameter "orderBy": Field by which to sort
30795// the list. Acceptable values are: * `displayName` The default sorting
30796// order is ascending. To specify descending order for a field, a suffix
30797// "desc" should be added to the field name. For example, `displayName
30798// desc`.
30799func (c *PartnersListCall) OrderBy(orderBy string) *PartnersListCall {
30800	c.urlParams_.Set("orderBy", orderBy)
30801	return c
30802}
30803
30804// PageSize sets the optional parameter "pageSize": Requested page size.
30805// Must be between `1` and `100`. If unspecified will default to `100`.
30806func (c *PartnersListCall) PageSize(pageSize int64) *PartnersListCall {
30807	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
30808	return c
30809}
30810
30811// PageToken sets the optional parameter "pageToken": A token
30812// identifying a page of results the server should return. Typically,
30813// this is the value of next_page_token returned from the previous call
30814// to `ListPartners` method. If not specified, the first page of results
30815// will be returned.
30816func (c *PartnersListCall) PageToken(pageToken string) *PartnersListCall {
30817	c.urlParams_.Set("pageToken", pageToken)
30818	return c
30819}
30820
30821// Fields allows partial responses to be retrieved. See
30822// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30823// for more information.
30824func (c *PartnersListCall) Fields(s ...googleapi.Field) *PartnersListCall {
30825	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30826	return c
30827}
30828
30829// IfNoneMatch sets the optional parameter which makes the operation
30830// fail if the object's ETag matches the given value. This is useful for
30831// getting updates only after the object has changed since the last
30832// request. Use googleapi.IsNotModified to check whether the response
30833// error from Do is the result of In-None-Match.
30834func (c *PartnersListCall) IfNoneMatch(entityTag string) *PartnersListCall {
30835	c.ifNoneMatch_ = entityTag
30836	return c
30837}
30838
30839// Context sets the context to be used in this call's Do method. Any
30840// pending HTTP request will be aborted if the provided context is
30841// canceled.
30842func (c *PartnersListCall) Context(ctx context.Context) *PartnersListCall {
30843	c.ctx_ = ctx
30844	return c
30845}
30846
30847// Header returns an http.Header that can be modified by the caller to
30848// add HTTP headers to the request.
30849func (c *PartnersListCall) Header() http.Header {
30850	if c.header_ == nil {
30851		c.header_ = make(http.Header)
30852	}
30853	return c.header_
30854}
30855
30856func (c *PartnersListCall) doRequest(alt string) (*http.Response, error) {
30857	reqHeaders := make(http.Header)
30858	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30859	for k, v := range c.header_ {
30860		reqHeaders[k] = v
30861	}
30862	reqHeaders.Set("User-Agent", c.s.userAgent())
30863	if c.ifNoneMatch_ != "" {
30864		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30865	}
30866	var body io.Reader = nil
30867	c.urlParams_.Set("alt", alt)
30868	c.urlParams_.Set("prettyPrint", "false")
30869	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners")
30870	urls += "?" + c.urlParams_.Encode()
30871	req, err := http.NewRequest("GET", urls, body)
30872	if err != nil {
30873		return nil, err
30874	}
30875	req.Header = reqHeaders
30876	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30877}
30878
30879// Do executes the "displayvideo.partners.list" call.
30880// Exactly one of *ListPartnersResponse or error will be non-nil. Any
30881// non-2xx status code is an error. Response headers are in either
30882// *ListPartnersResponse.ServerResponse.Header or (if a response was
30883// returned at all) in error.(*googleapi.Error).Header. Use
30884// googleapi.IsNotModified to check whether the returned error was
30885// because http.StatusNotModified was returned.
30886func (c *PartnersListCall) Do(opts ...googleapi.CallOption) (*ListPartnersResponse, error) {
30887	gensupport.SetOptions(c.urlParams_, opts...)
30888	res, err := c.doRequest("json")
30889	if res != nil && res.StatusCode == http.StatusNotModified {
30890		if res.Body != nil {
30891			res.Body.Close()
30892		}
30893		return nil, &googleapi.Error{
30894			Code:   res.StatusCode,
30895			Header: res.Header,
30896		}
30897	}
30898	if err != nil {
30899		return nil, err
30900	}
30901	defer googleapi.CloseBody(res)
30902	if err := googleapi.CheckResponse(res); err != nil {
30903		return nil, err
30904	}
30905	ret := &ListPartnersResponse{
30906		ServerResponse: googleapi.ServerResponse{
30907			Header:         res.Header,
30908			HTTPStatusCode: res.StatusCode,
30909		},
30910	}
30911	target := &ret
30912	if err := gensupport.DecodeResponse(target, res); err != nil {
30913		return nil, err
30914	}
30915	return ret, nil
30916	// {
30917	//   "description": "Lists partners that are accessible to the current user. The order is defined by the order_by parameter.",
30918	//   "flatPath": "v1/partners",
30919	//   "httpMethod": "GET",
30920	//   "id": "displayvideo.partners.list",
30921	//   "parameterOrder": [],
30922	//   "parameters": {
30923	//     "filter": {
30924	//       "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.",
30925	//       "location": "query",
30926	//       "type": "string"
30927	//     },
30928	//     "orderBy": {
30929	//       "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`.",
30930	//       "location": "query",
30931	//       "type": "string"
30932	//     },
30933	//     "pageSize": {
30934	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
30935	//       "format": "int32",
30936	//       "location": "query",
30937	//       "type": "integer"
30938	//     },
30939	//     "pageToken": {
30940	//       "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.",
30941	//       "location": "query",
30942	//       "type": "string"
30943	//     }
30944	//   },
30945	//   "path": "v1/partners",
30946	//   "response": {
30947	//     "$ref": "ListPartnersResponse"
30948	//   },
30949	//   "scopes": [
30950	//     "https://www.googleapis.com/auth/display-video"
30951	//   ]
30952	// }
30953
30954}
30955
30956// Pages invokes f for each page of results.
30957// A non-nil error returned from f will halt the iteration.
30958// The provided context supersedes any context provided to the Context method.
30959func (c *PartnersListCall) Pages(ctx context.Context, f func(*ListPartnersResponse) error) error {
30960	c.ctx_ = ctx
30961	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30962	for {
30963		x, err := c.Do()
30964		if err != nil {
30965			return err
30966		}
30967		if err := f(x); err != nil {
30968			return err
30969		}
30970		if x.NextPageToken == "" {
30971			return nil
30972		}
30973		c.PageToken(x.NextPageToken)
30974	}
30975}
30976
30977// method id "displayvideo.partners.channels.create":
30978
30979type PartnersChannelsCreateCall struct {
30980	s          *Service
30981	partnerId  int64
30982	channel    *Channel
30983	urlParams_ gensupport.URLParams
30984	ctx_       context.Context
30985	header_    http.Header
30986}
30987
30988// Create: Creates a new channel. Returns the newly created channel if
30989// successful.
30990func (r *PartnersChannelsService) Create(partnerId int64, channel *Channel) *PartnersChannelsCreateCall {
30991	c := &PartnersChannelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30992	c.partnerId = partnerId
30993	c.channel = channel
30994	return c
30995}
30996
30997// AdvertiserId sets the optional parameter "advertiserId": The ID of
30998// the advertiser that owns the created channel.
30999func (c *PartnersChannelsCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsCreateCall {
31000	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31001	return c
31002}
31003
31004// Fields allows partial responses to be retrieved. See
31005// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31006// for more information.
31007func (c *PartnersChannelsCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsCreateCall {
31008	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31009	return c
31010}
31011
31012// Context sets the context to be used in this call's Do method. Any
31013// pending HTTP request will be aborted if the provided context is
31014// canceled.
31015func (c *PartnersChannelsCreateCall) Context(ctx context.Context) *PartnersChannelsCreateCall {
31016	c.ctx_ = ctx
31017	return c
31018}
31019
31020// Header returns an http.Header that can be modified by the caller to
31021// add HTTP headers to the request.
31022func (c *PartnersChannelsCreateCall) Header() http.Header {
31023	if c.header_ == nil {
31024		c.header_ = make(http.Header)
31025	}
31026	return c.header_
31027}
31028
31029func (c *PartnersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
31030	reqHeaders := make(http.Header)
31031	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31032	for k, v := range c.header_ {
31033		reqHeaders[k] = v
31034	}
31035	reqHeaders.Set("User-Agent", c.s.userAgent())
31036	var body io.Reader = nil
31037	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
31038	if err != nil {
31039		return nil, err
31040	}
31041	reqHeaders.Set("Content-Type", "application/json")
31042	c.urlParams_.Set("alt", alt)
31043	c.urlParams_.Set("prettyPrint", "false")
31044	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels")
31045	urls += "?" + c.urlParams_.Encode()
31046	req, err := http.NewRequest("POST", urls, body)
31047	if err != nil {
31048		return nil, err
31049	}
31050	req.Header = reqHeaders
31051	googleapi.Expand(req.URL, map[string]string{
31052		"partnerId": strconv.FormatInt(c.partnerId, 10),
31053	})
31054	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31055}
31056
31057// Do executes the "displayvideo.partners.channels.create" call.
31058// Exactly one of *Channel or error will be non-nil. Any non-2xx status
31059// code is an error. Response headers are in either
31060// *Channel.ServerResponse.Header or (if a response was returned at all)
31061// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
31062// check whether the returned error was because http.StatusNotModified
31063// was returned.
31064func (c *PartnersChannelsCreateCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
31065	gensupport.SetOptions(c.urlParams_, opts...)
31066	res, err := c.doRequest("json")
31067	if res != nil && res.StatusCode == http.StatusNotModified {
31068		if res.Body != nil {
31069			res.Body.Close()
31070		}
31071		return nil, &googleapi.Error{
31072			Code:   res.StatusCode,
31073			Header: res.Header,
31074		}
31075	}
31076	if err != nil {
31077		return nil, err
31078	}
31079	defer googleapi.CloseBody(res)
31080	if err := googleapi.CheckResponse(res); err != nil {
31081		return nil, err
31082	}
31083	ret := &Channel{
31084		ServerResponse: googleapi.ServerResponse{
31085			Header:         res.Header,
31086			HTTPStatusCode: res.StatusCode,
31087		},
31088	}
31089	target := &ret
31090	if err := gensupport.DecodeResponse(target, res); err != nil {
31091		return nil, err
31092	}
31093	return ret, nil
31094	// {
31095	//   "description": "Creates a new channel. Returns the newly created channel if successful.",
31096	//   "flatPath": "v1/partners/{partnersId}/channels",
31097	//   "httpMethod": "POST",
31098	//   "id": "displayvideo.partners.channels.create",
31099	//   "parameterOrder": [
31100	//     "partnerId"
31101	//   ],
31102	//   "parameters": {
31103	//     "advertiserId": {
31104	//       "description": "The ID of the advertiser that owns the created channel.",
31105	//       "format": "int64",
31106	//       "location": "query",
31107	//       "type": "string"
31108	//     },
31109	//     "partnerId": {
31110	//       "description": "The ID of the partner that owns the created channel.",
31111	//       "format": "int64",
31112	//       "location": "path",
31113	//       "pattern": "^[^/]+$",
31114	//       "required": true,
31115	//       "type": "string"
31116	//     }
31117	//   },
31118	//   "path": "v1/partners/{+partnerId}/channels",
31119	//   "request": {
31120	//     "$ref": "Channel"
31121	//   },
31122	//   "response": {
31123	//     "$ref": "Channel"
31124	//   },
31125	//   "scopes": [
31126	//     "https://www.googleapis.com/auth/display-video"
31127	//   ]
31128	// }
31129
31130}
31131
31132// method id "displayvideo.partners.channels.get":
31133
31134type PartnersChannelsGetCall struct {
31135	s            *Service
31136	partnerId    int64
31137	channelId    int64
31138	urlParams_   gensupport.URLParams
31139	ifNoneMatch_ string
31140	ctx_         context.Context
31141	header_      http.Header
31142}
31143
31144// Get: Gets a channel for a partner or advertiser.
31145func (r *PartnersChannelsService) Get(partnerId int64, channelId int64) *PartnersChannelsGetCall {
31146	c := &PartnersChannelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31147	c.partnerId = partnerId
31148	c.channelId = channelId
31149	return c
31150}
31151
31152// AdvertiserId sets the optional parameter "advertiserId": The ID of
31153// the advertiser that owns the fetched channel.
31154func (c *PartnersChannelsGetCall) AdvertiserId(advertiserId int64) *PartnersChannelsGetCall {
31155	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31156	return c
31157}
31158
31159// Fields allows partial responses to be retrieved. See
31160// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31161// for more information.
31162func (c *PartnersChannelsGetCall) Fields(s ...googleapi.Field) *PartnersChannelsGetCall {
31163	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31164	return c
31165}
31166
31167// IfNoneMatch sets the optional parameter which makes the operation
31168// fail if the object's ETag matches the given value. This is useful for
31169// getting updates only after the object has changed since the last
31170// request. Use googleapi.IsNotModified to check whether the response
31171// error from Do is the result of In-None-Match.
31172func (c *PartnersChannelsGetCall) IfNoneMatch(entityTag string) *PartnersChannelsGetCall {
31173	c.ifNoneMatch_ = entityTag
31174	return c
31175}
31176
31177// Context sets the context to be used in this call's Do method. Any
31178// pending HTTP request will be aborted if the provided context is
31179// canceled.
31180func (c *PartnersChannelsGetCall) Context(ctx context.Context) *PartnersChannelsGetCall {
31181	c.ctx_ = ctx
31182	return c
31183}
31184
31185// Header returns an http.Header that can be modified by the caller to
31186// add HTTP headers to the request.
31187func (c *PartnersChannelsGetCall) Header() http.Header {
31188	if c.header_ == nil {
31189		c.header_ = make(http.Header)
31190	}
31191	return c.header_
31192}
31193
31194func (c *PartnersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
31195	reqHeaders := make(http.Header)
31196	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31197	for k, v := range c.header_ {
31198		reqHeaders[k] = v
31199	}
31200	reqHeaders.Set("User-Agent", c.s.userAgent())
31201	if c.ifNoneMatch_ != "" {
31202		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31203	}
31204	var body io.Reader = nil
31205	c.urlParams_.Set("alt", alt)
31206	c.urlParams_.Set("prettyPrint", "false")
31207	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{+channelId}")
31208	urls += "?" + c.urlParams_.Encode()
31209	req, err := http.NewRequest("GET", urls, body)
31210	if err != nil {
31211		return nil, err
31212	}
31213	req.Header = reqHeaders
31214	googleapi.Expand(req.URL, map[string]string{
31215		"partnerId": strconv.FormatInt(c.partnerId, 10),
31216		"channelId": strconv.FormatInt(c.channelId, 10),
31217	})
31218	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31219}
31220
31221// Do executes the "displayvideo.partners.channels.get" call.
31222// Exactly one of *Channel or error will be non-nil. Any non-2xx status
31223// code is an error. Response headers are in either
31224// *Channel.ServerResponse.Header or (if a response was returned at all)
31225// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
31226// check whether the returned error was because http.StatusNotModified
31227// was returned.
31228func (c *PartnersChannelsGetCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
31229	gensupport.SetOptions(c.urlParams_, opts...)
31230	res, err := c.doRequest("json")
31231	if res != nil && res.StatusCode == http.StatusNotModified {
31232		if res.Body != nil {
31233			res.Body.Close()
31234		}
31235		return nil, &googleapi.Error{
31236			Code:   res.StatusCode,
31237			Header: res.Header,
31238		}
31239	}
31240	if err != nil {
31241		return nil, err
31242	}
31243	defer googleapi.CloseBody(res)
31244	if err := googleapi.CheckResponse(res); err != nil {
31245		return nil, err
31246	}
31247	ret := &Channel{
31248		ServerResponse: googleapi.ServerResponse{
31249			Header:         res.Header,
31250			HTTPStatusCode: res.StatusCode,
31251		},
31252	}
31253	target := &ret
31254	if err := gensupport.DecodeResponse(target, res); err != nil {
31255		return nil, err
31256	}
31257	return ret, nil
31258	// {
31259	//   "description": "Gets a channel for a partner or advertiser.",
31260	//   "flatPath": "v1/partners/{partnersId}/channels/{channelsId}",
31261	//   "httpMethod": "GET",
31262	//   "id": "displayvideo.partners.channels.get",
31263	//   "parameterOrder": [
31264	//     "partnerId",
31265	//     "channelId"
31266	//   ],
31267	//   "parameters": {
31268	//     "advertiserId": {
31269	//       "description": "The ID of the advertiser that owns the fetched channel.",
31270	//       "format": "int64",
31271	//       "location": "query",
31272	//       "type": "string"
31273	//     },
31274	//     "channelId": {
31275	//       "description": "Required. The ID of the channel to fetch.",
31276	//       "format": "int64",
31277	//       "location": "path",
31278	//       "pattern": "^[^/]+$",
31279	//       "required": true,
31280	//       "type": "string"
31281	//     },
31282	//     "partnerId": {
31283	//       "description": "The ID of the partner that owns the fetched channel.",
31284	//       "format": "int64",
31285	//       "location": "path",
31286	//       "pattern": "^[^/]+$",
31287	//       "required": true,
31288	//       "type": "string"
31289	//     }
31290	//   },
31291	//   "path": "v1/partners/{+partnerId}/channels/{+channelId}",
31292	//   "response": {
31293	//     "$ref": "Channel"
31294	//   },
31295	//   "scopes": [
31296	//     "https://www.googleapis.com/auth/display-video"
31297	//   ]
31298	// }
31299
31300}
31301
31302// method id "displayvideo.partners.channels.list":
31303
31304type PartnersChannelsListCall struct {
31305	s            *Service
31306	partnerId    int64
31307	urlParams_   gensupport.URLParams
31308	ifNoneMatch_ string
31309	ctx_         context.Context
31310	header_      http.Header
31311}
31312
31313// List: Lists channels for a partner or advertiser.
31314func (r *PartnersChannelsService) List(partnerId int64) *PartnersChannelsListCall {
31315	c := &PartnersChannelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31316	c.partnerId = partnerId
31317	return c
31318}
31319
31320// AdvertiserId sets the optional parameter "advertiserId": The ID of
31321// the advertiser that owns the channels.
31322func (c *PartnersChannelsListCall) AdvertiserId(advertiserId int64) *PartnersChannelsListCall {
31323	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31324	return c
31325}
31326
31327// Filter sets the optional parameter "filter": Allows filtering by
31328// channel fields. Supported syntax: * Filter expressions for channel
31329// currently can only contain at most one * restriction. * A restriction
31330// has the form of `{field} {operator} {value}`. * The operator must be
31331// `CONTAINS (:)`. * Supported fields: - `displayName` Examples: * All
31332// channels for which the display name contains "google": `displayName :
31333// "google". The length of this field should be no more than 500
31334// characters.
31335func (c *PartnersChannelsListCall) Filter(filter string) *PartnersChannelsListCall {
31336	c.urlParams_.Set("filter", filter)
31337	return c
31338}
31339
31340// OrderBy sets the optional parameter "orderBy": Field by which to sort
31341// the list. Acceptable values are: * `displayName` (default) *
31342// `channelId` The default sorting order is ascending. To specify
31343// descending order for a field, a suffix " desc" should be added to the
31344// field name. Example: `displayName desc`.
31345func (c *PartnersChannelsListCall) OrderBy(orderBy string) *PartnersChannelsListCall {
31346	c.urlParams_.Set("orderBy", orderBy)
31347	return c
31348}
31349
31350// PageSize sets the optional parameter "pageSize": Requested page size.
31351// Must be between `1` and `100`. If unspecified will default to `100`.
31352// Returns error code `INVALID_ARGUMENT` if an invalid value is
31353// specified.
31354func (c *PartnersChannelsListCall) PageSize(pageSize int64) *PartnersChannelsListCall {
31355	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
31356	return c
31357}
31358
31359// PageToken sets the optional parameter "pageToken": A token
31360// identifying a page of results the server should return. Typically,
31361// this is the value of next_page_token returned from the previous call
31362// to `ListChannels` method. If not specified, the first page of results
31363// will be returned.
31364func (c *PartnersChannelsListCall) PageToken(pageToken string) *PartnersChannelsListCall {
31365	c.urlParams_.Set("pageToken", pageToken)
31366	return c
31367}
31368
31369// Fields allows partial responses to be retrieved. See
31370// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31371// for more information.
31372func (c *PartnersChannelsListCall) Fields(s ...googleapi.Field) *PartnersChannelsListCall {
31373	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31374	return c
31375}
31376
31377// IfNoneMatch sets the optional parameter which makes the operation
31378// fail if the object's ETag matches the given value. This is useful for
31379// getting updates only after the object has changed since the last
31380// request. Use googleapi.IsNotModified to check whether the response
31381// error from Do is the result of In-None-Match.
31382func (c *PartnersChannelsListCall) IfNoneMatch(entityTag string) *PartnersChannelsListCall {
31383	c.ifNoneMatch_ = entityTag
31384	return c
31385}
31386
31387// Context sets the context to be used in this call's Do method. Any
31388// pending HTTP request will be aborted if the provided context is
31389// canceled.
31390func (c *PartnersChannelsListCall) Context(ctx context.Context) *PartnersChannelsListCall {
31391	c.ctx_ = ctx
31392	return c
31393}
31394
31395// Header returns an http.Header that can be modified by the caller to
31396// add HTTP headers to the request.
31397func (c *PartnersChannelsListCall) Header() http.Header {
31398	if c.header_ == nil {
31399		c.header_ = make(http.Header)
31400	}
31401	return c.header_
31402}
31403
31404func (c *PartnersChannelsListCall) doRequest(alt string) (*http.Response, error) {
31405	reqHeaders := make(http.Header)
31406	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31407	for k, v := range c.header_ {
31408		reqHeaders[k] = v
31409	}
31410	reqHeaders.Set("User-Agent", c.s.userAgent())
31411	if c.ifNoneMatch_ != "" {
31412		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31413	}
31414	var body io.Reader = nil
31415	c.urlParams_.Set("alt", alt)
31416	c.urlParams_.Set("prettyPrint", "false")
31417	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels")
31418	urls += "?" + c.urlParams_.Encode()
31419	req, err := http.NewRequest("GET", urls, body)
31420	if err != nil {
31421		return nil, err
31422	}
31423	req.Header = reqHeaders
31424	googleapi.Expand(req.URL, map[string]string{
31425		"partnerId": strconv.FormatInt(c.partnerId, 10),
31426	})
31427	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31428}
31429
31430// Do executes the "displayvideo.partners.channels.list" call.
31431// Exactly one of *ListChannelsResponse or error will be non-nil. Any
31432// non-2xx status code is an error. Response headers are in either
31433// *ListChannelsResponse.ServerResponse.Header or (if a response was
31434// returned at all) in error.(*googleapi.Error).Header. Use
31435// googleapi.IsNotModified to check whether the returned error was
31436// because http.StatusNotModified was returned.
31437func (c *PartnersChannelsListCall) Do(opts ...googleapi.CallOption) (*ListChannelsResponse, error) {
31438	gensupport.SetOptions(c.urlParams_, opts...)
31439	res, err := c.doRequest("json")
31440	if res != nil && res.StatusCode == http.StatusNotModified {
31441		if res.Body != nil {
31442			res.Body.Close()
31443		}
31444		return nil, &googleapi.Error{
31445			Code:   res.StatusCode,
31446			Header: res.Header,
31447		}
31448	}
31449	if err != nil {
31450		return nil, err
31451	}
31452	defer googleapi.CloseBody(res)
31453	if err := googleapi.CheckResponse(res); err != nil {
31454		return nil, err
31455	}
31456	ret := &ListChannelsResponse{
31457		ServerResponse: googleapi.ServerResponse{
31458			Header:         res.Header,
31459			HTTPStatusCode: res.StatusCode,
31460		},
31461	}
31462	target := &ret
31463	if err := gensupport.DecodeResponse(target, res); err != nil {
31464		return nil, err
31465	}
31466	return ret, nil
31467	// {
31468	//   "description": "Lists channels for a partner or advertiser.",
31469	//   "flatPath": "v1/partners/{partnersId}/channels",
31470	//   "httpMethod": "GET",
31471	//   "id": "displayvideo.partners.channels.list",
31472	//   "parameterOrder": [
31473	//     "partnerId"
31474	//   ],
31475	//   "parameters": {
31476	//     "advertiserId": {
31477	//       "description": "The ID of the advertiser that owns the channels.",
31478	//       "format": "int64",
31479	//       "location": "query",
31480	//       "type": "string"
31481	//     },
31482	//     "filter": {
31483	//       "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.",
31484	//       "location": "query",
31485	//       "type": "string"
31486	//     },
31487	//     "orderBy": {
31488	//       "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`.",
31489	//       "location": "query",
31490	//       "type": "string"
31491	//     },
31492	//     "pageSize": {
31493	//       "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.",
31494	//       "format": "int32",
31495	//       "location": "query",
31496	//       "type": "integer"
31497	//     },
31498	//     "pageToken": {
31499	//       "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.",
31500	//       "location": "query",
31501	//       "type": "string"
31502	//     },
31503	//     "partnerId": {
31504	//       "description": "The ID of the partner that owns the channels.",
31505	//       "format": "int64",
31506	//       "location": "path",
31507	//       "pattern": "^[^/]+$",
31508	//       "required": true,
31509	//       "type": "string"
31510	//     }
31511	//   },
31512	//   "path": "v1/partners/{+partnerId}/channels",
31513	//   "response": {
31514	//     "$ref": "ListChannelsResponse"
31515	//   },
31516	//   "scopes": [
31517	//     "https://www.googleapis.com/auth/display-video"
31518	//   ]
31519	// }
31520
31521}
31522
31523// Pages invokes f for each page of results.
31524// A non-nil error returned from f will halt the iteration.
31525// The provided context supersedes any context provided to the Context method.
31526func (c *PartnersChannelsListCall) Pages(ctx context.Context, f func(*ListChannelsResponse) error) error {
31527	c.ctx_ = ctx
31528	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31529	for {
31530		x, err := c.Do()
31531		if err != nil {
31532			return err
31533		}
31534		if err := f(x); err != nil {
31535			return err
31536		}
31537		if x.NextPageToken == "" {
31538			return nil
31539		}
31540		c.PageToken(x.NextPageToken)
31541	}
31542}
31543
31544// method id "displayvideo.partners.channels.patch":
31545
31546type PartnersChannelsPatchCall struct {
31547	s          *Service
31548	partnerId  int64
31549	channelId  int64
31550	channel    *Channel
31551	urlParams_ gensupport.URLParams
31552	ctx_       context.Context
31553	header_    http.Header
31554}
31555
31556// Patch: Updates a channel. Returns the updated channel if successful.
31557func (r *PartnersChannelsService) Patch(partnerId int64, channelId int64, channel *Channel) *PartnersChannelsPatchCall {
31558	c := &PartnersChannelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31559	c.partnerId = partnerId
31560	c.channelId = channelId
31561	c.channel = channel
31562	return c
31563}
31564
31565// AdvertiserId sets the optional parameter "advertiserId": The ID of
31566// the advertiser that owns the created channel.
31567func (c *PartnersChannelsPatchCall) AdvertiserId(advertiserId int64) *PartnersChannelsPatchCall {
31568	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31569	return c
31570}
31571
31572// UpdateMask sets the optional parameter "updateMask": Required. The
31573// mask to control which fields to update.
31574func (c *PartnersChannelsPatchCall) UpdateMask(updateMask string) *PartnersChannelsPatchCall {
31575	c.urlParams_.Set("updateMask", updateMask)
31576	return c
31577}
31578
31579// Fields allows partial responses to be retrieved. See
31580// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31581// for more information.
31582func (c *PartnersChannelsPatchCall) Fields(s ...googleapi.Field) *PartnersChannelsPatchCall {
31583	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31584	return c
31585}
31586
31587// Context sets the context to be used in this call's Do method. Any
31588// pending HTTP request will be aborted if the provided context is
31589// canceled.
31590func (c *PartnersChannelsPatchCall) Context(ctx context.Context) *PartnersChannelsPatchCall {
31591	c.ctx_ = ctx
31592	return c
31593}
31594
31595// Header returns an http.Header that can be modified by the caller to
31596// add HTTP headers to the request.
31597func (c *PartnersChannelsPatchCall) Header() http.Header {
31598	if c.header_ == nil {
31599		c.header_ = make(http.Header)
31600	}
31601	return c.header_
31602}
31603
31604func (c *PartnersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
31605	reqHeaders := make(http.Header)
31606	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31607	for k, v := range c.header_ {
31608		reqHeaders[k] = v
31609	}
31610	reqHeaders.Set("User-Agent", c.s.userAgent())
31611	var body io.Reader = nil
31612	body, err := googleapi.WithoutDataWrapper.JSONReader(c.channel)
31613	if err != nil {
31614		return nil, err
31615	}
31616	reqHeaders.Set("Content-Type", "application/json")
31617	c.urlParams_.Set("alt", alt)
31618	c.urlParams_.Set("prettyPrint", "false")
31619	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{channelId}")
31620	urls += "?" + c.urlParams_.Encode()
31621	req, err := http.NewRequest("PATCH", urls, body)
31622	if err != nil {
31623		return nil, err
31624	}
31625	req.Header = reqHeaders
31626	googleapi.Expand(req.URL, map[string]string{
31627		"partnerId": strconv.FormatInt(c.partnerId, 10),
31628		"channelId": strconv.FormatInt(c.channelId, 10),
31629	})
31630	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31631}
31632
31633// Do executes the "displayvideo.partners.channels.patch" call.
31634// Exactly one of *Channel or error will be non-nil. Any non-2xx status
31635// code is an error. Response headers are in either
31636// *Channel.ServerResponse.Header or (if a response was returned at all)
31637// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
31638// check whether the returned error was because http.StatusNotModified
31639// was returned.
31640func (c *PartnersChannelsPatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) {
31641	gensupport.SetOptions(c.urlParams_, opts...)
31642	res, err := c.doRequest("json")
31643	if res != nil && res.StatusCode == http.StatusNotModified {
31644		if res.Body != nil {
31645			res.Body.Close()
31646		}
31647		return nil, &googleapi.Error{
31648			Code:   res.StatusCode,
31649			Header: res.Header,
31650		}
31651	}
31652	if err != nil {
31653		return nil, err
31654	}
31655	defer googleapi.CloseBody(res)
31656	if err := googleapi.CheckResponse(res); err != nil {
31657		return nil, err
31658	}
31659	ret := &Channel{
31660		ServerResponse: googleapi.ServerResponse{
31661			Header:         res.Header,
31662			HTTPStatusCode: res.StatusCode,
31663		},
31664	}
31665	target := &ret
31666	if err := gensupport.DecodeResponse(target, res); err != nil {
31667		return nil, err
31668	}
31669	return ret, nil
31670	// {
31671	//   "description": "Updates a channel. Returns the updated channel if successful.",
31672	//   "flatPath": "v1/partners/{partnersId}/channels/{channelId}",
31673	//   "httpMethod": "PATCH",
31674	//   "id": "displayvideo.partners.channels.patch",
31675	//   "parameterOrder": [
31676	//     "partnerId",
31677	//     "channelId"
31678	//   ],
31679	//   "parameters": {
31680	//     "advertiserId": {
31681	//       "description": "The ID of the advertiser that owns the created channel.",
31682	//       "format": "int64",
31683	//       "location": "query",
31684	//       "type": "string"
31685	//     },
31686	//     "channelId": {
31687	//       "description": "Output only. The unique ID of the channel. Assigned by the system.",
31688	//       "format": "int64",
31689	//       "location": "path",
31690	//       "required": true,
31691	//       "type": "string"
31692	//     },
31693	//     "partnerId": {
31694	//       "description": "The ID of the partner that owns the created channel.",
31695	//       "format": "int64",
31696	//       "location": "path",
31697	//       "pattern": "^[^/]+$",
31698	//       "required": true,
31699	//       "type": "string"
31700	//     },
31701	//     "updateMask": {
31702	//       "description": "Required. The mask to control which fields to update.",
31703	//       "format": "google-fieldmask",
31704	//       "location": "query",
31705	//       "type": "string"
31706	//     }
31707	//   },
31708	//   "path": "v1/partners/{+partnerId}/channels/{channelId}",
31709	//   "request": {
31710	//     "$ref": "Channel"
31711	//   },
31712	//   "response": {
31713	//     "$ref": "Channel"
31714	//   },
31715	//   "scopes": [
31716	//     "https://www.googleapis.com/auth/display-video"
31717	//   ]
31718	// }
31719
31720}
31721
31722// method id "displayvideo.partners.channels.sites.bulkEdit":
31723
31724type PartnersChannelsSitesBulkEditCall struct {
31725	s                    *Service
31726	partnerId            int64
31727	channelId            int64
31728	bulkeditsitesrequest *BulkEditSitesRequest
31729	urlParams_           gensupport.URLParams
31730	ctx_                 context.Context
31731	header_              http.Header
31732}
31733
31734// BulkEdit: Bulk edits sites under a single channel. The operation will
31735// delete the sites provided in BulkEditSitesRequest.deleted_sites and
31736// then create the sites provided in BulkEditSitesRequest.created_sites.
31737func (r *PartnersChannelsSitesService) BulkEdit(partnerId int64, channelId int64, bulkeditsitesrequest *BulkEditSitesRequest) *PartnersChannelsSitesBulkEditCall {
31738	c := &PartnersChannelsSitesBulkEditCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31739	c.partnerId = partnerId
31740	c.channelId = channelId
31741	c.bulkeditsitesrequest = bulkeditsitesrequest
31742	return c
31743}
31744
31745// Fields allows partial responses to be retrieved. See
31746// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31747// for more information.
31748func (c *PartnersChannelsSitesBulkEditCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesBulkEditCall {
31749	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31750	return c
31751}
31752
31753// Context sets the context to be used in this call's Do method. Any
31754// pending HTTP request will be aborted if the provided context is
31755// canceled.
31756func (c *PartnersChannelsSitesBulkEditCall) Context(ctx context.Context) *PartnersChannelsSitesBulkEditCall {
31757	c.ctx_ = ctx
31758	return c
31759}
31760
31761// Header returns an http.Header that can be modified by the caller to
31762// add HTTP headers to the request.
31763func (c *PartnersChannelsSitesBulkEditCall) Header() http.Header {
31764	if c.header_ == nil {
31765		c.header_ = make(http.Header)
31766	}
31767	return c.header_
31768}
31769
31770func (c *PartnersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
31771	reqHeaders := make(http.Header)
31772	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31773	for k, v := range c.header_ {
31774		reqHeaders[k] = v
31775	}
31776	reqHeaders.Set("User-Agent", c.s.userAgent())
31777	var body io.Reader = nil
31778	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditsitesrequest)
31779	if err != nil {
31780		return nil, err
31781	}
31782	reqHeaders.Set("Content-Type", "application/json")
31783	c.urlParams_.Set("alt", alt)
31784	c.urlParams_.Set("prettyPrint", "false")
31785	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit")
31786	urls += "?" + c.urlParams_.Encode()
31787	req, err := http.NewRequest("POST", urls, body)
31788	if err != nil {
31789		return nil, err
31790	}
31791	req.Header = reqHeaders
31792	googleapi.Expand(req.URL, map[string]string{
31793		"partnerId": strconv.FormatInt(c.partnerId, 10),
31794		"channelId": strconv.FormatInt(c.channelId, 10),
31795	})
31796	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31797}
31798
31799// Do executes the "displayvideo.partners.channels.sites.bulkEdit" call.
31800// Exactly one of *BulkEditSitesResponse or error will be non-nil. Any
31801// non-2xx status code is an error. Response headers are in either
31802// *BulkEditSitesResponse.ServerResponse.Header or (if a response was
31803// returned at all) in error.(*googleapi.Error).Header. Use
31804// googleapi.IsNotModified to check whether the returned error was
31805// because http.StatusNotModified was returned.
31806func (c *PartnersChannelsSitesBulkEditCall) Do(opts ...googleapi.CallOption) (*BulkEditSitesResponse, error) {
31807	gensupport.SetOptions(c.urlParams_, opts...)
31808	res, err := c.doRequest("json")
31809	if res != nil && res.StatusCode == http.StatusNotModified {
31810		if res.Body != nil {
31811			res.Body.Close()
31812		}
31813		return nil, &googleapi.Error{
31814			Code:   res.StatusCode,
31815			Header: res.Header,
31816		}
31817	}
31818	if err != nil {
31819		return nil, err
31820	}
31821	defer googleapi.CloseBody(res)
31822	if err := googleapi.CheckResponse(res); err != nil {
31823		return nil, err
31824	}
31825	ret := &BulkEditSitesResponse{
31826		ServerResponse: googleapi.ServerResponse{
31827			Header:         res.Header,
31828			HTTPStatusCode: res.StatusCode,
31829		},
31830	}
31831	target := &ret
31832	if err := gensupport.DecodeResponse(target, res); err != nil {
31833		return nil, err
31834	}
31835	return ret, nil
31836	// {
31837	//   "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.",
31838	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites:bulkEdit",
31839	//   "httpMethod": "POST",
31840	//   "id": "displayvideo.partners.channels.sites.bulkEdit",
31841	//   "parameterOrder": [
31842	//     "partnerId",
31843	//     "channelId"
31844	//   ],
31845	//   "parameters": {
31846	//     "channelId": {
31847	//       "description": "Required. The ID of the parent channel to which the sites belong.",
31848	//       "format": "int64",
31849	//       "location": "path",
31850	//       "pattern": "^[^/]+$",
31851	//       "required": true,
31852	//       "type": "string"
31853	//     },
31854	//     "partnerId": {
31855	//       "description": "The ID of the partner that owns the parent channel.",
31856	//       "format": "int64",
31857	//       "location": "path",
31858	//       "required": true,
31859	//       "type": "string"
31860	//     }
31861	//   },
31862	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit",
31863	//   "request": {
31864	//     "$ref": "BulkEditSitesRequest"
31865	//   },
31866	//   "response": {
31867	//     "$ref": "BulkEditSitesResponse"
31868	//   },
31869	//   "scopes": [
31870	//     "https://www.googleapis.com/auth/display-video"
31871	//   ]
31872	// }
31873
31874}
31875
31876// method id "displayvideo.partners.channels.sites.create":
31877
31878type PartnersChannelsSitesCreateCall struct {
31879	s          *Service
31880	partnerId  int64
31881	channelId  int64
31882	site       *Site
31883	urlParams_ gensupport.URLParams
31884	ctx_       context.Context
31885	header_    http.Header
31886}
31887
31888// Create: Creates a site in a channel.
31889func (r *PartnersChannelsSitesService) Create(partnerId int64, channelId int64, site *Site) *PartnersChannelsSitesCreateCall {
31890	c := &PartnersChannelsSitesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31891	c.partnerId = partnerId
31892	c.channelId = channelId
31893	c.site = site
31894	return c
31895}
31896
31897// AdvertiserId sets the optional parameter "advertiserId": The ID of
31898// the advertiser that owns the parent channel.
31899func (c *PartnersChannelsSitesCreateCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesCreateCall {
31900	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31901	return c
31902}
31903
31904// Fields allows partial responses to be retrieved. See
31905// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31906// for more information.
31907func (c *PartnersChannelsSitesCreateCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesCreateCall {
31908	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31909	return c
31910}
31911
31912// Context sets the context to be used in this call's Do method. Any
31913// pending HTTP request will be aborted if the provided context is
31914// canceled.
31915func (c *PartnersChannelsSitesCreateCall) Context(ctx context.Context) *PartnersChannelsSitesCreateCall {
31916	c.ctx_ = ctx
31917	return c
31918}
31919
31920// Header returns an http.Header that can be modified by the caller to
31921// add HTTP headers to the request.
31922func (c *PartnersChannelsSitesCreateCall) Header() http.Header {
31923	if c.header_ == nil {
31924		c.header_ = make(http.Header)
31925	}
31926	return c.header_
31927}
31928
31929func (c *PartnersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
31930	reqHeaders := make(http.Header)
31931	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31932	for k, v := range c.header_ {
31933		reqHeaders[k] = v
31934	}
31935	reqHeaders.Set("User-Agent", c.s.userAgent())
31936	var body io.Reader = nil
31937	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
31938	if err != nil {
31939		return nil, err
31940	}
31941	reqHeaders.Set("Content-Type", "application/json")
31942	c.urlParams_.Set("alt", alt)
31943	c.urlParams_.Set("prettyPrint", "false")
31944	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites")
31945	urls += "?" + c.urlParams_.Encode()
31946	req, err := http.NewRequest("POST", urls, body)
31947	if err != nil {
31948		return nil, err
31949	}
31950	req.Header = reqHeaders
31951	googleapi.Expand(req.URL, map[string]string{
31952		"partnerId": strconv.FormatInt(c.partnerId, 10),
31953		"channelId": strconv.FormatInt(c.channelId, 10),
31954	})
31955	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31956}
31957
31958// Do executes the "displayvideo.partners.channels.sites.create" call.
31959// Exactly one of *Site or error will be non-nil. Any non-2xx status
31960// code is an error. Response headers are in either
31961// *Site.ServerResponse.Header or (if a response was returned at all) in
31962// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31963// whether the returned error was because http.StatusNotModified was
31964// returned.
31965func (c *PartnersChannelsSitesCreateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
31966	gensupport.SetOptions(c.urlParams_, opts...)
31967	res, err := c.doRequest("json")
31968	if res != nil && res.StatusCode == http.StatusNotModified {
31969		if res.Body != nil {
31970			res.Body.Close()
31971		}
31972		return nil, &googleapi.Error{
31973			Code:   res.StatusCode,
31974			Header: res.Header,
31975		}
31976	}
31977	if err != nil {
31978		return nil, err
31979	}
31980	defer googleapi.CloseBody(res)
31981	if err := googleapi.CheckResponse(res); err != nil {
31982		return nil, err
31983	}
31984	ret := &Site{
31985		ServerResponse: googleapi.ServerResponse{
31986			Header:         res.Header,
31987			HTTPStatusCode: res.StatusCode,
31988		},
31989	}
31990	target := &ret
31991	if err := gensupport.DecodeResponse(target, res); err != nil {
31992		return nil, err
31993	}
31994	return ret, nil
31995	// {
31996	//   "description": "Creates a site in a channel.",
31997	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites",
31998	//   "httpMethod": "POST",
31999	//   "id": "displayvideo.partners.channels.sites.create",
32000	//   "parameterOrder": [
32001	//     "partnerId",
32002	//     "channelId"
32003	//   ],
32004	//   "parameters": {
32005	//     "advertiserId": {
32006	//       "description": "The ID of the advertiser that owns the parent channel.",
32007	//       "format": "int64",
32008	//       "location": "query",
32009	//       "type": "string"
32010	//     },
32011	//     "channelId": {
32012	//       "description": "Required. The ID of the parent channel in which the site will be created.",
32013	//       "format": "int64",
32014	//       "location": "path",
32015	//       "pattern": "^[^/]+$",
32016	//       "required": true,
32017	//       "type": "string"
32018	//     },
32019	//     "partnerId": {
32020	//       "description": "The ID of the partner that owns the parent channel.",
32021	//       "format": "int64",
32022	//       "location": "path",
32023	//       "required": true,
32024	//       "type": "string"
32025	//     }
32026	//   },
32027	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites",
32028	//   "request": {
32029	//     "$ref": "Site"
32030	//   },
32031	//   "response": {
32032	//     "$ref": "Site"
32033	//   },
32034	//   "scopes": [
32035	//     "https://www.googleapis.com/auth/display-video"
32036	//   ]
32037	// }
32038
32039}
32040
32041// method id "displayvideo.partners.channels.sites.delete":
32042
32043type PartnersChannelsSitesDeleteCall struct {
32044	s          *Service
32045	partnerId  int64
32046	channelId  int64
32047	urlOrAppId string
32048	urlParams_ gensupport.URLParams
32049	ctx_       context.Context
32050	header_    http.Header
32051}
32052
32053// Delete: Deletes a site from a channel.
32054func (r *PartnersChannelsSitesService) Delete(partnerId int64, channelId int64, urlOrAppId string) *PartnersChannelsSitesDeleteCall {
32055	c := &PartnersChannelsSitesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32056	c.partnerId = partnerId
32057	c.channelId = channelId
32058	c.urlOrAppId = urlOrAppId
32059	return c
32060}
32061
32062// AdvertiserId sets the optional parameter "advertiserId": The ID of
32063// the advertiser that owns the parent channel.
32064func (c *PartnersChannelsSitesDeleteCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesDeleteCall {
32065	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32066	return c
32067}
32068
32069// Fields allows partial responses to be retrieved. See
32070// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32071// for more information.
32072func (c *PartnersChannelsSitesDeleteCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesDeleteCall {
32073	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32074	return c
32075}
32076
32077// Context sets the context to be used in this call's Do method. Any
32078// pending HTTP request will be aborted if the provided context is
32079// canceled.
32080func (c *PartnersChannelsSitesDeleteCall) Context(ctx context.Context) *PartnersChannelsSitesDeleteCall {
32081	c.ctx_ = ctx
32082	return c
32083}
32084
32085// Header returns an http.Header that can be modified by the caller to
32086// add HTTP headers to the request.
32087func (c *PartnersChannelsSitesDeleteCall) Header() http.Header {
32088	if c.header_ == nil {
32089		c.header_ = make(http.Header)
32090	}
32091	return c.header_
32092}
32093
32094func (c *PartnersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
32095	reqHeaders := make(http.Header)
32096	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32097	for k, v := range c.header_ {
32098		reqHeaders[k] = v
32099	}
32100	reqHeaders.Set("User-Agent", c.s.userAgent())
32101	var body io.Reader = nil
32102	c.urlParams_.Set("alt", alt)
32103	c.urlParams_.Set("prettyPrint", "false")
32104	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}")
32105	urls += "?" + c.urlParams_.Encode()
32106	req, err := http.NewRequest("DELETE", urls, body)
32107	if err != nil {
32108		return nil, err
32109	}
32110	req.Header = reqHeaders
32111	googleapi.Expand(req.URL, map[string]string{
32112		"partnerId":  strconv.FormatInt(c.partnerId, 10),
32113		"channelId":  strconv.FormatInt(c.channelId, 10),
32114		"urlOrAppId": c.urlOrAppId,
32115	})
32116	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32117}
32118
32119// Do executes the "displayvideo.partners.channels.sites.delete" call.
32120// Exactly one of *Empty or error will be non-nil. Any non-2xx status
32121// code is an error. Response headers are in either
32122// *Empty.ServerResponse.Header or (if a response was returned at all)
32123// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
32124// check whether the returned error was because http.StatusNotModified
32125// was returned.
32126func (c *PartnersChannelsSitesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
32127	gensupport.SetOptions(c.urlParams_, opts...)
32128	res, err := c.doRequest("json")
32129	if res != nil && res.StatusCode == http.StatusNotModified {
32130		if res.Body != nil {
32131			res.Body.Close()
32132		}
32133		return nil, &googleapi.Error{
32134			Code:   res.StatusCode,
32135			Header: res.Header,
32136		}
32137	}
32138	if err != nil {
32139		return nil, err
32140	}
32141	defer googleapi.CloseBody(res)
32142	if err := googleapi.CheckResponse(res); err != nil {
32143		return nil, err
32144	}
32145	ret := &Empty{
32146		ServerResponse: googleapi.ServerResponse{
32147			Header:         res.Header,
32148			HTTPStatusCode: res.StatusCode,
32149		},
32150	}
32151	target := &ret
32152	if err := gensupport.DecodeResponse(target, res); err != nil {
32153		return nil, err
32154	}
32155	return ret, nil
32156	// {
32157	//   "description": "Deletes a site from a channel.",
32158	//   "flatPath": "v1/partners/{partnerId}/channels/{channelsId}/sites/{sitesId}",
32159	//   "httpMethod": "DELETE",
32160	//   "id": "displayvideo.partners.channels.sites.delete",
32161	//   "parameterOrder": [
32162	//     "partnerId",
32163	//     "channelId",
32164	//     "urlOrAppId"
32165	//   ],
32166	//   "parameters": {
32167	//     "advertiserId": {
32168	//       "description": "The ID of the advertiser that owns the parent channel.",
32169	//       "format": "int64",
32170	//       "location": "query",
32171	//       "type": "string"
32172	//     },
32173	//     "channelId": {
32174	//       "description": "Required. The ID of the parent channel to which the site belongs.",
32175	//       "format": "int64",
32176	//       "location": "path",
32177	//       "pattern": "^[^/]+$",
32178	//       "required": true,
32179	//       "type": "string"
32180	//     },
32181	//     "partnerId": {
32182	//       "description": "The ID of the partner that owns the parent channel.",
32183	//       "format": "int64",
32184	//       "location": "path",
32185	//       "required": true,
32186	//       "type": "string"
32187	//     },
32188	//     "urlOrAppId": {
32189	//       "description": "Required. The URL or app ID of the site to delete.",
32190	//       "location": "path",
32191	//       "pattern": "^[^/]+$",
32192	//       "required": true,
32193	//       "type": "string"
32194	//     }
32195	//   },
32196	//   "path": "v1/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}",
32197	//   "response": {
32198	//     "$ref": "Empty"
32199	//   },
32200	//   "scopes": [
32201	//     "https://www.googleapis.com/auth/display-video"
32202	//   ]
32203	// }
32204
32205}
32206
32207// method id "displayvideo.partners.channels.sites.list":
32208
32209type PartnersChannelsSitesListCall struct {
32210	s            *Service
32211	partnerId    int64
32212	channelId    int64
32213	urlParams_   gensupport.URLParams
32214	ifNoneMatch_ string
32215	ctx_         context.Context
32216	header_      http.Header
32217}
32218
32219// List: Lists sites in a channel.
32220func (r *PartnersChannelsSitesService) List(partnerId int64, channelId int64) *PartnersChannelsSitesListCall {
32221	c := &PartnersChannelsSitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32222	c.partnerId = partnerId
32223	c.channelId = channelId
32224	return c
32225}
32226
32227// AdvertiserId sets the optional parameter "advertiserId": The ID of
32228// the advertiser that owns the parent channel.
32229func (c *PartnersChannelsSitesListCall) AdvertiserId(advertiserId int64) *PartnersChannelsSitesListCall {
32230	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32231	return c
32232}
32233
32234// Filter sets the optional parameter "filter": Allows filtering by site
32235// fields. Supported syntax: * Filter expressions for site currently can
32236// only contain at most one * restriction. * A restriction has the form
32237// of `{field} {operator} {value}`. * The operator must be `CONTAINS
32238// (:)`. * Supported fields: - `urlOrAppId` Examples: * All sites for
32239// which the URL or app ID contains "google": `urlOrAppId : "google"
32240func (c *PartnersChannelsSitesListCall) Filter(filter string) *PartnersChannelsSitesListCall {
32241	c.urlParams_.Set("filter", filter)
32242	return c
32243}
32244
32245// OrderBy sets the optional parameter "orderBy": Field by which to sort
32246// the list. Acceptable values are: * `urlOrAppId` (default) The default
32247// sorting order is ascending. To specify descending order for a field,
32248// a suffix " desc" should be added to the field name. Example:
32249// `urlOrAppId desc`.
32250func (c *PartnersChannelsSitesListCall) OrderBy(orderBy string) *PartnersChannelsSitesListCall {
32251	c.urlParams_.Set("orderBy", orderBy)
32252	return c
32253}
32254
32255// PageSize sets the optional parameter "pageSize": Requested page size.
32256// Must be between `1` and `100`. If unspecified will default to `100`.
32257// Returns error code `INVALID_ARGUMENT` if an invalid value is
32258// specified.
32259func (c *PartnersChannelsSitesListCall) PageSize(pageSize int64) *PartnersChannelsSitesListCall {
32260	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
32261	return c
32262}
32263
32264// PageToken sets the optional parameter "pageToken": A token
32265// identifying a page of results the server should return. Typically,
32266// this is the value of next_page_token returned from the previous call
32267// to `ListSites` method. If not specified, the first page of results
32268// will be returned.
32269func (c *PartnersChannelsSitesListCall) PageToken(pageToken string) *PartnersChannelsSitesListCall {
32270	c.urlParams_.Set("pageToken", pageToken)
32271	return c
32272}
32273
32274// Fields allows partial responses to be retrieved. See
32275// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32276// for more information.
32277func (c *PartnersChannelsSitesListCall) Fields(s ...googleapi.Field) *PartnersChannelsSitesListCall {
32278	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32279	return c
32280}
32281
32282// IfNoneMatch sets the optional parameter which makes the operation
32283// fail if the object's ETag matches the given value. This is useful for
32284// getting updates only after the object has changed since the last
32285// request. Use googleapi.IsNotModified to check whether the response
32286// error from Do is the result of In-None-Match.
32287func (c *PartnersChannelsSitesListCall) IfNoneMatch(entityTag string) *PartnersChannelsSitesListCall {
32288	c.ifNoneMatch_ = entityTag
32289	return c
32290}
32291
32292// Context sets the context to be used in this call's Do method. Any
32293// pending HTTP request will be aborted if the provided context is
32294// canceled.
32295func (c *PartnersChannelsSitesListCall) Context(ctx context.Context) *PartnersChannelsSitesListCall {
32296	c.ctx_ = ctx
32297	return c
32298}
32299
32300// Header returns an http.Header that can be modified by the caller to
32301// add HTTP headers to the request.
32302func (c *PartnersChannelsSitesListCall) Header() http.Header {
32303	if c.header_ == nil {
32304		c.header_ = make(http.Header)
32305	}
32306	return c.header_
32307}
32308
32309func (c *PartnersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
32310	reqHeaders := make(http.Header)
32311	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32312	for k, v := range c.header_ {
32313		reqHeaders[k] = v
32314	}
32315	reqHeaders.Set("User-Agent", c.s.userAgent())
32316	if c.ifNoneMatch_ != "" {
32317		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32318	}
32319	var body io.Reader = nil
32320	c.urlParams_.Set("alt", alt)
32321	c.urlParams_.Set("prettyPrint", "false")
32322	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/channels/{+channelId}/sites")
32323	urls += "?" + c.urlParams_.Encode()
32324	req, err := http.NewRequest("GET", urls, body)
32325	if err != nil {
32326		return nil, err
32327	}
32328	req.Header = reqHeaders
32329	googleapi.Expand(req.URL, map[string]string{
32330		"partnerId": strconv.FormatInt(c.partnerId, 10),
32331		"channelId": strconv.FormatInt(c.channelId, 10),
32332	})
32333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32334}
32335
32336// Do executes the "displayvideo.partners.channels.sites.list" call.
32337// Exactly one of *ListSitesResponse or error will be non-nil. Any
32338// non-2xx status code is an error. Response headers are in either
32339// *ListSitesResponse.ServerResponse.Header or (if a response was
32340// returned at all) in error.(*googleapi.Error).Header. Use
32341// googleapi.IsNotModified to check whether the returned error was
32342// because http.StatusNotModified was returned.
32343func (c *PartnersChannelsSitesListCall) Do(opts ...googleapi.CallOption) (*ListSitesResponse, error) {
32344	gensupport.SetOptions(c.urlParams_, opts...)
32345	res, err := c.doRequest("json")
32346	if res != nil && res.StatusCode == http.StatusNotModified {
32347		if res.Body != nil {
32348			res.Body.Close()
32349		}
32350		return nil, &googleapi.Error{
32351			Code:   res.StatusCode,
32352			Header: res.Header,
32353		}
32354	}
32355	if err != nil {
32356		return nil, err
32357	}
32358	defer googleapi.CloseBody(res)
32359	if err := googleapi.CheckResponse(res); err != nil {
32360		return nil, err
32361	}
32362	ret := &ListSitesResponse{
32363		ServerResponse: googleapi.ServerResponse{
32364			Header:         res.Header,
32365			HTTPStatusCode: res.StatusCode,
32366		},
32367	}
32368	target := &ret
32369	if err := gensupport.DecodeResponse(target, res); err != nil {
32370		return nil, err
32371	}
32372	return ret, nil
32373	// {
32374	//   "description": "Lists sites in a channel.",
32375	//   "flatPath": "v1/partners/{partnersId}/channels/{channelsId}/sites",
32376	//   "httpMethod": "GET",
32377	//   "id": "displayvideo.partners.channels.sites.list",
32378	//   "parameterOrder": [
32379	//     "partnerId",
32380	//     "channelId"
32381	//   ],
32382	//   "parameters": {
32383	//     "advertiserId": {
32384	//       "description": "The ID of the advertiser that owns the parent channel.",
32385	//       "format": "int64",
32386	//       "location": "query",
32387	//       "type": "string"
32388	//     },
32389	//     "channelId": {
32390	//       "description": "Required. The ID of the parent channel to which the requested sites belong.",
32391	//       "format": "int64",
32392	//       "location": "path",
32393	//       "pattern": "^[^/]+$",
32394	//       "required": true,
32395	//       "type": "string"
32396	//     },
32397	//     "filter": {
32398	//       "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\"`",
32399	//       "location": "query",
32400	//       "type": "string"
32401	//     },
32402	//     "orderBy": {
32403	//       "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`.",
32404	//       "location": "query",
32405	//       "type": "string"
32406	//     },
32407	//     "pageSize": {
32408	//       "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.",
32409	//       "format": "int32",
32410	//       "location": "query",
32411	//       "type": "integer"
32412	//     },
32413	//     "pageToken": {
32414	//       "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.",
32415	//       "location": "query",
32416	//       "type": "string"
32417	//     },
32418	//     "partnerId": {
32419	//       "description": "The ID of the partner that owns the parent channel.",
32420	//       "format": "int64",
32421	//       "location": "path",
32422	//       "pattern": "^[^/]+$",
32423	//       "required": true,
32424	//       "type": "string"
32425	//     }
32426	//   },
32427	//   "path": "v1/partners/{+partnerId}/channels/{+channelId}/sites",
32428	//   "response": {
32429	//     "$ref": "ListSitesResponse"
32430	//   },
32431	//   "scopes": [
32432	//     "https://www.googleapis.com/auth/display-video"
32433	//   ]
32434	// }
32435
32436}
32437
32438// Pages invokes f for each page of results.
32439// A non-nil error returned from f will halt the iteration.
32440// The provided context supersedes any context provided to the Context method.
32441func (c *PartnersChannelsSitesListCall) Pages(ctx context.Context, f func(*ListSitesResponse) error) error {
32442	c.ctx_ = ctx
32443	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32444	for {
32445		x, err := c.Do()
32446		if err != nil {
32447			return err
32448		}
32449		if err := f(x); err != nil {
32450			return err
32451		}
32452		if x.NextPageToken == "" {
32453			return nil
32454		}
32455		c.PageToken(x.NextPageToken)
32456	}
32457}
32458
32459// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.create":
32460
32461type PartnersTargetingTypesAssignedTargetingOptionsCreateCall struct {
32462	s                       *Service
32463	partnerId               int64
32464	targetingType           string
32465	assignedtargetingoption *AssignedTargetingOption
32466	urlParams_              gensupport.URLParams
32467	ctx_                    context.Context
32468	header_                 http.Header
32469}
32470
32471// Create: Assigns a targeting option to a partner. Returns the assigned
32472// targeting option if successful.
32473func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Create(partnerId int64, targetingType string, assignedtargetingoption *AssignedTargetingOption) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
32474	c := &PartnersTargetingTypesAssignedTargetingOptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32475	c.partnerId = partnerId
32476	c.targetingType = targetingType
32477	c.assignedtargetingoption = assignedtargetingoption
32478	return c
32479}
32480
32481// Fields allows partial responses to be retrieved. See
32482// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32483// for more information.
32484func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
32485	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32486	return c
32487}
32488
32489// Context sets the context to be used in this call's Do method. Any
32490// pending HTTP request will be aborted if the provided context is
32491// canceled.
32492func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsCreateCall {
32493	c.ctx_ = ctx
32494	return c
32495}
32496
32497// Header returns an http.Header that can be modified by the caller to
32498// add HTTP headers to the request.
32499func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Header() http.Header {
32500	if c.header_ == nil {
32501		c.header_ = make(http.Header)
32502	}
32503	return c.header_
32504}
32505
32506func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
32507	reqHeaders := make(http.Header)
32508	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32509	for k, v := range c.header_ {
32510		reqHeaders[k] = v
32511	}
32512	reqHeaders.Set("User-Agent", c.s.userAgent())
32513	var body io.Reader = nil
32514	body, err := googleapi.WithoutDataWrapper.JSONReader(c.assignedtargetingoption)
32515	if err != nil {
32516		return nil, err
32517	}
32518	reqHeaders.Set("Content-Type", "application/json")
32519	c.urlParams_.Set("alt", alt)
32520	c.urlParams_.Set("prettyPrint", "false")
32521	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
32522	urls += "?" + c.urlParams_.Encode()
32523	req, err := http.NewRequest("POST", urls, body)
32524	if err != nil {
32525		return nil, err
32526	}
32527	req.Header = reqHeaders
32528	googleapi.Expand(req.URL, map[string]string{
32529		"partnerId":     strconv.FormatInt(c.partnerId, 10),
32530		"targetingType": c.targetingType,
32531	})
32532	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32533}
32534
32535// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.create" call.
32536// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
32537// non-2xx status code is an error. Response headers are in either
32538// *AssignedTargetingOption.ServerResponse.Header or (if a response was
32539// returned at all) in error.(*googleapi.Error).Header. Use
32540// googleapi.IsNotModified to check whether the returned error was
32541// because http.StatusNotModified was returned.
32542func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
32543	gensupport.SetOptions(c.urlParams_, opts...)
32544	res, err := c.doRequest("json")
32545	if res != nil && res.StatusCode == http.StatusNotModified {
32546		if res.Body != nil {
32547			res.Body.Close()
32548		}
32549		return nil, &googleapi.Error{
32550			Code:   res.StatusCode,
32551			Header: res.Header,
32552		}
32553	}
32554	if err != nil {
32555		return nil, err
32556	}
32557	defer googleapi.CloseBody(res)
32558	if err := googleapi.CheckResponse(res); err != nil {
32559		return nil, err
32560	}
32561	ret := &AssignedTargetingOption{
32562		ServerResponse: googleapi.ServerResponse{
32563			Header:         res.Header,
32564			HTTPStatusCode: res.StatusCode,
32565		},
32566	}
32567	target := &ret
32568	if err := gensupport.DecodeResponse(target, res); err != nil {
32569		return nil, err
32570	}
32571	return ret, nil
32572	// {
32573	//   "description": "Assigns a targeting option to a partner. Returns the assigned targeting option if successful.",
32574	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
32575	//   "httpMethod": "POST",
32576	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.create",
32577	//   "parameterOrder": [
32578	//     "partnerId",
32579	//     "targetingType"
32580	//   ],
32581	//   "parameters": {
32582	//     "partnerId": {
32583	//       "description": "Required. The ID of the partner.",
32584	//       "format": "int64",
32585	//       "location": "path",
32586	//       "pattern": "^[^/]+$",
32587	//       "required": true,
32588	//       "type": "string"
32589	//     },
32590	//     "targetingType": {
32591	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
32592	//       "enum": [
32593	//         "TARGETING_TYPE_UNSPECIFIED",
32594	//         "TARGETING_TYPE_CHANNEL",
32595	//         "TARGETING_TYPE_APP_CATEGORY",
32596	//         "TARGETING_TYPE_APP",
32597	//         "TARGETING_TYPE_URL",
32598	//         "TARGETING_TYPE_DAY_AND_TIME",
32599	//         "TARGETING_TYPE_AGE_RANGE",
32600	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
32601	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
32602	//         "TARGETING_TYPE_GENDER",
32603	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
32604	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
32605	//         "TARGETING_TYPE_PARENTAL_STATUS",
32606	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
32607	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
32608	//         "TARGETING_TYPE_DEVICE_TYPE",
32609	//         "TARGETING_TYPE_AUDIENCE_GROUP",
32610	//         "TARGETING_TYPE_BROWSER",
32611	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
32612	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
32613	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
32614	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
32615	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
32616	//         "TARGETING_TYPE_ENVIRONMENT",
32617	//         "TARGETING_TYPE_CARRIER_AND_ISP",
32618	//         "TARGETING_TYPE_OPERATING_SYSTEM",
32619	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
32620	//         "TARGETING_TYPE_KEYWORD",
32621	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
32622	//         "TARGETING_TYPE_VIEWABILITY",
32623	//         "TARGETING_TYPE_CATEGORY",
32624	//         "TARGETING_TYPE_INVENTORY_SOURCE",
32625	//         "TARGETING_TYPE_LANGUAGE",
32626	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
32627	//         "TARGETING_TYPE_GEO_REGION",
32628	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
32629	//         "TARGETING_TYPE_EXCHANGE",
32630	//         "TARGETING_TYPE_SUB_EXCHANGE"
32631	//       ],
32632	//       "enumDescriptions": [
32633	//         "Default value when type is not specified or is unknown in this version.",
32634	//         "Target a channel (a custom group of related websites or apps).",
32635	//         "Target an app category (for example, education or puzzle games).",
32636	//         "Target a specific app (for example, Angry Birds).",
32637	//         "Target a specific url (for example, quora.com).",
32638	//         "Target ads during a chosen time period on a specific day.",
32639	//         "Target ads to a specific age range (for example, 18-24).",
32640	//         "Target ads to the specified regions on a regional location list.",
32641	//         "Target ads to the specified points of interest on a proximity location list.",
32642	//         "Target ads to a specific gender (for example, female or male).",
32643	//         "Target a specific video player size for video ads.",
32644	//         "Target user rewarded content for video ads.",
32645	//         "Target ads to a specific parental status (for example, parent or not a parent).",
32646	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
32647	//         "Target ads in a specific content outstream position.",
32648	//         "Target ads to a specific device type (for example, tablet or connected TV).",
32649	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
32650	//         "Target ads to specific web browsers (for example, Chrome).",
32651	//         "Target ads to a specific household income range (for example, top 10%).",
32652	//         "Target ads in a specific on screen position.",
32653	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
32654	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
32655	//         "Filter website content by sensitive categories (for example, adult).",
32656	//         "Target ads to a specific environment (for example, web or app).",
32657	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
32658	//         "Target ads to a specific operating system (for example, macOS).",
32659	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
32660	//         "Target ads to a specific keyword (for example, dog or retriever).",
32661	//         "Target ads to a specific negative keyword list.",
32662	//         "Target ads to a specific viewability (for example, 80% viewable).",
32663	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
32664	//         "Purchase impressions from specific deals and auction packages.",
32665	//         "Target ads to a specific language (for example, English or Japanese).",
32666	//         "Target ads to ads.txt authorized sellers.",
32667	//         "Target ads to a specific regional location (for example, a city or state).",
32668	//         "Purchase impressions from a group of deals and auction packages.",
32669	//         "Purchase impressions from specific exchanges.",
32670	//         "Purchase impressions from specific sub-exchanges."
32671	//       ],
32672	//       "location": "path",
32673	//       "pattern": "^[^/]+$",
32674	//       "required": true,
32675	//       "type": "string"
32676	//     }
32677	//   },
32678	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
32679	//   "request": {
32680	//     "$ref": "AssignedTargetingOption"
32681	//   },
32682	//   "response": {
32683	//     "$ref": "AssignedTargetingOption"
32684	//   },
32685	//   "scopes": [
32686	//     "https://www.googleapis.com/auth/display-video"
32687	//   ]
32688	// }
32689
32690}
32691
32692// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete":
32693
32694type PartnersTargetingTypesAssignedTargetingOptionsDeleteCall struct {
32695	s                         *Service
32696	partnerId                 int64
32697	targetingType             string
32698	assignedTargetingOptionId string
32699	urlParams_                gensupport.URLParams
32700	ctx_                      context.Context
32701	header_                   http.Header
32702}
32703
32704// Delete: Deletes an assigned targeting option from a partner.
32705func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Delete(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
32706	c := &PartnersTargetingTypesAssignedTargetingOptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32707	c.partnerId = partnerId
32708	c.targetingType = targetingType
32709	c.assignedTargetingOptionId = assignedTargetingOptionId
32710	return c
32711}
32712
32713// Fields allows partial responses to be retrieved. See
32714// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32715// for more information.
32716func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
32717	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32718	return c
32719}
32720
32721// Context sets the context to be used in this call's Do method. Any
32722// pending HTTP request will be aborted if the provided context is
32723// canceled.
32724func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall {
32725	c.ctx_ = ctx
32726	return c
32727}
32728
32729// Header returns an http.Header that can be modified by the caller to
32730// add HTTP headers to the request.
32731func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Header() http.Header {
32732	if c.header_ == nil {
32733		c.header_ = make(http.Header)
32734	}
32735	return c.header_
32736}
32737
32738func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
32739	reqHeaders := make(http.Header)
32740	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32741	for k, v := range c.header_ {
32742		reqHeaders[k] = v
32743	}
32744	reqHeaders.Set("User-Agent", c.s.userAgent())
32745	var body io.Reader = nil
32746	c.urlParams_.Set("alt", alt)
32747	c.urlParams_.Set("prettyPrint", "false")
32748	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
32749	urls += "?" + c.urlParams_.Encode()
32750	req, err := http.NewRequest("DELETE", urls, body)
32751	if err != nil {
32752		return nil, err
32753	}
32754	req.Header = reqHeaders
32755	googleapi.Expand(req.URL, map[string]string{
32756		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
32757		"targetingType":             c.targetingType,
32758		"assignedTargetingOptionId": c.assignedTargetingOptionId,
32759	})
32760	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32761}
32762
32763// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete" call.
32764// Exactly one of *Empty or error will be non-nil. Any non-2xx status
32765// code is an error. Response headers are in either
32766// *Empty.ServerResponse.Header or (if a response was returned at all)
32767// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
32768// check whether the returned error was because http.StatusNotModified
32769// was returned.
32770func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
32771	gensupport.SetOptions(c.urlParams_, opts...)
32772	res, err := c.doRequest("json")
32773	if res != nil && res.StatusCode == http.StatusNotModified {
32774		if res.Body != nil {
32775			res.Body.Close()
32776		}
32777		return nil, &googleapi.Error{
32778			Code:   res.StatusCode,
32779			Header: res.Header,
32780		}
32781	}
32782	if err != nil {
32783		return nil, err
32784	}
32785	defer googleapi.CloseBody(res)
32786	if err := googleapi.CheckResponse(res); err != nil {
32787		return nil, err
32788	}
32789	ret := &Empty{
32790		ServerResponse: googleapi.ServerResponse{
32791			Header:         res.Header,
32792			HTTPStatusCode: res.StatusCode,
32793		},
32794	}
32795	target := &ret
32796	if err := gensupport.DecodeResponse(target, res); err != nil {
32797		return nil, err
32798	}
32799	return ret, nil
32800	// {
32801	//   "description": "Deletes an assigned targeting option from a partner.",
32802	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
32803	//   "httpMethod": "DELETE",
32804	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete",
32805	//   "parameterOrder": [
32806	//     "partnerId",
32807	//     "targetingType",
32808	//     "assignedTargetingOptionId"
32809	//   ],
32810	//   "parameters": {
32811	//     "assignedTargetingOptionId": {
32812	//       "description": "Required. The ID of the assigned targeting option to delete.",
32813	//       "location": "path",
32814	//       "pattern": "^[^/]+$",
32815	//       "required": true,
32816	//       "type": "string"
32817	//     },
32818	//     "partnerId": {
32819	//       "description": "Required. The ID of the partner.",
32820	//       "format": "int64",
32821	//       "location": "path",
32822	//       "pattern": "^[^/]+$",
32823	//       "required": true,
32824	//       "type": "string"
32825	//     },
32826	//     "targetingType": {
32827	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
32828	//       "enum": [
32829	//         "TARGETING_TYPE_UNSPECIFIED",
32830	//         "TARGETING_TYPE_CHANNEL",
32831	//         "TARGETING_TYPE_APP_CATEGORY",
32832	//         "TARGETING_TYPE_APP",
32833	//         "TARGETING_TYPE_URL",
32834	//         "TARGETING_TYPE_DAY_AND_TIME",
32835	//         "TARGETING_TYPE_AGE_RANGE",
32836	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
32837	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
32838	//         "TARGETING_TYPE_GENDER",
32839	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
32840	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
32841	//         "TARGETING_TYPE_PARENTAL_STATUS",
32842	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
32843	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
32844	//         "TARGETING_TYPE_DEVICE_TYPE",
32845	//         "TARGETING_TYPE_AUDIENCE_GROUP",
32846	//         "TARGETING_TYPE_BROWSER",
32847	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
32848	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
32849	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
32850	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
32851	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
32852	//         "TARGETING_TYPE_ENVIRONMENT",
32853	//         "TARGETING_TYPE_CARRIER_AND_ISP",
32854	//         "TARGETING_TYPE_OPERATING_SYSTEM",
32855	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
32856	//         "TARGETING_TYPE_KEYWORD",
32857	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
32858	//         "TARGETING_TYPE_VIEWABILITY",
32859	//         "TARGETING_TYPE_CATEGORY",
32860	//         "TARGETING_TYPE_INVENTORY_SOURCE",
32861	//         "TARGETING_TYPE_LANGUAGE",
32862	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
32863	//         "TARGETING_TYPE_GEO_REGION",
32864	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
32865	//         "TARGETING_TYPE_EXCHANGE",
32866	//         "TARGETING_TYPE_SUB_EXCHANGE"
32867	//       ],
32868	//       "enumDescriptions": [
32869	//         "Default value when type is not specified or is unknown in this version.",
32870	//         "Target a channel (a custom group of related websites or apps).",
32871	//         "Target an app category (for example, education or puzzle games).",
32872	//         "Target a specific app (for example, Angry Birds).",
32873	//         "Target a specific url (for example, quora.com).",
32874	//         "Target ads during a chosen time period on a specific day.",
32875	//         "Target ads to a specific age range (for example, 18-24).",
32876	//         "Target ads to the specified regions on a regional location list.",
32877	//         "Target ads to the specified points of interest on a proximity location list.",
32878	//         "Target ads to a specific gender (for example, female or male).",
32879	//         "Target a specific video player size for video ads.",
32880	//         "Target user rewarded content for video ads.",
32881	//         "Target ads to a specific parental status (for example, parent or not a parent).",
32882	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
32883	//         "Target ads in a specific content outstream position.",
32884	//         "Target ads to a specific device type (for example, tablet or connected TV).",
32885	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
32886	//         "Target ads to specific web browsers (for example, Chrome).",
32887	//         "Target ads to a specific household income range (for example, top 10%).",
32888	//         "Target ads in a specific on screen position.",
32889	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
32890	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
32891	//         "Filter website content by sensitive categories (for example, adult).",
32892	//         "Target ads to a specific environment (for example, web or app).",
32893	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
32894	//         "Target ads to a specific operating system (for example, macOS).",
32895	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
32896	//         "Target ads to a specific keyword (for example, dog or retriever).",
32897	//         "Target ads to a specific negative keyword list.",
32898	//         "Target ads to a specific viewability (for example, 80% viewable).",
32899	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
32900	//         "Purchase impressions from specific deals and auction packages.",
32901	//         "Target ads to a specific language (for example, English or Japanese).",
32902	//         "Target ads to ads.txt authorized sellers.",
32903	//         "Target ads to a specific regional location (for example, a city or state).",
32904	//         "Purchase impressions from a group of deals and auction packages.",
32905	//         "Purchase impressions from specific exchanges.",
32906	//         "Purchase impressions from specific sub-exchanges."
32907	//       ],
32908	//       "location": "path",
32909	//       "pattern": "^[^/]+$",
32910	//       "required": true,
32911	//       "type": "string"
32912	//     }
32913	//   },
32914	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
32915	//   "response": {
32916	//     "$ref": "Empty"
32917	//   },
32918	//   "scopes": [
32919	//     "https://www.googleapis.com/auth/display-video"
32920	//   ]
32921	// }
32922
32923}
32924
32925// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.get":
32926
32927type PartnersTargetingTypesAssignedTargetingOptionsGetCall struct {
32928	s                         *Service
32929	partnerId                 int64
32930	targetingType             string
32931	assignedTargetingOptionId string
32932	urlParams_                gensupport.URLParams
32933	ifNoneMatch_              string
32934	ctx_                      context.Context
32935	header_                   http.Header
32936}
32937
32938// Get: Gets a single targeting option assigned to a partner.
32939func (r *PartnersTargetingTypesAssignedTargetingOptionsService) Get(partnerId int64, targetingType string, assignedTargetingOptionId string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
32940	c := &PartnersTargetingTypesAssignedTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32941	c.partnerId = partnerId
32942	c.targetingType = targetingType
32943	c.assignedTargetingOptionId = assignedTargetingOptionId
32944	return c
32945}
32946
32947// Fields allows partial responses to be retrieved. See
32948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32949// for more information.
32950func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
32951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32952	return c
32953}
32954
32955// IfNoneMatch sets the optional parameter which makes the operation
32956// fail if the object's ETag matches the given value. This is useful for
32957// getting updates only after the object has changed since the last
32958// request. Use googleapi.IsNotModified to check whether the response
32959// error from Do is the result of In-None-Match.
32960func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
32961	c.ifNoneMatch_ = entityTag
32962	return c
32963}
32964
32965// Context sets the context to be used in this call's Do method. Any
32966// pending HTTP request will be aborted if the provided context is
32967// canceled.
32968func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsGetCall {
32969	c.ctx_ = ctx
32970	return c
32971}
32972
32973// Header returns an http.Header that can be modified by the caller to
32974// add HTTP headers to the request.
32975func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Header() http.Header {
32976	if c.header_ == nil {
32977		c.header_ = make(http.Header)
32978	}
32979	return c.header_
32980}
32981
32982func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
32983	reqHeaders := make(http.Header)
32984	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32985	for k, v := range c.header_ {
32986		reqHeaders[k] = v
32987	}
32988	reqHeaders.Set("User-Agent", c.s.userAgent())
32989	if c.ifNoneMatch_ != "" {
32990		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32991	}
32992	var body io.Reader = nil
32993	c.urlParams_.Set("alt", alt)
32994	c.urlParams_.Set("prettyPrint", "false")
32995	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}")
32996	urls += "?" + c.urlParams_.Encode()
32997	req, err := http.NewRequest("GET", urls, body)
32998	if err != nil {
32999		return nil, err
33000	}
33001	req.Header = reqHeaders
33002	googleapi.Expand(req.URL, map[string]string{
33003		"partnerId":                 strconv.FormatInt(c.partnerId, 10),
33004		"targetingType":             c.targetingType,
33005		"assignedTargetingOptionId": c.assignedTargetingOptionId,
33006	})
33007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33008}
33009
33010// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.get" call.
33011// Exactly one of *AssignedTargetingOption or error will be non-nil. Any
33012// non-2xx status code is an error. Response headers are in either
33013// *AssignedTargetingOption.ServerResponse.Header or (if a response was
33014// returned at all) in error.(*googleapi.Error).Header. Use
33015// googleapi.IsNotModified to check whether the returned error was
33016// because http.StatusNotModified was returned.
33017func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*AssignedTargetingOption, error) {
33018	gensupport.SetOptions(c.urlParams_, opts...)
33019	res, err := c.doRequest("json")
33020	if res != nil && res.StatusCode == http.StatusNotModified {
33021		if res.Body != nil {
33022			res.Body.Close()
33023		}
33024		return nil, &googleapi.Error{
33025			Code:   res.StatusCode,
33026			Header: res.Header,
33027		}
33028	}
33029	if err != nil {
33030		return nil, err
33031	}
33032	defer googleapi.CloseBody(res)
33033	if err := googleapi.CheckResponse(res); err != nil {
33034		return nil, err
33035	}
33036	ret := &AssignedTargetingOption{
33037		ServerResponse: googleapi.ServerResponse{
33038			Header:         res.Header,
33039			HTTPStatusCode: res.StatusCode,
33040		},
33041	}
33042	target := &ret
33043	if err := gensupport.DecodeResponse(target, res); err != nil {
33044		return nil, err
33045	}
33046	return ret, nil
33047	// {
33048	//   "description": "Gets a single targeting option assigned to a partner.",
33049	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}",
33050	//   "httpMethod": "GET",
33051	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.get",
33052	//   "parameterOrder": [
33053	//     "partnerId",
33054	//     "targetingType",
33055	//     "assignedTargetingOptionId"
33056	//   ],
33057	//   "parameters": {
33058	//     "assignedTargetingOptionId": {
33059	//       "description": "Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested.",
33060	//       "location": "path",
33061	//       "pattern": "^[^/]+$",
33062	//       "required": true,
33063	//       "type": "string"
33064	//     },
33065	//     "partnerId": {
33066	//       "description": "Required. The ID of the partner.",
33067	//       "format": "int64",
33068	//       "location": "path",
33069	//       "pattern": "^[^/]+$",
33070	//       "required": true,
33071	//       "type": "string"
33072	//     },
33073	//     "targetingType": {
33074	//       "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
33075	//       "enum": [
33076	//         "TARGETING_TYPE_UNSPECIFIED",
33077	//         "TARGETING_TYPE_CHANNEL",
33078	//         "TARGETING_TYPE_APP_CATEGORY",
33079	//         "TARGETING_TYPE_APP",
33080	//         "TARGETING_TYPE_URL",
33081	//         "TARGETING_TYPE_DAY_AND_TIME",
33082	//         "TARGETING_TYPE_AGE_RANGE",
33083	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
33084	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
33085	//         "TARGETING_TYPE_GENDER",
33086	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
33087	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
33088	//         "TARGETING_TYPE_PARENTAL_STATUS",
33089	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
33090	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
33091	//         "TARGETING_TYPE_DEVICE_TYPE",
33092	//         "TARGETING_TYPE_AUDIENCE_GROUP",
33093	//         "TARGETING_TYPE_BROWSER",
33094	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
33095	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
33096	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
33097	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
33098	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
33099	//         "TARGETING_TYPE_ENVIRONMENT",
33100	//         "TARGETING_TYPE_CARRIER_AND_ISP",
33101	//         "TARGETING_TYPE_OPERATING_SYSTEM",
33102	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
33103	//         "TARGETING_TYPE_KEYWORD",
33104	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
33105	//         "TARGETING_TYPE_VIEWABILITY",
33106	//         "TARGETING_TYPE_CATEGORY",
33107	//         "TARGETING_TYPE_INVENTORY_SOURCE",
33108	//         "TARGETING_TYPE_LANGUAGE",
33109	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
33110	//         "TARGETING_TYPE_GEO_REGION",
33111	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
33112	//         "TARGETING_TYPE_EXCHANGE",
33113	//         "TARGETING_TYPE_SUB_EXCHANGE"
33114	//       ],
33115	//       "enumDescriptions": [
33116	//         "Default value when type is not specified or is unknown in this version.",
33117	//         "Target a channel (a custom group of related websites or apps).",
33118	//         "Target an app category (for example, education or puzzle games).",
33119	//         "Target a specific app (for example, Angry Birds).",
33120	//         "Target a specific url (for example, quora.com).",
33121	//         "Target ads during a chosen time period on a specific day.",
33122	//         "Target ads to a specific age range (for example, 18-24).",
33123	//         "Target ads to the specified regions on a regional location list.",
33124	//         "Target ads to the specified points of interest on a proximity location list.",
33125	//         "Target ads to a specific gender (for example, female or male).",
33126	//         "Target a specific video player size for video ads.",
33127	//         "Target user rewarded content for video ads.",
33128	//         "Target ads to a specific parental status (for example, parent or not a parent).",
33129	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
33130	//         "Target ads in a specific content outstream position.",
33131	//         "Target ads to a specific device type (for example, tablet or connected TV).",
33132	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
33133	//         "Target ads to specific web browsers (for example, Chrome).",
33134	//         "Target ads to a specific household income range (for example, top 10%).",
33135	//         "Target ads in a specific on screen position.",
33136	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
33137	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
33138	//         "Filter website content by sensitive categories (for example, adult).",
33139	//         "Target ads to a specific environment (for example, web or app).",
33140	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
33141	//         "Target ads to a specific operating system (for example, macOS).",
33142	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
33143	//         "Target ads to a specific keyword (for example, dog or retriever).",
33144	//         "Target ads to a specific negative keyword list.",
33145	//         "Target ads to a specific viewability (for example, 80% viewable).",
33146	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
33147	//         "Purchase impressions from specific deals and auction packages.",
33148	//         "Target ads to a specific language (for example, English or Japanese).",
33149	//         "Target ads to ads.txt authorized sellers.",
33150	//         "Target ads to a specific regional location (for example, a city or state).",
33151	//         "Purchase impressions from a group of deals and auction packages.",
33152	//         "Purchase impressions from specific exchanges.",
33153	//         "Purchase impressions from specific sub-exchanges."
33154	//       ],
33155	//       "location": "path",
33156	//       "pattern": "^[^/]+$",
33157	//       "required": true,
33158	//       "type": "string"
33159	//     }
33160	//   },
33161	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}",
33162	//   "response": {
33163	//     "$ref": "AssignedTargetingOption"
33164	//   },
33165	//   "scopes": [
33166	//     "https://www.googleapis.com/auth/display-video"
33167	//   ]
33168	// }
33169
33170}
33171
33172// method id "displayvideo.partners.targetingTypes.assignedTargetingOptions.list":
33173
33174type PartnersTargetingTypesAssignedTargetingOptionsListCall struct {
33175	s             *Service
33176	partnerId     int64
33177	targetingType string
33178	urlParams_    gensupport.URLParams
33179	ifNoneMatch_  string
33180	ctx_          context.Context
33181	header_       http.Header
33182}
33183
33184// List: Lists the targeting options assigned to a partner.
33185func (r *PartnersTargetingTypesAssignedTargetingOptionsService) List(partnerId int64, targetingType string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33186	c := &PartnersTargetingTypesAssignedTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33187	c.partnerId = partnerId
33188	c.targetingType = targetingType
33189	return c
33190}
33191
33192// Filter sets the optional parameter "filter": Allows filtering by
33193// assigned targeting option properties. Supported syntax: * Filter
33194// expressions are made up of one or more restrictions. * Restrictions
33195// can be combined by the logical operator `OR`. * A restriction has the
33196// form of `{field} {operator} {value}`. * The operator must be `EQUALS
33197// (=)`. * Supported fields: - `assignedTargetingOptionId` Examples: *
33198// AssignedTargetingOption with ID 123456
33199// `assignedTargetingOptionId="123456" The length of this field should
33200// be no more than 500 characters.
33201func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Filter(filter string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33202	c.urlParams_.Set("filter", filter)
33203	return c
33204}
33205
33206// OrderBy sets the optional parameter "orderBy": Field by which to sort
33207// the list. Acceptable values are: * `assignedTargetingOptionId`
33208// (default) The default sorting order is ascending. To specify
33209// descending order for a field, a suffix "desc" should be added to the
33210// field name. Example: `assignedTargetingOptionId desc`.
33211func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) OrderBy(orderBy string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33212	c.urlParams_.Set("orderBy", orderBy)
33213	return c
33214}
33215
33216// PageSize sets the optional parameter "pageSize": Requested page size.
33217// Must be between `1` and `100`. If unspecified will default to `100`.
33218// Returns error code `INVALID_ARGUMENT` if an invalid value is
33219// specified.
33220func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageSize(pageSize int64) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33221	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
33222	return c
33223}
33224
33225// PageToken sets the optional parameter "pageToken": A token
33226// identifying a page of results the server should return. Typically,
33227// this is the value of next_page_token returned from the previous call
33228// to `ListPartnerAssignedTargetingOptions` method. If not specified,
33229// the first page of results will be returned.
33230func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) PageToken(pageToken string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33231	c.urlParams_.Set("pageToken", pageToken)
33232	return c
33233}
33234
33235// Fields allows partial responses to be retrieved. See
33236// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33237// for more information.
33238func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Fields(s ...googleapi.Field) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33239	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33240	return c
33241}
33242
33243// IfNoneMatch sets the optional parameter which makes the operation
33244// fail if the object's ETag matches the given value. This is useful for
33245// getting updates only after the object has changed since the last
33246// request. Use googleapi.IsNotModified to check whether the response
33247// error from Do is the result of In-None-Match.
33248func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) IfNoneMatch(entityTag string) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33249	c.ifNoneMatch_ = entityTag
33250	return c
33251}
33252
33253// Context sets the context to be used in this call's Do method. Any
33254// pending HTTP request will be aborted if the provided context is
33255// canceled.
33256func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Context(ctx context.Context) *PartnersTargetingTypesAssignedTargetingOptionsListCall {
33257	c.ctx_ = ctx
33258	return c
33259}
33260
33261// Header returns an http.Header that can be modified by the caller to
33262// add HTTP headers to the request.
33263func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Header() http.Header {
33264	if c.header_ == nil {
33265		c.header_ = make(http.Header)
33266	}
33267	return c.header_
33268}
33269
33270func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
33271	reqHeaders := make(http.Header)
33272	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33273	for k, v := range c.header_ {
33274		reqHeaders[k] = v
33275	}
33276	reqHeaders.Set("User-Agent", c.s.userAgent())
33277	if c.ifNoneMatch_ != "" {
33278		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33279	}
33280	var body io.Reader = nil
33281	c.urlParams_.Set("alt", alt)
33282	c.urlParams_.Set("prettyPrint", "false")
33283	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions")
33284	urls += "?" + c.urlParams_.Encode()
33285	req, err := http.NewRequest("GET", urls, body)
33286	if err != nil {
33287		return nil, err
33288	}
33289	req.Header = reqHeaders
33290	googleapi.Expand(req.URL, map[string]string{
33291		"partnerId":     strconv.FormatInt(c.partnerId, 10),
33292		"targetingType": c.targetingType,
33293	})
33294	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33295}
33296
33297// Do executes the "displayvideo.partners.targetingTypes.assignedTargetingOptions.list" call.
33298// Exactly one of *ListPartnerAssignedTargetingOptionsResponse or error
33299// will be non-nil. Any non-2xx status code is an error. Response
33300// headers are in either
33301// *ListPartnerAssignedTargetingOptionsResponse.ServerResponse.Header or
33302// (if a response was returned at all) in
33303// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33304// whether the returned error was because http.StatusNotModified was
33305// returned.
33306func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListPartnerAssignedTargetingOptionsResponse, error) {
33307	gensupport.SetOptions(c.urlParams_, opts...)
33308	res, err := c.doRequest("json")
33309	if res != nil && res.StatusCode == http.StatusNotModified {
33310		if res.Body != nil {
33311			res.Body.Close()
33312		}
33313		return nil, &googleapi.Error{
33314			Code:   res.StatusCode,
33315			Header: res.Header,
33316		}
33317	}
33318	if err != nil {
33319		return nil, err
33320	}
33321	defer googleapi.CloseBody(res)
33322	if err := googleapi.CheckResponse(res); err != nil {
33323		return nil, err
33324	}
33325	ret := &ListPartnerAssignedTargetingOptionsResponse{
33326		ServerResponse: googleapi.ServerResponse{
33327			Header:         res.Header,
33328			HTTPStatusCode: res.StatusCode,
33329		},
33330	}
33331	target := &ret
33332	if err := gensupport.DecodeResponse(target, res); err != nil {
33333		return nil, err
33334	}
33335	return ret, nil
33336	// {
33337	//   "description": "Lists the targeting options assigned to a partner.",
33338	//   "flatPath": "v1/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions",
33339	//   "httpMethod": "GET",
33340	//   "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.list",
33341	//   "parameterOrder": [
33342	//     "partnerId",
33343	//     "targetingType"
33344	//   ],
33345	//   "parameters": {
33346	//     "filter": {
33347	//       "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.",
33348	//       "location": "query",
33349	//       "type": "string"
33350	//     },
33351	//     "orderBy": {
33352	//       "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`.",
33353	//       "location": "query",
33354	//       "type": "string"
33355	//     },
33356	//     "pageSize": {
33357	//       "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.",
33358	//       "format": "int32",
33359	//       "location": "query",
33360	//       "type": "integer"
33361	//     },
33362	//     "pageToken": {
33363	//       "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.",
33364	//       "location": "query",
33365	//       "type": "string"
33366	//     },
33367	//     "partnerId": {
33368	//       "description": "Required. The ID of the partner.",
33369	//       "format": "int64",
33370	//       "location": "path",
33371	//       "pattern": "^[^/]+$",
33372	//       "required": true,
33373	//       "type": "string"
33374	//     },
33375	//     "targetingType": {
33376	//       "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`",
33377	//       "enum": [
33378	//         "TARGETING_TYPE_UNSPECIFIED",
33379	//         "TARGETING_TYPE_CHANNEL",
33380	//         "TARGETING_TYPE_APP_CATEGORY",
33381	//         "TARGETING_TYPE_APP",
33382	//         "TARGETING_TYPE_URL",
33383	//         "TARGETING_TYPE_DAY_AND_TIME",
33384	//         "TARGETING_TYPE_AGE_RANGE",
33385	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
33386	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
33387	//         "TARGETING_TYPE_GENDER",
33388	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
33389	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
33390	//         "TARGETING_TYPE_PARENTAL_STATUS",
33391	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
33392	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
33393	//         "TARGETING_TYPE_DEVICE_TYPE",
33394	//         "TARGETING_TYPE_AUDIENCE_GROUP",
33395	//         "TARGETING_TYPE_BROWSER",
33396	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
33397	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
33398	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
33399	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
33400	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
33401	//         "TARGETING_TYPE_ENVIRONMENT",
33402	//         "TARGETING_TYPE_CARRIER_AND_ISP",
33403	//         "TARGETING_TYPE_OPERATING_SYSTEM",
33404	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
33405	//         "TARGETING_TYPE_KEYWORD",
33406	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
33407	//         "TARGETING_TYPE_VIEWABILITY",
33408	//         "TARGETING_TYPE_CATEGORY",
33409	//         "TARGETING_TYPE_INVENTORY_SOURCE",
33410	//         "TARGETING_TYPE_LANGUAGE",
33411	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
33412	//         "TARGETING_TYPE_GEO_REGION",
33413	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
33414	//         "TARGETING_TYPE_EXCHANGE",
33415	//         "TARGETING_TYPE_SUB_EXCHANGE"
33416	//       ],
33417	//       "enumDescriptions": [
33418	//         "Default value when type is not specified or is unknown in this version.",
33419	//         "Target a channel (a custom group of related websites or apps).",
33420	//         "Target an app category (for example, education or puzzle games).",
33421	//         "Target a specific app (for example, Angry Birds).",
33422	//         "Target a specific url (for example, quora.com).",
33423	//         "Target ads during a chosen time period on a specific day.",
33424	//         "Target ads to a specific age range (for example, 18-24).",
33425	//         "Target ads to the specified regions on a regional location list.",
33426	//         "Target ads to the specified points of interest on a proximity location list.",
33427	//         "Target ads to a specific gender (for example, female or male).",
33428	//         "Target a specific video player size for video ads.",
33429	//         "Target user rewarded content for video ads.",
33430	//         "Target ads to a specific parental status (for example, parent or not a parent).",
33431	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
33432	//         "Target ads in a specific content outstream position.",
33433	//         "Target ads to a specific device type (for example, tablet or connected TV).",
33434	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
33435	//         "Target ads to specific web browsers (for example, Chrome).",
33436	//         "Target ads to a specific household income range (for example, top 10%).",
33437	//         "Target ads in a specific on screen position.",
33438	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
33439	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
33440	//         "Filter website content by sensitive categories (for example, adult).",
33441	//         "Target ads to a specific environment (for example, web or app).",
33442	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
33443	//         "Target ads to a specific operating system (for example, macOS).",
33444	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
33445	//         "Target ads to a specific keyword (for example, dog or retriever).",
33446	//         "Target ads to a specific negative keyword list.",
33447	//         "Target ads to a specific viewability (for example, 80% viewable).",
33448	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
33449	//         "Purchase impressions from specific deals and auction packages.",
33450	//         "Target ads to a specific language (for example, English or Japanese).",
33451	//         "Target ads to ads.txt authorized sellers.",
33452	//         "Target ads to a specific regional location (for example, a city or state).",
33453	//         "Purchase impressions from a group of deals and auction packages.",
33454	//         "Purchase impressions from specific exchanges.",
33455	//         "Purchase impressions from specific sub-exchanges."
33456	//       ],
33457	//       "location": "path",
33458	//       "pattern": "^[^/]+$",
33459	//       "required": true,
33460	//       "type": "string"
33461	//     }
33462	//   },
33463	//   "path": "v1/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions",
33464	//   "response": {
33465	//     "$ref": "ListPartnerAssignedTargetingOptionsResponse"
33466	//   },
33467	//   "scopes": [
33468	//     "https://www.googleapis.com/auth/display-video"
33469	//   ]
33470	// }
33471
33472}
33473
33474// Pages invokes f for each page of results.
33475// A non-nil error returned from f will halt the iteration.
33476// The provided context supersedes any context provided to the Context method.
33477func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListPartnerAssignedTargetingOptionsResponse) error) error {
33478	c.ctx_ = ctx
33479	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33480	for {
33481		x, err := c.Do()
33482		if err != nil {
33483			return err
33484		}
33485		if err := f(x); err != nil {
33486			return err
33487		}
33488		if x.NextPageToken == "" {
33489			return nil
33490		}
33491		c.PageToken(x.NextPageToken)
33492	}
33493}
33494
33495// method id "displayvideo.sdfdownloadtasks.create":
33496
33497type SdfdownloadtasksCreateCall struct {
33498	s                            *Service
33499	createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest
33500	urlParams_                   gensupport.URLParams
33501	ctx_                         context.Context
33502	header_                      http.Header
33503}
33504
33505// Create: Creates an SDF Download Task. Returns an Operation. An SDF
33506// Download Task is a long-running, asynchronous operation. The metadata
33507// type of this operation is SdfDownloadTaskMetadata. If the request is
33508// successful, the response type of the operation is SdfDownloadTask.
33509// The response will not include the download files, which must be
33510// retrieved with media.download. The state of operation can be
33511// retrieved with sdfdownloadtask.operations.get. Any errors can be
33512// found in the error.message. Note that error.details is expected to be
33513// empty.
33514func (r *SdfdownloadtasksService) Create(createsdfdownloadtaskrequest *CreateSdfDownloadTaskRequest) *SdfdownloadtasksCreateCall {
33515	c := &SdfdownloadtasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33516	c.createsdfdownloadtaskrequest = createsdfdownloadtaskrequest
33517	return c
33518}
33519
33520// Fields allows partial responses to be retrieved. See
33521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33522// for more information.
33523func (c *SdfdownloadtasksCreateCall) Fields(s ...googleapi.Field) *SdfdownloadtasksCreateCall {
33524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33525	return c
33526}
33527
33528// Context sets the context to be used in this call's Do method. Any
33529// pending HTTP request will be aborted if the provided context is
33530// canceled.
33531func (c *SdfdownloadtasksCreateCall) Context(ctx context.Context) *SdfdownloadtasksCreateCall {
33532	c.ctx_ = ctx
33533	return c
33534}
33535
33536// Header returns an http.Header that can be modified by the caller to
33537// add HTTP headers to the request.
33538func (c *SdfdownloadtasksCreateCall) Header() http.Header {
33539	if c.header_ == nil {
33540		c.header_ = make(http.Header)
33541	}
33542	return c.header_
33543}
33544
33545func (c *SdfdownloadtasksCreateCall) doRequest(alt string) (*http.Response, error) {
33546	reqHeaders := make(http.Header)
33547	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33548	for k, v := range c.header_ {
33549		reqHeaders[k] = v
33550	}
33551	reqHeaders.Set("User-Agent", c.s.userAgent())
33552	var body io.Reader = nil
33553	body, err := googleapi.WithoutDataWrapper.JSONReader(c.createsdfdownloadtaskrequest)
33554	if err != nil {
33555		return nil, err
33556	}
33557	reqHeaders.Set("Content-Type", "application/json")
33558	c.urlParams_.Set("alt", alt)
33559	c.urlParams_.Set("prettyPrint", "false")
33560	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/sdfdownloadtasks")
33561	urls += "?" + c.urlParams_.Encode()
33562	req, err := http.NewRequest("POST", urls, body)
33563	if err != nil {
33564		return nil, err
33565	}
33566	req.Header = reqHeaders
33567	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33568}
33569
33570// Do executes the "displayvideo.sdfdownloadtasks.create" call.
33571// Exactly one of *Operation or error will be non-nil. Any non-2xx
33572// status code is an error. Response headers are in either
33573// *Operation.ServerResponse.Header or (if a response was returned at
33574// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
33575// to check whether the returned error was because
33576// http.StatusNotModified was returned.
33577func (c *SdfdownloadtasksCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
33578	gensupport.SetOptions(c.urlParams_, opts...)
33579	res, err := c.doRequest("json")
33580	if res != nil && res.StatusCode == http.StatusNotModified {
33581		if res.Body != nil {
33582			res.Body.Close()
33583		}
33584		return nil, &googleapi.Error{
33585			Code:   res.StatusCode,
33586			Header: res.Header,
33587		}
33588	}
33589	if err != nil {
33590		return nil, err
33591	}
33592	defer googleapi.CloseBody(res)
33593	if err := googleapi.CheckResponse(res); err != nil {
33594		return nil, err
33595	}
33596	ret := &Operation{
33597		ServerResponse: googleapi.ServerResponse{
33598			Header:         res.Header,
33599			HTTPStatusCode: res.StatusCode,
33600		},
33601	}
33602	target := &ret
33603	if err := gensupport.DecodeResponse(target, res); err != nil {
33604		return nil, err
33605	}
33606	return ret, nil
33607	// {
33608	//   "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.",
33609	//   "flatPath": "v1/sdfdownloadtasks",
33610	//   "httpMethod": "POST",
33611	//   "id": "displayvideo.sdfdownloadtasks.create",
33612	//   "parameterOrder": [],
33613	//   "parameters": {},
33614	//   "path": "v1/sdfdownloadtasks",
33615	//   "request": {
33616	//     "$ref": "CreateSdfDownloadTaskRequest"
33617	//   },
33618	//   "response": {
33619	//     "$ref": "Operation"
33620	//   },
33621	//   "scopes": [
33622	//     "https://www.googleapis.com/auth/display-video"
33623	//   ]
33624	// }
33625
33626}
33627
33628// method id "displayvideo.sdfdownloadtasks.operations.get":
33629
33630type SdfdownloadtasksOperationsGetCall struct {
33631	s            *Service
33632	name         string
33633	urlParams_   gensupport.URLParams
33634	ifNoneMatch_ string
33635	ctx_         context.Context
33636	header_      http.Header
33637}
33638
33639// Get: Gets the latest state of an asynchronous SDF download task
33640// operation. Clients should poll this method at intervals of 30
33641// seconds.
33642func (r *SdfdownloadtasksOperationsService) Get(name string) *SdfdownloadtasksOperationsGetCall {
33643	c := &SdfdownloadtasksOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33644	c.name = name
33645	return c
33646}
33647
33648// Fields allows partial responses to be retrieved. See
33649// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33650// for more information.
33651func (c *SdfdownloadtasksOperationsGetCall) Fields(s ...googleapi.Field) *SdfdownloadtasksOperationsGetCall {
33652	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33653	return c
33654}
33655
33656// IfNoneMatch sets the optional parameter which makes the operation
33657// fail if the object's ETag matches the given value. This is useful for
33658// getting updates only after the object has changed since the last
33659// request. Use googleapi.IsNotModified to check whether the response
33660// error from Do is the result of In-None-Match.
33661func (c *SdfdownloadtasksOperationsGetCall) IfNoneMatch(entityTag string) *SdfdownloadtasksOperationsGetCall {
33662	c.ifNoneMatch_ = entityTag
33663	return c
33664}
33665
33666// Context sets the context to be used in this call's Do method. Any
33667// pending HTTP request will be aborted if the provided context is
33668// canceled.
33669func (c *SdfdownloadtasksOperationsGetCall) Context(ctx context.Context) *SdfdownloadtasksOperationsGetCall {
33670	c.ctx_ = ctx
33671	return c
33672}
33673
33674// Header returns an http.Header that can be modified by the caller to
33675// add HTTP headers to the request.
33676func (c *SdfdownloadtasksOperationsGetCall) Header() http.Header {
33677	if c.header_ == nil {
33678		c.header_ = make(http.Header)
33679	}
33680	return c.header_
33681}
33682
33683func (c *SdfdownloadtasksOperationsGetCall) doRequest(alt string) (*http.Response, error) {
33684	reqHeaders := make(http.Header)
33685	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33686	for k, v := range c.header_ {
33687		reqHeaders[k] = v
33688	}
33689	reqHeaders.Set("User-Agent", c.s.userAgent())
33690	if c.ifNoneMatch_ != "" {
33691		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33692	}
33693	var body io.Reader = nil
33694	c.urlParams_.Set("alt", alt)
33695	c.urlParams_.Set("prettyPrint", "false")
33696	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
33697	urls += "?" + c.urlParams_.Encode()
33698	req, err := http.NewRequest("GET", urls, body)
33699	if err != nil {
33700		return nil, err
33701	}
33702	req.Header = reqHeaders
33703	googleapi.Expand(req.URL, map[string]string{
33704		"name": c.name,
33705	})
33706	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33707}
33708
33709// Do executes the "displayvideo.sdfdownloadtasks.operations.get" call.
33710// Exactly one of *Operation or error will be non-nil. Any non-2xx
33711// status code is an error. Response headers are in either
33712// *Operation.ServerResponse.Header or (if a response was returned at
33713// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
33714// to check whether the returned error was because
33715// http.StatusNotModified was returned.
33716func (c *SdfdownloadtasksOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
33717	gensupport.SetOptions(c.urlParams_, opts...)
33718	res, err := c.doRequest("json")
33719	if res != nil && res.StatusCode == http.StatusNotModified {
33720		if res.Body != nil {
33721			res.Body.Close()
33722		}
33723		return nil, &googleapi.Error{
33724			Code:   res.StatusCode,
33725			Header: res.Header,
33726		}
33727	}
33728	if err != nil {
33729		return nil, err
33730	}
33731	defer googleapi.CloseBody(res)
33732	if err := googleapi.CheckResponse(res); err != nil {
33733		return nil, err
33734	}
33735	ret := &Operation{
33736		ServerResponse: googleapi.ServerResponse{
33737			Header:         res.Header,
33738			HTTPStatusCode: res.StatusCode,
33739		},
33740	}
33741	target := &ret
33742	if err := gensupport.DecodeResponse(target, res); err != nil {
33743		return nil, err
33744	}
33745	return ret, nil
33746	// {
33747	//   "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.",
33748	//   "flatPath": "v1/sdfdownloadtasks/operations/{operationsId}",
33749	//   "httpMethod": "GET",
33750	//   "id": "displayvideo.sdfdownloadtasks.operations.get",
33751	//   "parameterOrder": [
33752	//     "name"
33753	//   ],
33754	//   "parameters": {
33755	//     "name": {
33756	//       "description": "The name of the operation resource.",
33757	//       "location": "path",
33758	//       "pattern": "^sdfdownloadtasks/operations/[^/]+$",
33759	//       "required": true,
33760	//       "type": "string"
33761	//     }
33762	//   },
33763	//   "path": "v1/{+name}",
33764	//   "response": {
33765	//     "$ref": "Operation"
33766	//   },
33767	//   "scopes": [
33768	//     "https://www.googleapis.com/auth/display-video",
33769	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
33770	//   ]
33771	// }
33772
33773}
33774
33775// method id "displayvideo.targetingTypes.targetingOptions.get":
33776
33777type TargetingTypesTargetingOptionsGetCall struct {
33778	s                 *Service
33779	targetingType     string
33780	targetingOptionId string
33781	urlParams_        gensupport.URLParams
33782	ifNoneMatch_      string
33783	ctx_              context.Context
33784	header_           http.Header
33785}
33786
33787// Get: Gets a single targeting option.
33788func (r *TargetingTypesTargetingOptionsService) Get(targetingType string, targetingOptionId string) *TargetingTypesTargetingOptionsGetCall {
33789	c := &TargetingTypesTargetingOptionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33790	c.targetingType = targetingType
33791	c.targetingOptionId = targetingOptionId
33792	return c
33793}
33794
33795// AdvertiserId sets the optional parameter "advertiserId": Required.
33796// The Advertiser this request is being made in the context of.
33797func (c *TargetingTypesTargetingOptionsGetCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsGetCall {
33798	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33799	return c
33800}
33801
33802// Fields allows partial responses to be retrieved. See
33803// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33804// for more information.
33805func (c *TargetingTypesTargetingOptionsGetCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsGetCall {
33806	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33807	return c
33808}
33809
33810// IfNoneMatch sets the optional parameter which makes the operation
33811// fail if the object's ETag matches the given value. This is useful for
33812// getting updates only after the object has changed since the last
33813// request. Use googleapi.IsNotModified to check whether the response
33814// error from Do is the result of In-None-Match.
33815func (c *TargetingTypesTargetingOptionsGetCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsGetCall {
33816	c.ifNoneMatch_ = entityTag
33817	return c
33818}
33819
33820// Context sets the context to be used in this call's Do method. Any
33821// pending HTTP request will be aborted if the provided context is
33822// canceled.
33823func (c *TargetingTypesTargetingOptionsGetCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsGetCall {
33824	c.ctx_ = ctx
33825	return c
33826}
33827
33828// Header returns an http.Header that can be modified by the caller to
33829// add HTTP headers to the request.
33830func (c *TargetingTypesTargetingOptionsGetCall) Header() http.Header {
33831	if c.header_ == nil {
33832		c.header_ = make(http.Header)
33833	}
33834	return c.header_
33835}
33836
33837func (c *TargetingTypesTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
33838	reqHeaders := make(http.Header)
33839	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33840	for k, v := range c.header_ {
33841		reqHeaders[k] = v
33842	}
33843	reqHeaders.Set("User-Agent", c.s.userAgent())
33844	if c.ifNoneMatch_ != "" {
33845		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33846	}
33847	var body io.Reader = nil
33848	c.urlParams_.Set("alt", alt)
33849	c.urlParams_.Set("prettyPrint", "false")
33850	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}")
33851	urls += "?" + c.urlParams_.Encode()
33852	req, err := http.NewRequest("GET", urls, body)
33853	if err != nil {
33854		return nil, err
33855	}
33856	req.Header = reqHeaders
33857	googleapi.Expand(req.URL, map[string]string{
33858		"targetingType":     c.targetingType,
33859		"targetingOptionId": c.targetingOptionId,
33860	})
33861	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33862}
33863
33864// Do executes the "displayvideo.targetingTypes.targetingOptions.get" call.
33865// Exactly one of *TargetingOption or error will be non-nil. Any non-2xx
33866// status code is an error. Response headers are in either
33867// *TargetingOption.ServerResponse.Header or (if a response was returned
33868// at all) in error.(*googleapi.Error).Header. Use
33869// googleapi.IsNotModified to check whether the returned error was
33870// because http.StatusNotModified was returned.
33871func (c *TargetingTypesTargetingOptionsGetCall) Do(opts ...googleapi.CallOption) (*TargetingOption, error) {
33872	gensupport.SetOptions(c.urlParams_, opts...)
33873	res, err := c.doRequest("json")
33874	if res != nil && res.StatusCode == http.StatusNotModified {
33875		if res.Body != nil {
33876			res.Body.Close()
33877		}
33878		return nil, &googleapi.Error{
33879			Code:   res.StatusCode,
33880			Header: res.Header,
33881		}
33882	}
33883	if err != nil {
33884		return nil, err
33885	}
33886	defer googleapi.CloseBody(res)
33887	if err := googleapi.CheckResponse(res); err != nil {
33888		return nil, err
33889	}
33890	ret := &TargetingOption{
33891		ServerResponse: googleapi.ServerResponse{
33892			Header:         res.Header,
33893			HTTPStatusCode: res.StatusCode,
33894		},
33895	}
33896	target := &ret
33897	if err := gensupport.DecodeResponse(target, res); err != nil {
33898		return nil, err
33899	}
33900	return ret, nil
33901	// {
33902	//   "description": "Gets a single targeting option.",
33903	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions/{targetingOptionsId}",
33904	//   "httpMethod": "GET",
33905	//   "id": "displayvideo.targetingTypes.targetingOptions.get",
33906	//   "parameterOrder": [
33907	//     "targetingType",
33908	//     "targetingOptionId"
33909	//   ],
33910	//   "parameters": {
33911	//     "advertiserId": {
33912	//       "description": "Required. The Advertiser this request is being made in the context of.",
33913	//       "format": "int64",
33914	//       "location": "query",
33915	//       "type": "string"
33916	//     },
33917	//     "targetingOptionId": {
33918	//       "description": "Required. The ID of the of targeting option to retrieve.",
33919	//       "location": "path",
33920	//       "pattern": "^[^/]+$",
33921	//       "required": true,
33922	//       "type": "string"
33923	//     },
33924	//     "targetingType": {
33925	//       "description": "Required. The type of targeting option to retrieve.",
33926	//       "enum": [
33927	//         "TARGETING_TYPE_UNSPECIFIED",
33928	//         "TARGETING_TYPE_CHANNEL",
33929	//         "TARGETING_TYPE_APP_CATEGORY",
33930	//         "TARGETING_TYPE_APP",
33931	//         "TARGETING_TYPE_URL",
33932	//         "TARGETING_TYPE_DAY_AND_TIME",
33933	//         "TARGETING_TYPE_AGE_RANGE",
33934	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
33935	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
33936	//         "TARGETING_TYPE_GENDER",
33937	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
33938	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
33939	//         "TARGETING_TYPE_PARENTAL_STATUS",
33940	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
33941	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
33942	//         "TARGETING_TYPE_DEVICE_TYPE",
33943	//         "TARGETING_TYPE_AUDIENCE_GROUP",
33944	//         "TARGETING_TYPE_BROWSER",
33945	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
33946	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
33947	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
33948	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
33949	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
33950	//         "TARGETING_TYPE_ENVIRONMENT",
33951	//         "TARGETING_TYPE_CARRIER_AND_ISP",
33952	//         "TARGETING_TYPE_OPERATING_SYSTEM",
33953	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
33954	//         "TARGETING_TYPE_KEYWORD",
33955	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
33956	//         "TARGETING_TYPE_VIEWABILITY",
33957	//         "TARGETING_TYPE_CATEGORY",
33958	//         "TARGETING_TYPE_INVENTORY_SOURCE",
33959	//         "TARGETING_TYPE_LANGUAGE",
33960	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
33961	//         "TARGETING_TYPE_GEO_REGION",
33962	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
33963	//         "TARGETING_TYPE_EXCHANGE",
33964	//         "TARGETING_TYPE_SUB_EXCHANGE"
33965	//       ],
33966	//       "enumDescriptions": [
33967	//         "Default value when type is not specified or is unknown in this version.",
33968	//         "Target a channel (a custom group of related websites or apps).",
33969	//         "Target an app category (for example, education or puzzle games).",
33970	//         "Target a specific app (for example, Angry Birds).",
33971	//         "Target a specific url (for example, quora.com).",
33972	//         "Target ads during a chosen time period on a specific day.",
33973	//         "Target ads to a specific age range (for example, 18-24).",
33974	//         "Target ads to the specified regions on a regional location list.",
33975	//         "Target ads to the specified points of interest on a proximity location list.",
33976	//         "Target ads to a specific gender (for example, female or male).",
33977	//         "Target a specific video player size for video ads.",
33978	//         "Target user rewarded content for video ads.",
33979	//         "Target ads to a specific parental status (for example, parent or not a parent).",
33980	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
33981	//         "Target ads in a specific content outstream position.",
33982	//         "Target ads to a specific device type (for example, tablet or connected TV).",
33983	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
33984	//         "Target ads to specific web browsers (for example, Chrome).",
33985	//         "Target ads to a specific household income range (for example, top 10%).",
33986	//         "Target ads in a specific on screen position.",
33987	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
33988	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
33989	//         "Filter website content by sensitive categories (for example, adult).",
33990	//         "Target ads to a specific environment (for example, web or app).",
33991	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
33992	//         "Target ads to a specific operating system (for example, macOS).",
33993	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
33994	//         "Target ads to a specific keyword (for example, dog or retriever).",
33995	//         "Target ads to a specific negative keyword list.",
33996	//         "Target ads to a specific viewability (for example, 80% viewable).",
33997	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
33998	//         "Purchase impressions from specific deals and auction packages.",
33999	//         "Target ads to a specific language (for example, English or Japanese).",
34000	//         "Target ads to ads.txt authorized sellers.",
34001	//         "Target ads to a specific regional location (for example, a city or state).",
34002	//         "Purchase impressions from a group of deals and auction packages.",
34003	//         "Purchase impressions from specific exchanges.",
34004	//         "Purchase impressions from specific sub-exchanges."
34005	//       ],
34006	//       "location": "path",
34007	//       "pattern": "^[^/]+$",
34008	//       "required": true,
34009	//       "type": "string"
34010	//     }
34011	//   },
34012	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}",
34013	//   "response": {
34014	//     "$ref": "TargetingOption"
34015	//   },
34016	//   "scopes": [
34017	//     "https://www.googleapis.com/auth/display-video"
34018	//   ]
34019	// }
34020
34021}
34022
34023// method id "displayvideo.targetingTypes.targetingOptions.list":
34024
34025type TargetingTypesTargetingOptionsListCall struct {
34026	s             *Service
34027	targetingType string
34028	urlParams_    gensupport.URLParams
34029	ifNoneMatch_  string
34030	ctx_          context.Context
34031	header_       http.Header
34032}
34033
34034// List: Lists targeting options of a given type.
34035func (r *TargetingTypesTargetingOptionsService) List(targetingType string) *TargetingTypesTargetingOptionsListCall {
34036	c := &TargetingTypesTargetingOptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34037	c.targetingType = targetingType
34038	return c
34039}
34040
34041// AdvertiserId sets the optional parameter "advertiserId": Required.
34042// The Advertiser this request is being made in the context of.
34043func (c *TargetingTypesTargetingOptionsListCall) AdvertiserId(advertiserId int64) *TargetingTypesTargetingOptionsListCall {
34044	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
34045	return c
34046}
34047
34048// Filter sets the optional parameter "filter": Allows filtering by
34049// targeting option properties. Supported syntax: * Filter expressions
34050// are made up of one or more restrictions. * Restrictions can be
34051// combined by `OR` logical operators. * A restriction has the form of
34052// `{field} {operator} {value}`. * The operator must be "=" (equal
34053// sign). * Supported fields: - `carrierAndIspDetails.type` -
34054// `geoRegionDetails.geoRegionType` - `targetingOptionId` Examples: *
34055// All `GEO REGION` targeting options that belong to sub type
34056// `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`:
34057// `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR
34058// geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE" * All
34059// `CARRIER AND ISP` targeting options that belong to sub type
34060// `CARRIER_AND_ISP_TYPE_CARRIER`:
34061// `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER". The
34062// length of this field should be no more than 500 characters.
34063func (c *TargetingTypesTargetingOptionsListCall) Filter(filter string) *TargetingTypesTargetingOptionsListCall {
34064	c.urlParams_.Set("filter", filter)
34065	return c
34066}
34067
34068// OrderBy sets the optional parameter "orderBy": Field by which to sort
34069// the list. Acceptable values are: * `targetingOptionId` (default) The
34070// default sorting order is ascending. To specify descending order for a
34071// field, a suffix "desc" should be added to the field name. Example:
34072// `targetingOptionId desc`.
34073func (c *TargetingTypesTargetingOptionsListCall) OrderBy(orderBy string) *TargetingTypesTargetingOptionsListCall {
34074	c.urlParams_.Set("orderBy", orderBy)
34075	return c
34076}
34077
34078// PageSize sets the optional parameter "pageSize": Requested page size.
34079// Must be between `1` and `100`. If unspecified will default to `100`.
34080// Returns error code `INVALID_ARGUMENT` if an invalid value is
34081// specified.
34082func (c *TargetingTypesTargetingOptionsListCall) PageSize(pageSize int64) *TargetingTypesTargetingOptionsListCall {
34083	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
34084	return c
34085}
34086
34087// PageToken sets the optional parameter "pageToken": A token
34088// identifying a page of results the server should return. Typically,
34089// this is the value of next_page_token returned from the previous call
34090// to `ListTargetingOptions` method. If not specified, the first page of
34091// results will be returned.
34092func (c *TargetingTypesTargetingOptionsListCall) PageToken(pageToken string) *TargetingTypesTargetingOptionsListCall {
34093	c.urlParams_.Set("pageToken", pageToken)
34094	return c
34095}
34096
34097// Fields allows partial responses to be retrieved. See
34098// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34099// for more information.
34100func (c *TargetingTypesTargetingOptionsListCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsListCall {
34101	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34102	return c
34103}
34104
34105// IfNoneMatch sets the optional parameter which makes the operation
34106// fail if the object's ETag matches the given value. This is useful for
34107// getting updates only after the object has changed since the last
34108// request. Use googleapi.IsNotModified to check whether the response
34109// error from Do is the result of In-None-Match.
34110func (c *TargetingTypesTargetingOptionsListCall) IfNoneMatch(entityTag string) *TargetingTypesTargetingOptionsListCall {
34111	c.ifNoneMatch_ = entityTag
34112	return c
34113}
34114
34115// Context sets the context to be used in this call's Do method. Any
34116// pending HTTP request will be aborted if the provided context is
34117// canceled.
34118func (c *TargetingTypesTargetingOptionsListCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsListCall {
34119	c.ctx_ = ctx
34120	return c
34121}
34122
34123// Header returns an http.Header that can be modified by the caller to
34124// add HTTP headers to the request.
34125func (c *TargetingTypesTargetingOptionsListCall) Header() http.Header {
34126	if c.header_ == nil {
34127		c.header_ = make(http.Header)
34128	}
34129	return c.header_
34130}
34131
34132func (c *TargetingTypesTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
34133	reqHeaders := make(http.Header)
34134	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34135	for k, v := range c.header_ {
34136		reqHeaders[k] = v
34137	}
34138	reqHeaders.Set("User-Agent", c.s.userAgent())
34139	if c.ifNoneMatch_ != "" {
34140		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34141	}
34142	var body io.Reader = nil
34143	c.urlParams_.Set("alt", alt)
34144	c.urlParams_.Set("prettyPrint", "false")
34145	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions")
34146	urls += "?" + c.urlParams_.Encode()
34147	req, err := http.NewRequest("GET", urls, body)
34148	if err != nil {
34149		return nil, err
34150	}
34151	req.Header = reqHeaders
34152	googleapi.Expand(req.URL, map[string]string{
34153		"targetingType": c.targetingType,
34154	})
34155	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34156}
34157
34158// Do executes the "displayvideo.targetingTypes.targetingOptions.list" call.
34159// Exactly one of *ListTargetingOptionsResponse or error will be
34160// non-nil. Any non-2xx status code is an error. Response headers are in
34161// either *ListTargetingOptionsResponse.ServerResponse.Header or (if a
34162// response was returned at all) in error.(*googleapi.Error).Header. Use
34163// googleapi.IsNotModified to check whether the returned error was
34164// because http.StatusNotModified was returned.
34165func (c *TargetingTypesTargetingOptionsListCall) Do(opts ...googleapi.CallOption) (*ListTargetingOptionsResponse, error) {
34166	gensupport.SetOptions(c.urlParams_, opts...)
34167	res, err := c.doRequest("json")
34168	if res != nil && res.StatusCode == http.StatusNotModified {
34169		if res.Body != nil {
34170			res.Body.Close()
34171		}
34172		return nil, &googleapi.Error{
34173			Code:   res.StatusCode,
34174			Header: res.Header,
34175		}
34176	}
34177	if err != nil {
34178		return nil, err
34179	}
34180	defer googleapi.CloseBody(res)
34181	if err := googleapi.CheckResponse(res); err != nil {
34182		return nil, err
34183	}
34184	ret := &ListTargetingOptionsResponse{
34185		ServerResponse: googleapi.ServerResponse{
34186			Header:         res.Header,
34187			HTTPStatusCode: res.StatusCode,
34188		},
34189	}
34190	target := &ret
34191	if err := gensupport.DecodeResponse(target, res); err != nil {
34192		return nil, err
34193	}
34194	return ret, nil
34195	// {
34196	//   "description": "Lists targeting options of a given type.",
34197	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions",
34198	//   "httpMethod": "GET",
34199	//   "id": "displayvideo.targetingTypes.targetingOptions.list",
34200	//   "parameterOrder": [
34201	//     "targetingType"
34202	//   ],
34203	//   "parameters": {
34204	//     "advertiserId": {
34205	//       "description": "Required. The Advertiser this request is being made in the context of.",
34206	//       "format": "int64",
34207	//       "location": "query",
34208	//       "type": "string"
34209	//     },
34210	//     "filter": {
34211	//       "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.",
34212	//       "location": "query",
34213	//       "type": "string"
34214	//     },
34215	//     "orderBy": {
34216	//       "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`.",
34217	//       "location": "query",
34218	//       "type": "string"
34219	//     },
34220	//     "pageSize": {
34221	//       "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.",
34222	//       "format": "int32",
34223	//       "location": "query",
34224	//       "type": "integer"
34225	//     },
34226	//     "pageToken": {
34227	//       "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.",
34228	//       "location": "query",
34229	//       "type": "string"
34230	//     },
34231	//     "targetingType": {
34232	//       "description": "Required. The type of targeting option to be listed.",
34233	//       "enum": [
34234	//         "TARGETING_TYPE_UNSPECIFIED",
34235	//         "TARGETING_TYPE_CHANNEL",
34236	//         "TARGETING_TYPE_APP_CATEGORY",
34237	//         "TARGETING_TYPE_APP",
34238	//         "TARGETING_TYPE_URL",
34239	//         "TARGETING_TYPE_DAY_AND_TIME",
34240	//         "TARGETING_TYPE_AGE_RANGE",
34241	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
34242	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
34243	//         "TARGETING_TYPE_GENDER",
34244	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
34245	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
34246	//         "TARGETING_TYPE_PARENTAL_STATUS",
34247	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
34248	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
34249	//         "TARGETING_TYPE_DEVICE_TYPE",
34250	//         "TARGETING_TYPE_AUDIENCE_GROUP",
34251	//         "TARGETING_TYPE_BROWSER",
34252	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
34253	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
34254	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
34255	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
34256	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
34257	//         "TARGETING_TYPE_ENVIRONMENT",
34258	//         "TARGETING_TYPE_CARRIER_AND_ISP",
34259	//         "TARGETING_TYPE_OPERATING_SYSTEM",
34260	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
34261	//         "TARGETING_TYPE_KEYWORD",
34262	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
34263	//         "TARGETING_TYPE_VIEWABILITY",
34264	//         "TARGETING_TYPE_CATEGORY",
34265	//         "TARGETING_TYPE_INVENTORY_SOURCE",
34266	//         "TARGETING_TYPE_LANGUAGE",
34267	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
34268	//         "TARGETING_TYPE_GEO_REGION",
34269	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
34270	//         "TARGETING_TYPE_EXCHANGE",
34271	//         "TARGETING_TYPE_SUB_EXCHANGE"
34272	//       ],
34273	//       "enumDescriptions": [
34274	//         "Default value when type is not specified or is unknown in this version.",
34275	//         "Target a channel (a custom group of related websites or apps).",
34276	//         "Target an app category (for example, education or puzzle games).",
34277	//         "Target a specific app (for example, Angry Birds).",
34278	//         "Target a specific url (for example, quora.com).",
34279	//         "Target ads during a chosen time period on a specific day.",
34280	//         "Target ads to a specific age range (for example, 18-24).",
34281	//         "Target ads to the specified regions on a regional location list.",
34282	//         "Target ads to the specified points of interest on a proximity location list.",
34283	//         "Target ads to a specific gender (for example, female or male).",
34284	//         "Target a specific video player size for video ads.",
34285	//         "Target user rewarded content for video ads.",
34286	//         "Target ads to a specific parental status (for example, parent or not a parent).",
34287	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
34288	//         "Target ads in a specific content outstream position.",
34289	//         "Target ads to a specific device type (for example, tablet or connected TV).",
34290	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
34291	//         "Target ads to specific web browsers (for example, Chrome).",
34292	//         "Target ads to a specific household income range (for example, top 10%).",
34293	//         "Target ads in a specific on screen position.",
34294	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
34295	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
34296	//         "Filter website content by sensitive categories (for example, adult).",
34297	//         "Target ads to a specific environment (for example, web or app).",
34298	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
34299	//         "Target ads to a specific operating system (for example, macOS).",
34300	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
34301	//         "Target ads to a specific keyword (for example, dog or retriever).",
34302	//         "Target ads to a specific negative keyword list.",
34303	//         "Target ads to a specific viewability (for example, 80% viewable).",
34304	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
34305	//         "Purchase impressions from specific deals and auction packages.",
34306	//         "Target ads to a specific language (for example, English or Japanese).",
34307	//         "Target ads to ads.txt authorized sellers.",
34308	//         "Target ads to a specific regional location (for example, a city or state).",
34309	//         "Purchase impressions from a group of deals and auction packages.",
34310	//         "Purchase impressions from specific exchanges.",
34311	//         "Purchase impressions from specific sub-exchanges."
34312	//       ],
34313	//       "location": "path",
34314	//       "pattern": "^[^/]+$",
34315	//       "required": true,
34316	//       "type": "string"
34317	//     }
34318	//   },
34319	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions",
34320	//   "response": {
34321	//     "$ref": "ListTargetingOptionsResponse"
34322	//   },
34323	//   "scopes": [
34324	//     "https://www.googleapis.com/auth/display-video"
34325	//   ]
34326	// }
34327
34328}
34329
34330// Pages invokes f for each page of results.
34331// A non-nil error returned from f will halt the iteration.
34332// The provided context supersedes any context provided to the Context method.
34333func (c *TargetingTypesTargetingOptionsListCall) Pages(ctx context.Context, f func(*ListTargetingOptionsResponse) error) error {
34334	c.ctx_ = ctx
34335	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34336	for {
34337		x, err := c.Do()
34338		if err != nil {
34339			return err
34340		}
34341		if err := f(x); err != nil {
34342			return err
34343		}
34344		if x.NextPageToken == "" {
34345			return nil
34346		}
34347		c.PageToken(x.NextPageToken)
34348	}
34349}
34350
34351// method id "displayvideo.targetingTypes.targetingOptions.search":
34352
34353type TargetingTypesTargetingOptionsSearchCall struct {
34354	s                             *Service
34355	targetingType                 string
34356	searchtargetingoptionsrequest *SearchTargetingOptionsRequest
34357	urlParams_                    gensupport.URLParams
34358	ctx_                          context.Context
34359	header_                       http.Header
34360}
34361
34362// Search: Searches for targeting options of a given type based on the
34363// given search terms.
34364func (r *TargetingTypesTargetingOptionsService) Search(targetingType string, searchtargetingoptionsrequest *SearchTargetingOptionsRequest) *TargetingTypesTargetingOptionsSearchCall {
34365	c := &TargetingTypesTargetingOptionsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34366	c.targetingType = targetingType
34367	c.searchtargetingoptionsrequest = searchtargetingoptionsrequest
34368	return c
34369}
34370
34371// Fields allows partial responses to be retrieved. See
34372// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34373// for more information.
34374func (c *TargetingTypesTargetingOptionsSearchCall) Fields(s ...googleapi.Field) *TargetingTypesTargetingOptionsSearchCall {
34375	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34376	return c
34377}
34378
34379// Context sets the context to be used in this call's Do method. Any
34380// pending HTTP request will be aborted if the provided context is
34381// canceled.
34382func (c *TargetingTypesTargetingOptionsSearchCall) Context(ctx context.Context) *TargetingTypesTargetingOptionsSearchCall {
34383	c.ctx_ = ctx
34384	return c
34385}
34386
34387// Header returns an http.Header that can be modified by the caller to
34388// add HTTP headers to the request.
34389func (c *TargetingTypesTargetingOptionsSearchCall) Header() http.Header {
34390	if c.header_ == nil {
34391		c.header_ = make(http.Header)
34392	}
34393	return c.header_
34394}
34395
34396func (c *TargetingTypesTargetingOptionsSearchCall) doRequest(alt string) (*http.Response, error) {
34397	reqHeaders := make(http.Header)
34398	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34399	for k, v := range c.header_ {
34400		reqHeaders[k] = v
34401	}
34402	reqHeaders.Set("User-Agent", c.s.userAgent())
34403	var body io.Reader = nil
34404	body, err := googleapi.WithoutDataWrapper.JSONReader(c.searchtargetingoptionsrequest)
34405	if err != nil {
34406		return nil, err
34407	}
34408	reqHeaders.Set("Content-Type", "application/json")
34409	c.urlParams_.Set("alt", alt)
34410	c.urlParams_.Set("prettyPrint", "false")
34411	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/targetingTypes/{+targetingType}/targetingOptions:search")
34412	urls += "?" + c.urlParams_.Encode()
34413	req, err := http.NewRequest("POST", urls, body)
34414	if err != nil {
34415		return nil, err
34416	}
34417	req.Header = reqHeaders
34418	googleapi.Expand(req.URL, map[string]string{
34419		"targetingType": c.targetingType,
34420	})
34421	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34422}
34423
34424// Do executes the "displayvideo.targetingTypes.targetingOptions.search" call.
34425// Exactly one of *SearchTargetingOptionsResponse or error will be
34426// non-nil. Any non-2xx status code is an error. Response headers are in
34427// either *SearchTargetingOptionsResponse.ServerResponse.Header or (if a
34428// response was returned at all) in error.(*googleapi.Error).Header. Use
34429// googleapi.IsNotModified to check whether the returned error was
34430// because http.StatusNotModified was returned.
34431func (c *TargetingTypesTargetingOptionsSearchCall) Do(opts ...googleapi.CallOption) (*SearchTargetingOptionsResponse, error) {
34432	gensupport.SetOptions(c.urlParams_, opts...)
34433	res, err := c.doRequest("json")
34434	if res != nil && res.StatusCode == http.StatusNotModified {
34435		if res.Body != nil {
34436			res.Body.Close()
34437		}
34438		return nil, &googleapi.Error{
34439			Code:   res.StatusCode,
34440			Header: res.Header,
34441		}
34442	}
34443	if err != nil {
34444		return nil, err
34445	}
34446	defer googleapi.CloseBody(res)
34447	if err := googleapi.CheckResponse(res); err != nil {
34448		return nil, err
34449	}
34450	ret := &SearchTargetingOptionsResponse{
34451		ServerResponse: googleapi.ServerResponse{
34452			Header:         res.Header,
34453			HTTPStatusCode: res.StatusCode,
34454		},
34455	}
34456	target := &ret
34457	if err := gensupport.DecodeResponse(target, res); err != nil {
34458		return nil, err
34459	}
34460	return ret, nil
34461	// {
34462	//   "description": "Searches for targeting options of a given type based on the given search terms.",
34463	//   "flatPath": "v1/targetingTypes/{targetingTypesId}/targetingOptions:search",
34464	//   "httpMethod": "POST",
34465	//   "id": "displayvideo.targetingTypes.targetingOptions.search",
34466	//   "parameterOrder": [
34467	//     "targetingType"
34468	//   ],
34469	//   "parameters": {
34470	//     "targetingType": {
34471	//       "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION`",
34472	//       "enum": [
34473	//         "TARGETING_TYPE_UNSPECIFIED",
34474	//         "TARGETING_TYPE_CHANNEL",
34475	//         "TARGETING_TYPE_APP_CATEGORY",
34476	//         "TARGETING_TYPE_APP",
34477	//         "TARGETING_TYPE_URL",
34478	//         "TARGETING_TYPE_DAY_AND_TIME",
34479	//         "TARGETING_TYPE_AGE_RANGE",
34480	//         "TARGETING_TYPE_REGIONAL_LOCATION_LIST",
34481	//         "TARGETING_TYPE_PROXIMITY_LOCATION_LIST",
34482	//         "TARGETING_TYPE_GENDER",
34483	//         "TARGETING_TYPE_VIDEO_PLAYER_SIZE",
34484	//         "TARGETING_TYPE_USER_REWARDED_CONTENT",
34485	//         "TARGETING_TYPE_PARENTAL_STATUS",
34486	//         "TARGETING_TYPE_CONTENT_INSTREAM_POSITION",
34487	//         "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION",
34488	//         "TARGETING_TYPE_DEVICE_TYPE",
34489	//         "TARGETING_TYPE_AUDIENCE_GROUP",
34490	//         "TARGETING_TYPE_BROWSER",
34491	//         "TARGETING_TYPE_HOUSEHOLD_INCOME",
34492	//         "TARGETING_TYPE_ON_SCREEN_POSITION",
34493	//         "TARGETING_TYPE_THIRD_PARTY_VERIFIER",
34494	//         "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION",
34495	//         "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION",
34496	//         "TARGETING_TYPE_ENVIRONMENT",
34497	//         "TARGETING_TYPE_CARRIER_AND_ISP",
34498	//         "TARGETING_TYPE_OPERATING_SYSTEM",
34499	//         "TARGETING_TYPE_DEVICE_MAKE_MODEL",
34500	//         "TARGETING_TYPE_KEYWORD",
34501	//         "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST",
34502	//         "TARGETING_TYPE_VIEWABILITY",
34503	//         "TARGETING_TYPE_CATEGORY",
34504	//         "TARGETING_TYPE_INVENTORY_SOURCE",
34505	//         "TARGETING_TYPE_LANGUAGE",
34506	//         "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS",
34507	//         "TARGETING_TYPE_GEO_REGION",
34508	//         "TARGETING_TYPE_INVENTORY_SOURCE_GROUP",
34509	//         "TARGETING_TYPE_EXCHANGE",
34510	//         "TARGETING_TYPE_SUB_EXCHANGE"
34511	//       ],
34512	//       "enumDescriptions": [
34513	//         "Default value when type is not specified or is unknown in this version.",
34514	//         "Target a channel (a custom group of related websites or apps).",
34515	//         "Target an app category (for example, education or puzzle games).",
34516	//         "Target a specific app (for example, Angry Birds).",
34517	//         "Target a specific url (for example, quora.com).",
34518	//         "Target ads during a chosen time period on a specific day.",
34519	//         "Target ads to a specific age range (for example, 18-24).",
34520	//         "Target ads to the specified regions on a regional location list.",
34521	//         "Target ads to the specified points of interest on a proximity location list.",
34522	//         "Target ads to a specific gender (for example, female or male).",
34523	//         "Target a specific video player size for video ads.",
34524	//         "Target user rewarded content for video ads.",
34525	//         "Target ads to a specific parental status (for example, parent or not a parent).",
34526	//         "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).",
34527	//         "Target ads in a specific content outstream position.",
34528	//         "Target ads to a specific device type (for example, tablet or connected TV).",
34529	//         "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.",
34530	//         "Target ads to specific web browsers (for example, Chrome).",
34531	//         "Target ads to a specific household income range (for example, top 10%).",
34532	//         "Target ads in a specific on screen position.",
34533	//         "Filter web sites through third party verification (for example, IAS or DoubleVerify).",
34534	//         "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).",
34535	//         "Filter website content by sensitive categories (for example, adult).",
34536	//         "Target ads to a specific environment (for example, web or app).",
34537	//         "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).",
34538	//         "Target ads to a specific operating system (for example, macOS).",
34539	//         "Target ads to a specific device make or model (for example, Roku or Samsung).",
34540	//         "Target ads to a specific keyword (for example, dog or retriever).",
34541	//         "Target ads to a specific negative keyword list.",
34542	//         "Target ads to a specific viewability (for example, 80% viewable).",
34543	//         "Target ads to a specific content category (for example, arts \u0026 entertainment).",
34544	//         "Purchase impressions from specific deals and auction packages.",
34545	//         "Target ads to a specific language (for example, English or Japanese).",
34546	//         "Target ads to ads.txt authorized sellers.",
34547	//         "Target ads to a specific regional location (for example, a city or state).",
34548	//         "Purchase impressions from a group of deals and auction packages.",
34549	//         "Purchase impressions from specific exchanges.",
34550	//         "Purchase impressions from specific sub-exchanges."
34551	//       ],
34552	//       "location": "path",
34553	//       "pattern": "^[^/]+$",
34554	//       "required": true,
34555	//       "type": "string"
34556	//     }
34557	//   },
34558	//   "path": "v1/targetingTypes/{+targetingType}/targetingOptions:search",
34559	//   "request": {
34560	//     "$ref": "SearchTargetingOptionsRequest"
34561	//   },
34562	//   "response": {
34563	//     "$ref": "SearchTargetingOptionsResponse"
34564	//   },
34565	//   "scopes": [
34566	//     "https://www.googleapis.com/auth/display-video"
34567	//   ]
34568	// }
34569
34570}
34571
34572// Pages invokes f for each page of results.
34573// A non-nil error returned from f will halt the iteration.
34574// The provided context supersedes any context provided to the Context method.
34575func (c *TargetingTypesTargetingOptionsSearchCall) Pages(ctx context.Context, f func(*SearchTargetingOptionsResponse) error) error {
34576	c.ctx_ = ctx
34577	defer func(pt string) { c.searchtargetingoptionsrequest.PageToken = pt }(c.searchtargetingoptionsrequest.PageToken) // reset paging to original point
34578	for {
34579		x, err := c.Do()
34580		if err != nil {
34581			return err
34582		}
34583		if err := f(x); err != nil {
34584			return err
34585		}
34586		if x.NextPageToken == "" {
34587			return nil
34588		}
34589		c.searchtargetingoptionsrequest.PageToken = x.NextPageToken
34590	}
34591}
34592
34593// method id "displayvideo.users.bulkEditAssignedUserRoles":
34594
34595type UsersBulkEditAssignedUserRolesCall struct {
34596	s                                *Service
34597	userId                           int64
34598	bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest
34599	urlParams_                       gensupport.URLParams
34600	ctx_                             context.Context
34601	header_                          http.Header
34602}
34603
34604// BulkEditAssignedUserRoles: Bulk edits user roles for a user. The
34605// operation will delete the assigned user roles provided in
34606// BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then
34607// assign the user roles provided in
34608// BulkEditAssignedUserRolesRequest.createdAssignedUserRoles.
34609func (r *UsersService) BulkEditAssignedUserRoles(userId int64, bulkeditassigneduserrolesrequest *BulkEditAssignedUserRolesRequest) *UsersBulkEditAssignedUserRolesCall {
34610	c := &UsersBulkEditAssignedUserRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34611	c.userId = userId
34612	c.bulkeditassigneduserrolesrequest = bulkeditassigneduserrolesrequest
34613	return c
34614}
34615
34616// Fields allows partial responses to be retrieved. See
34617// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34618// for more information.
34619func (c *UsersBulkEditAssignedUserRolesCall) Fields(s ...googleapi.Field) *UsersBulkEditAssignedUserRolesCall {
34620	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34621	return c
34622}
34623
34624// Context sets the context to be used in this call's Do method. Any
34625// pending HTTP request will be aborted if the provided context is
34626// canceled.
34627func (c *UsersBulkEditAssignedUserRolesCall) Context(ctx context.Context) *UsersBulkEditAssignedUserRolesCall {
34628	c.ctx_ = ctx
34629	return c
34630}
34631
34632// Header returns an http.Header that can be modified by the caller to
34633// add HTTP headers to the request.
34634func (c *UsersBulkEditAssignedUserRolesCall) Header() http.Header {
34635	if c.header_ == nil {
34636		c.header_ = make(http.Header)
34637	}
34638	return c.header_
34639}
34640
34641func (c *UsersBulkEditAssignedUserRolesCall) doRequest(alt string) (*http.Response, error) {
34642	reqHeaders := make(http.Header)
34643	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34644	for k, v := range c.header_ {
34645		reqHeaders[k] = v
34646	}
34647	reqHeaders.Set("User-Agent", c.s.userAgent())
34648	var body io.Reader = nil
34649	body, err := googleapi.WithoutDataWrapper.JSONReader(c.bulkeditassigneduserrolesrequest)
34650	if err != nil {
34651		return nil, err
34652	}
34653	reqHeaders.Set("Content-Type", "application/json")
34654	c.urlParams_.Set("alt", alt)
34655	c.urlParams_.Set("prettyPrint", "false")
34656	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}:bulkEditAssignedUserRoles")
34657	urls += "?" + c.urlParams_.Encode()
34658	req, err := http.NewRequest("POST", urls, body)
34659	if err != nil {
34660		return nil, err
34661	}
34662	req.Header = reqHeaders
34663	googleapi.Expand(req.URL, map[string]string{
34664		"userId": strconv.FormatInt(c.userId, 10),
34665	})
34666	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34667}
34668
34669// Do executes the "displayvideo.users.bulkEditAssignedUserRoles" call.
34670// Exactly one of *BulkEditAssignedUserRolesResponse or error will be
34671// non-nil. Any non-2xx status code is an error. Response headers are in
34672// either *BulkEditAssignedUserRolesResponse.ServerResponse.Header or
34673// (if a response was returned at all) in
34674// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34675// whether the returned error was because http.StatusNotModified was
34676// returned.
34677func (c *UsersBulkEditAssignedUserRolesCall) Do(opts ...googleapi.CallOption) (*BulkEditAssignedUserRolesResponse, error) {
34678	gensupport.SetOptions(c.urlParams_, opts...)
34679	res, err := c.doRequest("json")
34680	if res != nil && res.StatusCode == http.StatusNotModified {
34681		if res.Body != nil {
34682			res.Body.Close()
34683		}
34684		return nil, &googleapi.Error{
34685			Code:   res.StatusCode,
34686			Header: res.Header,
34687		}
34688	}
34689	if err != nil {
34690		return nil, err
34691	}
34692	defer googleapi.CloseBody(res)
34693	if err := googleapi.CheckResponse(res); err != nil {
34694		return nil, err
34695	}
34696	ret := &BulkEditAssignedUserRolesResponse{
34697		ServerResponse: googleapi.ServerResponse{
34698			Header:         res.Header,
34699			HTTPStatusCode: res.StatusCode,
34700		},
34701	}
34702	target := &ret
34703	if err := gensupport.DecodeResponse(target, res); err != nil {
34704		return nil, err
34705	}
34706	return ret, nil
34707	// {
34708	//   "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.",
34709	//   "flatPath": "v1/users/{usersId}:bulkEditAssignedUserRoles",
34710	//   "httpMethod": "POST",
34711	//   "id": "displayvideo.users.bulkEditAssignedUserRoles",
34712	//   "parameterOrder": [
34713	//     "userId"
34714	//   ],
34715	//   "parameters": {
34716	//     "userId": {
34717	//       "description": "Required. The ID of the user to which the assigned user roles belong.",
34718	//       "format": "int64",
34719	//       "location": "path",
34720	//       "pattern": "^[^/]+$",
34721	//       "required": true,
34722	//       "type": "string"
34723	//     }
34724	//   },
34725	//   "path": "v1/users/{+userId}:bulkEditAssignedUserRoles",
34726	//   "request": {
34727	//     "$ref": "BulkEditAssignedUserRolesRequest"
34728	//   },
34729	//   "response": {
34730	//     "$ref": "BulkEditAssignedUserRolesResponse"
34731	//   },
34732	//   "scopes": [
34733	//     "https://www.googleapis.com/auth/display-video-user-management"
34734	//   ]
34735	// }
34736
34737}
34738
34739// method id "displayvideo.users.create":
34740
34741type UsersCreateCall struct {
34742	s          *Service
34743	user       *User
34744	urlParams_ gensupport.URLParams
34745	ctx_       context.Context
34746	header_    http.Header
34747}
34748
34749// Create: Creates a new user. Returns the newly created user if
34750// successful.
34751func (r *UsersService) Create(user *User) *UsersCreateCall {
34752	c := &UsersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34753	c.user = user
34754	return c
34755}
34756
34757// Fields allows partial responses to be retrieved. See
34758// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34759// for more information.
34760func (c *UsersCreateCall) Fields(s ...googleapi.Field) *UsersCreateCall {
34761	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34762	return c
34763}
34764
34765// Context sets the context to be used in this call's Do method. Any
34766// pending HTTP request will be aborted if the provided context is
34767// canceled.
34768func (c *UsersCreateCall) Context(ctx context.Context) *UsersCreateCall {
34769	c.ctx_ = ctx
34770	return c
34771}
34772
34773// Header returns an http.Header that can be modified by the caller to
34774// add HTTP headers to the request.
34775func (c *UsersCreateCall) Header() http.Header {
34776	if c.header_ == nil {
34777		c.header_ = make(http.Header)
34778	}
34779	return c.header_
34780}
34781
34782func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) {
34783	reqHeaders := make(http.Header)
34784	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34785	for k, v := range c.header_ {
34786		reqHeaders[k] = v
34787	}
34788	reqHeaders.Set("User-Agent", c.s.userAgent())
34789	var body io.Reader = nil
34790	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
34791	if err != nil {
34792		return nil, err
34793	}
34794	reqHeaders.Set("Content-Type", "application/json")
34795	c.urlParams_.Set("alt", alt)
34796	c.urlParams_.Set("prettyPrint", "false")
34797	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users")
34798	urls += "?" + c.urlParams_.Encode()
34799	req, err := http.NewRequest("POST", urls, body)
34800	if err != nil {
34801		return nil, err
34802	}
34803	req.Header = reqHeaders
34804	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34805}
34806
34807// Do executes the "displayvideo.users.create" call.
34808// Exactly one of *User or error will be non-nil. Any non-2xx status
34809// code is an error. Response headers are in either
34810// *User.ServerResponse.Header or (if a response was returned at all) in
34811// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34812// whether the returned error was because http.StatusNotModified was
34813// returned.
34814func (c *UsersCreateCall) Do(opts ...googleapi.CallOption) (*User, error) {
34815	gensupport.SetOptions(c.urlParams_, opts...)
34816	res, err := c.doRequest("json")
34817	if res != nil && res.StatusCode == http.StatusNotModified {
34818		if res.Body != nil {
34819			res.Body.Close()
34820		}
34821		return nil, &googleapi.Error{
34822			Code:   res.StatusCode,
34823			Header: res.Header,
34824		}
34825	}
34826	if err != nil {
34827		return nil, err
34828	}
34829	defer googleapi.CloseBody(res)
34830	if err := googleapi.CheckResponse(res); err != nil {
34831		return nil, err
34832	}
34833	ret := &User{
34834		ServerResponse: googleapi.ServerResponse{
34835			Header:         res.Header,
34836			HTTPStatusCode: res.StatusCode,
34837		},
34838	}
34839	target := &ret
34840	if err := gensupport.DecodeResponse(target, res); err != nil {
34841		return nil, err
34842	}
34843	return ret, nil
34844	// {
34845	//   "description": "Creates a new user. Returns the newly created user if successful.",
34846	//   "flatPath": "v1/users",
34847	//   "httpMethod": "POST",
34848	//   "id": "displayvideo.users.create",
34849	//   "parameterOrder": [],
34850	//   "parameters": {},
34851	//   "path": "v1/users",
34852	//   "request": {
34853	//     "$ref": "User"
34854	//   },
34855	//   "response": {
34856	//     "$ref": "User"
34857	//   },
34858	//   "scopes": [
34859	//     "https://www.googleapis.com/auth/display-video-user-management"
34860	//   ]
34861	// }
34862
34863}
34864
34865// method id "displayvideo.users.delete":
34866
34867type UsersDeleteCall struct {
34868	s          *Service
34869	userId     int64
34870	urlParams_ gensupport.URLParams
34871	ctx_       context.Context
34872	header_    http.Header
34873}
34874
34875// Delete: Deletes a user.
34876func (r *UsersService) Delete(userId int64) *UsersDeleteCall {
34877	c := &UsersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34878	c.userId = userId
34879	return c
34880}
34881
34882// Fields allows partial responses to be retrieved. See
34883// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34884// for more information.
34885func (c *UsersDeleteCall) Fields(s ...googleapi.Field) *UsersDeleteCall {
34886	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34887	return c
34888}
34889
34890// Context sets the context to be used in this call's Do method. Any
34891// pending HTTP request will be aborted if the provided context is
34892// canceled.
34893func (c *UsersDeleteCall) Context(ctx context.Context) *UsersDeleteCall {
34894	c.ctx_ = ctx
34895	return c
34896}
34897
34898// Header returns an http.Header that can be modified by the caller to
34899// add HTTP headers to the request.
34900func (c *UsersDeleteCall) Header() http.Header {
34901	if c.header_ == nil {
34902		c.header_ = make(http.Header)
34903	}
34904	return c.header_
34905}
34906
34907func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
34908	reqHeaders := make(http.Header)
34909	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34910	for k, v := range c.header_ {
34911		reqHeaders[k] = v
34912	}
34913	reqHeaders.Set("User-Agent", c.s.userAgent())
34914	var body io.Reader = nil
34915	c.urlParams_.Set("alt", alt)
34916	c.urlParams_.Set("prettyPrint", "false")
34917	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
34918	urls += "?" + c.urlParams_.Encode()
34919	req, err := http.NewRequest("DELETE", urls, body)
34920	if err != nil {
34921		return nil, err
34922	}
34923	req.Header = reqHeaders
34924	googleapi.Expand(req.URL, map[string]string{
34925		"userId": strconv.FormatInt(c.userId, 10),
34926	})
34927	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34928}
34929
34930// Do executes the "displayvideo.users.delete" call.
34931// Exactly one of *Empty or error will be non-nil. Any non-2xx status
34932// code is an error. Response headers are in either
34933// *Empty.ServerResponse.Header or (if a response was returned at all)
34934// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
34935// check whether the returned error was because http.StatusNotModified
34936// was returned.
34937func (c *UsersDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) {
34938	gensupport.SetOptions(c.urlParams_, opts...)
34939	res, err := c.doRequest("json")
34940	if res != nil && res.StatusCode == http.StatusNotModified {
34941		if res.Body != nil {
34942			res.Body.Close()
34943		}
34944		return nil, &googleapi.Error{
34945			Code:   res.StatusCode,
34946			Header: res.Header,
34947		}
34948	}
34949	if err != nil {
34950		return nil, err
34951	}
34952	defer googleapi.CloseBody(res)
34953	if err := googleapi.CheckResponse(res); err != nil {
34954		return nil, err
34955	}
34956	ret := &Empty{
34957		ServerResponse: googleapi.ServerResponse{
34958			Header:         res.Header,
34959			HTTPStatusCode: res.StatusCode,
34960		},
34961	}
34962	target := &ret
34963	if err := gensupport.DecodeResponse(target, res); err != nil {
34964		return nil, err
34965	}
34966	return ret, nil
34967	// {
34968	//   "description": "Deletes a user.",
34969	//   "flatPath": "v1/users/{usersId}",
34970	//   "httpMethod": "DELETE",
34971	//   "id": "displayvideo.users.delete",
34972	//   "parameterOrder": [
34973	//     "userId"
34974	//   ],
34975	//   "parameters": {
34976	//     "userId": {
34977	//       "description": "Required. The ID of the user to delete.",
34978	//       "format": "int64",
34979	//       "location": "path",
34980	//       "pattern": "^[^/]+$",
34981	//       "required": true,
34982	//       "type": "string"
34983	//     }
34984	//   },
34985	//   "path": "v1/users/{+userId}",
34986	//   "response": {
34987	//     "$ref": "Empty"
34988	//   },
34989	//   "scopes": [
34990	//     "https://www.googleapis.com/auth/display-video-user-management"
34991	//   ]
34992	// }
34993
34994}
34995
34996// method id "displayvideo.users.get":
34997
34998type UsersGetCall struct {
34999	s            *Service
35000	userId       int64
35001	urlParams_   gensupport.URLParams
35002	ifNoneMatch_ string
35003	ctx_         context.Context
35004	header_      http.Header
35005}
35006
35007// Get: Gets a user.
35008func (r *UsersService) Get(userId int64) *UsersGetCall {
35009	c := &UsersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35010	c.userId = userId
35011	return c
35012}
35013
35014// Fields allows partial responses to be retrieved. See
35015// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35016// for more information.
35017func (c *UsersGetCall) Fields(s ...googleapi.Field) *UsersGetCall {
35018	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35019	return c
35020}
35021
35022// IfNoneMatch sets the optional parameter which makes the operation
35023// fail if the object's ETag matches the given value. This is useful for
35024// getting updates only after the object has changed since the last
35025// request. Use googleapi.IsNotModified to check whether the response
35026// error from Do is the result of In-None-Match.
35027func (c *UsersGetCall) IfNoneMatch(entityTag string) *UsersGetCall {
35028	c.ifNoneMatch_ = entityTag
35029	return c
35030}
35031
35032// Context sets the context to be used in this call's Do method. Any
35033// pending HTTP request will be aborted if the provided context is
35034// canceled.
35035func (c *UsersGetCall) Context(ctx context.Context) *UsersGetCall {
35036	c.ctx_ = ctx
35037	return c
35038}
35039
35040// Header returns an http.Header that can be modified by the caller to
35041// add HTTP headers to the request.
35042func (c *UsersGetCall) Header() http.Header {
35043	if c.header_ == nil {
35044		c.header_ = make(http.Header)
35045	}
35046	return c.header_
35047}
35048
35049func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
35050	reqHeaders := make(http.Header)
35051	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35052	for k, v := range c.header_ {
35053		reqHeaders[k] = v
35054	}
35055	reqHeaders.Set("User-Agent", c.s.userAgent())
35056	if c.ifNoneMatch_ != "" {
35057		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35058	}
35059	var body io.Reader = nil
35060	c.urlParams_.Set("alt", alt)
35061	c.urlParams_.Set("prettyPrint", "false")
35062	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
35063	urls += "?" + c.urlParams_.Encode()
35064	req, err := http.NewRequest("GET", urls, body)
35065	if err != nil {
35066		return nil, err
35067	}
35068	req.Header = reqHeaders
35069	googleapi.Expand(req.URL, map[string]string{
35070		"userId": strconv.FormatInt(c.userId, 10),
35071	})
35072	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35073}
35074
35075// Do executes the "displayvideo.users.get" call.
35076// Exactly one of *User or error will be non-nil. Any non-2xx status
35077// code is an error. Response headers are in either
35078// *User.ServerResponse.Header or (if a response was returned at all) in
35079// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
35080// whether the returned error was because http.StatusNotModified was
35081// returned.
35082func (c *UsersGetCall) Do(opts ...googleapi.CallOption) (*User, error) {
35083	gensupport.SetOptions(c.urlParams_, opts...)
35084	res, err := c.doRequest("json")
35085	if res != nil && res.StatusCode == http.StatusNotModified {
35086		if res.Body != nil {
35087			res.Body.Close()
35088		}
35089		return nil, &googleapi.Error{
35090			Code:   res.StatusCode,
35091			Header: res.Header,
35092		}
35093	}
35094	if err != nil {
35095		return nil, err
35096	}
35097	defer googleapi.CloseBody(res)
35098	if err := googleapi.CheckResponse(res); err != nil {
35099		return nil, err
35100	}
35101	ret := &User{
35102		ServerResponse: googleapi.ServerResponse{
35103			Header:         res.Header,
35104			HTTPStatusCode: res.StatusCode,
35105		},
35106	}
35107	target := &ret
35108	if err := gensupport.DecodeResponse(target, res); err != nil {
35109		return nil, err
35110	}
35111	return ret, nil
35112	// {
35113	//   "description": "Gets a user.",
35114	//   "flatPath": "v1/users/{usersId}",
35115	//   "httpMethod": "GET",
35116	//   "id": "displayvideo.users.get",
35117	//   "parameterOrder": [
35118	//     "userId"
35119	//   ],
35120	//   "parameters": {
35121	//     "userId": {
35122	//       "description": "Required. The ID of the user to fetch.",
35123	//       "format": "int64",
35124	//       "location": "path",
35125	//       "pattern": "^[^/]+$",
35126	//       "required": true,
35127	//       "type": "string"
35128	//     }
35129	//   },
35130	//   "path": "v1/users/{+userId}",
35131	//   "response": {
35132	//     "$ref": "User"
35133	//   },
35134	//   "scopes": [
35135	//     "https://www.googleapis.com/auth/display-video-user-management"
35136	//   ]
35137	// }
35138
35139}
35140
35141// method id "displayvideo.users.list":
35142
35143type UsersListCall struct {
35144	s            *Service
35145	urlParams_   gensupport.URLParams
35146	ifNoneMatch_ string
35147	ctx_         context.Context
35148	header_      http.Header
35149}
35150
35151// List: Lists users that are accessible to the current user. If two
35152// users have user roles on the same partner or advertiser, they can
35153// access each other.
35154func (r *UsersService) List() *UsersListCall {
35155	c := &UsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35156	return c
35157}
35158
35159// Filter sets the optional parameter "filter": Allows filtering by user
35160// properties. Supported syntax: * Filter expressions are made up of one
35161// or more restrictions. * Restrictions can be combined by the logical
35162// operator `AND`. * A restriction has the form of `{field} {operator}
35163// {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. *
35164// The operator must be `CONTAINS (:)` for the following fields: -
35165// `displayName` - `email` * The operator must be `EQUALS (=)` for the
35166// following fields: - `assignedUserRole.userRole` -
35167// `assignedUserRole.partnerId` - `assignedUserRole.advertiserId` -
35168// `assignedUserRole.entityType`: A synthetic field of AssignedUserRole
35169// used for filtering. Identifies the type of entity to which the user
35170// role is assigned. Valid values are `Partner` and `Advertiser`. -
35171// `assignedUserRole.parentPartnerId`: A synthetic field of
35172// AssignedUserRole used for filtering. Identifies the parent partner of
35173// the entity to which the user role is assigned." Examples: * The user
35174// with displayName containing `foo`: `displayName:"foo" * The user
35175// with email containing `bar`: `email:"bar" * All users with standard
35176// user roles: `assignedUserRole.userRole="STANDARD" * All users with
35177// user roles for partner 123: `assignedUserRole.partnerId="123" * All
35178// users with user roles for advertiser 123:
35179// `assignedUserRole.advertiserId="123" * All users with partner level
35180// user roles: `entityType="PARTNER" * All users with user roles for
35181// partner 123 and advertisers under partner 123:
35182// `parentPartnerId="123" The length of this field should be no more
35183// than 500 characters.
35184func (c *UsersListCall) Filter(filter string) *UsersListCall {
35185	c.urlParams_.Set("filter", filter)
35186	return c
35187}
35188
35189// OrderBy sets the optional parameter "orderBy": Field by which to sort
35190// the list. Acceptable values are: * `displayName` (default) The
35191// default sorting order is ascending. To specify descending order for a
35192// field, a suffix "desc" should be added to the field name. For
35193// example, `displayName desc`.
35194func (c *UsersListCall) OrderBy(orderBy string) *UsersListCall {
35195	c.urlParams_.Set("orderBy", orderBy)
35196	return c
35197}
35198
35199// PageSize sets the optional parameter "pageSize": Requested page size.
35200// Must be between `1` and `100`. If unspecified will default to `100`.
35201func (c *UsersListCall) PageSize(pageSize int64) *UsersListCall {
35202	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
35203	return c
35204}
35205
35206// PageToken sets the optional parameter "pageToken": A token
35207// identifying a page of results the server should return. Typically,
35208// this is the value of next_page_token returned from the previous call
35209// to `ListUsers` method. If not specified, the first page of results
35210// will be returned.
35211func (c *UsersListCall) PageToken(pageToken string) *UsersListCall {
35212	c.urlParams_.Set("pageToken", pageToken)
35213	return c
35214}
35215
35216// Fields allows partial responses to be retrieved. See
35217// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35218// for more information.
35219func (c *UsersListCall) Fields(s ...googleapi.Field) *UsersListCall {
35220	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35221	return c
35222}
35223
35224// IfNoneMatch sets the optional parameter which makes the operation
35225// fail if the object's ETag matches the given value. This is useful for
35226// getting updates only after the object has changed since the last
35227// request. Use googleapi.IsNotModified to check whether the response
35228// error from Do is the result of In-None-Match.
35229func (c *UsersListCall) IfNoneMatch(entityTag string) *UsersListCall {
35230	c.ifNoneMatch_ = entityTag
35231	return c
35232}
35233
35234// Context sets the context to be used in this call's Do method. Any
35235// pending HTTP request will be aborted if the provided context is
35236// canceled.
35237func (c *UsersListCall) Context(ctx context.Context) *UsersListCall {
35238	c.ctx_ = ctx
35239	return c
35240}
35241
35242// Header returns an http.Header that can be modified by the caller to
35243// add HTTP headers to the request.
35244func (c *UsersListCall) Header() http.Header {
35245	if c.header_ == nil {
35246		c.header_ = make(http.Header)
35247	}
35248	return c.header_
35249}
35250
35251func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
35252	reqHeaders := make(http.Header)
35253	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35254	for k, v := range c.header_ {
35255		reqHeaders[k] = v
35256	}
35257	reqHeaders.Set("User-Agent", c.s.userAgent())
35258	if c.ifNoneMatch_ != "" {
35259		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35260	}
35261	var body io.Reader = nil
35262	c.urlParams_.Set("alt", alt)
35263	c.urlParams_.Set("prettyPrint", "false")
35264	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users")
35265	urls += "?" + c.urlParams_.Encode()
35266	req, err := http.NewRequest("GET", urls, body)
35267	if err != nil {
35268		return nil, err
35269	}
35270	req.Header = reqHeaders
35271	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35272}
35273
35274// Do executes the "displayvideo.users.list" call.
35275// Exactly one of *ListUsersResponse or error will be non-nil. Any
35276// non-2xx status code is an error. Response headers are in either
35277// *ListUsersResponse.ServerResponse.Header or (if a response was
35278// returned at all) in error.(*googleapi.Error).Header. Use
35279// googleapi.IsNotModified to check whether the returned error was
35280// because http.StatusNotModified was returned.
35281func (c *UsersListCall) Do(opts ...googleapi.CallOption) (*ListUsersResponse, error) {
35282	gensupport.SetOptions(c.urlParams_, opts...)
35283	res, err := c.doRequest("json")
35284	if res != nil && res.StatusCode == http.StatusNotModified {
35285		if res.Body != nil {
35286			res.Body.Close()
35287		}
35288		return nil, &googleapi.Error{
35289			Code:   res.StatusCode,
35290			Header: res.Header,
35291		}
35292	}
35293	if err != nil {
35294		return nil, err
35295	}
35296	defer googleapi.CloseBody(res)
35297	if err := googleapi.CheckResponse(res); err != nil {
35298		return nil, err
35299	}
35300	ret := &ListUsersResponse{
35301		ServerResponse: googleapi.ServerResponse{
35302			Header:         res.Header,
35303			HTTPStatusCode: res.StatusCode,
35304		},
35305	}
35306	target := &ret
35307	if err := gensupport.DecodeResponse(target, res); err != nil {
35308		return nil, err
35309	}
35310	return ret, nil
35311	// {
35312	//   "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.",
35313	//   "flatPath": "v1/users",
35314	//   "httpMethod": "GET",
35315	//   "id": "displayvideo.users.list",
35316	//   "parameterOrder": [],
35317	//   "parameters": {
35318	//     "filter": {
35319	//       "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.",
35320	//       "location": "query",
35321	//       "type": "string"
35322	//     },
35323	//     "orderBy": {
35324	//       "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`.",
35325	//       "location": "query",
35326	//       "type": "string"
35327	//     },
35328	//     "pageSize": {
35329	//       "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`.",
35330	//       "format": "int32",
35331	//       "location": "query",
35332	//       "type": "integer"
35333	//     },
35334	//     "pageToken": {
35335	//       "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.",
35336	//       "location": "query",
35337	//       "type": "string"
35338	//     }
35339	//   },
35340	//   "path": "v1/users",
35341	//   "response": {
35342	//     "$ref": "ListUsersResponse"
35343	//   },
35344	//   "scopes": [
35345	//     "https://www.googleapis.com/auth/display-video-user-management"
35346	//   ]
35347	// }
35348
35349}
35350
35351// Pages invokes f for each page of results.
35352// A non-nil error returned from f will halt the iteration.
35353// The provided context supersedes any context provided to the Context method.
35354func (c *UsersListCall) Pages(ctx context.Context, f func(*ListUsersResponse) error) error {
35355	c.ctx_ = ctx
35356	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35357	for {
35358		x, err := c.Do()
35359		if err != nil {
35360			return err
35361		}
35362		if err := f(x); err != nil {
35363			return err
35364		}
35365		if x.NextPageToken == "" {
35366			return nil
35367		}
35368		c.PageToken(x.NextPageToken)
35369	}
35370}
35371
35372// method id "displayvideo.users.patch":
35373
35374type UsersPatchCall struct {
35375	s          *Service
35376	userId     int64
35377	user       *User
35378	urlParams_ gensupport.URLParams
35379	ctx_       context.Context
35380	header_    http.Header
35381}
35382
35383// Patch: Updates an existing user. Returns the updated user if
35384// successful.
35385func (r *UsersService) Patch(userId int64, user *User) *UsersPatchCall {
35386	c := &UsersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35387	c.userId = userId
35388	c.user = user
35389	return c
35390}
35391
35392// UpdateMask sets the optional parameter "updateMask": Required. The
35393// mask to control which fields to update.
35394func (c *UsersPatchCall) UpdateMask(updateMask string) *UsersPatchCall {
35395	c.urlParams_.Set("updateMask", updateMask)
35396	return c
35397}
35398
35399// Fields allows partial responses to be retrieved. See
35400// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35401// for more information.
35402func (c *UsersPatchCall) Fields(s ...googleapi.Field) *UsersPatchCall {
35403	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35404	return c
35405}
35406
35407// Context sets the context to be used in this call's Do method. Any
35408// pending HTTP request will be aborted if the provided context is
35409// canceled.
35410func (c *UsersPatchCall) Context(ctx context.Context) *UsersPatchCall {
35411	c.ctx_ = ctx
35412	return c
35413}
35414
35415// Header returns an http.Header that can be modified by the caller to
35416// add HTTP headers to the request.
35417func (c *UsersPatchCall) Header() http.Header {
35418	if c.header_ == nil {
35419		c.header_ = make(http.Header)
35420	}
35421	return c.header_
35422}
35423
35424func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
35425	reqHeaders := make(http.Header)
35426	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35427	for k, v := range c.header_ {
35428		reqHeaders[k] = v
35429	}
35430	reqHeaders.Set("User-Agent", c.s.userAgent())
35431	var body io.Reader = nil
35432	body, err := googleapi.WithoutDataWrapper.JSONReader(c.user)
35433	if err != nil {
35434		return nil, err
35435	}
35436	reqHeaders.Set("Content-Type", "application/json")
35437	c.urlParams_.Set("alt", alt)
35438	c.urlParams_.Set("prettyPrint", "false")
35439	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/users/{+userId}")
35440	urls += "?" + c.urlParams_.Encode()
35441	req, err := http.NewRequest("PATCH", urls, body)
35442	if err != nil {
35443		return nil, err
35444	}
35445	req.Header = reqHeaders
35446	googleapi.Expand(req.URL, map[string]string{
35447		"userId": strconv.FormatInt(c.userId, 10),
35448	})
35449	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35450}
35451
35452// Do executes the "displayvideo.users.patch" call.
35453// Exactly one of *User or error will be non-nil. Any non-2xx status
35454// code is an error. Response headers are in either
35455// *User.ServerResponse.Header or (if a response was returned at all) in
35456// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
35457// whether the returned error was because http.StatusNotModified was
35458// returned.
35459func (c *UsersPatchCall) Do(opts ...googleapi.CallOption) (*User, error) {
35460	gensupport.SetOptions(c.urlParams_, opts...)
35461	res, err := c.doRequest("json")
35462	if res != nil && res.StatusCode == http.StatusNotModified {
35463		if res.Body != nil {
35464			res.Body.Close()
35465		}
35466		return nil, &googleapi.Error{
35467			Code:   res.StatusCode,
35468			Header: res.Header,
35469		}
35470	}
35471	if err != nil {
35472		return nil, err
35473	}
35474	defer googleapi.CloseBody(res)
35475	if err := googleapi.CheckResponse(res); err != nil {
35476		return nil, err
35477	}
35478	ret := &User{
35479		ServerResponse: googleapi.ServerResponse{
35480			Header:         res.Header,
35481			HTTPStatusCode: res.StatusCode,
35482		},
35483	}
35484	target := &ret
35485	if err := gensupport.DecodeResponse(target, res); err != nil {
35486		return nil, err
35487	}
35488	return ret, nil
35489	// {
35490	//   "description": "Updates an existing user. Returns the updated user if successful.",
35491	//   "flatPath": "v1/users/{usersId}",
35492	//   "httpMethod": "PATCH",
35493	//   "id": "displayvideo.users.patch",
35494	//   "parameterOrder": [
35495	//     "userId"
35496	//   ],
35497	//   "parameters": {
35498	//     "updateMask": {
35499	//       "description": "Required. The mask to control which fields to update.",
35500	//       "format": "google-fieldmask",
35501	//       "location": "query",
35502	//       "type": "string"
35503	//     },
35504	//     "userId": {
35505	//       "description": "Output only. The unique ID of the user. Assigned by the system.",
35506	//       "format": "int64",
35507	//       "location": "path",
35508	//       "pattern": "^[^/]+$",
35509	//       "required": true,
35510	//       "type": "string"
35511	//     }
35512	//   },
35513	//   "path": "v1/users/{+userId}",
35514	//   "request": {
35515	//     "$ref": "User"
35516	//   },
35517	//   "response": {
35518	//     "$ref": "User"
35519	//   },
35520	//   "scopes": [
35521	//     "https://www.googleapis.com/auth/display-video-user-management"
35522	//   ]
35523	// }
35524
35525}
35526